前言:IP地址由网络号(netid)和主机号(hostid)两个层次组成,IP地址的层次结构与互联网的层次结构是相互对应的,IP地址常用的主流格式为IPV4与IPV6两种。
一、IP地址的组成
IP地址的层次结构与互联网的层次结构是相互对应的,互联网使用的IP地址也采用了层次结构。IP地址由网络号(netid)和主机号(hostid)两个层次组成。
因此,IP地址的编址方式明显地携带了位置信息。如果给出一个具体的IP地址,马上就能知道它位于哪个网络,这给IP互联网的路由选择带来很大好处。
由于IP地址不仅包含了主机本身的地址信息,还包含了主机所在网络的地址信息。因此,在将主机从一个网络移到另一个网络时,主机IP地址必须进行修改以正确地反映这个变化。
假如现在有一个IP地址202.113.100.81需要从网络一转移到网络二,那么当它加入网络二后,必须为它分配新的IP地址,否则就无法与互联网上的其他主机正常通信。
二、IPv4地址的分类与表示
一旦选择了IP地址的长度并决定把地址分为两部分,就必须决定每部分包含多少位。前缀部分需要足够的位数以允许分配唯一的网络号给互联网上的每一个物理网络,后缀部分也需要足够的位数以允许从属于同一网络的每一台计算机都分配到一个唯一的后缀。
但这不是简单的选择就可行的。因为一部分增加一位就意味着另一部分减少一位,选择大的前缀可容纳大量网络,但限制了每个网的大小;选择大的后缀意味着每个物理网络能包含更多的计算机,但限制了网络的总数。
IPv4协议规定,IP地址的长度为32位。这32位包括了网络号部分(netid)和主机号部分(hostid)。
那么在这32位中,哪些位代表网络号,哪些代表主机号呢?
在互联网中,有的网络具有成千上万台主机,而有的网络仅仅有几台主机。为了适应各种网络规模的不同,IP协议将IP地址分成A、B、 C、D和E五类,它们分别使用IP地址的前几位加以区分。
原则上,n位前缀允许2n个不同的网络,n位后缀允许在给定的网络上废品2n台主机,下面就是五类地址的范围:
①A类IP地址
一个A类IP地址是指,在IP地址的四段号码中,第一段号码为网络号码,剩下的三段号码为本地计算机的号码。如果用二进制表示IP地址的话,A类IP地址就由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”。A类IP地址中网络的标识长度为7位,主机标识的长度为24位,A类网络地址数量较少,可以用于主机数达1600多万台的大型网络。
②B类IP地址
一个B类IP地址是指,在IP地址的四段号码中,前两段号码为网络号码,B类IP地址就由2字节的网络地址和2字节主机地址组成,网络地址的最高位必须是“10”。B类1P地址中网络的标识长度为14位,主机标识的长度为16位,B类网络地址适用于中等规模的网络,每个网络所能容纳的计算机数为6万多台。
③C类lP地址
一个C类IP地址是指,在IP地址的四段号码中,前三段号码为网络号码,剩下的一段号码为本地计算机的号码。如果用二进制表示IP地址的话。c类IP地址就由3字节的网络地址和1字节主机地址组成,网络地址的最高位必须是“10”。C类IP地址中网络的标识长度为21位,主机标识的长度为8位。C类网络地址数量较多,适用于小规模的局域网络,每个网络最多只能包含254台计算机。
④D类IP地址
D类地址用于在IP网络中的组播,D类组播地址机制仅有有限的用处,一个组播地址是一个唯一的网络地址它能指导报文到达预定义的IP地址组。D类地址空间和其他地址空间一样,有其数学限制,D类地址的前4位恒为1110。
⑤E类IP地址
E类地址被定义但却为腓保留作研究之用,因此Intemet上没有可用的E类地址。
只是一般国际互联网信息中心在分配IP地址时是按照网络来分配的。因此只有说到网络地址时我们才使用A类、B类、C类的说法。
但是随着计算机网络的迅猛发展及人们日常生活的广泛使用,欧洲网络协调中心(RIPE NCC)于2019年11月正式宣布:全球所有 43 亿个 IPv4 地址已全部分配完毕。这意味着现有的 IPv4 地址资源已无法再分配给 ISP(网络服务提供商)。
为了解决IPV4地址资源的耗竭,IETF小组在1998年规划设计了相对完善的新一代地址资源—IPv6,并于当年提出了新的 IPv6 协议草案标准。至此新一代互联网时代到来,新一代 IPv6 协议版本地址比 IPv4 协议版本地址容量更广、数据格式更为简洁、通信效率更高。但当前互联网社会所使用的设备几乎都是以 IPv4 地址协议来支撑,而 IPv4 与 IPv6 格式并不统一且协议内容并不兼容,那么两者的区别到底在哪? IPv6的格式又是如何规定与分类呢?
三、IPv6地址表示方法
IPV6的16字节(128bit)地址采用如下记法:每2个字节一组,共分8组,每组采用16进制表示方法,组与组之间用冒号“:”隔开。例如,8000:0000:0000:0000:1234:5678:90ab:defo.
当出现过多的0时可用双冒号来代替,如上IP地址
可简记为:8000:1234:5678:90ab:def0
支持IPv4地址。例如,0:0:0;0;0;0;202.119.224.80
在这个例子中,左边6个16进制数域以IPv6成组冒号分隔的,右面的4个字节以IPv4地址的十进制数格式予以表示,该地址格式也可写成:::202.119.224.80
四、IPv6地址的分类
IPv6在其地址前部加以不同的前缀来表示不同的地址分类。
前缀00000000:保留。
前缀010:基于运营者的地址,分配给公司,使公司用来向用户提供网络服务。
前缀100:基于地理的地址,类似于IPv4地址。
前缀1111111010:本地链路地址,用于单一链路或子网上寻址,不能集成于全程寻址体系。
前缀1111111011:本地地区地址,只有局部意义,适用采用防火墙防止信息泄露。
前缀11111111:多播地址,用于向一组地址发送数据报。
五、IPV4与IPV6的报文区别
IPv4报头各项功能
版本(version):协议版本号,对于IPv4该字段值设置为4。
报头长度(Header length):32位/字的数据报头长度。
服务级别(Type 0f service):指定优先级、可靠性及延迟参数。
数据单位长度(Total lengch):IP总的数据报长度。
标识符(Fragrnent identification):表示协议、源和目的的特征。
标志(Flags):包括附加标志。
分段偏移量(Flagment offset):分段偏移量(以64位为单位)。
生命周期(Time to live):允许跨越的网络节点或gateway的数目。
用户协议( Protocolid):请求IP的协议层。
报头校验(Header checksum):只适应于报头。
源地址( Source address〉和目的地址(Destination address):16位网络地址,48位网络内主机地址。
选择项(Options):鉴定额外的业务。
填充区( Padding):确保报头的长度为32位的整数倍。
IPv6报头各项功能:
IPV6数据报格式由3部分组成:IP而数据报头、扩展(下一个头)和高层数据。IPv6数据报头长度为40字节,各项定义如下:
①版本(Version):标示版本号,IPV6该字段值设置为6
②优先级((Priority):当该字段为0~7时,表示在阻塞发生时允许进行延时处理,值越大优先级越高:当该字段为8~15时表示处理以固定速率传输的实时业务,值越大优先级越高。
③流标识(Fldw label):路由器根据流标识的值在连接前采取不同的策略。
④负载长度(Payload length):指扣除报头后的净负载长度。
⑤下一个(扩展)头(The next header):如果该数据有附加的扩展头,则该字段标识紧跟的下一个扩展头;若无,则标识传输层协议种类,如UDP、TCP。
⑥跳的限制(Hop limit):即转发上限,该字段是防止数据报传输过程中无休止的循环下去而设定的。该项首先被初始化,然后每经过一个路由器该值就减一,当减为零时仍未到达目的端时就丢弃该数据报。
⑦源地址(Source address)和目的地址(Destination address):提供收发双方的IP地址。
另外,IPv6作为新一代的IP协议,新增了扩展头,结构如下:
①逐项选项头(Hop—by—hop option head—er):该字段定义了途经路由器所需检验的信息。
②目的选项头:含目的站点处理的可选信息。
③路由选项头(Routing):提供了到达目的地所必须经过的中间路由器。
④分段(FragrrIentation)头:IPv6对分段的处理类似于IPv4,该字段包括数据报标识符、段号以及是否终止标识符。
⑤认证(AutheIltication)头:该字段保证了目的端对源端的身份验证。
⑥加载安全负载(Secudty encrypted payload)头:该字段对负载进行加密,以防止数据在传输过程中发生信息泄露。
所以IPV6与IPV4不管是从格式还是分类来说,都有很大不同。IP地址从32位变为128位,而且IPv4中一些低效率或很少使用的方面已经被废除或修改。