【网络协议】聊聊从物理层到MAC层 ARP 交换机

物理层

物理层其实就是电脑、交换器、路由器、光纤等。组成一个局域网的方式可以使用集线器。可以将多台电脑连接起来,然后进行将数据转发给别的端口。

数据链路层

Hub其实就是广播模式,如果A电脑发出一个包,B、C电脑也可以收到。那么数据包就是知道给谁使用。

1.这个包是发给谁的,谁应该接收。

2.大家都在发,发送的顺序规则是什么呢

3.发送错误怎么办,有容错机制嘛

而这些问题都是MAC所要解决的,MAC的全称是Medium Access Control,即媒体访问控制 ,控制其实就是解决的是往媒体上发数据的时候,发送顺序的问题,多路访问
信道划分 : 一个车一个车道,各走各的。
轮流协议 : 单双号
随机接入协议

第一个,谁给谁发送数据包

链路层地址,其实就是MAC地址。第二层其实就是目标MAC 和 源MAC 。而类型有TCP、UDP等

整体流程就是因为有目标MAC地址,在广播的时候,就可以发现是把数据发送给自己的,然后进一步拆开数据看IP地址也是自己,端口号也是,所以就开始处理流程,如果是web服务器的话,就返回对应的数据,返回的时候其实也是先将自己MAC地址封装进去,然后在封装来时的源MAC,以及IP 和端口号 返回响应。

如何检查容错

其实使用的就是循环冗余检测 CRC,通过XOR亦或算法。来检测在整个传输数据的过程中是否出现错误。

但是有一种场景,那就是知道了IP地址,但是不知道MAC地址,这个时候其实就是使用ARP协议也就是已知 IP 地址,求 MAC 地址的协议。

整体流程其实就是 1.先查看本地ARP表 2.广播ARP请求 3.ARP应答 4.缓存IP-MAC映射。

因为机器可能下线,所以需要设置一定的缓存期。所以ARP就是在链路层

局域网

虽然使用Hub的方式可以,但是当电脑比较多的时候,使用广播的模式,其实比较浪费数据传输,根本问题其实就是不知道接口对应的机器是哪个MAC地址。所以需要交换器学习。

比如刚开始的时候MAC1电脑给MAC2发送数据,刚开始都不知道对方那个口就是MAC2,先使用广播模式,然后MAC2接收之后,交换机会记录MAC1就是发出的口对应什么MAC地址。时间长了,就会初步形成一个网络结构图。就可以不用广播,直接准确转发。交换机上的学习结构称为转发表

小结

本篇主要介绍了MAC、ARP、交换机。MAC主要解决的是多路访问堵车的问题。ARP通过吼的方式寻找目标MAC地址,也就是知道IP地址不知道MAC。交换机有学习MAC地址的能力。

相关推荐
00后程序员张1 小时前
免Mac上架实战:全平台iOS App上架流程的工具协作经验
websocket·网络协议·tcp/ip·http·网络安全·https·udp
喜欢板砖的牛马1 小时前
简述IPv4分配过程,看这一篇就够了
网络协议
old-six-programmer1 小时前
NAT 类型及 P2P 穿透
服务器·网络协议·webrtc·p2p·nat
GLAB-Mary1 小时前
OSPF虚拟链路术语一览:快速掌握网络路由
网络·智能路由器
tan77º1 小时前
【Linux网络编程】网络基础
linux·服务器·网络
DemonAvenger1 小时前
深入理解Go的网络I/O模型:优势、实践与踩坑经验
网络协议·架构·go
笑衬人心。2 小时前
HTTPS详解:原理 + 加解密过程 + 面试问答
java·网络协议·http·面试·https
bing_1583 小时前
MQTT 和 HTTP 有什么本质区别?
网络·网络协议·http
杨浦老苏4 小时前
Docker端口映射查看工具Dockpeek
网络·docker·群晖
未来之窗软件服务4 小时前
通过网页调用身份证阅读器http websocket方法-华视电子————仙盟创梦IDE
网络·网络协议·http·仙盟创梦ide·东方仙盟·硬件接入