首页 > 其他分享 >TCP/IP(三)——IP地址及其分类

TCP/IP(三)——IP地址及其分类

时间:2023-12-11 15:34:40浏览次数:34  
标签:主机 IP IP地址 网络 TCP 地址 IPv6

目录

IP地址及其表示方法

IP地址是给连接到互联网上的每一台主机(或路由器)的每一个接口,分配一个在全世界范围内是唯一32位的标识符。IP 地址现在由互联网名字和数字分配机构ICANN(Internet Corporation for Assigned Names and Numbers)进行分配。

IPv4地址通常采用点分四组或点分十进制表示法表示。把32位的IP地址中的每隔8位插入一个空格,为了便于书写和记忆,常用其等效的十进制数字表示,并在每段数字之间加上一个小数点。

点分十进制表示法

在IPv6 中,地址的长度是128 位,是1Pv4 地址长度的4倍。IPv6 地址的传统表示方法是采用称为块或字段的四个十六进制数,这些被称为块或字段的数由冒号分隔。例如,一个包含8个块的 IPv6 地址可写为 5f05:2000:80ad:5800:0058:0800:2023:1d71。以下是一些已取得共识的、已被标准化[RFC4291]的IPv6地址简化表示法:

  1. 一个块中前导的零不必书写。在前面的例子中,地址可写为 5f05:2000:80ad:5800:58:800:2023:1d71
  2. 全零的块可以省略,并用符号::代替。例如,IPv6地址0:0:0:0:0:0:0:1可简写为::1。同样,地址2001:0db8:0:0:0:0:0:2可简写为2001:db8::2。为了避免歧义,一个IPv6地址中符号::只能使用一次。
  3. 在IPv6格式中嵌人IPv4 地址可使用混合符号形式,紧接着 IPv4 部分的地址块的值为ffff,地址的其余部分使用点分四组格式。例如,IPv6 地址::ffff:10.0.0.1可表示 IPv4 地址10.0.0.1。它被称为 IPv4 映射的 IPv6 地址。
  4. IPv6 地址的低32 位通常采用点分四组表示法。因此,IPv6 地址::0102:f001相当于地址::1.2.240.1。它被称为IPv4 兼容的 IPv6 地址。需要注意,IPv4 兼容地址与 IPv4 映射地址不同;它们只是在能用类似 IPv4 地址的方式书写或由软件处理方面给人以兼容的感觉。这种地址最初用于 IPv4 和 IPv6 之间的过渡计划,但现在不再需要 [RFC4291]

在某些情况下(例如表示一个包含地址的 URL时),IPv6地址中的冒号分隔符可能与其他分隔符混淆,例如IP地址和端口号之间使用的冒号。在这种情况下,用括号字符 [ 和 ] 包围IPv6 地址。例如,URLhttp://[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]:443/
是指 IPv6 主机 2001:0db8:85a3:08d3:1319:8a2e:0370:7344中的端口号 443 使用 HTTP、TCP和 IPv6 协议。

[RFC4291]提供的灵活性造成了不必要的混淆,这是因为能用多种方式表示相同的 IPv6地址。为了弥补这种情况,[RFC5952]制定了一些规则,以缩小选择范围,同时与[RFC4291]保持兼容。这些规则如下:

  1. 前导的零必须压缩(例如2001:0db8::0022变成2001:db8::22)。
  2. ::只能用于影响最大的地方(压缩最多的零),但并不是针对16位的块。如果多个块中包含等长度的零,顺序靠前的块将被替换为::
  3. a~f的十六进制数字应该用小写表示。

IP地址分类

32 位的IP地址采用两级结构,由两个字段组成。第一个字段是网络号,它标志主机(或路由器)所连接到的网络。一个网络号在整个互联网范围内必须是唯一的。第二个字段是主机号,它标志该主机(对路由器来说,就是标志该路由器)。一个主机号在所连接的网络(即前面的网络号所指明的网络)中必须是唯一的。由此可见,一个 IP 地址在整个互联网范围内是唯一的。因此,IP 地址可以记为:

\[\mathrm{IP}地址 ::= \{<网络号>,<主机号> \} \]

IP地址中网络号和主机号的具体规定是:IP地址中的前\(n\)位是主机所连接的网络号,而IP地址中后面的\((32-n)\)位是主机号。

IP地址中的网络号和主机号字段

在互联网发展早期采用的是分类的IP 地址。分类的方法如图下图所示。分类的方法非常简单。这里A类(n=8)、B类(n=16)和C类(n=24) 地址都是单播地址(一对一通信),是最常用的。D类是多播地址(一对多通信),而E类是保留地址。

IP地址分类

32 位的 IP 地址空间共有\(2^{32}\)(即 4294967296,接近 43 亿)个地址。A类地址空间共有\(2^{31}\)个地址,占整个IP 地址空间的50%。B 类地址空间共有\(2^{30}\)个地址,占整个 IP 地址空间的 25%。整个C 类地址空间共有\(2^{29}\)个地址,占整个 IP 地址的12.5%。D 类和 E 类地址各占整个 IP 地址的 6.25%。

地址范围 高序位 用途 百分比 网络数 主机数
A 0.0.0.0~127.255.255.255 0 单播/特殊 1/2 128 16777216
B 128.0.0.0~191.255.255.255 10 单播/特殊 1/4 16384 65536
C 192.0.0.0~223.255.255.255 110 单播/特殊 1/8 2097152 256
D 224.0.0.0~239.255.255.255 1110 组播 1/16 / /
E 240.0.0.0~255.255.255.255 1111 保留 1/16 / /

A 类地址的网络号字段占 1 个字节,只有7位可供使用(该字段的第一位已固定为0)。但要注意,第一,网络号为全0的IP地址有特殊的用途,它表示“本网络”;第二,网络号为127(即01111111) 保留作为本地软件环回测试(loopback test)本主机的进程之间的通信之用。若主机发送一个目的地址为环回地址(例如127.0.0.1)的 IP 数据报,则本主机中的协议软件就处理数据报中的数据,而不会把数据报发送到任何网络。因此A 类地址可指派的网络号是126个(即\(2^7-2\))。

A 类地址的主机号占3个字节。但全0和全1的主机号一般不指派。全0的主机号表示该IP地址是“本主机”所连接到的单个网络地址(例如,若主机的 IP 地址为5.6.7.8,则该主机所在的网络的网络号是5,而该网络的网络地址就是 5.0.0.0)。全1表示 “所有的”,因此全1的主机号字段表示该网络上的所有主机。因此每一个 A 类网络中的最大主机数是\(2^{24}-2\),即16777214。

B类地址的网络号字段有2个字节。因此B类地址可指派的网络数为\(2^{14}\),即16384.B类地址的每一个网络上的最大主机数是\(2^{16}-2\),即65534.这里需要减2是因为要扣除全0和全1的主机号。

C类地址有3个字节的网络号字段。因此C类地址可指派的网络总数是\(2^{21}\),即2097152.每一个C类地址的最大主机数是\(2^8-2\),即254。

下表给出了一般不指派的特殊IP地址:

网络号 主机号 源地址使用 目的地址使用 代表的意思
0 0 可以 不可 在本网络上的本主机
0 X 可以 不可 在本网络上主机号为X的主机
全1 全1 不可 可以 只在本网络上进行广播
(个路由器均不转发)
Y 全1 不可 可以 对网络号为Y的网络上的所有主机进行广播
127 非全0或全1的任何数 可以 可以 用于本地软件环回测试

标签:主机,IP,IP地址,网络,TCP,地址,IPv6
From: https://www.cnblogs.com/mowenpan1995/p/IPAddressAndClassification.html

相关文章

  • Socks5代理与代理IP的技术创新
    随着全球市场的开放和跨界电商的崛起,企业在出海过程中面临着复杂多变的网络环境和地域限制。在这一背景下,Socks5代理和代理IP等技术应运而生,成为助力企业突破网络壁垒、实现出海目标的重要工具。本文将深入探讨Socks5代理和代理IP在跨界电商中的技术性创新,以及它们如何推动企业在国......
  • 掌握TS 从基础到深度理解,晋级TypeScript高级开发的几个实战经验
    TypeScript作为JavaScript的超集语言,在现代前端开发中扮演着重要的角色。掌握TypeScript并深入理解其高级特性,将使开发者能够更加高效地进行项目开发。本文将分享几个实战经验,帮助开发者从基础到深度理解TypeScript,并实现晋级到TypeScript高级开发的目标,并提供相关代码示例。类型注......
  • JS(JavaScript)-事件-Event事件
     1.介绍:事件就是可以被JS侦测到的行为。用户操作鼠标或键盘后,触发了JS事件,然后产生相应机制。 三要素:事件源:事件被触发的对象,就是谁触发了这个事件;事件类型:如何触发,什么事件;比如:鼠标点击,键盘按下事件处理程序:通过一个函......
  • (来一套)JavaScript并查集模板
    code: classUnionFind{constructor(n){this.parent=Array.from({length:n},(_,i)=>i);this.size=newArray(n).fill(1);this.cnt=n;}findset(x){if(this.parent[x]===x){returnx......
  • 百度网盘(百度云)SVIP超级会员共享账号每日更新(2023.12.11)
    一、百度网盘SVIP超级会员共享账号可能很多人不懂这个共享账号是什么意思,小编在这里给大家做一下解答。我们多知道百度网盘很大的用处就是类似U盘,不同的人把文件上传到百度网盘,别人可以直接下载,避免了U盘的物理载体,直接在网上就实现文件传输。百度网盘SVIP会员可以让自己百度账......
  • NOIP 2023 寄
    NOIP2023寄被卷暴了qwq上了三周常规之后分数线才出来,感觉大抵是已经好似了罢。11.13-11.17这一周其实也没什么特别的,也没有跟之前CSP一样搞活动(话说曹是不是说过NOIP前一周要出去找场子搞运动来着?)。但是这周确实颓得相对比较多诶(包括但不限于KunKunNight、台球、GTA......
  • 网络工程师-进阶提升课:华为HCIP Datacom认证介绍
    原创:厦门微思网络一、HCIP认证概述                                                                HCIP-DATACOM认证定位于中小型网络的构建和管理。HCIP-DATACOM认证包括但不限于:网络基础知识,交换机和路由......
  • 第12期 | 用友BIP项目云,助力施工项目全过程、全要素创新发展
    12.1施工方项目管理解决方案建筑行业是一个古老且重要的产业,在经济发展中扮演着重要角色,但也面临着一些挑战。2022年,建筑业产值利润率为2.68%,比上年降低了0.21个百分点,连续六年下降,连续两年低于3%。针对建筑行业目前的高成本和低利润、项目管理不规范、技术创新缓慢等问题,建筑企业......
  • Typescript中Unknown类型的说明&注意事项
    unknown是TypeScript中的一种顶级类型,它表示一个未知的值。与any类型不同,unknown类型更加类型安全。当一个值被标记为unknown类型时,它只能赋值给unknown或any类型。这意味着我们不能对unknown类型的值执行任何操作,除非我们首先进行类型检查或类型断言。以下是一个......
  • 2023 NOIP 游记 && 真正的退役记
    1.复役之曙光2023.11.3退役纪元第一天我得知了我的CSP-S复赛分数。不出所料,文操打挂的T1没有出现奇迹,后面两题也是平淡如清汤,没有给我任何惊喜。\(35\)分,或许是我的\(OI\)生涯中最不堪入目的成绩。我以为我的\(OI\)之路就要像这次的成绩一样无声地凋零,碾碎在繁忙人......