提到网络层最重要的协议,当属IP协议莫属。IP协议根据端到端的设计原则,IP只为主机提供一种无连接、不可靠、尽力而为的数据报传输服务。设计IP地址的目的是提高网络的可扩展性,一方面解决互联网问题,实现大规模、异构网络的互联互通;二是分割顶层网络应用和底层网络应用之间的耦合关系,有利于两者的独立发展。

一、IP数据报格式

如图所示,IP数据报分为首部与数据部分。

1)数据部分:由传输层传下来的TCP或UDP报文

2)首部:IP协议的主要体现,传输层数据+IP首部 = IP数据报。首部可分为固定部分与可变部分,具体说明请往下看。

二、IP数据报首部详解

IP数据报首部分为固定部分和可变部分。如图,每一行是四个字节,固定部分占5行,共20字节,可变部分大小不定,但不超过40字节,且一定为4字节的整数倍。针对首部中的各个部分,以下是详细说明:

1)版本:指定了IP数据报的版本, 常用的有IPv4(4)与IPv6(6)

2)首部长度:指定了IP数据报首部的长度,单位为4字节。

​ 例如首部长度部分为0111->7,则表示首部共占7*4=28字节,也可以推出可变部分为28-20=8字节

3)区分服务:指定本IP数据报的上层协议的服务类型,通常不适用,置为0。

​ 在特殊时候,如某些数据报希望优先通过,可在这些数据包上增加区分服务字段,并通告所有路由器,让带有该区分服务字段的数据报优先传输

4)总长度:指定整个IP数据报的长度,单位为1字节,最大值为65535,但由于MTU的限制,通常都无法达到这个长度。

由上可知,IP数据报的总长度可能会大于MTU(链路层数据帧最大传输单元),此时就需要对IP数据报进行分片。而分片后的片段管理就和一下三个字段有关:标识、标志、片偏移

5)标识:同一数据报的不同分片取一个共同标志,来说明它们"同属一家"。

6)标志:共三位 一个无用位(设为0)、一个禁止分片位(DF)、一个更多分片位(MF)

​ 当DF=1时,说明该数据报没有分片,其他分片相关的字段也没有意义了

​ 当DF=0时,说明该数据包经过了分片处理,若MF=0,代表该数据报是多个分片中的最后一个分片,即其后没有更多分片,若MF=1,代表该数据报不是最后一个分片

7) 片偏移:指定本数据报在原数据报中的偏移位,单位为8字节。

8)生存时间:指定IP数据报的最大生存时间,每经过一个路由器-1,减小至0则销毁IP数据报。

​ 此字段可解决环路死循环造成的流浪IP数据报浪费带宽的问题。

​ 各系统发送数据报的默认生存时间:Linux(64)、Windows(128)、Unix(255)

9)协议:指定本数据报应交付给何种协议进程。

​ 常见协议号:ICMP (1) IGMP(2) TCP(6) UDP(17) IPv6(41)OSPF(89)

10) 首部检验和:一个检验字段,检查首部是否遭到了修改。

​ 检验算法是:发送方将首部两字节对齐,取反码求和,获得的结果存在首部检验和中。接收方将首部两两对其,取反码求和,若最终结果为0,认为首部正常,否则,丢弃该数据报。

11)源地址/目的地址:数据报的源IP地址/目的IP地址(IP地址在下一节中详解)

12)可选字段:丰富IP数据报可提供的功能,不详述。

13)填充:由于可选字段大小不定,需要填充字段将整个首部补齐成4字节的整数倍,保证4字节对齐原则

计算机网络ip数据包标志df,计算机网络(三)--IP数据报格式相关推荐

  1. 计算机网络ip数据包分析题,计算机网络课程设计-IP数据包解析实验报告

    计算机网络课程设计-IP数据包解析实验报告 解析 IP数据报实验报告目录目录 21.课程设计目的 .22.课程设计要求 .23.相关知识 .24.课程设计分析 .64.1 网卡设置64.2 使用套接字 ...

  2. 计算机网络ip数据包分析题,计算机网络课程设计_IP数据包的捕获及分析.doc

    CENTRAL SOUTH UNIVERSITY 计算机网络课程设计报告 目录 第一章 课程设计的目的与要求1 1.1 课程设计的目的1 1.2 课程设计的要求1 第二章 课程设计的内容3 2.1 课 ...

  3. 计算机网络中数据包的分布,计算机网络习题

    练习 计算机网络概述 1.以太网在传送数据时,将数据分成若干帧,每个节点每次可传送__1___个帧. 2.在广域网中,计算机需要传送的信息预先都分成若干个组,然后以________为单位在网上传送. ...

  4. IP数据包格式(ICMP协议与ARP协议)

    这里写目录标题 IP数据包格式 网络层的功能 IP数据包格式 ICMP协议 ping 广播域 ARP协议(地址解析协议) 无故ARP ARP工作原理: ARP报文 查看arp缓存表(静态arp和动态a ...

  5. 网络层协议和IP数据包的格式(详解)

    1.网络层的功能 定义了基于IP协议的逻辑地址,就是ip地址 连接不同的媒介类型 选择数据通过网络的最佳路径,完成逻辑地址寻址 2.IP数据包格式 版本号( Version): 4bit 指IP协议版 ...

  6. 【Socket网络编程】7.以太网数据包、IP数据包、UDP数据包

    以太网数据包.ip数据包.udp数据包 搭配这篇博文服用,效果更好:数据封装 和 数据拆封:https://blog.csdn.net/u011754972/article/details/11794 ...

  7. 网络主机发送IP数据包过程

    主机发送IP数据包过程 当一个拥有公网IP的主机给其它主机发送IP数据包时,首先在IP首部封装自身IP地址(源IP)和目的主机的IP地址(目的IP),实现网络层数据的封装.接下来进行数据链路层封装,数 ...

  8. 计算机网络原理 实验3 《IP数据包捕获及数据分析》

    计算机网络原理 实验3 <IP数据包捕获及数据分析> 一.实验目的 JPCAP是一个能够捕获.发送网络数据包的Java类库包.这个包用到了Winpcap/Libpcap和原始套接字API, ...

  9. 【计算机网络 24】TCP/IP数据包结构详解

    一.前言 一般来说,网络编程我们只需要调用一些封装好的函数或者组件就能完成大部分的工作,但是一些特殊的情况下,就需要深入的理解 网络数据包的结构,以及协议分析.如:网络监控,故障排查等. IP包是不安 ...

最新文章

  1. Linux上部署、安装nodejs
  2. 小白都能看懂最小生成树prime算法
  3. 小鱼天气android,小鱼天气(cn.microsoft.cig.uair) - 1.3.14 - 应用 - 酷安
  4. Delphi - 数组 详解
  5. Express.js 中的 Sessions 如何工作?(译)
  6. Red Hat Linux、rhel 和 Fedora Core 以及 Centos 区别与联系
  7. 欠薪解决新途径:劳动者可向法院申请支付令。(拖欠工资就是违法)
  8. 2021-03-29 自动控制-滑模控制 Simulink仿真
  9. centos7 切换中文输入法 无需安装
  10. 国内11所“袖珍”大学!最小的甚至只有一栋楼……
  11. oracle11g备份出错,Oracle 11g备份导入12c错误
  12. Go语言常用的并发模式(上)
  13. 有关UITableviewCell 重用内存 内部解析
  14. kafka python框架_Python中如何使用Apache Avro——Apache的数据序列化系统
  15. struts2 tag if NumberFormatException
  16. linux多人共享桌面,gnome 开远程桌面共享功能(linux启动多个桌面)
  17. 端电压,相电压,线电压区别
  18. 调停者模式 java_JAVA设计模式之调停者模式详解
  19. NOI2006:金明的预算方案
  20. Halcon入门(3)——回形针目标提取

热门文章

  1. 和时间恋爱,我喜欢她的微笑
  2. 【黑马程序员】 学习笔记 - Java新技术 - 注解
  3. 什么是云计算,来源百度百科
  4. 2020年短视频爆发,抖音趋势怎么样?
  5. 合并果子(fruit)
  6. wow服务器显示锦标赛,2010全球魔兽世界竞技场锦标赛注册开放
  7. 张涵托福口语绿皮书备忘
  8. Oracle 随机函数详解(dbms_random)
  9. Dlink路由器 CNVD-2018-01084 远程命令执行漏洞 复现分析
  10. android surfaceview学习(一)