目录
到目前为止,以太网是最为著名的有线局域网 LAN 技术。
以太网成功的原因:
- 是第一个广泛使用的局域网技术
- 简单、便宜
- 版本不断更新,数据速率更高、成本更低
Ehernet 通常认为是与 IEEE 802.3 是兼容的。
一、以太网的物理拓扑结构
① 总线:一直流行到 90 年代中期
- 所有节点都属于相同的冲突域
② 星形:目前流行
- 中心是交换机
- 每个端口运行一个独立的以太网协议
- 节点相互之间不会发生冲突
二、以太网物理层标准
以太网的物理层标准是与传输介质相对应的。
- 10BASE-T
- 10BASE2
- 10BASE5
- 100BASE-T
- 1000BASE-T
- 1000BASE-LX
- 1000BASE-SX 等
1、以太网技术:10Base-T 和 100Base-T
- Base 表示兆,T 表示双绞线
- 带宽速率为 10/100 Mbps
- 100-Base T 又被称为 “快速 Ethernet”
- 各节点都连接到集线器上 -- 星形拓扑结构
- 节点和适配器间的最大距离为 100 米
双绞线 twisted pair
① 双绞线的概念:是由两条相互绝缘的导线,按照一定的规格,互相缠绕在一起而制成的一种通用配线,属于信息通信网络传输介质。双绞线过去主要是用来传输模拟信号的,但现在同样适用于数字信号的传输。
② 双绞线的分类:一类线 ~ 七类线,目前常用的是五类和超五类。按是否有屏蔽层,分为屏蔽线和非屏蔽线。
③ 双绞线的制作:双绞线的两头先按一定顺序把各根线排好,再接入水晶头中方可使用。其中,是网卡引脚的收/发功能决定了双绞线的线序。
2、以太网技术:1000Base 系列
1000BASE 系列有四种传输介质标准:
- 1000BASE-T:使用非屏蔽双绞线作为传输介质提供 1000M 的传输速度
- 1000BASE-LX:使用单模光纤
- 1000BASE-SX:使用多模光纤
- 1000BASE-CX:使用平衡、屏蔽铜缆,它可以用于机房的互连
3、曼彻斯特编码*
Q:为什么不直接用高电平和低电平表示 1 和 0?
A:距离较远时,电信号会衰减。假设我们规定 >2.5V 是高电平,<-2.5V 是低电平。如果一个 5V 的信号经过衰减变为 2.4V,那么它将被视为一个噪音。而跳变的幅度很大,因此能稳定地表示 1 和 0 。
编码机制
利用一个 时钟周期中间位置 的电平跳变来表示 0 和 1:
- 中间跳变是由低电平跳变到高电平表示 1
- 中间跳变是由高电平跳变到低电平表示 0
曼彻斯特编码是 10Base-T 物理层编码。注:在时钟周期边界处可以任意跳变而不影响编码含义,实际上在时钟周期边界处进行跳变可以为下一次中间跳变做准备。
4、差分曼彻斯特编码机制*
根据一个时钟周期里的跳变次数来表示 0 和 1,并且仅有两个观测位置,分别为:时钟周期开始处、时钟周期中间处。
编码机制
根据跳变的次数来表示 0 和 1:
- 规定每个信号位中间都要跳变
- 在信号位开始时不改变信号极性,表示 1
- 在信号位开始时改变信号极性,表示 0
特别地,对于第一个信号:
- 如果中间位电平从低到高,则表示 0
- 如果中间位电平从高到低,则表示 1
三、以太网链路层控制技术
针对链路层中的媒体访问控制子层,又称为 MAC 子层。
四、以太网的帧结构
1、前同步码
特点:前七个字节是 “10101010”,最后一个字节是 “10101011”。
功能:使接收方和发送方的时钟同步,接收方一旦收到前同步码,便可确定有帧传来。
说明:
- 前同步码是 “无效信号”,接收方收到后删除,不向上层传递;
- CRC 的校验范围不包括前同步码。
2、MAC 地址
接收适配器会接收的 MAC 地址有:
- 单播:目的 MAC 地址与自己的 MAC 地址匹配
- 组播:目的 MAC 地址与自己所在组的 MAC 地址匹配
- 广播:目的 MAC 地址为全 1 地址
3、类型
以太网支持多种网络层协议,需要通过类型字段来进行区分。
- 发送方在类型字段中填入网络层协议的类型编号;
- 接收适配器根据类型字段,将数据字段传递给相应的网络层协议。
4、数据字段
携带网络层传来的 IP 数据报。
① 以太网的最大传输单元 MTU 是 1500 字节:
- 若 IP 数据报超过1500字节,必须将该数据报分段。
② 以太网的最小传输长度是 46 字节:
- 若 IP 数据报小于 46 字节,必须填充为 46 字节。
接收方的网络层将会去除填充的内容。
Q:为什么规定最小传输长度是 46 字节?
A:首先我们需要明确一些概念:
- 冲突检测:主机只有在发送数据帧的过程中才能进行冲突检测
- Why?因为冲突检测的本质就是主机在发送过程中接收到了其它主机的信号
- 如果主机发送完毕,即使它接收到了其它主机的信号,它也会认为雨我无瓜
- When 发现冲突?数据帧之间发生冲突时,主机是不能立刻发现的
- 参见上述冲突检测的本质,主机需要对方主机信号传到自己的时候才会发现
- Prerequisite:此时主机还在发送数据帧
假设主机 A 发送的数据帧(红)比较短,并且该数据帧恰好没被主机 B 侦听到,从而 A 和 B 的数据帧(蓝)发生了冲突。冲突的那一刻,主机 A 不知道发生了冲突;一段时间后,B 的数据帧(绿)传输到主机 A,由于 A 没有在发送数据帧,因此它认为该数据帧雨我无瓜。简而言之,就是 A 在发送的时候没有检测到其它主机的信号,所以它认为自己的数据帧没有遇到冲突。
Q:所以数据帧要多长才能避免出现这种情况呢?
A:主机 A 需要在主机 B 信号到达自己之前仍在发送!考虑如下情况。假设 A 在 0 时刻开始发送,A 的信号(红)在 t 时刻恰好到达 B,但不巧差一点点才能被 B 侦听到。因此,B 认为信道空闲,并开始发送自己的数据帧(蓝)。由于 A 和 B 使用的是同一信道,因此 B 的信号(绿)也要花费 t 时间才能到达 A,故 A 将在 2t 时刻检测到冲突。
综上,数据帧长度必须要能撑得住这 2t 时间才行,因此我们得出图中公式,其中:
- D:数据帧长度
- R:带宽
- t:传输时延
- d:传输距离
- s:传输速度