数据链路层

目录

[一. 数据链路层介绍](#一. 数据链路层介绍)

[二. MAC 地址](#二. MAC 地址)

[三. 以太网帧格式](#三. 以太网帧格式)

[四. ARP 协议](#四. ARP 协议)


一. 数据链路层介绍

数据链路层启到承上启下的作用,对上接收网络层的IP数据包,添加帧头帧尾。打包完成后,交给物理层,物理层把数据帧转化成电信号,通过电线发送出去。

二. MAC 地址

MAC地址是硬件设备的身份证,用于在局域网中对硬件设备进行识别。由 6 组十六进制数组成(如 00:1A:2B:3C:4D:5E),共 48 位。通常由设备厂商写在网卡中。

MAC地址再网络中相当于中转站,而IP地址就类似于起点和终点。因为发送数据通常需要跨越多个子网,IP给的是一份逻辑地址,我们需要找到其下层的MAC地址,向他交付数据。MAC地址就是实际的物理地址,它是固定不变的,而IP地址是可以进行动态变化的。相当于IP地址的传输借用的是底层MAC地址作为载体。

三. 以太网帧格式

MAC地址类似于实际的门牌号,以太网帧就相当于填写的快递信息表。

以太网帧 = 帧头 + 数据 + 帧尾

如图:

前导码:前导码是以太网帧最前端的 "同步信号",核心作用是让接收设备与发送设备的时钟同步,为准确接收后续数据做准备。

目的地址,源地址:这里都是MAC地址

类型:协议类型(IP,ARP,RARP)

数据:上层网络层封装的内容

帧校验序列:检验完整性的

四. ARP 协议

ARP协议是用来绑定IP和MAC的工具,我们首先来看看ARP协议的格式

我们传送数据时,只知道要传递的设备IP地址,并不知道其MAC地址,所以报文首先只有源MAC地址。

帧类型:在 ARP(地址解析协议)中,帧类型字段的值为0x0806

硬件类型:"硬件类型" 字段是 2 字节的整数,用于标识底层物理网络的类型,告诉接收方 "当前 ARP 报文运行在何种硬件网络上。1为以太网

协议类型:指要映射的上层协议类型,IPv4/IPv6


那么ARP是如何获取源MAC地址并与其IP进行绑定的呢?

首先源主机发送请求到目标的子网范围内,该子网范围内的所有主机都会接收到请求。若非该IP的主机会自主丢弃请求,而是该目的IP的主机会接收到请求,构建自己的ARP应答报文,携带自己的MAC地址单发应答报文的源主机。源主机最终就收到了目的MAC地址

相关推荐
IMPYLH32 分钟前
HTML 的 <samp> 元素
前端·网络·html
隐擎fox7 小时前
深入理解网络传输层安全:TLS 指纹识别(JA3/JA4)原理与 Python 协议层检测实战
爬虫·python·网络协议·安全·网络安全·https
游戏开发爱好者87 小时前
网络连接排查指南,谁在电脑后台偷跑流量,哪些程序在联网
网络协议·计算机网络·网络安全·ios·adb·https·udp
Databuff7 小时前
AI SSH工具,集齐SSH、SFTP、知识库RAG、AI助手
网络·人工智能·ssh
Jeremy_WW7 小时前
QSFP/QSFP-DD/OSFP 通用管理接口规范(CMIS)解读:13 Page 9Fh
网络·网络协议·信息与通信·光模块·cmis
bosins8 小时前
WSL 迁移指南:如何将 Linux 环境完整复制到另一台电脑
linux·运维·服务器
en.en..9 小时前
OSI七层模型|各层级传输数据单位(详解)
网络
疯狂打码的少年10 小时前
【计算机网络】TCP/IP协议族(四层体系结构,与OSI对比)
网络·笔记·tcp/ip·计算机网络
企鹅的蚂蚁10 小时前
LubanCat RK3588 实时 Linux 开发(六):启用 gs_usb 驱动并完成 USB-CAN 收发
linux·rk3588·linux驱动·socketcan·gs_usb·usb-can
2601_9622998810 小时前
Linux执行Python脚本方法
linux·python·脚本·解释器·shebang