链路层、网络层、传输层和应用层协议详解分析

接上篇文章wireshark抓包分析-CSDN博客wireshark是网络包分析工具网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。wireshark应用举例:网络管理员用来解决网络问题网络安全工程师用来检查安全隐患开发人员用来测试协议的执行情况学习网络协议。https://blog.csdn.net/CSDN_DU666666/article/details/139476234?spm=1001.2014.3001.5501

一、链路层

以太网头(又称MAC头)------一共占用14字节

目的MAC地址:即接收方的mac地址--windows的mac地址 (占6字节)

源MAC地址:发送方的mac地址-ubuntu的mac地址  (占6字节)

类型:指定下一层(网络层)使用的协议类型  (占2字节)

        0800 IP协议

        0806 ARP协议

        8035 RARP协议

PS:查看mac地址的方法

        windows:ipconfig/all 物理地址对应的就是mac地址

        ubuntu:ifconfig 看到的ether后面就是mac地址

工作在链路层的设备:交换机(通过mac地址决定如何转发消息)

二、网络层

IP头

版本号(4位)             IP协议的版本 4-->ipv4        0100

首部长度(4位)     IP头的长度(由于IP头至少为20字节),而4个bit位能表示的最大数是1111-->15 所以此处使用的是4倍的单位,此处的0101---> 对应位5*4=20

服务类型 (8位)    前3比特是优先权子字段(已被忽略),第8比特保留未用,4-7比特分别代表延迟、吞吐量、可靠性和花费,对应位取1为最小延时、最大吞吐量、最高可靠性和最小花费,但这4位同一时刻,只能一位为1,但可以全部为0,全部为0表示一般服务,服务类型字段声明数据包被网络系统传输时可以被怎样处理。比如,TELNET协议要求有最小的延迟,FTP协议数据要求最大吞吐量、SNMP协议无特殊要求(4-7全为0)。但是实际上,大部分会忽略这个字段。但一些动态路由协议如OSPF(open shortest Path First Protocol)、IS-ISIntermediate System to Intermediate System Protocol)可以根据这些字段的值进行路由决策。

总长度(16位)  表示整个数据报的长度(以字节为单位),2^16-1==最大长度为65535字节

                IP头+TCP头+用户数据的长度 == 20+20+*(PS:我用buff[*]发的) == *+40

标识(16位) 用于唯一标识主机发送的每一份数据包,通常每发一份数据包,它的值会加1。

标志位(8位) 标志一份数据包是否要求分段。

片偏移(13位) 如果一个数据报要求分段,此字段指名该段便宜距离原始数据报开始的位置。

生存周期TTL(8位) 设置数据包最多经过的路由器的数量,每经过一个路由器,其值减去1,减到0数据包被丢弃,初始值一般为32、64、128等。(PS:ping www.baidu.com 显示的TTL)

协议类型(8位) 指明后边使用的协议的类型     ICMP(1)  IGMP(2) TCP(6)    UDP(17)。

头部校验和(16位) 根据IP头部计算得到的校验和码,计算方法为:对头部中每16比特进行二进制反码求和。(和ICMP、IGMP、TCP、UDP不同,IP不对头部后的数据进行校验)。

源IP地址(32位) 发送IP数据报文的源主机地址。

目的IP地址(32位)接收IP数据报文的目标主机地址。

工作在网络层的设备:路由器(根据目的IP地址决定如何转发数据)。

三、传输层

TCP头

源端口号(16位):  发送方进程的端口号

目的端口号(16位) 接收方进程的端口号

序列号:seq

确认号: ack

头部长度:TCP的头部长度也是4倍的单位 5表示20

URG:紧急指针(urgent pointer)有效。

ACK:确认序号有效。

PSH:接收方应该尽快将这个报文段交给应用层。

RST:重建连接。

SYN:发起一个连接。

FIN:释放一个连接。

建立和释放链接使用到SYN ACK FIN 见以下文章

三次握手和四次挥手过程简介-CSDN博客链路层、网络层、传输层和应用层协议详解分析-CSDN博客wireshark抓包分析-CSDN博客wireshark是网络包分析工具网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。wireshark应用举例:网络管理员用来解决网络问题网络安全工程师用来检查安全隐患开发人员用来测试协议的执行情况学习网络协议。https://blog.csdn.net/CSDN_DU666666/article/details/139591789?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22139591789%22%2C%22source%22%3A%22CSDN_DU666666%22%7D

四、应用层

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/702296.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

江协科技STM32学习- 2安装Keil5-MDK

本文是根据哔哩哔哩网站上“江协科技STM32”视频的学习笔记,在这里会记录下江协科技STM32开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了江协科技STM32教学视频和链接中的内容。 引用: STM32入门教程-2023版 细致讲解 中文字幕_哔哩哔哩…

【Python】已解决TypeError: unsupported operand type(s) for ...报错方案合集

😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主。 🤓 同时欢迎大家关注其他专栏,我将分享Web前后端开发、人工智能、机器学习、深…

LabVIEW Actor架构特点与适用范围

LabVIEW的Actor架构提供了一种基于消息传递的并行任务管理方式,适合复杂系统的模块化设计。其特点包括高可扩展性、灵活的消息传递和并行处理能力。维护和修改要求较高,适合有一定经验的开发人员。对于中小型项目,可考虑选择更简单的状态机架…

Spring Cloud Bus 消息总线基础入门与实践总结

【1】基础介绍 其主要是实现分布式自动刷新配置功能,Spring Cloud Bus 配合 Spring Cloud Config 使用可以实现配置的动态刷新。Spring Cloud Bus是用来将分布式系统的节点与轻量级消息系统链接起来的框架,它整合了Java的事件处理机制和消息中间件的功能…

锌,能否成为下一个“铜”?

光大期货认为,今年以来,市场关注锌能否接棒铜价牛市。铜需求增长空间大,而锌消费结构传统,缺乏新亮点。虽然在供应的扰动上锌强于铜,但因需求乏善可陈,金融属性弱势,锌很难接棒铜,引…

[数据集][目标检测]中国象棋检测数据集VOC+YOLO格式300张12类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):300 标注数量(xml文件个数):300 标注数量(txt文件个数):300 标注类别…

微信服务号营销新篇章:HubSpot与MessageBox的强强联合

随着全球数字化浪潮的推进,越来越多的企业开始寻求海外市场的拓展机会。在这个过程中,微信服务号作为一个强大的数字化工具,为企业提供了无限的商业可能。本文将详细解析微信服务号的概念、功能、使用方法,以及它与HubSpot、Messa…

2024最新最全【大模型】人工智能零基础入门到精通,看完这一篇就够了!

大模型技术是一个涉及人工智能、机器学习、深度学习等多个领域的复杂课题。学习大模型技术通常需要以下几个步骤: 基础知识学习:首先,需要掌握计算机科学、数据结构和算法的基础知识。此外,对线性代数、概率论和统计学有一定的理…

C#——字典diction详情

字典 字典: 包含一个key(键)和这个key所以对应的value&#xff08;值&#xff09;&#xff0c;字典是是无序的&#xff0c;key是唯一的&#xff0c;可以根据key获取值。 定义字典: new Diction<key的类型&#xff0c;value的类型>() 方法 添加 var dic new Dictionar…

消息队列(MQ)核心知识点(持续更新中)

消息队列&#xff08;MQ&#xff09;核心知识点&#xff08;持续更新中&#xff09; RabbitMQRabbitMQ概念及架构RabbitMQ消息丢失的场景及解决方案RabbitMQ重复消费场景及解决方案RabbitMQ消息堆积场景及解决方案RabbitMQ集群 RocketMQRocketMQ概念及架构 RabbitMQ RabbitMQ概…

Hadoop 2.0:主流开源云架构(三)

目录 四、Hadoop 2.0体系架构&#xff08;一&#xff09;Hadoop 2.0公共组件Common&#xff08;二&#xff09;分布式文件系统HDFS&#xff08;三&#xff09;分布式操作系统Yarn&#xff08;四&#xff09;Hadoop 2.0安全机制简介 四、Hadoop 2.0体系架构 &#xff08;一&…

开发了一个宝藏云桌面系统,编程小白强烈安利

大家会不会也会有这样的困扰&#xff0c;一个开发小白&#xff0c;在满怀激情的想踏入代码世界时&#xff0c;往往会被一系列复杂的环境配置和软件安装过程绊住了脚步。想象一下&#xff0c;如果你满心期待地想要运行一个简单的“Hello, World!”程序&#xff0c;或是尝试一段刚…

Mac外接显示器显示不全

Mac外接显示器最大化无法占满屏幕 当你遇到底部无法占满的时候&#xff0c; 只需要&#xff0c;在-->系统设置 中修改“桌面与程序坞”-->“置于屏幕上的位置”&#xff0c;改完之后&#xff0c;改回原设置就行了&#xff1b;

短视频矩阵筷子科技、抖去推、超级编导有那几家源头开发是自己底层框架做的-----

目前这几家都是自己技术团队搭建开发的&#xff0c;每家都有优势劣势产品上基本都已经成熟趋向于优化技术阶段。 云罗---抖去推&#xff1a;*** 将在CAP原则基础上使用分布式架构,对此网站的整体架构采用了基于B/S三层架构模式,将数据层、业务应用层、表现层分开。BS架构B/S&a…

边缘网关在智能制造工厂中的创新应用及效果-天拓四方

在数字化浪潮席卷之下&#xff0c;智能制造工厂正面临着前所未有的数据挑战与机遇。边缘网关&#xff0c;作为数据处理与传输的关键节点&#xff0c;在提升工厂运营效率、确保数据安全方面发挥着日益重要的作用。本文将通过一个具体案例&#xff0c;详细阐述边缘网关在智能制造…

Windows外接显示屏显示无信号

我的电脑症状比较特别&#xff0c;启动后可以连接外接显示屏&#xff0c;一旦睡眠重新唤醒就会断联 显示器显示无信号&#xff0c;笔记本显示设置里只有自带显示器的信息 试了重启显示屏、重新插拔HDMI线、重新换端口都不行 最后解决方法&#xff1a; 属性-设备管理器-显示…

CNC智能化的上下料解决方案

CNC加工行业因其高效、精密的加工能力在3C、汽车等行业中占据重要地位。然而&#xff0c;传统的CNC上下料方式繁琐且耗时&#xff0c;与CNC机床配套工序和设备的高度信息化、自动化水平形成鲜明对比。这种不匹配导致人工上下料成为生产线的瓶颈&#xff0c;不仅效率低下&#x…

C#实现WMI获取硬盘参数

文章目录 背景涉及框架及库WMI查询小工具参数解释U盘移动硬盘本机设备 总结 背景 因为需求需要涉及获取硬盘的SN参数&#xff0c;但是又不想要获取到U盘或移动硬盘设备的SN&#xff0c;所以就浅浅的研究了一下。 以下就是我目前发现的一些参数的作用&#xff0c;够我用了。。。…

探索AOSP中的RRO:运行时资源覆盖的奥秘

探索AOSP中的RRO:运行时资源覆盖的奥秘 在Android开发中,为了提供更大的灵活性和可定制性,Android提供了一种关键特性:运行时资源覆盖(Runtime Resource Overlay,简称RRO)。本文将深入探讨RRO在Android开源项目(AOSP)中的作用及其实现方法。 什么是运行时资源覆盖(…

超级马里奥-小游戏

学习目标&#xff1a; 练习Java面向对象的编程思想&#xff1b; 巩固Java语言基础&#xff0c;数据类型、集合、数组等&#xff1b; 深刻理解Java的三大特性&#xff0c;封装、继承、多态&#xff1b; 效果展示&#xff1a;