• 网络层
    关心-->转发 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. 11、gitlab和Jenkins整合(2)

    5.补充: (1)构建说明: 1)Jenkins会基于一些处理器任务后,构建发布一个稳健指数 (从0-100 ),这些任务一般以插件的方式实现. 2)它们可能包括单元测试(JUnit).覆盖率(Cob ...

  2. My Idol:Beihai Zhang --<<The Three-body Problem>>

    First 父:"要多想." 子:"想了之后呢?" 父:"北海,我只能告诉你在那以前要多想." 要多想--这场战争敌我力量对比过于悬殊,硬碰 ...

  3. hive学习笔记之十一:UDTF

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  4. CentOS-GitLab迁移(yum至Docker)

    yum备份迁移Docker版的GitLab 注:确保版本一致 1.yum备份 $ gitlab-rake gitlab:backup:create 2.执行完成后,在/var/opt/gitlab/b ...

  5. MySQL 查看命令执行时间

    查看执行时间 1 show profiles; 2  show variables like "%pro%";查看profiling 是否是on状态: 3 如果是off,则执行se ...

  6. 从S3中拷贝或同步文件

    p.p1 { margin: 0; font: 16px "Helvetica Neue"; color: rgba(53, 53, 53, 1) } p.p2 { margin: ...

  7. .NET Core/.NET5/.NET6 开源项目汇总11:WPF组件库1

    系列目录     [已更新最新开发文章,点击查看详细] WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Frame ...

  8. servlet核心技术2

    一.Servet 与 JDBC 在Servlet中可以使用JDBC技术访问数据库,查询DB数据,然后生成显示页面,接收请求参数,然后对DB操作 为了方便重用和便于维护等目的,经常会采用DAO(Data ...

  9. C语言:获取汉字的编码

    #include <stdio.h> #include <locale.h> #include <wchar.h> int main() { setlocale(L ...

  10. java课堂动手动脑及课后实验总结

      动手动脑一:枚举   输出结果: false false true SMALL MEDIUM LARGE 分析和总结用法 枚举类型的使用是借助ENUM这样一个类,这个类是JAVA枚举类型的公共基本 ...