访问控制子层
IEEE802定义的局域网参考模型(对应OSI的物理层,数据链路层) 把数据链路层拆分为两个子层
- 逻辑链路控制(LLC): 与传输介质无关,如组帧,差错检测
- 访问控制(MAC): 与传输介质有关
随机访问
Example
A group of N stations share a 56-kbps pure ALOHA channel. Each station outputs a 1000-bit frame on an average of once every 100 sec, even if the previous one has not yet been sent (e.g., the stations can buffer outgoing frames). What is the maximum value of N?
TDM 时分复用: 指的是静态的时分复用,每个机器独占一个时隙。这里讨论的是动态时分复用,两个机器同时发送时会产生冲突
Example
TDM,ALOHA,CSMA,CSMA/CD 中,只有TDM是无冲突的
ALOHA
ALOHA 在传输帧的时候,不会侦听 信道是否繁忙(区分于 CSMA)。当发生碰撞(collision)时,冲突的信号源会选择等待一个随机长的时间再发送。
- Pure ALOHA:时间轴是连续的。其信道最高利用率为 18.4%
- 设每个帧发送时间为\(T\), 单位时间同时发的帧数为\(\lambda\) (就是泊松分布的参数)
- 如果某个帧在\(t\) 时刻开始发送没有冲突,就说明\([t-T,t+T]\) 时间内没有帧发送,代入泊松分布的公式, 时间2T内没有帧到达的概率为 \(e^{-2\lambda T}\)
- 令\(\lambda T=G\) 吞吐量\(S=Ge^{-2G}\)
- Slotted ALOHA:时间轴是离散的。 其信道最高利用率为 36.8% (因为没有冲突只要求在T时间内没有帧发送,吞吐量\(S=Ge^{-G}\)) 关键是记住信道利用率
CSMA
发送前监听信道是否空闲。
按照监听时刻的状态:
- 1-坚持CSMA: 如果空闲直接发送, 否则继续监听直到空闲
- 非坚持: 如果空闲直接发送,否则等待一段随机时间再监听
- p-坚持(只适用于时分复用): 如果空闲有概率p发送,1-p概率推迟到下一个时隙。否则继续监听直到空闲
CSMA/CD
最短帧长
\(\tau\)是传输时延,最短帧长为 \(2\times \tau\times \text{Data Rate}\)
Example
以太网\(2\tau=51.2\mu s\) 10Mb/s的以太网,可发送512bit=64B
退避算法
王道P86 (1)封装成帧 (2)检测信道: 若信道空闲,则开始发送。若信道忙,则持续监听直到空闲 (3)发送过程中: 持续检测
- 发送
- 发送失败: 在争用期\(2\tau\) 内检测到冲突。等待一段随机时间后,再回到(2)。令\(k=\min\{重传次数,10\}\) 从\([0,1,\dots 2^{k-1}]\)中随机取一个数r, 等待时间为\(2r\tau\)。如果重传次数达到16,则停止重传并报错
CSMA/CA
见王道
局域网
Ethernet
- 曼彻斯特编码
- 最短帧长64B (数据46B)
- 最长1518B(数据1500B,MTU)
- 逻辑拓扑是总线型结构,物理拓扑是星形结构
- 采用 无连接的方式,提供的是不可靠服务
Example
What is the baud rate of the standard 10-Mbps Ethernet? 答:以太网用 [Manchester]编码,01,10翻转,所以波特率=数据率的2倍 20Mbaud
头部6+6+2为目的地MAC地址,源MAC地址,类型(交给上层的协议类型,如IP) 尾部4字节是32位CRC码。物理层在帧前面插入的8字节前导码
分类
- 数字为同轴电缆(5,2表示单端传输距离500m或185m) BaseT表示双绞线,BaseF表示光纤
VLAN
一个VLAN构成一个广播域。不同VLAN之间的机器在数据链路层不能连通
划分VLAN的方式: 基于交换机接口,基于MAC地址,基于IP
跨越两个交换机的VLAN:
- 交换机接口之间的链路成为干线链路, 传送的帧是802.1Q帧
- 在交换机之间,要插入VLAN标签,不然交换机2不知道要转发给哪个VLAN. 因此以太网最大帧长从1518B变成1522B
数据链路层设备
网络接口卡(Network interface card,NIC) 又称网络适配器(Adapter) , 工作在数据链路层,进行数据的串并转换
网桥(bridge):
以太网交换机(switch)
- 用户通信时独占带宽 比如带宽10Mbps, 10个接口,每个用户都是10Mbps
物理层设备
- 集线器(hub) 不能独占带宽
冲突域和广播域
-
Collision Domain(冲突域):一组设备之间可能发生数据包碰撞(即冲突)的区域。在这些设备中,任何两个设备同时尝试发送数据时,都会导致数据包相互干扰。
- 一个集线器所连接的所有设备构成一个冲突域。
- 网桥所连接的每个网段独自构成一个冲突域。
- 使用交换机时,每个端口连接的设备独自构成一个冲突域。
-
Broadcast Domian(广播域):某个设备或者端口发送一个广播帧,能到达的计算机和端口的集合。不同的局域网是独立的广播域。
- 连接在同一路由器同一端口上的设备构成一个广播域。
- 路由器默认不转发广播帧,因此连接在同一路由器上的设备不一定属于同一广播域。
举例
- 1个24口Switch(每口通过Hub连10个电脑)没划分VLAN,只有1个广播域,但有24个冲突域(每端口是1个);如果该交换机收到一个广播帧,会被该交换机转发到240台电脑。
- 如果该交换机划成4个VLAN(每VLAN含6个端口),就有4个广播域,但有24个冲突域,如果该交换机收到一个广播帧,会被该交换机转发同一VLAN的其他5个端口的电脑。