链路层的分析与应用

wireshark 分析 -> 专家信息 确认丢包是链路层还是应用层 在 Wireshark 中通过 “分析 -> 专家信息” 来确认丢包是链路层还是应用层的问题,可以从以下几个方面判断: 阅读详情
  
-
-

本文背景:

TCP/IP协议越往底层走,就越难理解,为了更好的理解链路层,本文通过结合实际应用加以分析,尽可能学以致用。

本文目的:

简单通俗的理解链路层,以链路层的功能点分别介绍。

本文内容:

1.  接收和发送数据(IP层|链路层|线路)

链路层上处理的协议有很多,常见的有以太网协议、令牌网协议、SLIP协议、PPP协议和Loop Back协议等。这些协议决定了如何将IP层传过来的数据打包,往物理线路上发送;对方接收到数据后,负责解包然后将数据传给上一层IP层。这一打包/解包的依据就是协议。

--以太网协议

802.2标准定义了以太网和令牌网共同的特性,802.3标准定义了载波侦听多路接入的局域网(以太网)技术,802.4标准定义了令牌总线网络,802.5标准定义了令牌环网络。RFC1042定义了802网络的数据报格式;RFC894定义了以太网数据报格式,它要求主机通信需要通过一个10M以太网电缆。这两种具体的数据格式如下:

RFC1042中的IP数据帧

目的物理地址[6字节] | 源物理地址[6字节] | 长度[2]| 802.2相关域[8] | 数据域[38~1492] | CRC[4]

RFC1042中的ARP

目的物理地址[6字节] | 源物理地址[6字节] | 长度[2]| 802.2相关域[8] | ARP请求应答[28] | CRC[4]

RFC1042中的RARP

目的物理地址[6字节] | 源物理地址[6字节] | 长度[2]| 802.2相关域[8] | RARP请求应答[28] | CRC[4]

 

RFC894中的IP数据帧

目的物理地址[6字节] | 源物理地址[6字节] | 类型[2] | 数据域[46~1500] | CRC[4]

RFC894中的ARP

目的物理地址[6字节] | 源物理地址[6字节] | 类型[2] | ARP请求应答[28] | CRC[4]

RFC894中的RARP

目的物理地址[6字节] | 源物理地址[6字节]|类型[2] | RARP请求应答[28] | CRC[4]

 

可以看出,链路层是需要网卡物理地址来通信的,但是,IP层中只用IP地址,所以当IP数据到达链路层时,需要通过ARP和RARP来进行IP地址和物理地址的转换,关于这一部分,请参考本文2、3小节。

 

注解1:从上可以看到,数据帧中数据域有一个最大值1500或1492。这个有一个术语为MTU,最大传输单元。在数据链路层设定这个是为了提高程序的响应速度。如果IP层数据超过链路层定的MTU时,就需要分片。在不同协议上,MTU的大小及制定规则是不一样的。SLIP的MTU可以根据传输最大帧时所需时间的一半与人忍受的响应时间相比较得出。另外,有一个路径MTU的概念指的是不同网络传输数据时经过的链路层的最小MTU。

注解2:人所能忍受的响应时间是100-200ms。

 

--令牌网协议

令牌网协议需要在令牌网卡上使用,现在不太常用,以太网已经网罗天下了。对此,本文暂不对它进行展开。

--SLIP协议

SLIP协议就是串行线路IP协议。它用在计算机通过RS-232串行端口和调制解调器(猫)接入Internet上。

转义字符的用法:协议数据报格式是只有一个结束符(0xc0), 其他都是数据。当数据想含结束符时,用0xdb和0xdc来表示0xc0。这样的话,另外一个问题来了,想表示0xdb 0xdc怎么办?有歧义了。重新定义,只要想含0xdb的话,就变成0xdb 0xdd。当需要转义字符时,这是一个可行的方法,谨记。

协议缺点:

- 数据报中没有类型信息,因此同时只能用一个协议,也就是说,你用猫上网时,如果走的是SLIP协议,你就不能打电话 (另一种协议) 。

- 数据报没有定义CRC校验,出错后本层不能处理,只能寄希望于上层实现。如果上层也没有,那你就先歇一下。

- 必须在连接前固定IP地址,所以IP地址的短缺造成了SLIP协议的放弃。

- 只能工作在TCP/IP协议上。

--PPP协议

PPP协议又称点对点协议,其克服了SLIP协议的所有缺点,特别是具有动态分配IP的有点,有身份验证的优点。它的帧格式中有一个域是地址域,值是0xFF,为广播地址,可以连接到服务器端所有的猫。

 

有人说为什么要通过猫呢,直接用一根线将两台机器连接起来了吗?这里边有着历史的原因,电话网络在电脑网络起来时已经生根了,利用已有的资源从来都是一种好习惯。连个猫通信的过程中,验证了用户信息,分配了用户IP,建立了通信连接。

--Loop Back协议

大部分操作系统都会实现一个LoopBack 接口,并且利用A类地址127.0.0.1,域名localhost。它用来自己跟自己通过TCP/IP通信,不过,发的数据包不会往网络上发,从网络层出去后就被Loopback截获解析了。所以,把Loop Back协议看作数据链路层(网络层下面)。注意,往多播或广播地址发的数据包也会往Loop Back上发送。

微软Loop Back虚拟网卡可以在自己电脑上添加几个虚拟网卡,可设IP地址,然后在几个网卡上通信也跟在不同机器上的网卡通信方式一样。

 

2. 请求响应ARP

待补充

3. 请求响应RARP

待补充

4. 一个应用案例分析

待补充

 

----文章结束----

 

Wireshark抓包QQ聊天记录实战:从数据链路层到应用层的完整解析(附加密内容分析) 本文通过Wireshark抓包工具,对QQ聊天数据包进行了一次从数据链路层到应用层的完整协议栈解析实战。文章详细演示了捕获策略、各层协议字段分析,并重点探讨了应用层数据的加密现状,阐明了在Wireshark视角下可分析的元数据与不可解密的聊天内容边界,为网络协议学习与安全分析提供实践指导。 阅读详情

相关推荐

计算机网络中的链路层抓包及协议分析

说实在的不知道怎么写 实验要求: 利用WinPcap实现网络数据链路层帧捕获,显示分析帧和上层包结构。 程序运行屏幕输出要点: 首先屏幕显示当前配置的网络适配器,并要求选择捕获适配器编号 按照捕获帧的层次关系显示以下信息: 数据链路层(MAC子层)层结构及各个字段的值 网络层分组的格式及各个字段的值 运输层报文段的格式及各个字段的值 应用层报文格式及各个字段的值 字段:每个数据包里的那个一小段一小...

nihuayewoa的博客 2080

手把手教你用Wireshark分析网络流量:从数据链路层到应用层的安全实践

本文详细介绍了如何使用Wireshark进行网络流量分析,从数据链路层到应用层的安全实践。通过实战案例演示如何检测ARP欺骗、异常TCP连接、恶意DNS请求等网络安全威胁,帮助IT从业者和安全爱好者掌握网络流量分析的核心技巧。

weixin_28432777的博客 226

Modbus调试三层次解剖:物理层、链路层与应用层协同排障

Modbus作为工业现场最广泛使用的串行通信协议,其本质是面向确定性、低资源消耗的轻量级主从交互机制。理解其分层结构——物理层关注信号完整性与电气特性(如RS485终端电阻、共模电压),链路层决定帧同步逻辑(RTU的T35静默间隔与CRC-16校验)和编码范式(RTU/ASCII差异),应用层则体现为功能码驱动的状态机行为(如0x03读寄存器的地址偏移陷阱与状态阻塞)。这种跨层耦合特性使Modbus调试不能依赖黑盒工具,而需结合示波器观测电平、逻辑分析仪解码帧结构、手算CRC验证协议一致性。尤其在STM32

weixin_29185167的博客 263

rfc894和rfc1042(ieee802)封装格式

 以太网协议实现RFC894规定的功能,能发送和接收采用RFC894封装格式的帧,同时也能够兼容与RFC894混合的RFC1042(IEEE802)封装格式的帧。 Ethernet: 1980年,数字设备公司(DEC)、Intel公司、施乐(Xerox)公司推出了DIX V1.0标准。1982年又推出了DIX V2.0标准,也就是现在通常所说的Ethernet II,...

weixin_34293902的博客 414

紫光同创FPGA中ADF网表文件的黑匣子封装与PDS环境实战指南

本文详细介绍了在紫光同创FPGA开发环境中使用ADF网表文件进行黑匣子封装的实战指南。通过PDS环境配置、加密ADF生成、黑匣子集成及验证调试等步骤,帮助开发者实现核心IP保护,同时保持设计性能。特别适用于需要模块级代码保护的企业级FPGA开发场景。

weixin_33725239的博客 341

#Linux内存管理# 用一个案例详细介绍ARMv7-A架构 缺页中断处理的原理

跳转到异常向量:根据 异常向量表基地址(通常配置在 VBAR 寄存器中,例如 0xFFFF0000) + 数据中止异常的偏移量 0x10,跳转到数据中止异常的处理程序入口点 0xFFFF0010(实践中,这个入口通常是一条跳转到更复杂处理函数的指令)。malloc 通常不会立即分配物理内存页,它只是在内核为该进程维护的虚拟地址空间中找到一段足够大的空闲虚拟地址区域(比如 0x00008000 - 0x00008FFF),标记为已用,并返回起始地址(例如 0x00008000)给程序。

sinat_37817094的博客 993

【LLC】逻辑链路控制

LLC

喂马,劈材 1万+

从零搭建 AI 运维 Agent:告警自动诊断 + 修复的完整技术方案

适合读者:管理 5-50 台服务器的运维/SRE 工程师、技术负责人 技术栈:FastAPI + React + PostgreSQL + Redis + DeepSeek 关键词:AI运维、AIOps、自动化运维、智能告警、告警修复、Runbook自动化、DevOps、SRE、DeepSeek运维

weixin_38359457的博客 1640

数据链路层和网络层

IP路由选择

yejing's utopia 2761

BDD测试之Behave使用入门

BDD测试(Behavior-Driven Development Testing)是一种基于“行为驱动开发”(BDD)理念。

想要成为酷盖但是失败的小明 580

(Touch™)搭建 Windows 开发环境

> OpenHaptics 开发包参考文档。

置心一处,便无事不办 1502

Ethernet的帧格式 (转)

Ethernet的帧格式 一。Ethernet帧格式的发展  1980 DEC,Intel,Xerox制订了Ethernet I的标准  1982 DEC,Intel,Xerox又制订了Ehternet II的标准  1982 IEEE开始研究Ethernet的国际标准802.3  1983 迫不及待的Novell基于IEEE的

fivedoumi的专栏 2256

【DRAM存储器五十六】LPDDR5介绍--WCK2CK Leveling和Read gate training

简述LPDDR5 WCK2CK leveling和read gate traning基本原理与操作步骤

highman110的博客 8792

《TCP/IP 卷1》笔记:链路层

链路层 在tcp/ip协议族中,链路层主要有三个目的: 为ip模块发送和接收ip数据报 为arp模块发送请求和接收arp应答 为rarp模块发送请求和接收rarp应答 tcp/ip支持多种不同的链路层协议,如以太网,令牌环网,FDDI(光钎分布式数据接口)及RS-232串行线路。 详细介绍以太网链路层协议,两个串行接口链路层协议(SLIP和PPP),以及大多数实现都包含的环回(loopback...

cjdjcdj的博客 466

Cloud Connector RFC 访问控制深度实践:为 SAP BTP ABAP environment 打通安全、可控的远程连接

本文是一份面向企业ABAP团队与平台工程团队的Cloud Connector RFC访问控制配置指南。文章详细介绍了虚拟主机/实例号、负载均衡、资源白名单等核心概念,并提供了从零开始的配置流程。主要内容包括:通过Cloud Connector建立安全隧道的价值(零暴露、最小权限)、两种连接类型(无负载均衡/带负载均衡)的配置方法、资源白名单设置技巧,以及两个典型应用场景(Custom Code Migration远程检查与BAPI调用)的实操案例。指南基于SAP官方文档,包含落地经验与避坑建议,可帮助团队快

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 146

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

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

wireshark抓包分析-优快云博客wireshark是网络包分析工具网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。wireshark应用举例:网络管理员用来解决网络问题网络安全工程师用来检查安全隐患开发人员用来测试协议的执行情况学习网络协议。

优快云_DU666666的博客 1485

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

最详细的网络七层结构:数据链路层,网络层,传输层,应用层(会话层以及表示层)(含有包结构以及抓包分析)

七层网络协议结构以及抓包数据分析

qq_43511143的博客 849

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

SPI 通讯详解——以 OSI 模型分析 物理层、数据链路层和应用层

SPI(Serial Peripheral Interface)是一种高速同步串行通信协议,采用主从式全双工设计,具有传输速度快(可达100MHz)、支持灵活字长等优点,广泛应用于MCU与外设(如Flash、ADC等)的通信。其物理层采用4线制(SCLK、MOSI、MISO、SS/CS),支持四种工作模式(0-3),由CPOL和CPHA参数定义时钟极性和数据采样时机。SPI的缺点包括缺乏寻址机制、流控制和校验功能,且仅适合短距离通信(通常<1m)。应用层上,SPI以帧结构传输数据,如93C46 EEP

nullccc的博客 1331

IIC 通讯详解——以 OSI 模型分析 物理层、数据链路层和应用层

摘要:IIC(Inter-Integrated Circuit)是由Philips提出的串行通信总线标准,采用两根信号线(SCL时钟线和SDA数据线)实现主从设备间的短距离通信。其特点包括半双工通信、多主多从结构、7/10位地址寻址、支持多种速率(100kbit/s至5Mbit/s)以及硬件开销小等优点,但也存在速率较低、总线电容限制通信距离等缺点。物理层定义了电气特性和拓扑结构,数据链路层则负责数据封装、差错检测和流量控制。IIC广泛应用于嵌入式系统,适用于板内模块间通信和传感器连接等场景。

nullccc的博客 1349

UART 和 USART 通讯详解——以 OSI 模型分析 物理层、数据链路层和应用层

摘要:UART(通用异步收发器)是一种点对点串行通信协议,通过起始位和波特率实现异步数据传输。其特点包括:仅需TX/RX两条线、无需时钟线、支持全双工通信,但存在波特率需严格匹配、不支持总线结构等局限。UART协议涵盖数据链路层(帧结构、校验)和物理层(电平标准),物理层可采用TTL、RS-232/485/422等不同电气规范,其中RS-485支持多节点组网。应用层需自定义协议实现寻址、校验等功能,典型方案包括帧头标识、Modbus CRC校验及主从式轮询机制。该技术广泛用于嵌入式系统,具有简单可靠的特点,

nullccc的博客 936

使用Wireshark对TCP/IP协议进行抓包分析

在windows平台使用Wireshark软件进行抓包分析,了解数据链路层、网络层、传输层和应用层的协议规范。 目录(一)数据链路层实作一 熟悉Ethernet帧结构实作二 了解子网内/外通信时的MAC地址实作三 掌握ARP解析过程(二)网络层实作一 熟悉IP包结构实作二 IP包的分段与重组实作三 考察TTL事件(三)传输层实作一 熟悉TCP和UDP段结构实作二 分析TCP建立和释放连接(四)应用层实作一 了解DNS解析实作二 了解HTTP的请求和应答 (一)数据链路层 实作一 熟悉Ethernet帧结.

qq_45237293的博客 6047

通信一班——第四组——033——抓包分析

网络抓包分析 目录 一、应用层 二、传输层 三、网络层 四、数据链路层 五、总结 一、应用层 1.www.baidu.com 先更改ip为学号相关ip地址:192.168.0.33,并成功通过连通性检验,再打开wireshark选中wlan, 再打开浏览器输入网络地址https://www.baidu.com. ...

weixin_33897722的博客 171

BLE链路层加密与应用层加密配合

BLE链路层加密防止空中嗅探,而应用层(例如,遵循CCC数字钥匙规范)使用车端和手机共享的密钥对开锁指令进行签名和加密,确保指令来源合法且不可篡改。机制(如序列号、Nonce),因为一旦链路层被攻破(如密钥泄露),其防重放机制也随之失效。如果接收设备(如手机)被入侵,或数据需要转发到云端(需再次加密),则存在风险。手机操作系统被入侵,攻击者拿到了链路层解密后的数据,也无法理解应用层密文。:暴露了通信模式和元数据(如设备地址、服务UUID),易受干扰和伪造。的机密性和完整性,防止了近距离的窃听和重放攻击。

huirongli的博客 856

数据链路层分析

数据链路层(data link layer),是OSI 参考模型中的第二层,介乎于物理层和网络层之间。数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自物理层的数据可靠地传输到相邻节点的目标机网络层。数据链路层的传输单元:帧。工作在二层的网络设备:交换机。MTU,全称为Maximum Transmission Unit(最大传输单元),是指在网络中通过特定链路层协议传输的数据帧或数据包的最大尺寸(以字节为单位)。MTU的大小直接影响网络通信的效率和性能。

LYH8543的博客 1810

网络层IP详细分析+数据链路层详细分析(java开发)+应用层DNS协议

本文介绍了IP报头的内部结构,包括版本、首部长度、服务类型等字段功能,以及IP地址管理的三种方案:动态分配、NAT映射和IPV6。详细解析了网段划分规则、特殊IP地址用途及路由选择机制,通过"问路"类比说明路由器工作原理。同时阐述了数据链路层中MAC地址的作用、ARP协议和MTU限制,最后概述了路由器处理数据包的完整流程,涉及物理层接收、链路层校验、网络层路由查询及转发决策等关键步骤。

2401_87592789的博客 377
上一篇: 图文解析TCP/IP 协议的结构与运行原理
下一篇: 用例子详细介绍各种字符集编码转换问题
yeming81
博客等级 码龄19年 178粉丝 49原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值