第
3
章
网
际
协
议
1
TCP/IP—协议分析与应用编程
第三章 网际协议
第
3
章
网
际
协
议
2主要内容
•网际协议
• IPv6
•移动IP
第
3
章
网
际
协
议
3学习目标
•理解IP的概念、作用以及在TCP/IP协议族中的
位置。
•掌握IP数据报格式的构成,了解IP数据报选项的
作用。
•熟悉IPv6的地址结构、数据报格式以及从IPv4过
渡到IPv6的常用方法。
•理解移动IP的工作原理,熟悉与移动IP相关的重
要概念。
第
3
章
网
际
协
议
4网际协议
•网际协议(Internet Protocol,IP)作为
TCP/IP协议族中的核心协议,提供了网络数据
传送的最基本服务,同时也是实现网络互连的基
本协议。主要特点如下。
IP是一种点对点协议,虽然IP数据报携带源IP地址和
目的IP地址,但进行数据传输时的对等实体一定是同
一物理网络中的对等实体。
IP不保证传输的可靠性,不对数据进行差错校验和跟
踪,当数据报发生损坏时不向发送方通告,如果要求
数据传输具有可靠性,则要在IP层的上面使用其他协
议加以保证。
IP提供无连接数据报服务,各个数据报独立传输,可
能沿着不同的路径到达目的地,也可能不会按序到达
目的地。
第
3
章
网
际
协
议
5网际协议
• IP数据报
第
3
章
网
际
协
议
6网际协议
• IP数据报
IP首部是IP模块为了正确传输数据而添加的各种控制
信息的集合,是IP数据报的核心,其长度是20~60
字节。在IP首部中,数据的组织都是低位在前(右),
高位在后(左)即网络字节顺序。
版本,4bit,用于存放该IP数据报所使用的IP版本
信息。
首部长度,4bit,以4个字节的倍数方式说明IP首
部的长度。
服务类型,8bit,用于规定数据报在网络传输过程
中的处理方式。
第
3
章
网
际
协
议
7网际协议
• IP数据报
IP首部(续)
总长度,16bit,以字节为单位具体说明包括IP首
部在内的整个IP数据报的总长度。
标识,16bit,又称作“片标识符”,是由信源指
定的数据报标识码,用于将分割后的数据报分片重
组成原始数据报。
标志,3bit,IP数据报分割控制标志,用于表示该
IP数据报是否允许分片以及是否是最后一片。
片偏移,13bit,表示本片数据在它所在的原始数
据报数据区中的偏移量。
生存时间(Time To Live,TTL),8bit,用来指
定IP数据报可以在网络上传输的最长时间。
第
3
章
网
际
协
议
8网际协议
• IP数据报
IP首部(续)
上层协议标识,8bit,用于指明IP数据报所封装的
上层协议类型。
首部校验和,16bit,用于IP首部数据有效性的校
验,以保证IP首部在传输时的正确性和完整性。
源地址,32bit,存储发送数据报的信源的IP地址。
目的地址,32bit,存储接收数据报的信宿的IP地
址。
第
3
章
网
际
协
议
9网际协议
• IP数据报
选项类型
复制位,1bit,用于控制数据报分片时是否将选项复制到各
个分片中,值为0时表示不复制,值为1时表示复制到所有的
分片;
选项类,2bit,用于定义选项的一般作用;
选项号,5bit,用于定义选项的具体类型;
选项长度,8bit,用于定义整个选项的长度;
选项数据,变长,用于定义选项请求。
第
3
章
网
际
协
议
10网际协议
• IP数据报
6种选项类型的功能
选项结束(End of Option List,EOL),1字节
长度,用于提示最后一个选项,必须放在所有选项
的后面。
无操作(No OPeration,NOP),1字节长度,
用于选项之间的边界对正。当数据报中有两个以上
的选项时,如果其中某个选项的长度不足4字节的
倍数,则可以在其中加入NOP,将长度补足到4字
节的倍数,以便能够对正到下一个选项的起始位置。
第
3
章
网
际
协
议
11网际协议
• IP数据报
6种选项类型的功能(续)
记录路由(Record Rout,RR),用于记录数据
报在因特网传送过程中从信源到信宿所经过的各路
由器的IP地址。
第
3
章
网
际
协
议
12网际协议
• IP数据报
6种选项类型的功能(续)
严格的源路由(SSRR),用于信源预先设定数据
报在因特网中传送时所经过的路由器(入口地址)
并记录所经过的路由器(出口地址),即指定数据
报的传送路径并记录传输路径。
第
3
章
网
际
协
议
13网际协议
• IP数据报
6种选项类型的功能(续)
宽松的源路由(LSRR),用于信源预先指定数据
报传送过程中必须经过的关键路由。
第
3
章
网
际
协
议
14网际协议
• IP数据报
6种选项类型的功能(续)
时间戳(TS),用于记录路由器处理数据报的时
间。根据时间戳可以估算IP数据报从一个路由器传
送到另一个路由器所花费的时间,进而帮助分析网
络的吞吐率和负载情况。
第
3
章
网
际
协
议
15网际协议
• IP数据报分片与重组
IP数据报在从信源到信宿的传输过程中,往往需要穿
过多个不同的物理网络。由于每种物理网络都有其自
身的最大传输单元(MTU),即帧格式中数据字段的
最大长度。为了使被传输的IP数据报能顺利穿过不同
的物理网络,同时具有较高的传输效率,TCP/IP引
入了IP数据报的动态分片技术。
第
3
章
网
际
协
议
16网际协议
• IP数据报分片与重组
数据报分片
TCP/IP规定,IP数据报的最大长度为65 535字节,
这远远大于大多数物理网络的MTU值。考虑到从
信源到信宿的数据报传递过程中可能需要穿过不同
物理网络,当IP数据报需要经过具有较小MTU的
物理网络时,IP允许路由器等数据报转发设备对数
据报进行进一步分片。这样,数据报从信源到信宿
的传递过程中可能会进行多次分片操作。
IP首部的标志字段用于表示该IP数据报是否允许分
片以及是否是最后一片。
第
3
章
网
际
协
议
17网际协议
• IP数据报分片与重组
数据报分片(续)
第
3
章
网
际
协
议
18网际协议
• IP数据报分片与重组
分片重组
在TCP/IP中,分片重组只在信宿上进行。并引入
了重组定时器来规定重组时间。开始重组时,首先
启动重组定时器,然后将具有相同标识、协议号、
源IP地址和目的IP地址的各分片根据分片首部中的
相关字段(标志、片偏移和总长度)信息,将它们
重新组装成完整的原始数据报。最后将重组后的IP
数据报按上层协议标识字段中的协议号提交给上层
相应的协议模块。
分片操作可以在信源到信宿的传输路径上的任何一
台路由器上进行,并且数据报在传输过程中只进行
分片操作,不进行分片重组的操作。
第
3
章
网
际
协
议
19IPv6
• IPv4已经使用了20多年,获得了巨大的成功,
但随着应用范围的扩大,它面临的危机也越来越
不容忽视,如地址匮乏等。IPv6是为了解决IPv4
所存在的一些问题和不足而提出的,同时它还在
许多方面提出了改进,如路由协议、安全性、移
动性、服务质量等。
第
3
章
网
际
协
议
20IPv6
• IPv6地址
IPv6由当前IPv4的32位扩充到128位
表示形式
冒号十六进制表示法,即将128位地址表示位
X:X:X:X:X:X:X:X,其中X是8个16位地址段的十
六进制值。
零压缩表示法
第
3
章
网
际
协
议
21IPv6
• IPv6地址
IPv6由当前IPv4的32位扩充到128位
表示形式(续)
在涉及IPv4和IPv6节点混合的链路环境时,有时
需要采用另一种表达方式,即
X:X:X:X:X:X:,其中X是地址中6个高阶
16位字段的十六进制值,D是地址中4个低阶8位
字段的十进制值(按照IPv4规范表示)。
第
3
章
网
际
协
议
22IPv6
• IPv6地址
地址结构
IPv6中地址有3种类型:单播地址(Unicast)、
多播传送(Multicast)和任意播地址
(Anycast),也称为单播、多播和泛播地址。
单播地址:一个单接口标识符,送往单播地址
的数据包将被传送到该地址所标识的接口上。
任意播地址:一组接口(一般属于不同节点)
的标识符。送往一个任意播地址的数据包将被
传送到该地址所标识的接口之一(即根据路由
协议中的距离的计算方法而确定的“最近”的
一个)。
多播地址:一组接口(一般属于不同节点)的
标识符。送往一个多播地址的数据包将被传送
到该地址标识的所有接口上。
第
3
章
网
际
协
议
23IPv6
• IPv6地址
地址结构
全球单播地址
全球路由选择前缀,占48位(含001前缀),分配给各公司
和组织,用于因特网中路由器的路由选择。
子网标识符,占16位,用于各公司和组织创建自己的子网。
如果没有子网,可以把该字段设置为全0。
接口标识符,占64位,用于标识主机或路由器单个的网络接
口,相当于IPv4中的主机号字段。
第
3
章
网
际
协
议
24IPv6
• IPv6报文格式
IPv6报文由基本首部、零个或最多6个扩展首部和数
据组成。其中,基本首部的长度为40字节,共有8个
字段构成
第
3
章
网
际
协
议
25IPv6
• IPv6报文格式
基本首部长度固定,40字节,其中包含如下几个部分。
版本,4bit,值为6。
通信量等级,8bit,用于定义当发生拥塞时,从相同源站发
出的每一个报文相对与其他报文的优先等级。
游标号,24bit,为需要作特殊处理的实时报文流进行标识,
与一个已分配的资源相联系。
有效负载长度,16bit,定义了IP报文除基本首部外的总长度。
下一首部,8bit,定义了数据报中跟随在基本首部后面的扩
展首部位置。如果没有扩展首部则用来指定上层协议的类型。
跳数限制,8bit,和IPv4中的TTL字段的目的一样。
源地址,128bit,定义了数据报的源地址。
目的地址,128bit,定义了数据报的目的地址。如果使用了
严格的源路由选择,则该字段为下一个路由器的地址。
第
3
章
网
际
协
议
26IPv6
• IPv6报文格式
IPv6在基本首部后增加了最多6个扩展首部,分别是
逐跳选项、源路由选择、分片、鉴别、加密的安全有
效载荷和目的站选项,进而扩充了IP数据报的功能。
第
3
章
网
际
协
议
27IPv6
• IPv4到IPv6的转换
目前,IETF已经制定了从IPv4平滑过渡到IPv6的多
种策略,其中最基本的两种过渡技术——双栈技术和
隧道技术
双栈技术是指一台主机上同时运行IPv4和IPv6两套协
议栈,这样该主机既能支持IPv4的通信,又能支持
IPv6的通信
第
3
章
网
际
协
议
28IPv6
• IPv4到IPv6的转换
隧道技术提供了一种以现有IPv4路由体系来传递IPv6
数据报的方法,即将IPv6的数据报作为无结构无意义
的数据,封装在IPv4数据报中,通过IPv4网络进行传
输
第
3
章
网
际
协
议
29移动IP
•移动IP概述
移动IP是一种计算机网络通信协议,它能够保证计算
机在移动过程中,在不改变现有网络IP地址、不中断
正在进行的网络通信及不中断正在执行的网络应用的
情况下实现对网络的不间断访问。
第
3
章
网
际
协
议
30移动IP
•重要概念
移动节点是指处于移动中的计算机通信设备
本地链路是指与移动节点具有相同IP网络前缀
(Network Prefix,NP)和网络掩码的网络链路,
即本地链路是移动节点原来所在的链路。
外部链路(Foreign Link),也称外区链路,是相对
于本地链路而言,是指IP网络前缀不同于本地链路的
其他链路。
在移动IP中,移动节点可以拥有两个IP地址,即归属
地址和转交地址。其中,归属地址(Home
Address)又称为本地地址或家乡地址,是移动节点
在本地链路上的IP地址。转交地址(Care-of
Address)是指移动节点移动到外部链路上时临时获
得的IP地址。转交地址具有与外部链路相同的网络前
缀。
第
3
章
网
际
协
议
31移动IP
• 重要概念(续)
归属代理,又称为本地代理或家乡代理,指的是位于本地链路上
的具有下述代理功能的路由器。
能够在本地链路上广播代理广告(Agent Advertisement),
以便移动节点判别自己所处的位置。
能够响应移动节点的注册请求(Registration Request),
将移动节点在外部链路上获得的转交地址与移动节点本地地
址的对应关系添加在一张映射表中。
能够响应移动节点的取消注册请求(Deregistration
Request),将移动节点在外部链路上获得的转交地址与移
动节点本地地址的对应关系从映射表中删除。
能够中途截取目标地址为移动节点本地地址的IP数据报,并
通过隧道将它们转发给位于外部链路上的移动节点。
第
3
章
网
际
协
议
32移动IP
•重要概念(续)
外部代理,又称为外区代理,是位于外部链路上的具
有以下代理功能的路由器:
能够在外部链路上广播代理广告,以便移动节点判
别自己所处的位置。
能够协助移动节点将注册请求/取消注册请求发送
给移动节点的本地代理。
能够为移动节点提供可用的转交地址。
能够将本地代理通过隧道发送给移动节点的IP数据
报进行解包,然后再发送给移动节点。
第
3
章
网
际
协
议
33移动IP
•重要概念(续)
移动节点必须将其位置信息向其归属代理进行注册,
以便归属代理能找到该移动节点。在移动IP中,依不
同的网络连接方式,有两种不同的注册规程
通过外部代理进行注册
直接向归属代理进行注册
代理发现:为了随时随地与其他节点进行通信,移动
节点必须首先找到一个移动代理。移动IP定义了两种
发现移动代理的方法。
被动发现,即移动节点等待移动代理周期性地广播
代理广告报文。
主动发现,即移动节点广播一条请求代理的报文以
促使移动代理广播代理广告报文。
第
3
章
网
际
协
议
34移动IP
•重要概念(续)
隧道(Tunnel)指的当移动节点在外部链路上时,归
属代理需要将原始数据报转发给已注册的外部代理,
即归属代理使用IP隧道,将原始IP数据报封装在转发
的IP数据报中,并将转发的IP数据报转发到处于隧道
终点的外部代理处。
第
3
章
网
际
协
议
35移动IP
•移动IP实现原理
第
3
章
网
际
协
议
36移动IP
•移动节点的数据收发过程
第
3
章
网
际
协
议
37移动IP
•移动IP技术存在的不足
三角形路径问题,即通信节点发送数据报到移动节点
时,需要通过其归属代理,而移动节点根据标准IP路
由规则将数据报直接发送到通信节点。
外部代理间的光滑切换
移动节点连至因特网的链路通常是无线链路,这种链
路与传统的有线网络相比,其带宽低得多,误码率却
高得多;某些防火墙也可能会阻断IP隧道,因为它们
检验每个数据包的源地址,而移动节点的数据包归属
地址与外区网的网络地址不一样,从而导致防火墙阻
截IP隧道数据包;且移动节点可能是电池供电,如何
减小功耗是一个急需解决的问题。