网站建设给客户看的ppt模板,中国江西网官方网站,怎么注册网站个人,怎么登陆wordpress在tcp层将数据打包封装向下传递后#xff0c;网络层将其整个看为一个数据#xff0c;然后对其数据加网络报头操作#xff0c;在网络层最具有代表的协议就是ip协议。在这里我们探究ipv4的报头。
ip报头 4位版本#xff1a;指定ip的版本号#xff0c;对于ipv4来说就是4。
… 在tcp层将数据打包封装向下传递后网络层将其整个看为一个数据然后对其数据加网络报头操作在网络层最具有代表的协议就是ip协议。在这里我们探究ipv4的报头。
ip报头 4位版本指定ip的版本号对于ipv4来说就是4。
4位首部长度和tcp报头一样15个单位每个单位代表4个字节。
8位服务类型3位弃用1位待用还有4位分别标识: 最小延时, 最大吞吐量, 最高可靠性, 最小成本仅能存在一位被设置假设是打游戏那就要设置最小延迟如果是文件传输就要最大吞吐量如果是银行转账就是最高可靠性。这是给路由器看的位。
16位报文长度顾名思义就是报文的大小
16位标识、3位标识位、13位偏移我们等等再唠。
8位生存时间就是个计数器防止报文长时间占用网络。
16位首部检验和防止数据丢失篡改等等。
32位源ip地址就是发送方的ip。
32位目的ip地址该报文要去的目的机器ip。
报文切片组装
由于在网络中流动的报文是有大小限制的一般而言在ethernet默认MTU值为1500字节我们就以1500字节讨论这个切片问题。
当传输层tcp协议向下传递了一个2980字节的数据帧。 在网络层中如果报文过大必须将其做分片操作。
介绍报头第二行设置
16位标识每一个在网络层组装的报文都是不同的16位标识类似于tcp层的32位序列号这个序列号是区分不同报文的序列号如果从网络得到相同的16位标识的报文那么报文就是被切片了。
3位标识1位待用1位禁止切片的标识如果某个报文该位被设置但是又过大那么就直接将其报文丢弃。1位更多分片标志位如果有报文该位被设置1那么其报文之后一定还有报文在路上如果被标识为0原可能未被分片或者是分片的最后一片。
13位分片位置就是该分片在原报文中的起始位置。 5个问题
分片好吗如何识别ip报文的不同如何识别分片如何分片。如何对获得的分片组合异常处理
1、分片并不是主流分片增加了网络负担并且升高了丢包率。
2、依托ip报头中的16位标识区分报文原报文不同的情况下报文取得16位标识是一定不同的
3、如果发现接收多个ip报文16标识相同说明报文被分片当然不同标识也不是未被分片。如果发现3位标识的“更多分片”被设置为1那么就说明被分片了最后一个分片设置为0。如果偏移设置不为0说明被分片了第一个分片的分片偏移为1。
4、分片过程 分片后必须为其他报文增加新的ip报头。每次切分后需要设置新旧报头的3个标识报文总大小更多分片13为分片偏移。
5、分片组合 6、异常处理如果接收到多个分片报文会留存分片报文到最大网络传输时间如果在时间后仍然分片报文为齐全则将该全部16为标识相同的分片报文全部丢弃。