NET-03链路层
NET-03链路层
3.1 了解了解
使命:将可能出错的物理连接,改造为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路!
- OSI层次结构:
- 链路层 信道类型:
- 点到点 PPP
- 广播信道 CSMA/CD
- 链路(link)与数据链路(data link):
链路 | 物理线路(光纤…) |
数据链路 | 链路+适配器 -–网卡(上面有协议) |
- 帧:
3.2 三个基本问题
- 封装成帧(framing)/组帧
链路层将物理层的比特流,组装成帧的目的是:出错了,可以按帧来重传,不需要全部重传
- 首部 + 数据 + 尾部 = 帧;
- 首部/尾部:开始与结束标志(帧定界)
TIPS:
- MTU:最大传输单元(≦1500bit)
- 帧开始符:SOH, 帧结束符:EOT
- 不收的完整的帧,就丢掉
- 透明传输
用字节填充法,解决透明传输问题:中间出现的帧头帧尾前加上转义字符
- 差错控制
- 误码率(Bit Error Rate):出错的bit数 / 总bit数
- 差错检验:
a) 循环冗余检验CRC
模2除法
……
除数有链路层协议定,用户不用关心
FCS:帧检验序列
无差错接受 =》 CRC不纠错:有错误,直接丢掉,要求重传,要做到可靠传输,需要加上确认和重传
CRC是一种无比特差错,而不是无传输差错的检测机制
3.3 PPP协议(Point-to-Point Protocol)
点到点:
拨号电话线接入因特网,需身份验证,可以记账
- PPP帧格式:
-
字节填充:
数据中出现0x7E:拆成0x7D和0x5E
出现了0x7D:拆成0x7D和0x5D
出现ASCII码控制字符(数值小于0x20的字符):字符前面加一个0x7D(转义)
-
零比特传输(同步传输):不一定是字节(8的倍数)
0x7E:0111 1110
发送端:看到5个连续的1,后面就插个0
接受端:把连续5个1后面的0去掉
链路层协议,不纠错 -> 不使用序号和确认
- PPP的工作状态:
LCP:链路控制协议(open/closed):
3.4 以太网特点
局域网(网线连)&广域网(花钱通过运营商 租带宽)
局域网:广播功能,共享局域网上的资源
- 共享通信媒体:
共享通信链路:
<静态 点对点> 频分、时分、波分、码分 -> 现在的网络不适用
<动态 多点接入> 随机接入(以太网)……
- 以太网:
最初:单总线结构,广播,选择接收 =》 不安全
3.5 以太网协议 CSMA/CD
CSMA/CD(Carrier Sense Multiple Access with Collision Detection)
多点接入:
许多计算机多点接入一根总线
载波监听:
发数据前,先检测总线上是否有人
- 冲突检测:
网线越长,发现冲突的时间t 越长 => 以太网不超过100m!
- 重要特征:
不能全双工,双向交替通信(半双工)
- 争用期 2τ:(碰撞窗口)
发现冲突最长时间为2τ,所以发完数据后,过了2τ时间后 没冲突,就说明安全了
- 争用期2τ,通常取51.2μs
- 10Mb/s 以太网,争用期内可发送512bit,即64B,前64字节为冲突,后面的就不会冲突
- 最短有效帧长:64B (不够要填充)
- 二进制指数类型退避算法:
两个计算机取一样的r,才会再次冲突,集合逐渐扩大,冲突的概率越来越小
第一次重传:k = Min[1, 10] = 1; 两个计算机分别随机从集合[0, 1=21-1]中选一个数作为r,各自的退避时间为r*2τ
- 以太网的两个标准
1.DIX Ethernet V2:世界上第一个局域网(以太网)标准
2.IEEE 802.3:简称“以太网(严格说,以太网是符合V2的局域网)”
(Ethernet V2与802.3差别不大)
- 802.3 以太网与数据链路层的两个子层:
1.逻辑链路控制(LLC:Logical Link Control)子层
2.媒体接入控制(MAC:Medium Access Control)子层
(现在一般只有MAC)
- 以太网提供的服务:
进最大努力的交付(不可靠),差错帧直接丢掉,差错的纠正由高层决定
3.6 以太网设备
3.6.1 集线器(Hub)
星形拓扑:现在很少见,都用交换机了
- 简易版:
-> 现在的都用集成芯片
没有智商,跟网线似的,只管接发数据
一支穿云箭,千军万马来相见
距离 | 特点 | |
---|---|---|
10BASE-T | <100m | |
100Base-FX(快速以太网) | ||
100Base-T | ||
100Base-T4 |
3.7 以太网信道利用率
以太网信道被占用的情况:
发送时间T0:
信道利用率a: $ a = \frac{\tau}{T_0} $
影响因子 | 以太网要求 |
---|---|
τ (争用期/2)↓ | 网线短↓(以太网网线不能太长) |
T0(发送时间)↑ | 帧长↑(以太网帧长不能太短) |
信道利用率的最大值Smax:
理想情况下(没有发生碰撞)-> 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
3.8 MAC层
MAC地址:MAC层的硬件地址 -> 全球唯一
- cmd中命令:
- 改通信的MAC地址(告诉别人的)=》 导致有两个MAC地址相同(冲突),都上不了网
3.9 以太网帧格式
适配器(网卡):从网络接收到一个MAC帧,首先用硬件检查MAC帧中的MAC地址,是不是自己的,是就收,不是就丢
三种帧:
单播(unicast)帧:1对1
广播(broadcast)帧:1对全体 (全1 0xFFFF FFFF)
多播(multicast)帧:1对多
最常见的MAC帧是 以太网V2的格式
- 无效的MAC帧:
- 帧间的最小距离:
3.10 扩展以太网
网桥和交换机优化以太网
物理上的扩展:用光纤,使以太网距离变远
数量上:将小冲突域合并成大冲突域,如果用集线器(不能超过30太设备)效率低,改用网桥
网桥:有记忆功能(学习)、存储转发功能,记忆住那些设备在哪个冲突域后,以后就分门别类的传信息了
- 透明网桥:
-> 现在网桥用的少,多用交换机:
- 交换机:安全,效率高(点对点通信),动态记忆MAC地址(自学习算法),传递信息排队
TIPS: 一个口带宽10M,24个接口,总带宽24*10=240M =》 端口带宽独享,无冲突 =》 可以全双工
- 生成树算法:
透明网桥使用:生成树算法 -> 防止转发的帧在环中兜圈子
(树没有环)
选择最优的线路,按带宽优先级,排成生成树
3.11 虚拟局域网VLAN
LAN:局域网 [(机器...机器...Hub)...路由器...(Hub...机器...机器)]
虚拟局域网VLAN:交换机(物理上)在一个网段,但实际上,想按逻辑(实际需求)自行划分网段(一个部门一个网段) ~ 类似于栈:为了达到某种目的,进行一些有用的限制
一个交换机上的不同VLAN
跨交换机的VLAN:用网线将交换机连(干道链路/中继端口 ~ 桥),帧上加标记来甄别是哪个VLAN的数据 => 统计时分复用
一个VLAN = 一个广播域 = 逻辑网段(子网)
3.12 高速以太网
高速以太网:速度>= 100Mb/s 的以太网
吉比特以太网:允许在1Gb/s下全双工/半双工两种方式工作
三层交换机:接入层 -> 汇集层 -> 核心层