数据链路层(MAC 地址)

目录

一、前言:

二、以太网:

[三、MAC 地址的作用:](#三、MAC 地址的作用:)

四、ARP协议:


一、前言:

数据链路层主要负责相邻两个节点之间的数据传输,其中,最常见数据链路层的协议以太网(通过光纤 / 网线 进行传输)WIFI (无线局域网)。简单了解即可。

二、以太网:

以太⽹的帧格式:

1、源 / 目的地址:

是指网卡的硬件地址(也叫 MAC 地址 / 物理地址),长度是 6 个字节,是在网卡出厂时固定的。

2、类型:

表示载荷数据的协议类型。(比如 IP )

3、帧尾(CRC):

表示校验和。

三、MAC 地址的作用:

IP 地址描述的是路途的起点和终点(负责规划路线);而 MAC 地址描述的是路途的每个区间的起点和终点(路线的两个相邻节点之间)。

比如:

从 A - B - C - D -E ,这个路程, IP 关心的是 从 A 到 E ; 而 MAC 关心的是从A 到 B ,B 到 C......。

输入命令 ipconfig /all 可以看到当前自己主机 MAC 地址:

可以看到, MAC 地址的表示方式,通常是十六进制的。两个十六进制的数字,相当于一个字节。两两一组(比如 CC ),组和组之间使用 - 来分割开来。

四、ARP协议:

ARP 协议是在数据链路层网络层 之间的协议,ARP 不携带业务数据,而是为了实现网络转发(给数据链路层的转发)提供必要的支持。因为网络转发的时候,发送方给接收方发送一个数据时,发送方不仅要知道接收方的 IP 地址,也需要知道接收方的 MAC 地址。尤其是发送方和接收方相邻的时候。

在网络通信的时候,发送方的应用程序知道接收方主机的 IP 和 端口号,却不知道接收方的主机的 MAC 地址。**因为数据包首先是被网卡接收到再去处理上层的协议的,如果接收到的数据包的 MAC 地址与本机不符合,则直接丢弃。**因此在通信前必须获取接收方的主机 MAC 地址。

之前我们说到,IP 协议中,路由器存在一个路由表,保存了发送方的 IP 地址与端口和路由器公网 IP 的映射关系。

而在数据链路层中,交换机存在一个转发表。 记录MAC 地址与交换机的网口 (网口可以类似理解为多个主机连接的路由器不同的 LAN 口,这里改成了交换机的 LAN 口)映射关系。ARP 就是为了协助构造出这个转发表。ARP 就能根据 IP 地址,获取对应设备的 MAC地址。

相关推荐
xixixi7777743 分钟前
解析一下传输安全——“它是什么”,更是关于“它为何存在”、“如何实现”以及“面临何种挑战与未来”
网络·安全·通信
jerryinwuhan2 小时前
socket由浅入深
网络
xu_yule4 小时前
网络和Linux网络-3(套接字编程)TCP网络通信代码
linux·网络·tcp/ip
喜欢吃豆5 小时前
使用 OpenAI Responses API 构建生产级应用的终极指南—— 状态、流式、异步与文件处理
网络·人工智能·自然语言处理·大模型
xixixi777776 小时前
解析一下存储安全——“它是什么”,更是关于“它为何存在”、“如何实现”以及“面临何种挑战与未来”
网络·安全·通信
运维有小邓@6 小时前
实时日志关联分析工具:智能检测潜在安全威胁
运维·网络·安全
j***57686 小时前
电脑可以连接wifi,但是连接后仍然显示没有网络
网络·电脑·php
brave and determined7 小时前
接口通讯学习(day04):RS-232与RS-485:通信接口全解析
网络·uart·通讯·emc·rs232·rs485·嵌入式设计
檀越剑指大厂7 小时前
在家也能远程调代码?WSL+cpolar 的实用技巧分享
网络
秋邱7 小时前
价值升维!公益赋能 + 绿色技术 + 终身学习,构建可持续教育 AI 生态
网络·数据库·人工智能·redis·python·学习·docker