




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章互联网协议IP4.1引言用IP(Internet
Protocol)屏蔽底层物理网络协议差异,实现异构网络互联。提供了一种无连接的投递机制。不保证数据报传输的可靠性。提供了尽最大努力的投递机制。4.2
IP数据报格式首部+数据版本:4比特,“4”表示IPv4。首部长度:4比特,给出了以4字节为单位计数的首部长度。4.2
IP数据报格式首部+数据总长度:2字节,描述整个数据报的长度(最大64KB)。服务类型(ToS,Type
of
Service):1字节,规定了对数据报的处理方式。4.2
IP数据报格式4.服务类型1)优先级:3比特,指示路由器对数据报进行处理的优先次序,优先级的值从‘0’(普通优先级)到‘7’(网络控制)。D比特(Delay):设置为1时表示低时延要求。T比特(Throughput):设置为1时表示高吞吐量要求。
R比特(Reliability):设置为1时表示高可靠性要求。
M比特(Monetary
cost):设置为1时表示低费用要求。4.2
IP数据报格式4.服务类型:IANA建议将DTRM设置为0001。协议ToS值协议ToS值Telnet1000TFTP1000FTP控制协议1000FTP数据协议0100SMTP命令阶段1000SMTP数据阶段0100DNS
UDP请求1000DNS
TCP请求0000DNS区域传输0100NNTP0001ICMP错误0000ICMP请求/应答0000IGP0010EGP0000SNMP0010BOOTP00004.2
IP数据报格式4.服务类型->区分服务码点(DSCP,Differentiated
Service
Code
Point)。组码点使用方式1XXXXX0由标准组织使用2XXXX11由本地使用或用于实验性目的3XXXX01目前的本地应用或用于实验目的4XXX000与ToS原来的定义向后兼容拓宽了服务定义的范围。与ToS向后兼容时与原来的8个优先级遵循同样的指导原则。4.2
IP数据报格式首部+数据5.标识:2字节,用于数据报分片及重组;分片:IP数据报最大长度为64K,但很多物理网络的最大帧长度小于这个尺寸。在这种情况下,有必要将数据报分成若干小块,这就是“分片”。4.2
IP数据报格式6.标志+片偏移量分片重组:标识、标志、片偏移量。4.2
IP数据报格式首部+数据7.寿命(TTL,Time
To
Live):1字节,用以限制数据报在互联网中的存活时间;最初规定:秒计,每经过一个路由器用当前TTL减去当前路由器处理时间,如果小于0,则数据报被丢弃;后发展:TTL设置为数据报经过的路由器个数(跳数限制)4.2
IP数据报格式首部+数据8.协议:2字节,指明了所封装数据的类型;数据:对应于“数据”字段所指明数据类型的具体数据。4.2
IP数据报格式首部+数据10.源IP地址和目的IP地址:描述了数据报最初发送方和最终接收方的IP地址,这两个字段始终不变。4.3
IP数据报的分片和重组原则:当数据报尺寸超过网络的MTU时,必须进行分片,并且分片可能多次进行。当一个数据报的各分片到达
目的主机后,IP模块要将其中的数据重组成一个大数据块,还原成原始数据报,然后交给上层协议,而不是
将每个分片中的数据单独向上层递交。4.3.1分片控制问题:如何标识同一个数据报的各个分片?如何标识同一个数据报各分片的顺序?如何标识同一个数据报分片的结束?解答:数据报各分片使用与原数据报相同的标识值。使用片偏移量来指示各分片中的数据在原数据报中的起始位置。IP数据报首部中包含了3个比特的标志字段。比特位含义0保留未用,必须置为01DF(Don’t
Fragment)位,指示是否可以对数据报进行分片。‘表示可以分片,
‘表示不能分片2MF(More
Fragment)位,指示本分片是否为最后一个分片。‘说明是最后一个分片,‘说明不是最后一个分片(还有更多的分片)4.3.1分片控制4.3.2分片重组重组功能承担者:目的主机,中间路由器不对任何被分片的数据报进行重组;优势:简化了路由软件的操作,可以避免重复分片,增强了通信的灵活性;缺陷:可能会浪费网络带宽,增加了数据报丢失的可能性;重组过程:分片的逆过程,将若干个分片重新组合还原为原来的数据报。1.当目的主机收到一个数据报时,可以根据其片偏移量和MF位来判断它是否是一个分片:若MF位是0,并且分片偏移量为0,则表明它是一个完整的数据报;如果片偏移量不为0,或者MF标志位为1,则表明它是一个分片,此时目的主机需要进行分片重组;根据数据报首部“标识”字段的值,可判断哪些分片属于同一个原始数据报;片偏移量则用来确定分片在原始数据报中的位置;设置定时器防止由于分片丢失造成重组过程无限延长。4.3.2分片重组FreeBSD分片重组算法:3个缓冲区:(1)存储第一个分片报头的缓冲区;(3)存储IP数据报数据部分的缓冲区。
1个定时器:重组超时时间间隔定时器;1个变量域:数据总长度;(2)重组表;1个报头:第一个分片的报头将被作为重组后数据报的报头,与(3)一起构成了最终的数据报;1个计算数据总长度的办法:收到MF位设置为‘0’的分片后,可根据其长度和片偏移量计算数据总长度;2个数据结构(构成重组表):ipq和ipasfrag。4.3.2分片重组FreeBSD分片重组算法:4.3.2分片重组FreeBSD分片重组算法:4.3.2分片重组FreeBSD分片重组算法:思想1.每收到一个IP数据报,算法首先检查其MF位及偏移量的值:如果二者至少有一个不为0,说明这是一个需要重组的分片;2.检查其ID:如果未出现在已有的ipq链表中,则说明是一个新的数据报,此时重组算法会分配一个新的ipq和ipasfrag结构;如果不是新的数据报,则重组算法根据其源IP地址、目的IP地址、协议、ID及偏移量字段将其插入链表适当的位置;3.每次插入一个新的分片,重组算法都会重新计算已经收到的数据长度,并与总长度对比:(1)如果已经达到了总长度,说明所有分片都已到达,此时可以进行数据合并,并将报头附加在数据的前边;4.删除链表中相应的结构。4.3.2分片重组基于“洞”的算法:静态分配缓冲区“洞”:指已经部分重组的IP数据报中那些未到达的分片,重组缓冲区中空的数据区;洞描述符:用洞头(hole.first)和洞尾(hole.last)描述,分别对应其第一个字节和最后一个字节的序号。洞描述符链表:一个数据报所有的洞描述符组成。分片描述:片头(fragment.first)和片尾(fragment.last),分别对应分片第一个和最后一个字节的序号。思想:每收到一个新数据报的分片,就创建一个空的缓冲区,并在该数据报的洞描述符链表中建立一项,其中洞头为0,洞尾为无穷大(实际实现中可设置为一个合适的较大值);每到来一个已有数据报的新分片,就依次检查洞描述符链表中的每个描述符,找到合适的洞填充进去;当洞描述符链表为空时,算法结束返回。4.3.2分片重组基于“洞”的算法:实例新数据报被分配的缓冲区尺寸:8000字节,字节编号从0开始;第一个分片:偏移量为175,总长度(TL)为1420,首部长度(HL)为20;第二个分片:偏移量为0,总长度为820,首部长度为20;第三个分片:偏移量为350,总长度为1220,首部长度为20,MF位为0;第四个分片:偏移量为100,总长度为620,首部长度为20;4.3.2分片重组基于“洞”的算法:实例4.3.2分片重组有关ID字段使用的新约束:问题1:ID字段用于标识IP数据报,如何确保在一个数据报的重组完成之前,不能有另外一个数据报有相同的ID?最早的IP标准规定:在一个数据报的最大生存时间(Maximum
DatagramLifetime,MDL)内ID不能重复,因此每个发送源都应设置一个表,以记录对应每个目的端的ID和报文生存时间信息。问题2:对于重传的数据,封装其的IP数据报首部ID字段该如何设置?解决方案1:将重传的数据报首部ID与原来数据报首部的ID设置为相同原因:如果有分片丢失了,使用相同的ID有助于数据报重组;发生拥塞的路由器可以用ID检测重复的数据报并丢弃以减轻拥塞。4.3.2分片重组实际运行:使用相同的ID对于解决以上问题几乎没有帮助。新问题:为保证ID在一个MDL内不重复(MDL通常设置为2分钟),如果以常见的1500字节MTU计算,则最大带宽为6.4Mbps,这个值在网络带宽飞速提升的情况下明显偏小。解决:限定ID仅用于分片,不用于重复性检测等其他用途。原子IP数据报:(DF==1)&&(MF==0)&&(片偏移量==0),就是没有被分片且不能被分片的数据报,ID对其无意义;非原子IP数据报:(DF==0)||(MF==1)||(片偏移量>0);已经被分片,或者虽然当前未被分片但随后可能被分片的数据报,对于重传的非原子数据报,必须
使用不同的ID;优点:提高了效率。4.4
IP数据报首部校验和的计算设数据报首部由L个16位比特构成,即b0,b1,b2,…,bL-1,校验和字段对应bL计算:x=b0+b1+b2+…+bL-1
+bL(bL
=0)y
=
x[模(216-1)]
bL
=
-x验证:
0
=
b0+
b1+
b2+…+
bL-1+
bL
[模(216-1)]说明:查错能力有限,是综合权衡计算时间的结果。只针对首部计算校验和,不包含数据部分,因为:封装的数据对应的协议可能也具有校验功能;减少中间路由器开销;缺陷:中途的差错可能要到终点才能发现。4.5
IP选项作用:用于网络测试和调试。拷贝:1比特,用于指示路由器在分片处理过程中对选项的处理方法:设置为“1”,选项应被拷贝到所有分片中;否则仅拷贝至第一分片。选项类:指明了选项的类型;选项号:指明了对应某类选项的具体项。4.5
IP选项常用的选项:序号拷贝选项类选项号值名称含义10000EOOL选项表结束20011NOP无操作,主要是为了让选项表保持字节对齐3102130SEC安全性,主要是用于军事应用4103131LSR松散源路由502468TS时间戳6105133E-SEC扩展的安全性7106134CIPSO商业性安全80077RR记录路由9108136SID流标识(已废弃不用)10109137SSR严格源路由11001010ZSU试验性测量12001111MTUPMTU探测13001212MTURMTU应答141213205FINN试验性流控151014142VISA试验性访问控制16001515ENCODE加密(现实中无应用)171016144IMITDIMI流描述符181017145EIP扩展IP19021882TRTraceroute(已不用)201019147ADDEXT地址扩展211020148RTRALT路由器警告(当路由器收到包含该选项的数据报时,应对其进行检查)221021149SDB选择性定向广播231022150--发布,但具体用途未指定4.5.1记录路由选项用于源主机希望得知到达目的主机所经过的路由器的场合。拷贝比特:取值0;第n个IP地址:依次记录路由器的地址(最多记录9个);指针:指示下一个可存放地址的位置。问题:如果路径中的路由器多于9个怎么办?答案:用Traceroute。4.5.2源路由选项源端指定数据报所经过的路径:测试某个物理上的吞吐量,指定必须经过该网络;判断拓扑结构;让数据避开危险网络。严格源路由:表中相继两个地址所属的两个路由器必然分别有一个接口连接同一物理网络(指定了完备路径)。宽松源路由:允许表中相继两个地址之间相隔多个路由器或物理网络(指定了路径要点)。4.5.2源路由选项示例:细节:路由器转发数据报前要用自己的出口IP地址代替入口IP地址。为什么?课堂提问。4.5.3时间戳选项用于记录路由器收到数据报的时间,工作原理与记录路由类似。溢出:记录因为选项空间太小而不能提供时间戳的路由器个数。标志:规定了选项的确切格式,并指示路由器如何提供时戳。值含义0仅记录时戳,忽略IP地址1在每个时戳前记录一个IP地址3由发送方指定IP地址,仅当表中的下一个IP地址与路由器的IP地址匹配时,才记录时戳4.5.4与选项相关的DOS命令“ping-r”:加入目标地址参数,指定了记录路由选项;“ping-s”:指定了时间戳选项;“ping–j
host
list”:指定宽松源路由选项;“ping–k
host
list”:指定严格源路由选项。4.6
IP的一些安全问题TinyFragment:将IP数据报分成小片,让体现封装数据类型的“目的端口 号”数据出现在第二个或随后分片中,从而规模某些只检查第一个分片的 防火墙的检测。Teardrop:在设置片偏移量字段时,恶意的攻击者可设置一个分片的偏移量小于其前一个分片结束的位置,从而造成两个分片重叠。某些IP实现在重组分片时无法处理这种情况,从而出现系统异常。PingofDeath:这种攻击方法的原理是设法使得一个IP数据报的长度大于65535字节,造成接收方预先分配的65535字节缓冲区溢出,最终导致系统异常。问题:如何实现?解答:利用分片技术,比如8192*8+20=65556启示:必须考虑程序处理异常的能力。4.7
IP的发展问题:IPv1-v3在哪里?答案:最早的协议设计者们并未区分TCP和IP,而是用TCP解决所有问题,效果并不理想。当设计者们把IP分离出来时,TCP已经发展到v3,所以IP直接进入v4。发展:1.IPsec:解决安全问题;2.IPv6:解决地址不足、安全等问题。当前现状:IPv4与IPv6共存。问题:IPv5是什么?答案:IPv5是一个试验性协议,即ISP(Internet
Stream
Protocol,互联网流协议)。由于网络带宽持续大幅提升,这就给基于IPv4实现流技术提供了可能,不需要再用专门的协议,所以ISP,也就是IPv5最终并未实现。4.8
IP数据报的选路选路:寻找一条路径,将数据报从源主机传递到目的主机的过程,称为IP数据报的选路。两种选路方式:直接选路:源主机和目的主机连接于同一物理网络,或者路由器待转发数 据报的目的地处于该路由器直接相连的一个物理网络时,可将数据报封装 成帧,直接向物理网络交付。间接选路:源主机和目的主机不在同一物理网络上,或者路由器待转发数 据报的目的地不在其直接相连的网络里时,选择另一个路由器并向其转发 数据报。选路的基础:路由表。4.8.1路由表原则:每个主机和路由器都维护一个路由表,指明去往某些目的地应该走哪条路径。选路时应查询路由表。格式:包含若干表项,每个表项指明去往一个目的地的路径。<目的地,去往目的地的路径>问题:目的地如何描述?是主机地址么?路径如何表述?是一个路由器地址序列么?答案:目的地址是网络地址;路径是下一跳,即路径中下一个路由器的IP地址。<N,R>4.8.1路由表示例:目的网
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铲车装费合同范本
- 餐饮 委托加工合同范本
- 加工车间用工合同范本
- 村镇门面出售合同范本
- 匡威加盟合同范本
- 家乡传统美食展-六年级语文下册一单元《腊八粥》任务型教学设计
- 合肥新房投资合同范本
- 2025合同范本电子产品购销合同
- 2025合同范本之办公楼租赁合同租户版
- 2025版助学贷款合同示范文本
- 妇女营养保健培训
- 时间序列的平稳性测试题及答案
- 2025-2030中国数据要素市场发展前景及趋势预测分析研究报告
- 陕西秦农银行招聘笔试真题2024
- 执法人员礼仪规范培训
- 4.1 中国的机遇与挑战课件 -2024-2025学年统编版道德与法治九年级下册
- 2025-2030中国纤维增强聚合物(FRP)钢筋行业市场现状供需分析及投资评估规划分析研究报告
- 茅台学院《汽车理论A》2023-2024学年第二学期期末试卷
- 中外航海文化知到课后答案智慧树章节测试答案2025年春中国人民解放军海军大连舰艇学院
- 大学美育 课程标准
- 育儿嫂合同范本内容
评论
0/150
提交评论