3.IPv4地址
3.IPv4地址
alon龙武 发表于3年前
3.IPv4地址
  • 发表于 3年前
  • 阅读 247
  • 收藏 16
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: TCP/IP协议轻松学习之旅:IPv4地址

TCP/IP协议簇中,用于在IP层识别每一个连接到因特网设备的标识符称为IP地址。IPv4地址是一个32为的地址,唯一地且全球地定义一台主机或路由器与因特网之间的一个连接。IPv4的地址空间是232 4294967296


1.分类编址

1.1 分类

分类编址时,IP地址空间被分为A~E五类,每一类地址空间占用情况:

网络标识和主机标识

对于A类地址,前一个字节用于定义网络标识;对于B类地址,前两个字节用于定义网络标识;对于C类地址,前三个字节用于定义网络标识


1.2 地址类和地址块

A类地址,一个字节定义网络标识,而且最左一位始终为0,剩下7位可变。所以,A类地址共有27=128个地址块,每个地址块包含16777216个地址,存在大量的地址浪费

B类地址,两个字节定义网络标识,而且最左两位始终为10,剩下14可变。所以,B类地址共有214=16384个地址块,每个地址块包含65536个地址,存在很多地址浪费

C类地址,三个字节定义网络标识,而且最左三位始终为110,剩下21可变。所以,C类地址共有221=2097152个地址块,每个地址块有256个地址,对于大多数机构来说不够用

D类地址用来进行多播,只有一个地址块。E类地址只有一个地址块,设计为保留地址


1.3 两级编址

分类编址时,同一个网络中的所有地址都属于同一个地址块,且每个地址都包含两部分:网络标识和主机标识。网络标识指明了网络,主机标识指明了连接到网络上的一台特定的主机

提取一个地址块中的信息:一个地址块就是一段地址。给定地址块中的任意一个地址,获取地址块的三个信息:地址数、首地址和末地址:

  • 地址块的地址数N可以用N=232-n求取

  • 要求出首地址,保持最左边的n位不变,并将右边的32-n位全部置0

  • 要求出末地址,保持最左边的n位不变,并将右边的32-n位全部置1

网络地址

给定任意一个地址可以求出有关该地址的所有信息。其中首地址就是网络地址,用来为分组选择路由,使其能够到达目的地址。假设一个互联网由m个网络组成,且一个路由器有m个接口。当来自任意源主机的一个分组到达路由器,路由器根据分组首部包含的目的地址找出网络地址之后,咨询路由表找出响应的接口转发分组。网络地址实际上就是网络的标识,所有网络都要通过网络地址来识别

网络掩码

因特网上的路由器通常用一种算法从分组的目的地址提取网络地址。要做到这一点,需要一个网络掩码。分类地址的网络掩码或默认掩码是一个32位的数,左边n位全部置1,右边32-n位全部置0:


1.4 三级编址:子网划分

IP地址最初的设计为两级编址,要想抵达因特网的一台主机,首先必须抵达其网络,然后才能找到主机。然而,两级编址不够,原因有两点:首先,一个被授权使用A类或B类地址的组织,处于安全性和管理方便考虑,有必要将自己的大网络进一步划分为若干个子网。其次,因为A类和B类地址几近耗尽,而C类地址又太小,无法满足大多数组织的需要,所以已经拥有A类或B类地址使用权的组织可以将地址块进一步划分为多个较小的子地址块,并与其他组织一起分享一个地址块分割为若干较小地址块的思想称为子网划分。一个网络被划分为若干个较小的子网络,每个子网都有自己的子网地址。网络地址中出现的/16表示的是网络标识的长度

子网掩码

当一个网络没有子网划分时,使用的是网络掩码。而当一个网络划分为若干子网后,需要为每个子网建立一个子网掩码。一个子网又子网标识和主机标识两部分组成。子网划分增加了网络标识的长度,同时减少了主机标识的长度。当一个网络划分为s个子网且每个子网的主机数相同时,计算每个子网的子网标识:Nsub=N+log2S。N是网络标识的长度,Nsub是各子网标识的长度,而S是子网的数目,它必须是2的乘方

例如:一个B类网络划分为四个子网,因此N的值为16,而N1=N2=N3=N4=16+log24=18。意味着子网掩码有18个1和14个0组成,即子网掩码是255.255.192.0,不同于B类的网络掩码255.255.0.0

子网地址

当一个网络划分子网后,子网的首地址就是它的子网标识符,也是路由器为分组选择路由到达正确子网时要用到的。给定某个子网的一个任意地址,路由器可以找出其子网掩码。用子网掩码与给定的地址做与运算,可以求出子网地址。例如一个B类网络划分为四个子网,已知子网2的一个地址为141.14.120.77,可以求出子网掩码为255.255.192.0,进而算出子网地址为141.14.64.0


2. 特殊地址

2.1 特殊地址块

0地址:地址块0.0.0.0/32仅含有一个地址,被保留用于某主机需要发送一个IPv4分组,但不知道自己地址的情况下。通常用于主机正在启动,主机为了获取自己的地址,向引导DHCP服务器发送一个IPv4分组,以全0的地址作为源地址,受限广播地址作为目的地址

1地址:受限广播地址

地址块255.255.255.255/32仅含有一个地址,被保留用于当前网络的受限广播地址。如果某主机想把报文发送给网络中其它所有主机,可用这个地址作为IPv4分组的目的地址。但是,路由器会把这种类型地址的分组阻挡住,所以广播只能局限在本地网络

环回地址

地址块127.0.0.0/8被用作环回地址,用来测试机器上的软件。使用这个地址,分组没有离开主机,只是简单地由协议软件返回。例如客户进程可以用环回地址向本机的服务器进程发送一个报文。应当注意,环回地址在IPv4分组只能用于目的地址

专用地址

有些地址被指派为专用地址,它们不会再全球被识别

多播地址

地址块224.0.0.0/4为多播通信保留

 

2.2 每个地址块中的特殊地址

网络地址:一个地址块的首地址定义为网络地址。实际上,这个地址指的是网络本身,而不是网络哪一台主机。当然,子网络中的首地址称为子网络地址

直接广播地址

一个地址的末地址可用作直接广播地址。通常,路由器会用这个地址把一个分组发送给某个特定网络上的所有主机。注意这个地址只能被用作目的地址



标签: TCP/IP协议
共有 人打赏支持
粉丝 3
博文 14
码字总数 20481
×
alon龙武
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: