文章目录
一、 什么是链路层?
链路层在网络适配器的芯片上实现,网络适配器实现了许多链路层服务,包括成帧、链路访问、错误检测等,链路层的大部分功能是在硬件中实现的,部分链路层是运行在CPU上的软件中实现。总的来说,链路层是硬件和软件的结合体,即此处是协议栈中软件和硬件交接的对方。
二、 差错检测和纠正
检测差错三种技术:奇偶校验、检验和方法、循环冗余检测。差错监测和纠正使得接收方有时但并不总是能够监测出已经出现的比特差错,一般而言,差错监测技术越复杂,导致的开销就越大,就意味着需要更大的计算量和更多的差错监测和纠错比特。
三、 多路访问链路和协议
多路访问协议要解决的问题:2个或更多站点同时传送,冲突也叫碰撞(collision)。即多个节点在同一个时刻发送,则会收到2个或多个信号叠加。当碰撞发生时,没有一个接收节点能够有效地获得任何传输地帧,简单来说碰撞的帧都丢失了,在碰撞时间间隔中的广播信道被浪费了。
碰撞域:可以允许一个站点发送网络的范围,通常拥有相同的前缀,比IP子网更详细的前缀。
MAC协议:Multiple Access Control Protocol ,多路访问控制协议。
信道划分协议(对于速率为R bps的广播信道)应具有以下特性:
- 当一个节点要发送时,可以R速率发送。
- 当M个节点要发送,每个可以以 R/M 的平均速率发送。
- 完全分布的: 没有特殊节点协调发送;没有时钟和时隙的同步。
- 简单,实现不昂贵。
1. 信道划分协议
信道划分即把信道划分成小片(时间、频率、编码),分配片给每个节点专用。主要包括时分多路复用(TDM)、频分多路复用(TDM)和码分多址(CDMA)。TDM和FDM:
- 优点:避免了碰撞,在节点间公平的划分了信道。
- 缺点:限制了一个节点只能使用R/N个带宽,R:信道带宽,N:节点数量。TDM中节点还必须等待它在传输序列中的轮次。
CDMA (code division multiple access) : 所有站点在整个频段上同时进行传输, 采用编码原理加以区分; 完全无冲突;假定:信号同步很好,线性叠加。
三者区别:TDM:不同的人在不同的时刻讲话;FDM:不同的组在不同的小房间里通信;CDMA:不同的人使用不同的语言讲话。总的来说有以下特点:
- 共享信道在高负载时是有效和公平的。
- 在低负载时效率低下。只能等到自己的时隙开始发送或者利用1/N的信道频率发送;当只有一个节点有帧传时,也只能够得到1/N个带宽分配。
2. 随机接入协议
随机接入协议中,一个传输节点总是以信道的全部速率进行发送,当有碰撞时,设计碰撞的每个节点反复地重发分组,直到该分组无碰撞地通过为止。但是当一个节点经历一次碰撞时,它不必立即重发该分组,而是在重发前等待一个随机时延。总的来说有以下特点:
- 在低负载时效率高:单个节点可以完全利用信道全部带宽。
- 高负载时:冲突开销较大,效率极低,时间很多浪费在冲突中。
2.1 时隙ALHOA
时隙ALHOA存在以下假设:
- 所有帧是等长的
- 时间被划分成相等的时隙,每个时隙可发送一帧
- 节点只在时隙开始时发送帧
- 节点在时钟上是同步的
- 如果两个或多个节点在一个时隙传输,所有的站点都能检测到冲突
运行规则:
- 当节点获取新的帧,在下一个时隙传输
- 传输时没有检测到冲突,节点能够在下一时隙发送新帧
- 检测时如果检测到冲突,节点在每一个随后的时隙以概率p重传帧直到成功
优点:
- 节点可以以信道带宽全速连续传输
- 高度分布:仅需要节点之间在时隙上的同步
- 实现简单
缺点:
- 存在冲突,浪费时隙
- 即使有帧要发送,仍然有可能存在空闲的时隙
- 节点检测冲突的时间 < 帧传输的时间
- 需要时钟上同步
2.2 CSMA
规则:
- 在传输前先侦听信道: 如果侦听到信道空闲,传送整个帧;如果侦听到信道忙,推迟传送。
- 在传输过程中如果检测到其它节点干扰传输,就停止传输。冲突仍然可能发生:由传播延迟造成,即两个节点可能侦听不到正在进行的传输。
2.3 CSMA/CD
CSMA/CD:载波侦听CSMA。 和在CSMA中一样发送前侦听信道;没有传完一个帧就可以在短时间内检测到冲突;冲突发生时则传输终止,减少对信道的浪费。
冲突检测(CD)技术,在有线局域网中容易实现: 检测信号强度,比较传输与接收到的信号是否相同;通过周期的过零点检测。
CSMA/CD可以类比为礼貌的对话人。除了随机接入协议和信道划分协议外,还有一类轮流协议,例如轮询协议和令牌传递协议。
四、 交换局域网
1. 链路层寻址和ARP
1.1 MAC地址(Media Access Control Address)
首先明确,链路层和网络层都需要地址,具体地,不是主机或者路由器有链路层地址,而是它们的适配器(网络接口)具有链路层地址。具有多个网络接口的主机或路由器将具有与之相关联的多个链路层地址,就像它们也具有与之相关联的多个IP地址一样。
MAC地址(Media Access Control Address):又被称为LAN地址、物理地址。大多数局域网,MAC地址长度为6字节。没有两块适配器具有相同的物理地址。MAC地址是扁平结构,即不论适配器到哪里用MAC地址都不会变化。IP地址、MAC地址就像一个人的邮政地址、社会保险号。
MAC地址存在的理由:
- 局域网是为任意网络层协议而设计的,而不只是用于IP和因特网。如果适配器被指派IP地址而不是MAC地址的话,则适配器不能够方便的支持其它网络层协议。
- 如果适配器使用网络层地址而不是MAC地址的话,网络层地址必须存储在适配器的RAM中,并且每次适配器移动时都要重新配置。
目前,已经了解了3种类型的地址:应用层的主机名、网络层的IP地址以及链路层的MAC地址。
1.2 地址解析协议
地址解析协议(Address Resolution Procotol,ARP):在网络层地址(例如因特网的IP地址)和链路层地址(MAC地址)之间进行转换的协议。与DNS对比:DNS将主机名解析为IP地址,不同的是,DNS为在因特网中任何地方的主机解析主机名,而ARP只为在同一个子网上的主机和路由器接口解析IP地址。
ARP工作依赖ARP表,ARP表包含IP地址到MAC地址的映射关系。通过ARP分组来查询和响应。ARP协议有两个特点:1、查询ARP报文时广播帧中发送的,而ARP报文在一个标准帧中发送;2、ARP是即插即用。
2.链路层交换机
交换机的任务是接收入链路层帧并将它们转发到出链路,交换机自身对子网中的主机和路由器是透明的。具体的:
- 链路层设备: 扮演主动角色 (端口执行以太网协议 ) 。1、对帧进行存储和转发;2、 对于到来的帧,检查头,根据目标MAC地址进行选择性转发;3、当帧需要向某个(些) 网段进行转发,需要使用CSMA/CD进行接入控制;4、通常一个交换机端口一个独立网段
- 透明: 主机对交换机的存在可以不关心。
- 通过交换机相联的各节点好像这些站点是直接相联的一样。有MAC地址:无IP地址。
- 即插即用,自学习:交换机无需配置。
- 交换机是自学习的,通过学习得到哪些主机 (mac地址)可以通过哪些端口到达。当接收到帧,交换机学习到发送站点所在的端口(网段),在交换表中记录发送方MAC地址/进入端口映射关系。
交换机和路由器对比:
- 都是存储转发设备,但层次不同。交换机:链路层设备 (检查链路层头部);路由器:网络层设备 (检查网络层的头部)。
- 都有转发表。
– — 交换机:维护交换表,按照MAC地址转发;
执行过滤、自学习和生成树算法;
即插即用:二层设备,速率高;
执行生成树算法,限制广播帧的转发;
ARP表项随着站点数量增多而增。
– — 路由器:路由器维护路由表,执行路由算法,路由算法能够避免环路,无需执行生成树算法,可以各种拓扑构建网络;
对广播分组做限制;
不是即插即用的,配置网络地址 (子网前缀);
是三层设备,速率低。
本文为个人学习笔记,如有错漏之处,敬请指正!