博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1--ip首部
阅读量:2386 次
发布时间:2019-05-10

本文共 1000 字,大约阅读时间需要 3 分钟。

横着看,每四个字节(32位)为一个元组。可能有n个元组来定义IP首部。

1.      IP version:IP v4、IP v6;

2.      Hdr len:IP首部的长度,IP首部的长度是可变的,因为有一些选项(options)选项填与不填可能使得IP首部变化;

3.      Type of Service:服务类型,虽然都是发送报文,但是对报文的要求是可靠到达、优先到达还是快速到达,需求是不一样的。

4.      Total length:IP首部还封装有其他信息,甚至包括数据本身,total length标识整个有多长。Total length-Hdr Len=其他首部(tcp/udp)和数据的长度。Total length是计算IP报文的有效载荷的。

5.      Identification(fragment ID):分片ID,假如说我们传递的是电影,电影有500m,最终我们的IP报文有封装成源Mac和目的Mac的数据帧来发送的,一个数据帧最大是1500字节(MTU:最大传输单元),1500减去帧首部,剩下的就只有1400多点了。所有,传递类似于电影的大数据时,我们要把数据切成片。对于接收方来讲,多个片要组合成一个片才能使用。Fragment ID就是用来标识帧的。

6.      R、DF、MF:MF,morefragment,告诉接收方还有更多的报文,需要组织在一起。Don’t fragment,告诉接收方报文不能分片。

7.      Fragment offset:片偏移量,这个片在整个文件中所处的次序和位置。

8.      Time to live:存活时间,从主机A发送报文到主机B,中间可能经过许多路由设备,从路由1到路由2到路由3,路由3又回到路由1,形成环路,永远到不了。每一个报文给一个TTL值,每过一个路由器TTL减一,一旦减到零就到达不了目的地了。初始值一般是64。

9.      Protocol:告诉对方内部的是一个TCP包还是UDP包。标识内层协议类型(内层是传输层)。

10.  Header checksum:首部校验和,避免出错。只是首部校验,没有数据校验。数据校验和在TCP(传输层)中完成。我们的协议有两种:OSI的七层,TCP/IP的两层。在OSI中,数据校验和流控不仅在二层实现,在四层也实现,同一个事情完成两次,造成效率低下,这也是OSI协议没有广泛应用的原因。

 

真正有意义的是在前20个字节。

你可能感兴趣的文章
solaris同步时钟
查看>>
mysql升级
查看>>
oracle11gR2在RedHat5上前期安装配置脚本
查看>>
sar的用法
查看>>
Cocos2dx3.2从零开始【四】继续。
查看>>
Unable to execute dex: Multiple dex files define 解决方法
查看>>
Cocos2dx3.2从零开始【五】
查看>>
字符画
查看>>
JS读取DropDownList中的值
查看>>
进度条例子
查看>>
WordPress注册支持中文用户名的解决办法
查看>>
设置WordPress评论头像为圆角鼠标触碰后旋转效果
查看>>
WordPress:删除多说插件的版权信息
查看>>
查询表中两个条件下的数目,按三列组成表
查看>>
WinForm下禁止TextBox右键菜单
查看>>
C#_winform_DataGridView_的18种常见属性
查看>>
C# 扩展系统类string的方法
查看>>
webBrowser强制在本窗口打开,禁止在新窗口打开
查看>>
C#获取CPU序列号代码、硬盘ID、网卡硬件地址等类文件
查看>>
Html常用符号
查看>>