电工学习网

 找回密码
 立即注册
查看: 5931|回复: 0
打印 上一主题 下一主题

Internet的网际协议-IPv4与IPv6

[复制链接]
跳转到指定楼层
楼主
发表于 2015-1-9 20:56:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
1、IP协议
Internet的网际协议IP(Internet protocol):是为网际互连而设计的,提供一种从源端到目的端传输数据报的最佳尝试方法,将一组物理上互相连接的子网或自治系统AS(autonomous system)在逻辑上连到一起,从传输层取得数据流并将其分成数据报。
数据报:理论上,每个数据报可以长达64KB,但实际上它们往往只有1500字节左右,每个数据报经过因特网传输并拆分,最终在目的地重装。
IPv4数据报组成:由头部和正文部分构成。
IPv4数据报头部:由20字节的固定长度和可变长度的选项部分组成,以大端点机次序传送,从左到右,版本字段的高位字节先传。
头部格式如下页图示
IPv4头部的组成

Internet的网际协议-IPv4与IPv6
版本(Version):占4bit,记录数据报属于那个版本的协议,通过版本字段,可以长期在不同版本间传输数据。
IHL:占4bit,用来说明头部的长度,默认的最小值为5个单位(一个单位为4个字节),可表示的最大数值是15个单位,因此IP的头部长度的最大值是60字节,可选字段最多只能为40字节。
当IP分组的头部长度不是4字节的整数倍时,用0加以填充,从而保证数据部分始终在4字节的整数倍时开始。
服务类型:占8bit,是主机可以告诉子网所需的各种可靠性和速度的组合服务,包含1个3比特的优先级字段,从0(一版)到7(网络控制分组);3个标志位D、T和R,说明主机最关心组合{延迟,吞吐量,可靠性}中的哪一项。
C比特:是新增加的,表示要求选择费用更低廉的线路,
最后一个比特未用。
总长:占16bit,是头部和数据之和的长度,单位为字节。
数据报的最大长度为65535字节。
当很长的数据报要分片传送时,“总长”不是指未分片前的数据报长度,而是指分片后每片的头部长度与数据长度的总和。
标识:占16bit,使分片后的各数据报片最后能准确地重装成为原来的数据报。
注意:这里的“标识”并不代表顺序号,因为IP是无连接的服务,数据报不存在按序接收的问题,而是让目的主机判断新来的分片属于哪个分组,所有属于同一分组的分片包含同样的标识值。
标志:占3bit
当DF=0时允许分片;当DF=1时不要分片,此时命令路由器不要将数据报分片,因为目的端不能重组分片。
通过标志数据报的DF位,发送者可知道分组是否应该完整地到达,每个机器都要能接收576字节或更少的分段。
MF=1表示后面还有分片的数据报,MF=0表示这已是最后一个数据报片。
片偏移:占13bit,表示较长的分组在分片后,某个分片在原分组中的相对位置。
以8字节为一个偏移单位;每个数据报最多由213即8192个分片组成;这样的数据报长度是65536字节,比总长字段提供的最大值还大。
生命期:占8bit,是一个用来限制分组生命周期的计数器。
建议值为32秒,最长生命期时255秒。
必须在每个节点中都递减,而且当在一个路由器中排队时间过长时,可以以倍数递减。
实际上只以节点计数,当它减到零时,该分组就要丢弃,并向源主机发送一个警告分组,这一特性能防止数据报在网中无限制地漫游。
协议:占8bit,指出数据报携带的传输层数据所使用的协议,以便目的主机的IP层知道应将此数据报上交给哪个进程。
常用的协议字段值:
UDP(17bit)
TCP(6bit)
ICMPP(1bit)
CGP(3bit)
EGP(8bit)
IGP(9bit)
OSPF(89bit)
TP4(29 bit)
头校验和:占8bit,只检验数据报的头部,不包括数据部分,数据报每经过一个节点,节点处理机都要重新计算一下头校验和,如果校验出错,便将此数据报丢弃。
源地址和目标地址:各占32bit,指明了网络号和主机号。
可选字段的五个可选项:
安全性:指明数据报的机密程度;
严格源站路由选择:给出后跟的完整路由;
非严格源站路由选择:给出一个不能漏掉的路由器列表;
记录路由:使每个路由器都附上它的IP地址;
时间标记:使每个路由器都附上它的IP地址和时间标记。 选项:允许后续版本的协议中引入最初版本中没有的信息,让试验者进行新的尝试,避免为很少使用的信息分配头部位。
可选项是变长的,每个可选项以一个字节表明内容。
有些可选项有一字节的可选项长度字段,其后是一个或多个数据字节,可选项字节字段的长度以4字节计。
2、IPv4地址
因特网上的每台主机和路由器都有一个32位的全球唯一的IPv4地址,包括网络号和主机号,用于IP分组的源地址和目标地址字段。
连接于多个网络的机器在各个网络上有不同的IP地址。

Internet的网际协议-IPv4与IPv6
A类地址允许有126个含1600万主机的网络;B类地址允许有16382个含64K主机的网络;C类地址最多允许有200万个含254个主机的网络(例如LAN);D类地址用于多点播送,数据报可以直接发往多个多点播送主机;E类地址保留未用。
带点十进制标记法:将32位的网络地址每字节以十进制记录,从0到255。
例如,十六进制地址C0290614被记为192.41.6.20。
最低的组地址为0.0.0.0.1,最高为255.255.255.255。
IPv4的一些特殊地址
IP地址0.0.0.0用于启动以后不再使用的主机;
以0作为网络号的IP地址代表当前网络;
全部由1组成的地址代表内部网络上的广播,通常是一个LAN;
有正确的网络号、主机号全为1的地址, 向因特网上远程LAN发送广播分组;
所有形如127.xx.yy.zz的地址都保留做回路测试,也为网络软件查错。

Internet的网际协议-IPv4与IPv6
路由器对IP分组的处理
路由器接收从网络上发送来的数据分组,检查其数据报分组中的目的地址;
根据这个地址和路由表中的设定为数据报选择相应的下一跳地址;
路由表中的每一项指定了一个目的地和为到达该目的地所要经过的下一跳。

Internet的网际协议-IPv4与IPv6

R2路由表
目的地址
下一跳
网络1R1
网络2直接传送
网络3直接传送
网络4R3
子网划分:从网络地址中划分出新的网络层次,增加一个“子网号” ,用IP地址中的前若干个比特作为“子网号”字段,后面剩下的为主机号字段。
优点:可以在本单位的各子网之间用路由器来互连,便于管理;
从外部看,本单位仍只有一个网络号。
多划分出一个子网号字段是以减少主机数量为代价的!
子网号字段的长度由单位根据具体情况确定,TCP/IP体系规定用一个32位的子网掩码来表示子网
号字段的长度。
子网掩码的组成:
由一连串的“1”和一连
串的“0”组成,“1”对应
网络号和子网号字段;
“0”对应于主机号字段。

Internet的网际协议-IPv4与IPv6
子网掩码的作用:指出了子网号和主机号的分界线,子网掩码中“1”的长度就是网络号的长度。!
若某网络不进行子网划分则其子网掩码为默认值
A类地址的子网掩码默认值为255.0.0.0;
B类地址的子网掩码默认值为255.255.0.0;
C类地址的子网掩码默认值为255.255.255.0。
根据IP地址可以判断它是A、B或C类地址中的哪一类!
根据主机的IP地址和子网掩码可确定某个IP数据报是发给:
该子网上的一个主机;
本网络中的另一个子网上的一个主机;
在另一个网络上的主机。
带有子网掩码的IP路由表:
目的地址字段:只包含目的地网络的网络地址前缀;
附加字段:包含一个地址掩码,决定目的地中的哪些位对应着网络前缀;
Internet的网际协议-IPv4与IPv6
表中前两个网络都有一个A类前缀;第三个网络有一个B类前缀;第四个网络有一个C类前缀;每个路由器被指定了两个IP地址,一个地址对应一个接口。
Internet的网际协议-IPv4与IPv6
3 、Internet控制报文协议ICMP
IP是无连接的不可靠的数据报服务,在传输的过程中常会出现数据报丢失和出差错,为了减少分组的丢失、检测网络故障,使用IP层中的Internet控制报文协议ICMP。
ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告,其对一个完全标准的IP是必不可少的:IP在需要发送一个差错报文时要使用ICMP,而ICMP利用IP来传送报文。
ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去。
五种差错报文
源站抑制报文:路由器在缓冲区满时会向源主机发送一个源抑制报文丢弃后到来的数据报;主机收到源抑制报文后要停发或缓发数据报,降低传送速率。
超时:当一个数据报在路由器中的“生存时间字段”减为零或在一个数据报的所有分段到达之前重组计时器到时了时,要发送一个超时报文。
目的站不可达:当一个路由器检测到数据报无法传递到它的最终目的地时,就向创建这一数据报的主机发送该报文(该差错报文能帮助区分是某个网络暂时不在互联网上,还是某一特定主机临时断线)。
重定向:——又称改变路由报文,是应用最多的ICMP差错报文。
Internet的网际协议-IPv4与IPv6
主机A向主机B发送IP数据报应经过路由器R1,向主机C发送数据报则应经过路由器R2。 假定:主机A启动后,其路由表中只有一个默认路由器R1。
当主机A向主机C发送数据报时:数据报被送到路由器R1从路由器R1的路由表可查出,发往主机C的数据报应经过路由器R2 将数据报从路由器R1再转到路由器R2 数据报从路由器R2传到主机C。
显然应改变此路由,路由器R1向主机A发送ICMP改变路由报文,指出此数据报应经过的下一个正确路由器的IP地址;主机A根据收到的信息更新其路由表。
分段要求:当路由器发现到来的数据报很大且由于没有分段而造成无法传送时,路由器向发送方发送一个要求分段的报文,然后丢弃此报文。
四种信息报文
1、回应请求/应答:由主机或路由器向一个特定的目的主机发出 Echo请求 ;报文收到此报文的机器必须给源主机发送ICMP Echo回答 报文。
——这种询问报文用来测试目的站是否可达以及了解其有关状态。
应用层服务PING(Packet InterNet Groper):用来测试两个主机之间的连通性,PING使用了ICMP Echo请求 与 Echo回答 报文。
2、地址掩码请求/应答:当一台主机启动时,会广播一个地址掩码请求报文,路由器收到这一请求就会发送一个地址掩码应答报文,其中包含了本网使用的32位的子网掩码。
4、下一代的网际协议-IPv6
IPv6的128位地址长度具有巨大的地址空间,128位地址空间包含地址数是340,282,366,920,938,463,463,374,607,431,768,211,456个,在可预见的将来可以为全球互联网中的每一个网络设备提供一个全球唯一性的地址。
IPv6的基本特性:
能为主机接口提供不同类型的地址配置:全球地址、全球单播地址、区域地址、链路本地地址、地区本地地址、广播地址、多播群地址、任播地址、移动地址、家乡地址、转交地址等。
自动配置:支持无状态和有状态两种地址自动配置的方式。
无状态地址自动配置方式:使用一种邻居发现机制获得一个局部连接地址;进而使用一种即插即用的机制,在没有任何人工干预的情况下获得一个全球唯一的路由地址。——是获得地址的关键
有状态地址自动配置方式:需要一个额外的服务器和许多额外的操作和维护,如动态主机配置协议DHCP。
服务质量(QoS):
IPv6报头中新增加了“业务级别”和“流标记”字段,能够提供不同水平的服务;
有助于改进服务质量:主要表现在支持“时时在线”连接和防止服务中断以及提高网络性能方面。
移动性:移动IPv6(MIPv6)在新功能和新服务方面可提供更大的灵活性。
每个移动设备设有一个固定的与设备当前接入互联网位置无关的家乡地址;
设备在家乡以外的地方使用时,通过转交地址提供移动节点当前的位置信息;
移动设备每次改变位置,要将其转交地址送给家乡地址和其对应的通信节点;
移动设备在家乡以外的地方传送数据包时通常将转交地址作为源地址。
移动节点在家乡以外的地方发送数据包时,使用一个家乡地址目标选项,把移动节点的家乡地址告诉给包的接收者,接收方通信节点在处理这个包时就可以用这个家乡地址替换包内的转交地址,使发送给移动节点的IPv6包透明地选路到该节点的转交地址处。
从IPv4到IPv6的演进
从IPv4到IPv6的演进是一个逐渐演进的过程,需要一段时间使所有服务逐渐向全球IPv6互联过渡;在第一阶段,只要将小规模的IPv6网络连入IPv4互联网,通过现有网络访问IPv6服务;要继续维护这些服务,同时还要支持IPv4和IPv6之间的互通性。
Internet的网际协议-IPv4与IPv6
IPv6数据报格式
——IPv6数据报的通用格式包括基本头部,扩展头部和数据负载三部分。
基本头部为固定格式,扩展头部可根据需要选用零个或多个。
IPv6的基本头部尺寸是IPv4的两倍。
Internet的网际协议-IPv4与IPv6
版本字段:占4位,取值为6,作用是使负责管理路由和公布路由协议的Internet机制知道将处理何种路由协议,在这里标志着这个分组是IP版本6的分组。优先级:包含不同种类信息流量的优先级标识符,目的是标识IP优先级,根据该字段的优先级在路由器上使用优先级排队策略来决定“谁最先转发”。
该字段占4位,可以有16种不同的取值,使源节点可以通过向它所产生的信息包分配不同的优先权来区分它们。
当一条路径建立之后,网络系统返回一个路径标记,发送方将这一标记放在每一个经此路径发送的数据报中,路由器使用流标记字段中的这一标记来将数据报送入预先安排的路径中去。
负载长度(也称为有效长度字段):用来标志IPv6分组中有效数据长度,以字节为单位;该字段占16位,所以分组长度共有216种组合,允许的IPv6分组最大长度可达到64 000个8位分组,IPv6这种允许大分组的能力增加了Internet作为一个整体的有效性。
当传送一定量的数据时,使用的分组越大,数据流所包含的分组就越少,因此路由器处理的分组就越少,从而使路由器有更多的时间处理其它需要路由的分组或执行其它任务!
Internet的网际协议-IPv4与IPv6
下一头部字段:用于指定基本头部后面的信息类型。
例如:如果数据包含有一个扩展头部,则下一头部字段指明扩展头部的类型;如果没有其他扩展头部,下一头部字段指明数据报中携带的数据类型。
IPv6标准为每种可能的头部类型规定一个唯一的标识值,接收方用每一头部的下一头部字段来确定头部后面跟的是什么:如果字段中的值对应于数据类型,接收方将数据报传给处理数据的软件模块;如果字段中的值对应于另一个头部,IP软件负责解释其内容。如图(b)
跳限制:用于找出并且忽略那些由于错误的路由信息而循环的信息包。
信息包每经过一个转发点(通常是路由器)8位的跳限制字段的数值就会减1,当该字段的数值减少为0时,信息包就会被丢弃,最大跳数为28 ,即255。
128位的源地址字段包含的是产生信息包的IPv6地址。
128位的目的地址字段包含的是接收信息包的IPv6地址。
IPv6软件如何确定一个特定头部的结束和下一项的开始?
Internet的网际协议-IPv4与IPv6
(一)有固定尺寸的头部类型
例如:一个基本头部长度为40个八位组,为了转向基本头部后面那一项,IPv6软件仅在基本头部地址上加40个八位组即可。
(二)没有固定尺寸的扩展头部类型
头部须含有足够的信息让IPv6知道头部在哪儿结束。
当构造一个数据报时:
发送方:将可选项头部
长度放在头部长度字段中;
接收方:遇到一个可选
项扩展头部时,可利用头
部长度字段来确定下一项
的位置,用下一头部字段确定下一项的类型。
Internet的网际协议-IPv4与IPv6
与IPv4在每个数据报中含有专门用于分段的字段不同;IPv6将分段信息放在一种单独的头部中!
当需要分段时,整个原始数据报被分成若干部分,置于段的数据部分,为每一段产生一个新的基本头部和一个分段扩展头部(用于表示一个数据报是否是一个段)。
像IPv4一样,段尺寸应选为数据报要去的底层网络的最大传输单元(MTU)的尺寸。
最后一个段往往比其它的小,因为它包含的是原始数据报按MTU尺寸分段之后剩下的部分。
Internet的网际协议-IPv4与IPv6
IPv6中的分段与IPv4中的分段有很大不同!
在IPv4中:路由器负责执行分段任务。
在IPv6中:发送数据报的主机负责分段(即主机选择一个数据报尺寸以后不需要再分段,路径上的路由器收到大数据报时不再对数据报进行分段)。
主机必须了解去往目的地路径上的每一网络的MTU,以便挑选一个数据报尺寸去适应最小的MTU!
路径MTU:从源到目的地路径上的最小MTU。
发现路经MTU:了解路径MTU的过程。
通常,发现路径MTU是一个不断重复的过程:一台主机发送一系列不同尺寸的数据报,看看它们能否无错到达目的地,一旦一个数据报足够小,能穿过网络而不被分段,则主机就找到了一个等于路径MTU的数据报尺寸。
IPv6地址及其表示方法——IPv6地址长度为128比特
按照传输类型分类:
单播地址(Unicast Address):用来标识单一网络接口,目标地址是单播地址的数据包将发送给以这个地址为标识的网络接口。
——单播地址按照地址的传输范围分为:可聚合全局单播地址、NSAP地址、IPX层次地址、站点本地地址和链路本地地址等。
任播地址(Anycast Address):用来标识一组网络接口(通常属于不同的节点),目标地址是任播地址的数据包将发送给路由意义上最近的一个网络接口地址。
多播地址(Multicast Address):用来标识一组网络接口(通常属于不同的节点),发送到多播地址的数据包将发送给本组中所有的网络接口。
——在IPv6中用多播地址取代广播地址(Broadcast Address)。
所有的网络接口至少要有一个链路本地地址,同时还可以拥有多个地址(包括单播地址,任播地址和多播地址)。
IPv6地址在表示和书写时,用冒号将128比特分割成8个16比特的部分,每个部分包括4位的16进制数字。
例如:1080:0000:0000:0000:0008:0800:200C:123A
在每个4位一组的十六进制数中,如其高位为0,则可省略。
例如:1080:0000:0000:0000:0008:0800:200C:123A
可缩写成:1080:0:0:0:8:800:200C:123A
为进一步简化,采取重叠冒号规则,即“0压缩”规则:用重叠冒号置换地址中的连续16比特的0。——“0压缩” 规则在一个地址中只能使用一次。
例如:上例压缩后可表成如下形式: 1080::8:800:200C:123A
可以用“IPv6地址/前缀长度”来表示地址前缀,前缀长度是一个十进制值,指定该地址中最左边的用于组成前缀的比特数。
例如:对32比特的前缀10800000(十六进制),可以如下表示: 1080::8:800:200C:123A/32 和 1080::/32
IPv6地址空间的分配 ——对地址空间的划分涉及两个问题
怎样管理地址分配——焦点是设计管理机构的层次结构,IPv4使用两级层次结构,即网络前缀和主机后缀;IPv6具有多级层次结构或多个体系。
怎样将一个地址映射到一条路由——焦点是计算效率,独立于分配地址的管理体系,路由器必须检查每个数据报并选择一条通往目的站的路径,为了使高速路由器保持较低的花费,选择路经所需的时间一定要少。
IPv6的设计者建议采用类似IPv4所用的方案来分配地址类型,尽管地址的开始8比特足够标识该地址的类型,但是地址空间并没有被分割成相等的块。
Internet的网际协议-IPv4与IPv6
Internet的网际协议-IPv4与IPv6
IPv4地址的编码向IPv6的过渡
任何地址,若开始80比特全是0,接着16比特全是1或全是0,其低32比特就是一个IPv4地址。
16比特字段的值指示节点是否还有传统的IPv6单播地址:如果节点还包含传统的IPv6地址,则16比特字段包含0000,否则包含FFFF。
在从IPv4向IPv6过渡需要采用这种编码的原因:
第一,计算机在分配合法的IPv6地址前可能选择将它的软件从IPv4向IPv6升级;
Internet的网际协议-IPv4与IPv6
进行转换
使用转换器,IPv6计算机要生成含有对IPv4目的地址的IPv6编码的数据报,IPv6计算机把数据报发送给转换器,转换器再使用IPv4与目的站通信,当它从目的站收到应答时,再将这个IPv4数据报转换为IPv6数据报,并将它发回给IPv6源站。
地址转换时高层软件会鉴别地址的完整性。
例如:TCP和UDP在校验和计算中使用协议地址,改变协议地址可能会影响到校验和的计算。
为避免校验和的不匹配和减小高层协议移植的复杂性,IPv4地址的IPv6编码被设计成这样的形式:即不管是IPv4地址还是IPv6编码的地址,其16比特二进制反码校验和是一致的。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

电工学习网 ( )

GMT+8, 2024-8-16 15:24

Powered by © 2011-2022 www.shop-samurai.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

快速回复 返回顶部 返回列表