IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 网络协议上课笔记(五)网络层、TTL -> 正文阅读

[网络协议]网络协议上课笔记(五)网络层、TTL

网络层

数据包的结构图

网络层中最小的数据单元为“数据包”。一个数据包由首部固定部分+首部可变部分+数据部分组成。
在这里插入图片描述
下面对数据包每个部分进行详细说明

  • 版本:占4位,标明当前网络层使用什么协议来传输数据包。
    0b0100:IPv4
    0b0110:IPv6
    补充:0b表示后面的数是2进制,即IPv4是0b0100,即等于十进制的4

  • 首部长度:占4位,最终长度=首部长度4
    因为数据包固定部分为20字节,所以数据包最小长度为20.即20/4=5=0b0101.所以首部长度最小为0b0101。
    因为首部长度占4位,所以最大为0b1111=15,15
    4=60,所以首部长度最大为60,即可变部分最大为60-20=40。

  • 区分服务:占8位,有于提高网络的服务质量。
    比如百度云开了会员之后,百度云网盘服务器端可以对响应的数据包给区分服务设置成某一个值,然后百度云的路由器就会优先传输这些数据包,以实现会员加速的功能。

  • 总长度:占16位
    数据包的总长度,即首部固定部分+首部可变部分+数据部分的总长度,最大值65535,所以一个数据包最大为65535字节。

中场说明:数据包最大为65535字节,往下传会达到传输层,传输层的帧最大不超过1500字节,所以在往下传之前,网络层有可能要对数据包进行分片(fragments)在传给传输层,每一片数据都有自己的网络层首部!而分片这个操作引入了 标识、标志、片偏移 这三个字段来进行表示。

  • 标识:占16位
    数据包的ID,当数据包过大进行分片时,同一个数据包的每一片的标识都是一样的,相当于数据包的ID。
    补充:有一个计数器专门管理数据包的ID,每发出一个数据包,ID就加1。ID到最大值在加1就可能重置为1,具体规则要看计数器的实现。

  • 标志:占3位
    第1位:保留位,目前没用
    第2位:1表示当前分片没有分片(即是一个完整的数据包),0表示当前数据包被分片了
    第3位:1表示当前分片不是最后一片,0表示当前分片是最后一片。

所以当第2位为1时,第3位一定为0,即标志为010。标志为010时表示数据包没有分片。

  • 片偏移:标识当前片相对于整个数据包的偏移量,类似于sql的limit offset, size的offset

  • 生存时间:占8位,TTL(time to live)
    每个路由器在转发之前会将TTL减1,一旦发现TTL减为0,路由器会返回错误报告。每个操作系统默认的TTL都是不一样的,如下图所示
    在这里插入图片描述
    所以可以通过技术手段,有可能可以通过TTL嗅探出对方用的是什么操作系统。

补充:
在这里插入图片描述

  • 协议:占8位,表明当前数据包用的是什么网络层协议
    在这里插入图片描述
  • 首部校验和:用于检查首部的数据是否有错误,类似于指纹,也类似于传输层的FCS。
  • 源IP地址:发送方的IP地址
  • 目标IP地址:接收方的IP地址
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-27 12:13:42  更:2021-08-27 12:13:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 21:23:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码