这2道题看也看不懂.急 明天就考了.

1个回答

  • 这两道题是考IP分片,MTU的基础知识.扩展知识MSS,HDCL.

    IP分片是网络上传输IP报文的一种技术手段.IP协议在传输数据包时,将数据报文分为若干分片进行传输,并在目标系统中进行重组.这一过程称为分片( fragmentation).

    链路层具有MTU最大传输单元(Maximum Transmission Unit,MTU)这个特性,它限制了数据帧的最大长度,不同的网络类型都有一个上限值.以太网的MTU是1500,你可以用 netstat -i 命令查看这个值.如果IP层有数据包要传,而且数据包的长度超过了MTU,那么IP层就要对数据包进行分片(fragmentation)操作,使每一片的长度都小于或等于MTU.我们假设要传输一个UDP数据包,以太网的MTU为1500字节,一般IP首部为20字节,UDP首部为8字节,数据的净荷(payload)部分预留是1500-20-8=1472字节.如果数据部分大于1472字节,就会出现分片现象.

    MSS: Maxitum Segment Size 最大报文段长度

    TCP是面向连接的、可靠的字节流服务.TCP提供可靠性的一种重要的措施就是MSS.通过MSS数据被分割成TCP认为合适的数据块.

    tcp_current_mss()用来计算当前MSS,需要考虑TCP首部中的SACK选项和IP选项,以及PMTU(路径MTU).

    高级数据链路控制(High-Level Data Link Control或简称HDLC),是一个在同步网上传输 数据、面向比特的数据链路层协议,它是由国际标准化组织(ISO)根据IBM公司的SDLC(Synchronous Data Link Control)协议扩展开发而成的.

    题目解析:

    IP数据包总长度=IP数据包报头+数据包长度

    IP数据包报头=20字节=420字节-数据(0-399)字节=(420-400)字节

    260字节=IP数据包总长度==IP数据包报头+数据包长度=20字节+240字节

    数据包长度=240字节

    197217字节/240字节=80.07个包

    即81个片

    765字节/560字节=1.366个包

    即2个片

    注意:IP报头长度:表示的IP数据包的包头长度,这个长度不包括数据字段,最小为20个字节,最大为60个字节,其中的40个字节供IP选项使用.

    IP数据包总长度:它描述的是IP数据包中报头和数据包的总长度,由于其占用16个比特位,因此我们可以得出一个IP数据包的最大值为65536(IP数据包攻击经常使用这个值).