java 解析ip数据包_ip包,ip数据包,数据包或者包的理解

首先看看以下这段话:

路由器把需到达的网络的网络号保存在路由表中,当一个IP数据报被路由器接收到时,路由器先从该IP数据报中取出目的站点的IP地址,根据IP地址计算出目的站点所在网络的网络号,然后用网络号去查找路由表以决定通过哪一个接口(线路)转发该IP数据报。

根据TCP/IP协议,路由器的数据包转发具体过程是:网络接口接收数据包,这一步由网络物理层处理,即把经编码调制后的数据信号还原为数据。根据网络物理接口,路由器调用相应的链路层功能模块,以解释处理此数据包的链路协议报头。这一步处理比较简单,主要是对完整性的验证,如CRC校验、帧长度检查。在链路导层完成对数据帧的完整性验证后,路由器开始处理此数据帧的IP层。这一过程是路由器功能的核心。根据数据帧IP包头的目的的IP地址,路由器在路由表中查找下一跳的IP地址,IP数据包头的TTL域开始减数,并计算新校验和(Check-sum)。根据路由表中所查到的下一跳IP地址,将IP数据包送往相应的输出链路层,封装上相应的链路层包头,最后经输出网络物理接口发送出去。

现在来理解:

ip包----网络层的包,有自己的格式

ip数据包-------即ip包

包-------即数据包.通常我们说什么包转发率,掉包等概念,也就是网络设备(如路由器,网卡等)就是针对它来说,也以说是数据包(包含了MAC地址等帧有的信息)

数据包--------这个概念就有时挺模糊了,所以一般不说.即不能说它一定就是ip数据包或帧。

以下结合两个命令例子来说明上面的概念理解:

(1)win2003server里的网络监视器是对网络数据进行分析,可以从网络中获取帧,这些网络数据就可以叫包(包含帧信息),而非ip数据包。

(2)ping命令中参数l英文意思是send buffer size(默认是32即32bytes),也就是改变发送的数据分组的字节数。例如ping -l 24

www.163.com

,其中24就是发送的ip数据包的长度,而非帧长度。这条命令用于测试与MTU相关的网络故障。(大多数设备为1500,单位是byte,本机MTU小于等于网关的MTU,数据才不会分拆。)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值