6链路层和局域网
文章目录
参考博文:https://blog.csdn.net/qq_53111905/article/details/120592934
6.1引论和服务
广域网的链路层比较简单
网络层以子网为单位进行路由
multiple-access control共享广播信道
若干节点如何连接?(一个子网中的若干节点是如何连接的?)
-
点到点的连接(广域网采用的方式)
-
多点连接
- 共享型介质
- 通过网络交换机
WAN:广域网;LAN:局域网
链路层解决的是点到点的问题;网络层解决的是端到端的问题
链路比较可靠——在链路层就不需要实现可靠数据传输
传输类比:
从Princeton到Lausanne
轿车: Princeton to JFK
飞机: JFK to Geneva
火车: Geneva to Lausanne
旅行者=数据报datagram
交通段=通信链路 communication link
交通模式=链路层协议 : 数 据链路层和局域网 protocol
票务代理=路由算法 routing algorithm
Q: 为什么在链路层和传输层都实现了可靠性?
一般化的链路层服务,不是所有的链路层都提供这些服务
一个特定的链路层只是提供其中一部分的服务
链路层服务的类型:
1.成帧,链路接入:
将数据报封装在帧中,加上帧头、帧尾部
如果采用的是共享性介质,信道接入获得信道访问权
在帧头部使用“MAC”(物理)地址来标示源和目的
- 不同于IP地址
2.在(一个网络内)相邻两个节点完成可靠数据传递
已经学过了(第三章) —— 传输层
在低出错率的链路上(光纤和双绞线电缆)很少使用
在无线链路经常使用:出错率高
Q:为什么要在采用无线链路的网络上,链路层做可靠数据传输工作 ;还要在传输层做端到端的可靠性工作?
原因:出错率高,如果在链路层不做差错控制工作,漏出去的错误比较高;到了上层如果需要可靠控制的数据传输代价会很大 —— 出错率较大的时候,传到上层再纠错代价大
如不做local recovery 工作,总体代价大
3.流量控制
4.错误检测
5.差错纠正
6.2差错的检错和纠正
- 奇偶校验
- Internet校验和
- CRC循环冗余校验
EDC = 差错检测和纠正位(冗余位)
CRC:循环冗余校验(这个是最重要的差错检错方法!)
模2运算 -》 异或运算
生成多项式,r次方
G = X^3 + 1 (r + 1位) 例子:1001
CRC性能分析(这个只需了解)
- 突发错误和突发长度
- CRC检错性能描述
6.3多点访问协议
两种类型的链路(一个子网内部链路连接形式)
多路访问协议适用的的范围和我们为什么需要这个协议
- 单个共享的广播型链路
- 2个或更多站点同时传送: 冲突(collision)
- 多个节点在同一个时刻发送,则会收到2个或多个信号 叠加
mac(媒体访问控制)协议:分类
- 信道划分
- 随机访问:如何检测碰撞,如何从碰撞中恢复
- 依次轮流
信道划分:
随机MAC协议:
- 时隙ALOHA
- ALOHA
- CSMA,CSMA/CD,CSMA/CA
时隙ALOHA:
纯ALOHA:
CSMA(载波侦听多路访问):
结论:局域网节点之间的距离越远,发生冲突的可能性越大(想想为什么?某一时刻要发送信息的主机都检测到信道空闲)
CSMA/CD(collision detect)冲突检测:
发送前侦听信道,冲突发生则传输中止;
强化冲突的jam信号:让所有站点都知道冲突
二进制指数退避算法:
自适应算法
无线介质和有线介质最大的区别是无线网络信息会衰减,而且有干扰和噪声
LAN: 不冲突 几乎= 成功
WLAN: 不冲突 和 成功没有太大的关系——》无法CD
CSMA/CA 无线局域网
CA(Avoidance):无法CD,一旦发送就必须发完,如果冲突,则信道浪费严重,代价高昂;
所以需要尽量事先避免冲突,而不是在发生冲突时放弃然后重发
![image-20240509094301030](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fcdn.jsdelivr.net%2Fgh%2FLingjie-wang%2Fpicture%40main%2Fimage%2F202405090943165.png&pos_id=img-42RV46Hl-1715678412445%29)
![image-20240509094614753](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fcdn.jsdelivr.net%2Fgh%2FLingjie-wang%2Fpicture%40main%2Fimage%2F202405090946911.png&pos_id=img-WvbwZihS-1715678412639%29)
但是这个协议也不是万能的,无法完全避免冲突:
![image-20240509094814257](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fcdn.jsdelivr.net%2Fgh%2FLingjie-wang%2Fpicture%40main%2Fimage%2F202405090948404.png&pos_id=img-nvv0YntT-1715678412832%29)
CSMA/CA的可选项:允许发送方“预约信道”,而不是随机访问该信道
冲突避免:RTS-CTS 交换
线缆接入网络
轮流(Taking Turns)MAC协议(了解)
总结:
-
信道划分MAC协议:低负载效率低
-
随机访问MAC协议:高负载效率低
- ALOHA, S-ALOHA, CSMA, CSMA/CD
- 载波侦听: 在有些介质上很容易 (wire:有线介质), 但在有些 介质上比较困难 (wireless:无线)
- CSMA/CD :802.3 Ethernet网中使用
- CSMA/CA :802.11WLAN中使用
-
轮流协议:taking turns,较为复杂,使用较少,仅作了解;
- 轮询,主节点失效时造成整个系统无法工作;
- 令牌轮转;低负载时性能高不过随机访问,高负载时性能高不过信道划分
6.4LANS
**ARP协议:**完成IP地址到MAC地址的转换
ARP: Address Resolution Protocol
问题:已知B的IP地址,如何确定B的MAC地址?
在LAN上的每个IP节点都有一个ARP表
ARP表:包括一些 LAN节点IP/MAC地 址的映射 < IP address; MAC address; TTL>
TTL时间是指地址映射失效的时间
典型是20min
IP地址是分层的,mac地址是平面的;
IP地址的前n - 1 跳用于使数据报到达目的IP子网,最后一跳,到达子网的目标节点
mac地址:
- 用于使帧从一个网卡传递到与其物理连接的另一个网卡 (在同一个物理网络中)
- 48bit MAC地址固化在适配器的ROM,有时也可以通过软件设定
- 理论上全球任何2个网卡的MAC地址都不相同
ip和mac地址捆绑的问题和不捆绑的好处
以太网:目前最主流的LAN技术
NIC(Network Interface Controller,网络接口控制器)网卡
三种连接方式:
- 总线型、HUB(集线器)型、交换机型
以太网提供无连接、不可靠的服务;
无连接:帧传输前,发送方和接收方之间没有握手
不可靠:接收方适配器不发送ACKs或NAKs给发送方
递交给网络层的数据报流可能有gap
如上层使用像传输层TCP协议这样的rdt,gap会被补上( 源主机,TCP实体)
否则,应用层就会看到gap
以太网的MAC协议:采用二进制退避的CSMA/CD的介质访问控制形式
- 复习一下什么是CSMA/CD介质访问控制协议:
有很多不同的以太网标准:
- 不同的物理层标准,不同的物理层媒介
位时
物理层:Manchester编码
1000BaseT中的4B5B编码:确保每几位数字信号,就会有一个跳变,而接受方就可以根据这些跳变,来同步自己的时钟信号
10BaseT and 100BaseT
100 Mbps 速率 也被称之为 “fast ethernet” Base 基带信号
T代表双绞线
节点连接到HUB上: “star topology”物理上星型
逻辑上总线型,盒中总线 一发全收,一次只能发一次
节点和HUB间的最大距离是100 m
以太网:物理拓扑
**总线:**在上个世纪90年代中期很流行
所有节点在一个碰撞域内,一次只允许一个节点发送
可靠性差,如果介质破损,截面形成信号的反射,发送节点误认为 是冲突,总是冲突
**星型:**目前最主流
连接选择: hub(无法并行,一发全收) 或者 switch (并行)
现在一般是交换机(switch)在中心
每个节点以及相连的交换机端口使用(独立的)以太网协议(不会和其他节点的发送产生碰撞)
HUB:一个端口收,所有端口发;HUB还可以级联;在一个碰撞域内,一次只允许一个站点进行发送。
![image-20211003102803772](https://img-blog.csdnimg.cn/img_convert/bb6a88d95ee4148373aa8b9453d770cc.png)
交换机:帧存储转发的装置,交换机缓存来到的帧,两个端口之间有一个瞬间的交换开关
**透明:**交换机对于主机可以视为不存在;通过交换机相连的各节点好像这些站点是直接相连的
有MAC地址,没有IP地址
在网络层的一跳可能是链路层的好几段
交换:A-to-A’ 和 B-to-B’ 可 以同时传输,没有碰撞
(交换机)即插即用,自学习
(在交换机的连接方式下)每个链路都是一个独立的碰撞域,所以CSMA/CD协议的作用被弱化
交换机也可以级联
交换机还有生成树算法,避免形成网络风暴(转发泛洪)
交换机 vs. 路由器
都是存储转发设备,但层次不同
交换机:链路层设备(检查 链路层头部)
路由器:网络层设备(检查 网络层的头部)
都有转发表:
交换机:维护交换表,按照 MAC地址转发
执行过滤、自学习和生成树算法
即插即用;二层设备,速率高
执行生成树算法,限制广播帧的 转发
ARP表项随着站点数量增多而增多
路由器维护路由表,执行路由算法
路由算法能够避免环路,无需执行生成树算法,可以以各种拓扑构建网络
对广播分组做限制
不是即插即用的,配置网络地址(子网前缀)
三层设备,速率低
VLAN虚拟局域网(了解)
6.5链路虚拟化
根据标签转发(本科不需要关注)
6.6数据中心网络
不用管
6.7A day in the life of web request
这个地方可以自己看看,是对于之前的所有内容进行总结
总结:
各种链路层技术的实例和实现:
- Ethernet
- 交换式LANS,VLANS(不讲)
- 虚拟成链路层的网络(MPLS)(不讲)
分组做限制
不是即插即用的,配置网络地址(子网前缀)
三层设备,速率低