6.4 LANS

1.MAC地址和ARP协议

2.Ethernet

3.802.11 WLAN

4.VALNS


1.MAC地址和ARP协议

csharp 复制代码
1).MAC地址也叫物理地址, 可以将它想象成每个网络设备的全球唯一的身份证号码

a.唯一性: 理论上, 全世界每个网卡(比如你电脑, 手机里的wifi模块)的mac地址都是独一无

二的

b.物理固化: 这个地址通常是在生产网卡时就被"烧录"在硬件里, 一般不能改变

c.格式: 通常是一串像这样的十六进制数: 00-1A-2B-C3-4D-5E, 前一半是厂商代码, 后一

半是设备序列号

d.mac地址工作在数据链路层, 可以将它理解为在同一个小区(局域网)里使用的地址
csharp 复制代码
2).ARP协议

a.ARP协议就是一个专门用来通过ip地址查询对应mac地址的协议, 它的工作场景严格限制在同

一个局域网内, 不能用它去查一个外国的网站的mac地址, 就像你不能在自己小区里大喊来找到

一个住在另一个城市的人

b.举例说明ARP协议的工作原理

你的电脑(A)想和同一个局域网里的另一台电脑(B)通信, A知道B的IP地址, 但不知道B的MAC地

址

步骤1: 查"本地通讯录"(ARP缓存表)

A首先会查看自己本地的"ARP缓存表", 看看之前有没有和B通信过, 已经记录下了B的IP和MAC

对应关系; 如果有, 直接使用, 流程结束

步骤2: 如果没找到, 就"大声喊话"(广播ARP请求)

如果缓存里没有, A就会在局域网里"大声喊话"(发送一个广播帧), 这个广播所有在这个局域网

内的设备都能听到

这个"喊话"的内容大概是: 

喂!喂!全体注意!我是IP地址为192.168.1.10的, 我的MAC是AA-AA-AA-AA-AA-AA; 我想

问一下, IP地址是192.168.1.20的那位, 你的MAC地址是什么? 请告诉我

步骤3: 目标"举手应答"(单播ARP回复)

局域网里所有设备都听到了这个广播, 其他设备(比如C、D)一看, 问的不是自己, 就忽略这个请

求; 只有IP地址是192.168.1.20的设备B会举手应答, 它会向A发送一个单播的回复, 内容是

"你好A!我就是IP 192.168.1.20,我的MAC地址是 BB-BB-BB-BB-BB-BB"

步骤4: 记录到"通讯录"并开始通信

A收到了B的回复, 高兴地把IP: 192.168.1.20 -> MAC: BB-BB-BB-BB-BB-BB这个对应关

系记录到自己的ARP缓存表里(这样下次就不用再喊了)

现在, A知道了B的MAC地址, 就可以把数据包封装好, 准确地发送给B了

2.Ethernet

csharp 复制代码

3.802.11 WLAN

csharp 复制代码

4.VALNS

csharp 复制代码
相关推荐
code monkey.17 分钟前
【Linux之旅】Linux 应用层自定义协议与序列化:从粘包问题到网络计算器
linux·网络·c++
2401_8924233619 分钟前
OSPF笔记
网络·智能路由器
草莓熊Lotso20 分钟前
【Linux网络】深入理解 HTTP 协议(二):从协议格式到手写工业级 HTTP 服务器
linux·运维·服务器·网络·c++·http
The Straggling Crow6 小时前
Network
网络
yyuuuzz7 小时前
独立站的技术基础与常见运维问题
大数据·运维·服务器·网络·数据库·aws
Oll Correct9 小时前
实验二十九:TCP的运输连接管理
网络·笔记
Cheng小攸12 小时前
综合实验2
网络·windows
Soari12 小时前
SSH 主机密钥冲突
运维·网络·ssh
且听风吟_xincell13 小时前
用 TypeScript 从零写一个 TCP 聊天室(上)—— 网络编程入门实战
网络·tcp/ip·typescript
万法若空15 小时前
Libevent C语言开发完全教程:从入门到实战
c语言·网络