• 网络层
    关心-->转发 IPV4协议 IPV6协议
  • 寻址
    转发
    标识位置
    IPV6: 86DD
  • MAC定位局部
  • 网络定位全局
  • 对于上层数据如果过大,网络层可以分组,实现分组转发
  • 环路:发送了一个数据
    我又接收到了这个数据

  • 前4个:IP的标识参数
  • 中4个:IP的分片参数
  • 后4个:IP的辅助参数
  • 0-31=32bit 4Byte 基本长度4*5=20B 可选长度:0-40B IP报头 20+40=60B
  • 逻辑电路组成 0-->断电 1-->通电 ---> 0 不取值 1取值
  • IPV4报头
    最小是20B
    最大是60B 20B-60B
  • 8 4 2 1

1.版本:

  • 代表该报文是V4的封装还是V6的封装 0100-v4 0110-v6 |4b|

2.首部长度:

  • 具体IP报头多长 0101 =5|首部长度代表| 4B单位 5*4=20 B |1010-->10 10*4=40B|1111->15 15*4=60 B| |4b|

IP报头的长度=数据换算的十进制*4B|固定单位|

3.DSF区分服务|TOS|-->服务类型:

  • IE-->QOS TOS字段进行不同优先级的设置
    和QOS联动 |8b|

4.总长度:

  • 代表的上层数据的长度[加上我的IP报头本身] 总长度减去IP报头长度=上层的数据长度 |8b|

5.ID<标识>:

  • 分片的标识
    如果上层数据进行了分片
    此时每一个分片中都会携带该ID号,相同的分组ID号都是一样的。|16b|
  • DF=0才有意义
    允许分片的时候 ID才会有意义

6.flags<标志位>:

  • x x x |3b|
  • 1bit : resv=0 |永远都是0|
  • 2bit:DontF-->不分片位 :某个数据不允许分片 则置为1 允许分片,则为0-
  • 3bit:MoreF-->更多分片--> 代表接下来是否还有分片的报文 置1=还有 置0=没有 |结束|

7.片偏移:

  • 分片数据在整个数据中的相对位置
    片偏移单位固定是8B 最大:1500 |分组| |13b|

8.生存时间:

  • TTL 代表数据能够在网络中传递多远
    最大为255 一旦为0则数据就会丢弃|8b||天然防环| 厂商可以定义的|

9.协议:

  • protocol:协议 代表的也是上层的协议 传输层 --> TCP|6| UDP|17| |8b|

10.首部校验和:

  • IP报头某些字段他的完整性 --> |二进制补码求和| E2-->计算 -->FCS TTL-->不参与|16b|

HCIA-网络层包结构的更多相关文章

  1. 文档:网络通讯包结构(crc校验,加解密)

    一直想把这个流程整理一下. 包结构: 包 对(datacrc+protoID+dataSize)组成的byte[] 进行crc计算而得到 对(数据内容)进行crc计算而得到 协议号 数据内容的字节长度 ...

  2. jdk1.7.0_80源码包结构

    解压源码src.zip,jdk源码结构如下所示: src |--com.sun    sun公司对jdk的实现,Oracle官方不支持,不保证跨平台(可能一些类linux有而windows没有),甚至 ...

  3. Node.js入门:包结构

        JavaScript缺少包结构.CommonJS致力于改变这种现状,于是定义了包的结构规范(http://wiki.commonjs.org/wiki/Packages/1.0 ).而NPM的 ...

  4. JDK源码包结构分类

    最近查看JDK源码时,无意间发现几个类在陌生包里:com.sun.*.sun.*.org.*,google了一把总结了下以备他人搜索,如内容有误欢迎指正!   Jre库包含的jar文件(jdk1.6) ...

  5. TCP/IP数据包结构具体解释

    [关键词] TCP IP 数据包 结构 具体解释 网络 协议 一般来说,网络编程我们仅仅须要调用一些封装好的函数或者组件就能完毕大部分的工作,可是一些特殊的情况下,就须要深入的理解 网络数据包的结构, ...

  6. 【Java基础】Jar包结构结构分析和操作具体解释

    作者:郭嘉 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell 一 ...

  7. UDP包结构

    UDP包结构  // 参考: http://www.2cto.com/net/201307/224715.html UDP数据包由首部和数据组成,每行4个字节(32位),首部固定长度为8个字节(2行) ...

  8. USB的包结构及包分类

    USB的传输总是低位在前,高位在后. USB的传输方向:从设备到主机的数据为输入:从主机到设备的数据叫做输出. 1. 包结构 以同步域开始,紧跟着一个包标识符PID(Packet Identifier ...

  9. 谈谈spring-boot不同包结构下,同样的类名冲突导致服务启动失败解决方案

    项目背景: 某日,有需求要在三天的时间内完成两个大项目的项目合并,因为之前两个项目的包结构和类名都很多相同,于是开始考虑使用加一级包进行隔离,类似于这种结构 但是在启动的过程中,抛出来这样的异常: C ...

  10. MQTT协议-MQTT协议解析(MQTT数据包结构)

    协议就是通信双方的一个约定,即,表示第1位传输的什么.第2位传输的什么…….在MQTT协议中,一个MQTT数据包由:固定头(Fixed header). 可变头(Variable header). 消 ...

随机推荐

  1. 105、如何使用u盘制做linux镜像

    105.1. 105.2. 105.3. 105.4.

  2. 41、mysql数据库(存储过程)

    0.创建表: (1)建表: CREATE TABLE blog ( id INT PRIMARY KEY auto_increment, name CHAR(64), sub_time datetim ...

  3. [心得体会]spring事务源码分析

    spring事务源码分析 1. 事务的初始化注册(从 @EnableTransactionManagement 开始) @Import(TransactionManagementConfigurati ...

  4. 7 shell 数学运算

    shell中数学运算的易错点: 1.在 Bash Shell 中,如果不特别指明,每一个变量的值都是字符串,无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储.即使是将整数和小数赋值给变量,它 ...

  5. JUnit5的条件测试、嵌套测试、重复测试

    条件测试 JUnit5支持条件注解,根据布尔值判断是否执行测试. 自定义条件 @EnabledIf和@DisabledIf注解用来设置自定义条件,示例: @Test @EnabledIf(" ...

  6. centos安装svn,centos客户端运用svn

    场景:   操作如下: 搭建svn服务器:192.168.43.130 1.安装subversion 2.创建本地仓库 mkdir  /haha/svn/something svnadmin  cre ...

  7. 海亮NOIP集训-每日总结

    [总结] xzh 2021暑假每日结 2021年7月12日 内容主题 DP,树型DP(讲解人:王修涵) 考场题目总结 T1: 考场简单想法: 算出两两点间距离,贪心,所用时间 \(1.5h\) 左右. ...

  8. IP地址与子网化分

    IP地址与子网掩码 一.IP地址的组成 二.IP地址的分类                            1)A.B.C三类地址的组成                            2 ...

  9. Kubernetes全栈架构师(二进制高可用安装k8s集群扩展篇)--学习笔记

    目录 二进制Metrics&Dashboard安装 二进制高可用集群可用性验证 生产环境k8s集群关键性配置 Bootstrapping: Kubelet启动过程 Bootstrapping: ...

  10. C语言:基本数据类型及表示范围

    类型名称 标识符 printf()标志 占据 范围 无符号 unsigned 范围 类型名称 类型标识符    printf标志   占字节数           表示范围              ...