• 网络层
    关心-->转发 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. 【Azure 事件中心】在Service Bus Explorer工具种查看到EventHub数据在分区中的各种属性问题

    问题描述 通过Service Bus Explorer工具,查看到Event Hub的属性值,从而产生的问题及讨论: Size in Bytes:   这个是表示当前分区可以存储的最大字节数吗? La ...

  2. Docker 镜像针对不同语言的精简策略

    导航: 这里分为几个部分. 相关转载云原生:米开朗基杨 1.Docker减小镜像体积 2.Docker镜像针对不同语言的精简策略 对于刚接触容器的人来说,他们很容易被自己制作的 Docker 镜像体积 ...

  3. 跟我一起学 Go 系列:gRPC 拦截器

    Go gRPC 学习系列: 跟我一起学Go系列:gRPC 入门必备 第一篇内容我们已经基本了解到 gRPC 如何使用 .对应的三种流模式.现在已经可以让服务端和客户端互相发送消息.本篇仍然讲解功能性的 ...

  4. 3.QT屏幕分辨率适配

    需求:qt的窗口.组件.字体需要适配屏幕分辨率. 思路:qt是根据显示器的物理长度或者宽度于分辨率的关系来计算dpi 实现: #if(QT_VERSION >= QT_VERSION_CHECK ...

  5. vsftpd.conf配置文件详解

    1.默认配置: 1>允许匿名用户和本地用户登陆. anonymous_enable=YES local_enable=YES 2>匿名用户使用的登陆名为ftp或anonymous,口令为空 ...

  6. webpack(4)webpack.config.js配置和package.json配置

    前言 上一篇文章我们使用webpack打包成功了,但是每次都要自己手动输入打包的文件地址和打包到哪里去的地址,非常麻烦,所以这里介绍使用配置文件进行打包 webpack.config.js 首先我们创 ...

  7. mybatis中使用selectKey,返回结果一直是1

    转:https://www.cnblogs.com/caizhen/p/9186608.html mybatis中使用selectKey,返回结果一直是1,结合这个问题,笔记一下selectKey标签 ...

  8. Linux文件目录结构详解 (转)

      整理自<鸟哥的私房菜> 对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能, ...

  9. C语言:printf*("%x")

    #include <stdio.h> int main(){ int a = 100; char str[20] = "hello world!"; char *zza ...

  10. python import 导入两个模块同时有同一名称的方法如何调用 ?

    from moudule import *(这种方法不推荐) 一般不推荐使用"from 模块 import"这种语法导入指定模块内的所有成员,因为它存在潜在的风险. 比如同时导入 ...