一、概述
1.相关概念
- 节点:运行链路层协议的任何设备。
- 链路:沿着通信路径连接相邻几诶单的通信信道。
2.提供的服务
2.1 成帧
- 几乎所有的链路层协议都要将数据报用链路层帧封装起来。
- 一个帧由一个数据字段和若干首部字段组成,其中网络层数据报就插在数据字段中。
2.2 链路输入
- 媒体访问控制(Medium Access Control,MAC)协议规定了帧在链路上传输的规则。
- MAC协议可用于协调多个节点的帧传输。
2.3 可靠交付
- 当链路层协议提供可靠交付协议时,它保证无差错地经链路层移动每个网络层数据报。
2.4 差错检测和纠正
- 通过让发送节点在帧中包括差错检测比特,让接收节点进行差错检测。
3.实现
- 链路层的主题部分时在网络适配器(network adapter)中实现的,也被称为网络接口卡(Network Interface Card,NIC)。
- 位于网络适配器核心的事链路层控制器,该控制器通常是一个实现了许多链路层服务的专用芯片。
- 链路层的软件组件实现了高层链路层功能。
- 链路层是软件和硬件的结合体,是协议栈中软件与硬件交接的地方。
二、差错检测和纠正技术
- 使用差错检验和纠正比特(Error- Detection and- Correction,EDC)来增强数据。
1.奇偶校验
1.1 偶校验方案
- 发送方包含一个附加的比特,使得比特数据+校验比特中1的总数是偶数。
1.2 奇校验方案
- 发送方包含一个附加的比特,使得比特数据+校验比特中1的总数是奇数。
1.3 二维奇偶校验方案
- 将比特数据分为i行j列,对每行每列计算奇偶值,产生的i+j+1个奇偶比特构成了链路层帧的差错检测比特。
- 此方案可以检测到出现差错的比特并纠正(单个比特只能检测)。
2.检验和方法
- 比特数据被作为一个k比特整数的序列处理。
- 检验和方法与英特网检验和类似。
3.循环冗余检验
- 循环冗余检测(Cyclic Redundancy Check,CRC)编码也称为多项式编码。
- 首先发送方和接收方需要协商一个r+1比特模式,称为生成多项式G,国际标准已经定义了8、12、16、32比特生成多项式G。
- 对于一个给定的数据段D,发送方要选择r个附加比特R。
- 接收方用G去除接收到的d+r比特,如果余数为非零,接收方知道出现了差错,否则认为数据正确而被接收。
- 所有CRC计算采用模2运算,在加法中不进位,在减法中不借位。
- 由可得。
- 每个CRC标准都能检测小雨r+1比特的突发差错。
三、多路访问链路和协议
1.分类
1.1 点对点链路
- 由链路一端的单个发送方和链路另一端的单个接收方组成。
- 如点对点协议(Point- to- Point Protocol,PPP)和高级数据链路控制(High- level Data Link Control,HDLC)。
1.2 广播链路
- 多个发送方和接收方都连接到相同的、单一的、共享的广播信道上。
- 如以太网和无线局域网。
- 多个节点可能会同时传输帧,所有节点同时接到多个帧,传输的帧在所有的接收方处碰撞。
2.信道划分协议
2.1 时分多路复用TDM
- TDM将时间划分为时间帧,并进一步划分每个时间帧为N个时隙,然后把每个时隙分配给N个节点中的一个,每个节点在没每个帧时间内得到了专用的传输速率R/N bps。
- 缺点:节点被限制于R/N bps的平均速率;节点必须总是等待它在传输序列中的轮次。
2.2 频分多路复用FDM
- 将R bps的信道划分为不同的频段,并把每个频率分配给N个节点中的一个。
2.3 码分多址(Code Division Multiple Access,CDMA)
- 对每个节点分配一种不同的编码,每个节点用它唯一的编码来对它发送的数据进行编码。
3.随机接入协议
3.1 时隙ALOHA
- 当节点有一个新帧要发送时,它等到下一个时隙(一个时隙等于传输一帧的时间)开始并在该时隙传输整个帧。
- 如果没有碰撞,该节点成功地传输它的帧,从而不需要考虑重传该帧。
- 如果有碰撞,该节点在时隙结束之前检测到这次碰撞。该节点以概率p在后续的每个时隙中重传它的帧,知道该帧被无碰撞地传输出去。
- 当有N个活跃节点时,时隙ALOHA的效率是,最大效率为1/e=0.37。
3.2 ALOHA
- 当一个帧首次到达,节点立刻将该帧完整地传输进广播信道。如果一个传输的帧与一个或多个传输经历来碰撞,这个节点将立即以概率p重传。否则,该节点等待一个帧传输时间。在此等待后,它则以概率p重传该帧,或者以概率p-1在另一个帧时间等待。
- 一个给定节点成功传输一次的概率是,最大效率为1/(2e)=0.37。
3.3 载波侦听多路访问(Carrier Sense Multiple Access,CSMA)
- 载波侦听:一个节点在传输前先听信道。如果来自另一个节点的帧正向信道上发送,节点则等待直到检测到一小段时间没有传输,然后开始传输。
3.4 具有碰撞检测的CSAM(CSAM with Collision Detection,CSAM/CD)
- 碰撞检测:当一个传输节点在传输时一直在侦听此信道。
4.轮流协议
4.1 轮询协议
- 所有节点之一要被指定为主节点,主节点以循环的方式轮询每个节点,告诉每个节点能够传输帧的最多数量,某个节点传输完成后再询问下一个节点。
- 缺点:该协议引入来轮询时延;如果主节点有故障,整个信道都变得不可操作。
- 例子:802.15协议和蓝牙协议。
4.1 令牌传递协议
- 一个称为令牌的小的特殊帧在节点之间以某种固定的次序进行交换。收到令牌的节点如果需要发送帧则持有令牌,如果不发送帧则将令牌转发给下一个节点。
- 缺点:一个节点的故障可能会使整个信道崩溃;如果一个节点偶然忘记了释放令牌,则必须调用某些恢复步骤使令牌返回到循环中来。
- 例子:光纤分布式数据接口(FDDI)协议和IEEE 802.5令牌环协议。
5.DOCSIS
- 一个电缆接入网通常在电缆网头端将几千个住宅电缆调制解调器与一个电缆调制解调器端接系统(Cable Modem Termination System,CMTS)连接。
- 数据经电缆服务接口(Data- Over- Cable Service Interface,CMTS)规范(DOCSIS)定义了电缆数据网络体系结构及其协议。
- 使用了FDM、TDM、随机接入和集中分配时隙。
四、交换局域网
1.链路层寻址和ARP
1.1 MAC地址
- 主机或路由器的适配器具有链路层地址。
- 链路层地址的不同称呼:LAN地址、物理地址、MAC地址。
- 对于大多数局域网(包括以太网和802.11无线局域网)而言,MAC地址长度为6字节,共有个可能的MAC地址,地址的每个字节被表示为一对16进制数。
- IEEE管理MAC地址空间,分配方式:固定一个MAC地址的前24比特,让公司自己为每个适配器生成后24比特的唯一组合。
- 适配器的MAC地址具有扁平节后,不论适配器在哪里都不会发生变化。
- MAC广播地址:48个连续的1组成的字符串,十六进制表示为:FF-FF-FF-FF-FF-FF。
1.2 地址解析协议
- 地址解析协议(Address Resolution Protocol,ARP)用于网络层地址和链路层地址之间的转换。
- 在发送主机中的ARP模块将取在相同的局域网上的任何IP地址作为输入,然后返回相应的MAC地址。
- 每台主机或路由器在其内存中具有一个ARP表,包含了IP地址到MAC地址的映射关系。
- 从一个表项放置到ARP表中开始,一个表项通常过期时间是20分钟。
- 步骤:发送方首先构造一个称为ARP分组的特殊分组,分组中有发送和接收IP地址和MAC地址,ARP查询和响应分组都具有相同的格式;发送方广播查询分组,目的主机收到后发送回一个带有所希望映射的响应ARP分组
- ARP表是自动建立的。
- ARP可以看成是跨越链路层和网络层边界两边的协议。
1.3 发送数据报到子网以外
- 首先子网一的主机通过ARP寻址到路由器的MAC地址;
- 发送一个寻址到子网二主机IP地址的数据报的帧到路由器;
- 路由器通过子网二的主机IP地址转发到子网二的对应接口;
- 路由器通过ARP寻址到子网二主机的MAC地址;
- 路由器接口的适配器将数据报封装成帧发送到对应子网二的主机。
2.以太网
2.1 以太网帧结构
- 数据字段(46~1500字节):这个字段承载了IP数据报。以太网的最大传输单元(MTU)是1500字节,最小是46字节。
- 目的地址(6字节):包含目的适配器的MAC地址。
- 源地址(6字节):包含传输该帧到局域网上的适配器的MAC地址。
- 类型字段(2字节):类型字段允许以太网复用多种网络层协议。
- CRC(4字节):目的是使得接收适配器检测帧中是否引入了差错。?
- 前同步码(8字节):以太网帧以一个8字节的前同步码字段开始。前七个字节都是10101010,最后一个字节是10101011。前七个字节用于唤醒接收适配器,并将它们的时钟和发送方的时钟同步。第八个字节的最后两个比特警告接收适配器“重要内容”即将到来。
2.2 以太网技术
- 所有的以太网技术都向网络层提供无连接服务。
- 以太网技术都向网络层提供不可靠服务。
- 以太网技术被IEEE 802.3 CSMA/CD(Ethernet)工作组标准化了。
3.链路层交换机
3.1 交换机转发和过滤
- 过滤是决定一个帧应该转发到某个接口还是应当将其丢弃的交换机功能。
- 转发是决定一个帧应该被导向哪个接口,并把该帧移动到那些接口的交换机功能。
- 交换机表中的一个表项包括:一个MAC地址;通向该MAC地址的交换机接口;表项放置在表中的时间。
- 如果没有对应目的地址的表项,交换机广播该帧。
- 如果某MAC地址与某接口x联系,一个帧从包含该MAC地址的适配器的局域网网段中来,交换机丢弃该帧。
3.2 自学习
- 交换机表是自动、动态和自治地建立的。
- 交换机表初始为空。
- 对于每个接口接收到的每个入帧,该交换机在其表中存储:在该帧源地址字段中的MAC地址;该帧到达的接口;当前时间。
- 如果在一段时间后,交换机没有接收到以该地址作为源地址的帧,就在表中删除这个地址。如果一台主机被另一台主机代替,原来的主机的MAC地址最终从该交换机表中被清除。
- 交换机是即插即用设备。
- 交换机是双工的,这意味着任何交换机接口能够同时发送和接收。
3.3 性质
3.4 交换机与路由器的比较
- 交换机是即插即用的,路由器需要人为的配置。
- 交换机具有相对较高的分组过滤和转发速率,路由器对每个分组的处理时间比交换机更长。
- 为了防止广播帧的循环,交换网络的活跃拓扑限制为一颗生成树,路由器没有生成树的限制,允许以丰富的拓扑结构构件英特网。
- 交换机对广播风暴不提供任何保护措施,路由器对第二层的广播风暴提供量防火墙保护。
- 网络中存在冗余路径时,分组通常也不会通过路由器循环。
4.虚拟局域网
4.1 交换机等级结构的缺点
4.2 概述
- 虚拟局域网(Virtual Local Area Network,VLAN)。
- 在一个VLAN内的主机彼此通信,在每个VLAN中的端口形成一个广播域。
- 网络管理员使用交换机管理软件声明一个端口属于某个给定的VLAN,在交换机中维护一张端口到VLAN的映射表,交换机在术语相同VLAN的端口之间交付。
4.3 VLAN干线连接
- VLAN干线连接(VLAN trunking)。
- 每台交换机的一个特殊端口被配置为特殊端口,干线端口属于所有VLAN,发送到任何VLAN的帧经过干线链路转发到其他交换机。
- IEEE定义了一种扩展的以太网帧格式:802.1Q用于跨越VLAN干线的帧。
- 802.1Q帧由标准的以太网帧与加进首部的4字节VLAN标签组成,标签承载着该帧所属的VLAN标识符。
- VLAN标签自身由一个2字节的标签协议标识符(Tag Protocol Identifier,TPID)字段(具有固定的十六进制值81-00)、一个2字节的标签控制信息字段(包含一个12比特的VLAN标识符字段)、一个3比特的优先权字段组成。
- 有基于MAC的VLAN、基于网络层协议和其他准则的VLAN。
五、链路虚拟化
- 多协议标签交换(Multiprotocol Label Switching,MPLS)。
- 对于某些基于固定长度标签和虚电路的技术,在不放弃基于目的地IP数据包转发的基础设施的前提下,当可能时通过选择性地标识数据报并允许路由器基于固定长度的标签转发数据报来增强其功能。
- MPLS首部增加到第二层(如以太网)和第三层(即IP)首部之间。
- MPLS首部格式:标签、预留的3比特实验字段、1比特S字段(用于指示一系列“成栈”的MPLS首部的结束)、寿命字段。
- 一个MPLS加强的帧仅能在两个均为MPLS使能的路由器之间发送。
- 一个MPLS是能的路由器常被称为标签交换路由器。
六、数据中心网络
1.概述
- 每个数据中心都有自己的数据中心网络,这些数据中心网络将其内部主机彼此互联并与英特网中的数据中心互联。
- 数据中心的主机被称为刀片,主机负责提供内容、存储邮件和文档、共同执行大规模分布式计算。
- 刀片包括CPU、内存和磁盘存储的商用主机。
- 主机被堆叠在机架上,每个机架一般堆放20~40台刀片,每一个机架顶部都有一台交换机,这种交换机被称为机架顶部(Top Of Rack,TOR)交换机,TOR与机架上的每个主机互联,并与数据中心的其他交换机互联。
- 数据中心网络支持的两种流量:在外部客户与主机之间流动的流量、内部主机之间流动的流量。
- 数据中心网络包括来一台或多台边界路由器,用来将数据中心网络与公共英特网相连。
2.负载均衡
- 在数据中心内部,外部请求首先被定向到一个负载均衡器,负载均衡器用来向主机分发请求,以主机当前的负载作为函数来在主机之间均衡负载。
- 负载均衡器不仅平衡主机间的工作负载,而且还提供类似NAT的功能,将外部IP地址转换为内部适当主机的IP地址,然后将反方向流向客户的分组按照相反的转换进行处理。
3.等级体系结构
|