概述
3.3 使用广播信道的数据链路层 + CSMA/CD协议
(计算机网络,P82)
零散知识点:
局域网拓扑连接形式有:星型网、环型网、总线网;
通常信道采用随机接入的形式(可能会发生碰撞);
集线器工作在物理层;
计算机通过适配器(adapter)或网络接口卡与局域网连接;
适配器收到正确帧后,使用中断通知计算机,并将其交付给网络层;
主要内容如下:
- CSMA/CD协议
- 使用集线器的星形拓扑
- 以太网的MAC层、MAC帧
- 扩展以太网与交换机
- 高速以太网
- PPPoE
CSMA/CD协议 —— 交替半双工通信
以太网采取无连接、不可靠交付的形式,利用曼彻斯特编码传输数据;
CSMA/CD:载波监听多点接入/碰撞检测;
- 载波监听:不停的检测信道
- 碰撞检测:边发边监听
电磁波在1km电缆上传播时延约为5us;
单程端到端传播时延记为 τ tau τ, 所以最多在 2 τ 2tau 2τ内就能确定是否发生碰撞;
发送流程:(以下针对10Mbit/s以太网)
- 发送(最短64B,512bit,51.2us)
- 碰撞窗口期/争用期(512比特时间),用来检测到碰撞;
- 强化碰撞(发送32bit或48bit人为干扰数据,以便所有用户都知道发生了碰撞)
- 截断二进制指数退避(所以以太网每发送完一帧,都要把数据暂存一下);
- 循环1、2、3直到重发16次失败,丢弃帧报告;或者发送成功;
- 若成功,帧最小间隔(等待96比特时间)才可继续发送;
经过争用期,没有发生碰撞,才能肯定此次发送不会发生碰撞;凡数据帧长度小于64B的帧,都是由于冲突而异常终止的无效帧。
截断二进制指数退避:(下面的 t 指代 τ tau τ )
k = min{ 碰撞次数, 10 };
推迟发送时间 = rand[1, (2^k - 1)] * 2 * t
使用集线器的星形拓扑 —— 逻辑上仍是一个总线网,仍用 CSMA/CD 协议
- 集线器 → 物理层;
- 网络适配器 → 物理层 + 数据链路层;
- 交换机 → 数据链路层;
以太网的信道利用率:(P92)
a
=
τ
T
0
a = frac{tau}{T_0}
a=T0τ
T
0
T_0
T0 是发送数据成功占用的时间;
τ
tau
τ 是单程端到端的传播时延;
极限的信道利用率:
S
m
a
x
=
T
0
T
0
+
τ
=
1
1
+
a
S_{max} = frac{T_0}{T_0 + tau} = frac{1}{1 + a}
Smax=T0+τT0=1+a1
所以,只有参数a远小于1时,才能尽可能提高极限信道利用率(实际情况下,利用率到30%,网络就已经处于重载了)。
以太网的MAC层、MAC帧
mac地址为48位二进制数;
局域网中的“地址”应该是每个硬件的“名字”或者标识符;
MAC地址 = 3B + 3B
= OUI(公司标识符) + 扩展标识符
= EUI (扩展唯一标识符)
MAC地址 第一字节最低位 I/G位 1(组播/广播)、0(单个地址)
第一字节次第位 G/L位 1(本地地址)、0(全球唯一地址)
发往本地的帧包含三种帧: 单播、广播、组播;
嗅探器(Sniffer)工作在混杂方式;
MAC帧格式:(802.3标准MAC帧)
前同步码 目的地址 源地址 类型 数据 FCS
7 + 1 6 6 2 46~1500 4
前同步码:7B 的 10101010…… + 1B 的 10101011;(SONET/SDH无需前同步码)
类型: 0x0800 → IP数据报; 0x8137 → 表示帧由IPX发送过来;
无需结束码,结束时不发0也不发1,没有电平跳转,即结束(曼彻斯特码好处);
802.3规定的无效帧:
- 帧长度不是整数字节;
- FCS查出有差错(通常误码率为 1 0 − 8 10^{-8} 10−8,出错但MAC层未检测到概率为 1 0 − 14 10^{-14} 10−14);
- 客户数据字段长度不在46~1500B之间;
扩展的以太网
用集线器连接多个局域网:
- 共享碰撞域,会使主机平局吞吐量变小;
- 若局域网采用不同技术以太网(10Mbit/s与100Mbit/s),则会以速率小的为标准;
以太网交换机特点:独占传输媒体,无碰撞的传输数据;
大部分以太网交换机对收到的帧采用存储转发的方式进行转发,也有采用直通的交换方式;
自动学习:通过查看每个接口发来的帧地址,确定地址与接口的对应关系;
过滤:C、D因为地址不对,丢弃帧;只有B才手下目的地址正确的帧;
STP(生成树协议):消除消息兜圈子的现象(防止从A转发出的消息,再被转发回A,无限兜圈循环);
虚拟局域网VLAN(交换机实现):VLAN限制了接受广播信息的计算机数量,使得局域网不会因广播信息过多,造成性能恶化(广播风暴);
虚拟局域网的以太帧需要在源地址与类型之间加入 4B 的VLAN标记;
…… 源地址 VLAN标记 类型 ……
6 4 2
VLAN标记:
2B + 3bit + 1bit + 12bit
0x81 用户优先级 CFI VID
- 2字节的固定内容(方便数据链路层检查,是否有VLAN标记);
- CFI(规范格式指示符);
- VID(VLAN标识符,唯一标识了以太网帧属于哪一个VLAN);
高速以太网
- 100BASE-T:
- 全双工下无冲突;
- 半双工下使用 CSMA/CD 协议;
- 以太网标准帧;
- 不支持同轴电缆;
- GE(吉比特以太网):
- 全双工下不适用 CSMA/CD 协议;
- 半双工使用 CSMA/CD 协议;
- 载波延伸:争用期增大到 512B(512*8比特时间);
- 最短帧仍为 64B ,不足 512B 的补足到 512B;
- 增加分组突发方式:第一个短针不全到512B,后续短帧留有最小间隔时间,连续发送,直至达到1500字节或更多一些;
- 10GE及更快的以太网
- 只工作在全双工模式
- 帧格式与之前以太网帧格式完全相同;
PPPoE —— 在以太网上运行PPP (P108)
把PPP帧再封装到以太网中传输,现在光纤接入都要使用PPPoE;
最后
以上就是忧郁鸡为你收集整理的3.3 使用广播信道的数据链路层 + CSMA/CD协议的全部内容,希望文章能够帮你解决3.3 使用广播信道的数据链路层 + CSMA/CD协议所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复