目录
一、数据链路层
数据链路层是计算机网络协议栈中的第二层,位于物理层之上,网络层之下,是OSI参考模型中的第二层。它主要用于两个设备(同一种数据链路节点)之间进行信息传递.,并具备一系列相应的功能
传输层协议用于保证数据传输的可靠性,网络层提供了将数据跨网络路由的能力,而数据链路层解决的问题就是在一个局域网两台主机之间的通信问题
二、以太网
2.1 认识以太网
以太网(Ethernet)是一种常见的局域网(LAN)通信协议。
- "以太网" 不是一种具体的网络, 而是一种技术标准; 既包含了数据链路层的内容, 也包含了一些物理层的内容. 例如: 规定了网络拓扑结构, 访问控制方式, 传输速率等
- 例如以太网中的网线必须使用双绞线; 传输速率有 10M, 100M, 1000M 等;
- 以太网是当前应用最广泛的局域网技术; 和以太网并列的还有令牌环网, 无线 LAN 等;
在一个局域网下,一台主机发送的数据该局域网的所有设备都能收到,这就像许多学生在一个教室上课一样,一个学生讲话所有人都能听见。
例如,主机A向主机B发送了一条数据,该数据会添加源mac地址、目的mac地址等信息,一个局域网下的主机都会收到这条消息,但是只有主机B收到该消息后会向上层交付,其他主机对报头解析发现目的地址不是自己,就会丢弃该数据。
2.2 数据碰撞
由于以太网中的所有的主机共享一个通信信道,因此在同一时刻只允许有一台主机发送数据,否则各个主机发送的数据就会相互干扰。站在系统的角度来看,这里各个主机所共享的通信信道就是一种临界资源,这个临界资源同一时刻只允许一台主机使用。
- 对于这个问题,以太网的做法就是先不限制各个主机发送数据的能力,局域网中的每个主机想发数据的时候直接发就行了,但是只要发送出去的数据与其他主机发送的数据产生了碰撞,那就得执行碰撞避免算法。
- 所谓的碰撞避免算法就是,当主机发送出去的数据产生碰撞时,该主机需要等待一段时间后再进行数据重发,在主机等待的时候就能够就能够尽可能让局域网当中的数据消散。
- 一个局域网就是一个碰撞域。
这个问题就比如好几个班的同学一起在学校的机房上课,此时的网络会变得很卡顿,这是因为大家都连的同一个局域网,许多设备在上网时,就会发生大量数据碰撞,增加了数据在网络中传输的时间。
2.3 交换机
交换机内部维护了一张Mac地址表,用来记录每个端口连接设备的mac地址,比如主机A向主机E发送数据,此时交换机就知道主机A在左边,当主机E向主机A发送数据时,此时交换机发现主机E在右边,他就会将数据发送到左边的端口,不用在转发给全部主机。
当交换机接收到数据帧时,它会根据数据帧的目的MAC地址进行查找,找到对应的端口后,将数据帧直接转发到该端口,而不是广播到所有端口。通过划分冲突域(也称为碰撞域)减少了不必要的广播流量,降低了数据碰撞的风险。
2.4 MAC帧格式
MAC帧是数据链路层的一种协议数据单元,也被称为媒体访问控制帧。它主要用于在局域网(如以太网)中传递数据,是网络中数据交换的基本单位。

- 源地址和目的地址是指网卡的硬件地址(也叫MAC地址),长度是48位,是在网卡出厂时固化的。
- 帧协议类型字段有三种值,分别对应IP协议(0800)、ARP协议(0806)和RARP协议(8035)。
- 帧末尾是CRC校验码。
如何将报头与有效载荷分离?
MAC帧的帧头与帧尾都是采用固定的长度

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



