目录
以太网定义:
以太网是一种基于争用的介质访问方法,让网络中的所有主机共享链路带宽。
以太网使用了数据链路层规范和物理层规范
1)冲突域:
网段上一台设备发送帧时,该网段的其他设备都必须侦听。同一网段的两台设备同时传输数据时将引发冲突,导致所有设备都必须重传
冲突:是指多台设备的数字信号在线路上相互干扰
2)广播域:
指网段中的一组设备,侦听该网段上发送的所有广播
广播域的边界通常为交换机或路由器等物理介质,但广播域也可能为一个逻辑网段
注:规划网络时,首要目的是不要让广播域范围过大
一、CSMA/CD(载波监听多路访问技术/冲突检测)
这是一种帮助设备共享带宽的协议,可避免两台是设备同时在网络介质上传输数据。
工作原理:
1.主机首先检测线路上是否有数字信号。如果没有其他主机传输数据,该主机将开始传输数据
2.传输方持续监测线路,确保其他主机没有传输数据;如果检测到线路上有其他信号,传输主机将发送扩展的拥堵信号(jam signal),这将导致网段上所有节点都不再发送数据
3.检测到拥堵信号后,其他节点将等待一段时间后再尝试传输。当发生冲突时,后退算法决定了发生冲突的主机经过多久后才能重新传输(如果超过15次尝试都导致冲突,该节点会超时)
可简单描述为:先听后发,边听边发,冲突停止,随机重发
在LAN中发生冲突将发生如下情况:
1.拥堵信号告诉所有设备发生冲突
2.同时激活随即后退算法
3.以太网中所有设备都暂停传输,知道后退定时器到期
4.定时器到期后,所有主机优先级均相同
后退:在以太网中,是指冲突导致的重传延迟
二、半双工和全双工以太网
半双工:
允许数据在两个方向上传输,在同一时间只可以有一方接受或发送信息,可以实现双向通信,它实际上是一种切换方向的单工通信;例如:使用对讲机
全双工:
数据同时在两个方向上传输,在同一时间可以同时接受和发送信息;全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力;例如:打电话
与交换机相连的端口和主机都必须在全双工模式下运行(可调整,请看交换机基本配置——实验);与集线器相连的交换机端口或主机都必须运行在半双工模式下
运行在全双工模式的条件:
1.交换机与主机相连
2.交换机与交换机相连
3.主机与主机相连
4.交换机与路由器相连
5.路由器与路由器相连
6.路由器与主机相连
半双工以太网只有一个冲突域,而在全双工以太网中,每个端口对应一个冲突域,所以有效吞吐量更高
全双工以太网端口通电后,首先与连接的以太网链路另一端协商,该过程称为自动检测机制。该机制先确定交换能力,检查端口可以在何速度下运行,并检查是否支持全双工模式
注意:在全双工模式下,不会发生冲突
三、以太网的数据链路层
在数据链路层中,以太网负责以太网编址(硬件编址/MAC地址)。且以太网还负责将来自网络层的分组封装成帧,为使用基于争用的以太网介质访问方法在本地网络中进行传输做好准备
1)以太网编制:
使用固化在以太网网卡(NIC)中的介质访问控制(MAC)地址。MAC地址长48位(6字节),采用16进制格式
组织唯一标识符(OUI)由IEEE分配给组织,包含24位(3字节);组织给生产的每一个网卡都分配一个唯一的全局管理地址,长24位(3字节)。
I/G:最高位为Individual/Group位;如果值为0,可认为相应的地址为某台设备的MAC地址,可出现在MAC报头的源地址部分;如果值为1,可认为相应的地址为以太网中的广播地址或组播地址
G/L:全局/本地位(也称为U/L位);如果为0,表示对应的地址为全局管理地址,由IEEE分配;如果为1,表示相应的地址为本地管理地址
后24位为本地地址,由制造商分配的编码,最高可生产16777216个网卡
2)以太网帧
数据链路层负责将比特合并成字节,再将字节封装成帧。使用帧封装来自网络层的分组,以便通过特定类型的介质进行传输
前导码(7字节) | SFD(1字节) | 目标地址(6字节) | 源地址 (6字节) | 类型(2字节) | 数据和填充(46~1500字节) | FCS(4字节) |
在传递过程中使用循环冗余校验(CRC),提供错误检测功能(仅为检错,并非纠错)
前导码:交替的0和1,在每个分组中提供5MHz的时钟信号,让接收设备能够跟踪到来的比特流
帧起始位置分隔符(SFD)/同步:SFD值为10101011,最后两个1让接收方能够识别中间的0、1交替模式,进而同步检测到数据开头
目标地址(DA):LSB(最低优先位)优先;接收方根据DA判断到来的分组是否发送给特定节点,目标地址可为单播地址、广播地址或组播地址
源地址(SA):用于标识传输设备,也使用LSB优先格式,不能包含广播地址或组播地址
类型:802.3帧使用长度,不能标识上层协议,只能专用于LAN
数据:网络层传递给数据链路层的分组,长度为46~1500位
帧校验序列(FCS):位于帧尾,用于存储循环冗余校验(CRC)结果。接受主机在收到帧后运行CRC,结果必须相同,否则将认为发生错误并将帧丢弃
CRC是一种数学算法,创建每个帧都将运行。