当前位置: 首页 > news >正文

网络协议(六):网络层

网络协议系列文章

网络协议(一):基本概念、计算机之间的连接方式

网络协议(二):MAC地址、IP地址、子网掩码、子网和超网

网络协议(三):路由器原理及数据包传输过程

网络协议(四):网络分类、ISP、上网方式、公网私网、NAT

网络协议(五):网络互联模型、物理层、数据链路层

网络协议(六):网络层


目录

  • 一、网络层组成
  • 二、网络层首部
    • 1、版本、首部长度、区分服务
    • 2、首部长度(Header Length)
    • 3、区分服务(Differentiated Services Field)
    • 4、总长度
    • 5、标识
    • 6、标志
    • 7、片偏移
    • 8、生存时间
    • 9、协议
    • 10、首部校验和

网络分层对应的通信协议和数据名称

在这里插入图片描述

一、网络层组成

  • 网络层数据包(IP数据包,Packet)由 首部、数据 两部分组成
  • 数据:很多时候是由传输层传递下来的数据段(Segment)

在这里插入图片描述

二、网络层首部

1、版本、首部长度、区分服务

  • 版本(Version)
    • 占4位
    • 0b0100:二进制4表示IPv4
    • 0b0110:二进制6表示IPv6
  • 首部长度(Header Length)
  • 区分服务(Differentiated Services Field)

2、首部长度(Header Length)

  • 占4位,二进制乘以4才是最终长度
  • 0b0101:二进制5*4 = 20(最小值)
  • 0b1111:二进制15*4 = 60(最大值)

3、区分服务(Differentiated Services Field)

  • 占8位
  • 可以用于提高网络的服务质量(QoS,Quality of Service)

4、总长度

  • 占16位
  • 首部 + 数据的长度之和,最大值是 65535(2^16 - 1)

在这里插入图片描述

  • 由于帧的数据不能超过1500字节,所以过大的IP数据包,需要分成片(fragments)传输给数据链路层
  • 每一片都有自己的网络层首部(IP首部)

5、标识

  • 占16位
  • 数据包的ID,当数据包过大进行分片时,同一个数据包的所有片的标识都是一样的
  • 有一个计数器专门管理数据包的ID,每发出一个数据包,ID就加1

6、标志

  • 占3位
  • 第1位(Reserved Bit):保留
  • 第2位(Don’t Fragment):1代表不允许分片,0代表允许分片
  • 第3位(More Fragments):1代表不是最后一片,0代表是最后一片

ping 的几个用法、wireshark抓包

  • ping /?:查看ping的用法
  • ping ip地址 -l 数据包大小:发送指定大小的数据包(ping www.baidu.com -l 1400)
  • ping ip地址 -f:不允许网络层分块 (ping www.baidu.com -l 2000 -f)

通过 Wireshark 抓包查看 ping www.baidu.com 发送的包

  • 通过 ping 命令,实际上发送了4次 ICMP数据包:

在这里插入图片描述

  • 通过 Wireshark 可以证实:

在这里插入图片描述
- 通过 Wireshark 可以证实:

7、片偏移

  • 占13位
  • 片偏移乘以8:字节偏移(wireshark显示的是字节偏移)
  • 每一片的长度一定是8的整数倍

在这里插入图片描述

  • ping ke.qq.com -l 4000 (往腾讯课程发长度为4000的数据包)

在这里插入图片描述

8、生存时间

  • 占8位
  • 每个路由器在转发之前会将TTL减1,一旦发现TTL减为0,路由器会返回错误报告
  • 观察使用 ping 命令后的TTL,能够推测出对方的操作系统、中间经过了多少个路由器

在这里插入图片描述

根据TTL追踪经过路由器

  • ping ip地址 -i TTL 设置TTL的值
  • 通过 tracert、pathping 命令,可以跟踪数据包经过了哪些路由器
  • ping baidu.com -i 1 经过1次就消亡,显然由网关回复

在这里插入图片描述

  • 通过 ping baidu.com -i 1、ping baidu.com - i 2、ping baidu.com -i 3 … 可以追踪发包到百度经过的路由器

在这里插入图片描述

  • tracert 和 pathping 命令实际上更简单也可以追踪路由器

在这里插入图片描述

  • pathping baidu.com

在这里插入图片描述

9、协议

  • 占8位
  • 表明所封装的数据是使用了什么协议

在这里插入图片描述

10、首部校验和

  • 用于检查首部是否有错误

Wireshark:
在这里插入图片描述

  • Wireshark 完整网络层首部

在这里插入图片描述

相关文章:

网络协议(六):网络层

网络协议系列文章 网络协议(一):基本概念、计算机之间的连接方式 网络协议(二):MAC地址、IP地址、子网掩码、子网和超网 网络协议(三):路由器原理及数据包传输过程 网络协议(四):网络分类、ISP、上网方式、公网私网、NAT 网络…...

热启动预示生态起航的Smart Finance,与深度赋能的SMART通证

2023年初加密市场的回暖,意味着各个赛道都将在新的一年里走向新的叙事。最近,我们看到GameFi赛道也在市场回暖的背景下,逐渐走出阴霾。从融资数据上看,1月获得融资的GameFi项目共12个,融资突破8000万美元,1…...

提分必练,中创教育PMP全真模拟题分享

湖南中创教育每日五题分享来啦,“日日行,不怕千万里;常常做,不怕千万事。”,每日五题我们练起来! 1、在系统测试期间,按已识别原因的类型或类别记录了失败测试的数量。项目经理首先需要从最大故…...

PID控制算法基础介绍

PID控制的概念 生活中的一些小电器,比如恒温热水器、平衡车,无人机的飞行姿态和飞行速度控制,自动驾驶等等,都有应用到 PID——PID 控制在自动控制原理中是一套比较经典的算法。 为什么需要 PID 控制器呢? 你一定用…...

Ajax 学习笔记

一、Ajax1.1 什么是AjaxAJAX Asynchronous JavaScript and XML(异步的JavaScript和XML)。Ajax是一种在无需加载整个网页的情况下,能够更新部分网页的技术,它不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术…...

​力扣解法汇总1234. 替换子串得到平衡字符串​

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣 描述: 有一个只含有 Q, W, E, R 四种字符,且长度为 n 的字符串。 假如在该…...

C++关键字之const、inline、static

C 关键字总结 1.const const是 constant 的缩写,本意是不变的、不易改变的意思。在C中用来修饰内置类型变量,自定义对象,成员函数,返回值,函数参数使用如下: //修饰普通类型变量 const int a 7; int ba;…...

【成为架构师课程系列】怎样进行概念架构(Conceptual Architecture)?

目录 前言 什么是概念架构 概念架构阶段的3个步骤 初步设计 高层分割 分层式概念服务架构 Layer:逻辑层 Tier: 物理层 按通用性分层 技术堆叠 考虑非功能需求 【禅与计算机程序设计艺术:更多阅读】 前言 胜兵先胜而后求战,败兵先站而后求胜。…...

PostgreSQL的下载安装教程(macOS、Windows)

postgresql是GIS服务端几乎不可避免要打交道的数据库。因为mysql的空间扩展真是不尽人意。所以想要学会GIS服务端知识,postgresql(下文简称pg)你是必须要会的。 首先要知道,pg是一个空间数据库,和普通数据库不同的是pg支持空间数据的存储与操作。这里所谓的空间数据一般指…...

98年的确实卷,公司新来的卷王,我们这帮老油条真干不过.....

都说00后躺平了,但是有一说一,该卷的还是卷。这不,前段时间我们公司来了个00后,工作没两年,跳槽到我们公司起薪18K,都快接近我了。后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了。 …...

软件架构知识2-系统复杂度

架构设计的真正目的:是为了解决软件系统复杂度带来的问题,一个解决方案。 系统复杂度,如何入手: 1、通过熟悉和理解需求,识别系统复杂性所在的地方,然后针对这些复杂点进行架构设计。 2、架构设计并不是要…...

JavaSE学习day4_02 数组(超级重点)

3.数组 3.1什么是数组 数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。 3.2数组定义格式 3.2.1第一种(常用) 数据类型[] 数组名 示例: int[] arr; double[] arr; char[] arr; 3.2.2第二种(在…...

Theano教程:Python的内存管理

在写大型程序时候的一大挑战是如何保证最少的内存使用率。但是在Python中的内存管理是比较简单的。Python显示分配内存,使用引用计数系统管理对象,当指向某一个对象的引用数变为 0 的时候,该对象所占的内存就会被释放。理论上听起来很不错&am…...

Linux | Liunx安装Tomcat(Ubuntu版)

目录 一、下载并上传Tomcat压缩包到Ubuntu 1.1 下载并解压 1.2 执行 startup.sh 文件 二、验证Tomcat启动是否成功 2.1 查看启动日志 2.2 查看启动进程 三、Windows访问 Tomcat 服务 四、停止 Tomcat 服务 Tomcat是一款Web服务器,开发Web项目基本上都会用到…...

缓冲区浅析

缓冲区 程序运行输入数据时,从键盘的输入先存储到缓冲区,只有当缓冲区满或者输入回车时程序才会真正地从缓冲区读入数据 int main() {int a, b;cin >> a >> b;return 0; }in: 1 2\n 例如这里输入空格时程序没有输出,而是将空格…...

Day888.MySQL是怎么保证主备一致的 -MySQL实战

MySQL是怎么保证主备一致的 Hi,我是阿昌,今天学习记录的是关于MySQL是怎么保证主备一致的内容。 MySQL 能够成为现下最流行的开源数据库,binlog 功不可没。 在最开始,MySQL 是以容易学习和方便的高可用架构,被开发人…...

互联网舆情监测系统的发展阶段,TOOM互联网舆情监测系统有哪些?

互联网舆情监测系统是一种利用计算机技术对互联网上的大量信息进行实时监测、分析和评估的工具,旨在了解公众对某一事件、话题或品牌等的态度、情感倾向和影响力等。通过对社交媒体、论坛、新闻媒体等多个渠道的数据采集和处理,系统能够实现舆情事件的追…...

GIT命令操作大全

文章目录一、前言二、工作模块2.1 Workspace:工作区2.2 Index / Stage:暂存区2.3 Repository:本地仓库2.4Remote:远程仓库三、GIT基本配置四、GIT项目代码管理4.1 初始化git仓库4.2 提交到暂存区(stage)4.3 将暂存区的文件恢复到工…...

突破传统开发模式,亚马逊云科技助力中科院加速推动合成生物学

当数字技术成为整个社会运行的底座,生物科学也能借力云计算从诸多繁琐重复的工作中解放出来,专注于生物设计与创新。来看看亚马逊云科技如何与TIBCAS合作,推动合成生物学的发展。 明确核心需求,选择合作伙伴 TIBCAS选择与亚马逊…...

分享开放通达信l2接口的过程,开发之后怎么使用?

随着互联网的不断进步,信息技术的不断发展,通达信l2接口技术逐步成熟。那么,这些开放通达信l2接口开发的过程是怎么样的呢?期间又会遇到什么问题,开放之后又会怎么使用呢?这篇文章带你深入了解。 通达信l2接口不像一…...

33、基于51单片机老人防跌倒蜂鸣器报警系统加速度检测

背景技术 老年人出门由于身体不灵活、视力较差,容易发生跌倒,现用的老年人跌倒报警装置是通过无线对讲系统研发的,它外观精美,自动化程度高,有很强的专业性,但是,设计者忽略了一个问题&#xf…...

【项目】基于SpringBoot+Freemarker+Mybatis+MySQL+LayUI实现CRM智能办公系统

这里写目录标题CRM基本概念CRM分类模块功能描述项目代码application-dev.yml部分页面代码CRM基本概念 圈内存在这么一句话:“世上本来没有 CRM,大家的生意越来越难做了,才有了 CRM。” 在同质化竞争时代,顾客资产尤为重要&#x…...

手写识别字体的步骤是什么?怎么识别图片中的文字?

手写识别字体的步骤是什么?怎么识别图片中的文字? 1. 打开信风工具网,点击拍照按钮,选择拍图识字模式,对准需要识别的文件进行拍摄。在线工具地址: https://ocr.bytedance.zj.cn/image/ImageT…...

Mysql 存储过程

什么是存储过程? 存储过程是事先经过编译并存储在数据库的一段sql语句的集合 如何创建一个存储过程? create procedure 存储过程名称([参数列表]) beginsql语句; end#例 create procedure p1() beginselect * from t_goods;select * from t_user; end如…...

【LeetCode】每日一题(3)

目录 题目:1234. 替换子串得到平衡字符串 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 写在最后: 题目:1234. 替换子串得到平衡…...

websocket学习

1.什么是websocket 1)首先websocket和http一样,是一种网络通信协议,来自HTML5的特性; 2)他可以使客户端和服务端进行双工通信,简单来说,就是双向通信:比如我们熟悉的http协议&…...

Java面试题及答案整理汇总(2023最新版)

前言 面试前还是很有必要针对性的刷一些题,很多朋友的实战能力很强,但是理论比较薄弱,面试前不做准备是很吃亏的。这里整理了很多面试常考的一些面试题,希望能帮助到你面试前的复习并且找到一个好的工作,也节省你在网…...

公司来了个卷王,我愿称之为王中王,让人崩溃

前几天我们公司一下子也来了几个新人,这些年前人是真能熬啊,本来我们几个老油子都是每天稍微加会班就打算走了,这几个新人一直不走,搞得我们也不好走。2023年春招就要开始了,最近内卷严重,各种跳槽裁员&…...

波奇学c语言:代码的编译和链接

test.c(源文件)->编译->test.obj(目标文件)->链接->test.exe(可执行文件)编译1.预编译(预处理):text.c->text.i使用gcc -E test.c 进行停止预处理指令&am…...

计算机网络原理--传输层协议(TCP协议十大特性)

目录 1.认识TCP协议 TCP的协议段格式 2. 确认应答机制 3.超时重传 4.连接管理 <...

网站开发实用技术2.8.5/人民日报今日新闻

由于oracle 的高维护费用 &#xff0c;公司决定 将Oracle 数据库迁移到mysql。下面是 对数据库迁移中 表和view视图迁移的 总结。 使用 navicat 工具 问题&#xff1a; MySQL 存在关键字和列名 或表名重复的现象 如&#xff1a;select from from 表名 解决方式&#xff1a; …...

可以免费浏览的网站/东莞seo外包公司哪家好

event安装包链接 PECL :: Package :: event 使用特定平台可用的最佳 I/O 通知机制有效调度基于 I/O、时间和信号的事件的扩展。 通过I/O调度&#xff0c;提高并发&#xff0c;更高效的利用服务器资源。 wget https://pecl.php.net/get/event-3.0.6.tgz tar -zxvf event-3.0.…...

做网站外包公司/优化落实疫情防控

1.题目描述&#xff1a; 2.算法分析&#xff1a; 首先&#xff0c;要过滤掉多余的空格&#xff0c;我们如果一个一个删除空格是一件很麻烦的事&#xff0c;不妨我们可以从每个单词的后面加一个空格&#xff0c;这样是不是会比把多余空格删除好一些呢。怎么做&#xff1f; 一个…...

便宜网站建设成都/网店运营推广方案

背景 前不久在调试一个与导出符号相关的bug&#xff0c;问题大概如此&#xff1a; 模块A.so在堆上构造了一个对象即 CTest *one new CTest; , CTest在A.so定义&#xff0c;后来使用one->AMemFunc()&#xff1b;,即调用一个成员函数时崩溃。原来在另一个模块B.so(比A.so先加…...

南充市住房和城乡建设厅网站/建立网站的基本步骤

<script language"javascript" type"text/javascript">ar ReTitle 回复:光能充电手机被指电视直销广告虚假宣传;</script> 广告宣传的光能充电&#xff0c;消费者买回后发现根本没有这项功能&#xff1b;广告称内置1000多种游戏的手机实际只有…...

网站建设灯/怎么让客户主动找你

阅读本文前&#xff0c;请您先点击上面的蓝色字体“商业聊”&#xff0c;再点击“关注”&#xff0c;这样您就可以继续免费收到最新文章了。每天都有分享。完全是免费订阅&#xff0c;请放心关注。CleanMyPCCleanMyPC是一款非常强大的windows清理软件。常见的windows清理软件特…...