《計算機網路概論》——5链路层和局域网
我们将把沿着通信路径连接相连节点的通信信道称为链路。说明,链路层的传输到在同一条线路上完成的。
- 5.1 数据链路层:概述和服务
- 5.2 错误检测和纠错技术
- 5.3 多址访问协议(重点)
- 5.4 链路层编址
- 5.5 以太网
- 5.6 链路层交换
- 5.7 PPP
- 5.8 链路虚拟化:网络作为链路层
5.1 数据链路层:概述和服务
链路层的数据单元称为帧(frame);
链路层提供的服务
- 成帧:加网卡地址;
- 链路访问:任何时候链路空闲,发送方都可以发送帧。
- 可靠交付:链路层的可靠传输服务是通过确认和重传来获得的。
- 流量控制:根据接收方决定发送速度。
- 差错检测
- 差错纠正
- 半双工和全双工
如上所述,链路层提供的许多服务和运输层提供的服务是非常相似的。但是一个是进程之间的通信,一个是两个节点的通信。
适配器通信
链路层协议主要部分在适配器(adapter)中实现。适配器通常也称为网络接口卡(network interface card,NIC)。
如图所示,适配器的主要部件是总线接口和链路接口。总线接口负责与该适配器的父节点通信。它在适配器和父节点之间传递数据和控制信息。链路接口负责实现链路层协议。处理将数据报装配为帧和拆卸帧为数据报之外,它可以提供差错检测、随机访问和其他链路层功能。它也包括传输和接收电路。
5.2 差错检测和纠错技术
奇偶校验
偶校验:使得d+1(初始的信息加上一个校验位)个比中的1的总数是偶数。
1比特偶校验.png检查和方法(运输层)
CRC循环冗余检测(链路层)
所有r+1个bit错都可以检测出来。
之所以在链路层使用更复杂的循环冗余校验是因为链路层的错误检测是基于硬件的,而传输层的检测是基于软件的。
5.3 多址访问协议(重点)
两种类型的链路:
- 点对点链路
- 广播链路
如:早期的以太网,无线局域网。
三种类型的链路层多址访问协议:
信道划分协议
- 时分复用(CDMA)
对于鸡尾酒会问题,CDMA允许客人在固定的时间段发言,然后允许另一个客人在同样长的时间内发言。以此类推。 - 频分复用(FDMA)
- 码分多址(FDMA)
为每个节点分配不同的编码,然后每个节点用它唯一的编码来对它发送的数据进行编码。
随机访问协议
- 时隙ALOHA
节点同步,在时隙开始的时候开始传输,如果检测到碰撞,则以下一个时隙以概率p重传。效果是37%的时隙有用 - 纯ALOHA
不需要在每个时隙开始时发送,可以在任何时刻发送。这样会增加碰撞的概率(同时发送,或者前一个没有发送完)。效率为时隙ALOHA的一半。 - 载波侦听多址访问(Carrier Sense Multiple Access,CSMA)
发言之前要先听,载波侦听;如果和其他人同时开始说话,停止谈话。碰撞检测(collision detection)。
轮流协议
- 轮询协议
- 令牌传递协议
持有令牌(token)的节点发送令牌(先装载数据),对于每个环上的节点,都要复制令牌上的数据,然后一圈后发送节点把数据从令牌卸载,然后把令牌丢到环上。
5.4 链路层编址
MAC地址
事实上,并非节点具有链路层地址,而是节点的适配器具有链路层地址。MAC地址长度为6字节,当生产适配器时,MAC地址就固化进了该适配器的ROM里。
ARP协议,地址解析协议
Q1:知道IP后,如何知道对方的MAC?
A:每个主机都有ARP表,格式如下:
IP地址 | MAC地址 | TTL |
---|---|---|
222.222.222.221 | 88-B2-2F-54-1A-0F | 13:45:00 |
222.222.222.223 | 5C-66-AB-90-75-B1 | 13:52:00 |
Q2:假如一个电脑的ARP表不知道对方的MAC怎么办?
A:ARP广播,通过链路进行广播,把MAC地址设置为全F,收到方查看IP是不是自己的IP,如果是进行回应,如果不是则不做回应。
Q3:如何发送数据报到子网以外的节点?
A:如果不是同一个子网,首先要知道路由器的IP(配置IP时设置),然后该路由器返回它的MAC;路由器收到链路层报文后,把头部去掉,得到网络层报文的头包含的目的IP,查ARP表,重复上过程。
5.5 以太网
- 总线结构(70s~90s)
- 星型拓扑(90s~00s)
24端口或48端口交换机。信号不会发生冲突。
以太网的帧结构
以太网的帧结构- 前同步码:用于“唤醒”接收适配器,并且将它们的时钟和发送方的时钟同步。
- 类型:指出网络层所使用的协议,该类型字段允许以太网多路复用网络层协议。同时,它把以太网的帧传到相应的协议为多路分解。
注意:以太网提供的是无连接服务和不可靠服务。首先发送时不需要建立连接,然后如果CRC校验失败也不会发送否认帧。
曼彻斯特编码:1从高电平条辨位低电平,而0从从低电平跳变到高电平。使用曼彻斯特编码的原因是发送适配器和接收适配器的时钟没有精确同步。通过在每个比特的中间包含一个跳变,接收主机可以将它的时钟与发送主机的时钟同步。(物理层)
CSMA/CD:以太网的多址访问协议
- 网卡收到网络层数据,创建帧;
- 网卡检测信道空闲,发送帧;信道忙,等待信道空闲,然后发送帧;
- 在传输过程中,检测信道状态,没有检测到其他网卡的信号出现,说明帧传输完成;
- 如果侦听到其他能量,停止传输,发送一个“打乱”信号,待会儿重传;
- 在中止以后,适配器进入一个指数回退阶段。等待一段时间后,返回到第二步。
以太网的效率在~70%
以太网技术
以太网的媒介虽然不同,但是使用的协议都是一样的,不同的只是bit的传输速率(100Mb/s,1Gb/s,10Gb/s,100Gb/s等)。
5.6 互联:集线器和交换机
集线器(物理层)
直接对封包进行转发,一个端口入,其他所有端口出。
同个子网的两个节点同时发送会发生碰撞。
链路层交换机
例如,24个100Mb/s+4个1Gb/s端口。交换机没有MAC地址。使用了链路层的协议,CSMA/CD;
- 由于使用了链路层协议,所以交换机会存储帧,然后查看相应的MAC地址,然后进行过滤或者转发;
- 集线器与交换机对比:交换机使用CSMA/CD对链路进行侦听,而集线器只负责放大转发;第二,交换机可以互联不同速率的以太网;第散,交换机用作互联设备时,对于LAN所能到达的地理范围在理论上没有限制。
- 自学习:如果收到的帧的目的地址没有在转发表中,则会通过所有端口转发;如果源地址不在转发表中,则进行记录;如果在一定时间后,没有收到表中某个地址作为源地址的帧,交换机将表中的这个地址删除。(8000条记录)
- 专用接入和全双工,使用了两对双绞线,一对用于传输从主机到交换机,一对用于传输从交换机到主机。
- 直通交换:
- 交换机与路由器的比较:都是存储转发设备;路由器保存路由表,使用路由算法;交换机保存交换表,使用过滤、学习算法;交换机对于广播风暴不提供任何保护措施。
Q:什么时候使用交换机或路由器?
A:对于几百台的小网络通常有一些LAN网段。对于这些小网络,交换机就足够了,因为它们不需要任何IP地址的配置就可以定位流量和增加总吞吐量。但是包含几千台的更大的网络,通常在网络中包括路由器。路由器提供更健壮的流量隔离和对广播风暴的控制,并在网络的主机之间使用更“智能的”路由。
5.6 PPP:点对点协议
不需要媒体访问控制(MAC)。
典型的点对点协议:
- PPP
- HDLC
PPP数据成帧
PPP数据帧使用标志(01111110)定位帧的开始和结束。
Q:如何处理数据字段中的标志位?
A:使用了字节填充(byte stuffing)技术。
5.8 链路虚拟化:网络作为链路层
虚拟的概念就是复杂的部分封装起来,只需要知道如何使用。
异步传送模式(ATM)
ATM传输的时候需要建立连线;网络复杂,但是提供有保证的服务;封包的大小固定,且比较小;通过虚电路号进行定位;实践上,ATM主要用于电话和IP网络。相当于一条专线!
多协议标签交换(MPLS)
(略)
完
2019.2.28-2019.3.30
感谢黄能富教授!