计算机网络——链路层与局域网

在这里插入图片描述

链路层概述

链路层提供的服务

  1. 成帧:在每个网络层数据报经链路传送之前,几乎所有的链路层协议都要将其用链路层帧封装起来。
  2. 链路接入:媒体访问控制(Medium Access Control,MAC)协议规定了帧在链路上传输的规则。对于点对点链路,MAC协议比较简单,即无只要链路空闲,发送方就能够发送帧。对于广播链路,多个节点共享一个链路,使用MAC协议协调多个节点的帧传输。
  3. 可靠交付:当链路层协议提供可靠交付服务时,它保证无差错地经链路层移动每个网络层数据报。
  4. 差错检测和纠正:当帧中的一个比特作为1传输时,接收方结点中的链路层硬件可能不正确地将其判断为0反之亦然。
  5. 流量控制:当帧到达接收节点的速率大于其处理速率,接收方缓冲区产生溢出,帧会丢失。

链路层服务于运输层服务的区别

运输层在端到端的基础上为两个进程之间提供服务。
链路层为一条链路相邻的两个节点之间提供服务。

链路层在何处实现

链路层的主体部分是在网络适配器中实现的,网络适配器有时也称为网络接口卡。位于网络适配器核心的是链路层控制器,该控制器通常是一个实现了许多链路层服务(成帧、链路接入、差错检测等)的专用芯片。因此,链路层控制器的许多功能是用硬件实现的。
在发送端,控制器取得了由协议栈较高层生成并存储在主机内存中的数据报,在链路层帧中封装该数据报(填写该帧的各个字段),然后遵循链路接人协议将该帧传进通信链 路中。
在接收端,控制器接收了整个帧,抽取出网络层数据报。如果链路层执行差错检 测,则需要发送控制器在该帧的首部设置差错检测比特,由接收控制器执行差错检测。

差错检测技术

奇偶校验

发送方只需包含一个附加的比特,选择它的值,使得这D+1个比特中1的总数是偶数(偶校验)。对于奇校验方案,选择校验比特值使得有奇数个1 。
二维奇偶校验方案(差错纠正),包含比特值改变的列和行的校验值都将会出现差错。因此接收方不仅可以检测到出现了单个比特差错的事实,而且还可以利用存在奇偶校验差错的列和行的索引来实际识别 发生差错的比特并糾正它!
在这里插入图片描述

检验和

同UDP检验和计算:

发送方的UDP对报文段中的所有16比特字的和进行反码运算, 求和时遇到的任何溢出都被回卷。得到的结果被放在UDP报文段中的检验和字段。
在这里插入图片描述

循环冗余监测(CRC)

CRC编码操作如下。考虑d比特的数据D,发送结点要将它发送给接收结点。发送方和接收方首先必须协商一个r+1比特模式,称为生成多项式,我们将其表示为G。我们将要求G的最高有效位的比特(最左边)是1。
对于一个给定的数据段发送方要选择r个附加比特,并将它们附加到d上,使得得到的d+ r比特模式(被解释为一个二进制数)用模2算术恰好能被整除。用CRC进行差错检测的过 程因此很简单:接收方用G去除接收到的 比特。如果余数为非零,接收方知道 出现了差错;否则认为数据正确而被接收。
所有CRC计算采用模2算术来做,在加法中不进位,在减法中不借位。这意味着加 法和减法是相同的,而且这两种操作等价于操作数的按位异或(相同为0,不同为1)。
能检测小于r+1位的突发差错、任何奇数个差错。

多路访问链路和协议

如何协调多个发送和接收结点对一个共享广播信道的访问,这就是多路访问问题。
所有结点同时接到多个帧;这就是说,传输的帧在所有的接收方处碰撞了。通常,当碰撞发生时,没有一个接收结点能够有效地获得任何传输的帧;在某种意义下,碰撞帧的信号纠缠在一起。因此,涉及此次碰撞的所有帧都丢失了,在碰撞时间间隔 中的广播信道被浪费了。
我们能够将多路访问协议划分为3种类型之一:信道划分协议, 随机接入协议和轮流协议。

多路访问协议应该具有以下所希望的特性:

  1. 当仅有一个节点发送数据时,该节点具有R bps的吞吐量
  2. 当有M个节点发送数据时,每个节点吞吐量为R/M bps。这不必要求M个节点中的每一个节点总是有R/M的瞬间速率,而是每个节点在一些适当定义的时间间隔内应该有R/M的平均传输速率
  3. 协议是分散的,这就是说不会因为某个节点故障而使整个系统崩溃。
  4. 协议是简单的,使实现不昂贵。

信道划分协议

时分多路

TDM将时间划分为时间帧,并进一步划分每个时间帧为N个时隙。然后把每个时隙分配给N个结点中的一个。无论何时某个结点在有分组要发送的时候,它在循环的TDM帧中指派给它的时隙内传输分组比特。 通常,选择的时隙长度应使一个时隙内能够传输单个分组。

频分多路

FDM将R bps信道划分为不同的频段(每个频段具有R/N带宽),并把每个频率分配给N个结点中的一个。因此FDM在单个较大的R bps信道中创建了N个较小的R/N bps信道。FDM也有TDM同样的优点和缺点。它避免了碰撞, 在N个结点之间公平地划分了带宽。然而,FDM也有TDM所具有的主要缺点,也就是限制一个结点只能使用R/N的带宽,即使当它是唯一一个有分组要发送的结点时。

码分多址

CDMA对每个结点分配一种不同的编码。然后每个结点用它唯一的编码来对它发送的数据进行编码。如果精心选择这些编码,CDMA网络具有一种奇妙的特性,即不同的结点能够同时传输,并且它们各自相应的接收方仍能正确接 收发送方编码的数据比特(假设接收方知道发送方的编码),而不在乎其他结点的干扰传输。

随机接入协议

ALOHA(不重要)

时隙ALOHA协议要求所有的结点同步它们的传输,以在每个时隙开始时开始传输。第一个ALOHA协议实际上是一个非时隙、完全分散的协议。在纯ALOHA 中,当一帧首次到达,结点立刻将该 帧完整地传输进广播信道。如果一个传输的帧与一个或多个传输经历了碰撞,这个结点将立即(在完全传输完它的碰撞帧之后)以概率p重传该帧。否则,该结点等待一个帧传输时间。 在此等待之后,它则以概率P传输该帧,或者以概率1-P在另一个帧时间等待(保持空闲)。

CSMA

载波侦听多路访问
传送前先监听,如果信道空闲,传送整个分组。如果信道忙就延迟传送。
特点:
发送前监听,可以减少冲突。
由于传播时延的存在,仍有可能出现冲突,并造成信道浪费。

CSMA/CD

带碰撞监测的载波侦听多路访问

  1. 适配器从网络层一条获得数据报,准备链路层帧,并将其放人帧适配器缓存中。
  2. 如果适配器侦听到信道空闲(即无信号能量从信道进入适配器),它开始传输帧。 在另一方面,如果适配器侦听到信道正在忙,它将等待,直到侦听到没有信号能量时才开始传输帧。
  3. 在传输过程中,适配器监视来自其他使用该广播信道的适配器的信号能量的存在。
  4. 如果适配器传输整个帧而未检测到来自其他适配器的信号能量,该适配器就完成了该帧。在另一方面,如果适配器在传输时检测到来自其他适配器的信号能量,它中止传输(即它停止了传输帧)。
  5. 中止传输后,适配器等待一个随机时间量,然后返回步骤2。

轮流协议

第一种是轮询协议 :
轮询协议要求这些结点之一要被指定为主结点。主结点以循环的方式轮询每个结点。特别是,主结点首先向结点1发送一个报文,告诉它(结点1 ) 能够传输的帧的最多数量。在结点1传输了某些帧后,主结点告诉结点2它(结点2)能够传输的帧的最多数量。(主结点能够通过观察在信道上是否缺乏信号,来决定一个结点何时 完成了帧的发送。)上述过程以这种方式继续进行,主结点以循环的方式轮询了每个结点。 轮询协议消除了困扰随机接人协议的碰撞和空时隙,这使得轮询取得高得多的效率。 但是它也有一些缺点。第一个缺点是该协议引人了轮询时延,即通知一个结点“它可以传输”所需的时间。第二个缺点可能更为严重,就是如果主结点有故障,整个信道都变得不可操作。

第二种轮流协议是令牌传递协议:
在这种协议中没有主结点。 一个称为令牌的小的特殊帧在结点之间以某种固定的次序进行交换。当一个结点收到令牌时,仅当它有一些帧要发送时,它才持有这个令牌;否则,它立即向下一个结点转发该令牌。当一个结点收到令牌时,如果它确实有帧要传输,它发送最大数目的帧数,然后把令牌转发给下一个结点。令牌传递是分散的,并有很高的效率。但是它也有自己的一些问题。例如,一个结点的故障可能会使整个信道崩溃。或者如果一个结点偶然忘记了释放令牌,则必须调用某些恢复步骤使令牌返回到循环中来。

交换局域网

链路层寻址和ARP

MAC地址

事实上,并不是主机或路由器具有链路层地址,而是它们的适配器(即网络接口)具有链路层地址。因此,具有多个网络接口的主机或路由器将具有与之相关联的多个链路层地址。
MAC地址长度为6字节。这些6个字节地址通常用十六进制表示法,地址的每个字节被表示为一对十六进制数。
适配器的MAC地址具有扁平结构(这与层次结构相反),而且不论适配器到哪里用都不会变化。IP地址具有层次结构(即一个网络部分和一个主机部分), 而且当主机移动时,主机的IP地址需要改变。
当适配器接收到一个帧时,将检查该帧中的 目的MAC地址是否与它自己的MAC地址匹配。如果匹配,该适配器提取出封装的数据报,并将该数据报沿协议栈向上传递。如果不匹配,该适配器丢弃该帧,而不会向上传递该网络层数据报。
MAC广播地址:全为1,即(FF-FF-FF-FF-FF-FF)

地址解析协议(ARP)

因为存在网络层地址和链路层地址,所以需要在它们之间进行转换。对于因特网而言,这是地址解析协议的任务。ARP将一个IP 地址解析为一个MAC 地址。在很多方面它和DNS 类似,DNS将主机名解析为IP地址。然而,这两种解析器之间的一个重要区别是,DNS为在因特网中任何地方的主机解析主机名,而ARP只为在同一个子网上的主机和路由器接口解析IP地址。每台主机或路由器在其内存中具有一个ARP 表, 这张表包含IP地址到MAC地址的映射关系。
现在假设主机222. 222. 222. 220要发送一个数据报,该数据报要IP寻址到本子网上另 一台主机或路由器。发送主机需要获得给定IP地址的目的主机的MAC地址。如果发送方 的ARP表具有该目的结点的表项,这个任务是很容易完成的。但如果ARP表中当前没有 该目的主机的表项,又该怎么办呢?特別是假设222. 222. 222. 220要向222. 222. 222. 222 发送数据报。在这种情况下,发送方用ARP协议来解析这个地址。首先,发送方创造一 个称为ARP分组的特殊分组。一个ARP分组有几个字段,包括发送和接 收IP地址及MAC地址。ARP査询分组和响应分组都具有相同的格式。ARP査询分组的目的 是询问子网上所有其他主机和路由器,以确定对应于要解析的IP地址的那个MAC地址。 222. 222. 222. 220向它的适配器传递一个ARP查询分组,并且指示适配器应该用MAC广播地址(即FF-FF-FF-FF-FF-FF)来发送这个分组。适配器在链路层帧中封装这个ARP分组,用广播地址作为帧的目的地址,并将该帧传输进子网中。 包含该ARP查询的帧能被子网上的所有其他 适配器接收到,并且(由于广播地址)每个适配器都把在该帧中的ARP分组向上传递给 ARP模块。这些ARP模块中的每个都检查它的IP地址是否与ARP分组中的目的IP地址相匹配。与之匹配的一个给査询主机发送回一个带有所希望映射的响应ARP分组。然后 査询主机222. 222. 222. 220能够更新它的ARP表,并发送它的IP数据报,该数据报封装 在一个链路层帧中,并且该帧的目的MAC就是对先前ARP请求进行响应的主机或路由器 的MAC地址。
在这里插入图片描述
现在我们考察子网1上的一台主机将向子网2上的一台主机发送数据报。特别是,假设主机111.111.111.111要向主机222. 222. 222. 222发送一个IP数据报。和往常一样,发送主机向它的适配器传递数据报。但是,发送主机还必须向它的适配器指示一个适当的目 的MAC地址。该适配器应该使用什么MAC地址呢?
如果我们仔细地观察图5-19,我们发现为了使一个数据报从111. 111. 111.111到子网 2上的主机,该数据报必须首先发送给路由器接口 111.111.111.110,它是通往最终目的地路径上的第一跳路由器的IP地址。因此,对于该帧来说,适当的MAC地址是路由器接 口 111. 111. 111. 110的适配器地址,即E6- E9-00-17-BB-4B。但发送主机怎样获得 111.111.111.110的MAC地址呢?当然是通过使用ARP! —旦发送适配器有了这个MAC 地址,它创建一个帧(包含了寻址到222. 222. 222. 222的数据报),并把该帧发送到子网1 中。在子网1上的路由器适配器看到该链路层帧是向它寻址的,因此把这个帧传递给路由器的网络层。万岁!该IP数据报终于被成功地从源主机移动到这台路由器了!但是我们 的任务还没有结束。我们仍然要将该数据报从路由器移动到目的地。路由器现在必须决定 该数据报要被转发的正确接口。如在第4章中所讨论的,这是通过査询路由器中的转发表来完成的。转发表告诉这台路由器该数据报要通过路由器接口 222. 222. 222. 220转发。然后该接口把这个数据报传递给它的适配器,适配器把该数据报封装到一个新的帧中,并且 将帧发送进子网2中。这时,该帧的目的MAC地址确实是最终目的地MAC地址。路由器 又是怎样获得这个目的地MAC地址的呢?当然是用ARP获得的!

以太网

常用拓扑结构

总线型
星型

以太网帧结构

在这里插入图片描述
• 数据字段(46~1500字节)。这个字段承载了数据报。
• 目的地址(6字节)。这个字段包含目的适配器的MAC地址,即BB-BB-BB-BB- BB-BB。当适配器B收到一个以太网帧,帧的目的地址无论是BB-BB-BB-BB-BB- BB,还是MACT播地址,它都将该帧的数据字段的内容传递给网络层;如果它收到了具有任何其他MAC地址的帧,则丢弃之。
• 源地址(6字节)。这个字段包含了传输该帧到局域网上的适配器的MAC地址, 在本例中为 AA-AA-AA-AA-AA-AA。
• 类型字段(2字节)。类型字段允许以太网复用多种网络层协议。为了理解这点, 我们需要记住主机能够使用除了IP以外的其他网络层协议。事实上,一台给定的主机可以支持多种网络层协议,以对不同的应用采用不同的协议。因此,当以太网帧到达适配器B,适配器B需要知道它应该将数据字段的内容传递给哪个网络层协议(即分解)。
• CRC (4字节)。CRC(循环冗余检测)字段的目的是使得接收适配器检测帧中是否引入了差错。
•前同步码(8字节)。以太网帧以一个8字节的前同步码字段开始。 该前同步码的前7字节的值都是10101010;最后一个字节是10101011.前同步码字段的前7字节用于“唤醒”接收适配器,并且将它们的时钟和发送方的时钟同步。

基带传输和曼彻斯特编码

基带传输:适配器直接给广播信道发送数字信号。
带宽传输:将信号调制到特定频带传输。
数字信号编码类型:

  1. 不归零编码:使用原始基带数字信号传输。1—高电平,0—低电平
  2. 曼彻斯特编码:每位信号中间都有一个跳变。表示数据:1—高电平跳到低电平。0—低电平跳到高电平。做同步时钟:接收方根据跳变来同步接收。
  3. 差分曼彻斯特编码:每位信号中间都有一个跳变,只做时钟,不表示数据。根据每位开始处是否有跳变,来判断数据1或0,如:1—无跳变,0—有跳变。

以太网技术

吉比特以太网是对极为成功的10Mbps和100Mbps以太网标准的扩展。吉比特以太网 提供1000Mbps的总数据速率,与大量已经安装的以太网设备基础保持完全兼容。吉比特 以太网的标准称为IEEE 802. 3z,它完成以下工作:
•使用标准以太网帧格式 , 并且后向兼容10BASE-T与100BASE-T技术。这使得吉比特以太网和现已安装的以太网设备基础很容易集成。
•允许点对点链路以及共享的广播信道。如前所述,点对点链路使用交换机,而广播信道使用集线器。在吉比特以太网术语中,集线器被称为“带缓存的分配器”。
•使用CSMA/CD来共享广播信道。为了得到可接受的效率,结点之间的最大距离必须严格限制。
•对于点对点信道,允许在两个方向上都以1000Mbps全双工操作。

集线器

有多个接口,对比特操作而不是帧,从一个端口收到一个比特,向其他所有端口转发出去。
不实现CSMA/CD
提供网络管理功能,可以检测到适配器故障,并由内部断开其连接。
在这里插入图片描述
优点:
不同LAN网段的主机可以互相通信,
扩展了节点之间的最大距离,
主线集线器可以检测故障集线器,并断开。
缺点;
冲突域加大:由原有的各自独立的冲突域变成一个大的、公共的冲突域。
每个网段使用的以太网技术不同,不能用集线器互连。
主机总数和地理范围有限。受以太网技术约束。

链路层交换机

特点:
不同LAN网段的主机可以互相通信,每个LAN网段是一个独立的冲突域。
可以互联不同的LAN技术。
对LAN的大小没有限制,理论上,可以扩展到全球。
交换机以全双工方式工作。

交换机转发和过滤

过滤是决定一个帧应该转发到某个接口还是应当将其丢弃的交换机功能。
转发是决定一个帧应该被导向哪个接口,并把该帧移动到那些接口的交换机功能。
交换机的过滤和转发借助于交换机表完成。该交换机表包含某局域网上某些主机和路由器的但不必是全部的表项。交换机表中的一个表项包含:
①一个MAC地址;
②通向该MAC地址的交换机接口;
③表项放置在表中的时间;
在这里插入图片描述
可能的情况:
•表中没有对于DD-DD-DD-DD-DD-DD的表项。在这种情况下,交换机向除接口X外的所有接口前面的输出缓存转发该帧的副本。换言之,如果没有对于目的地址 的表项,交换机广播该帧。
•表中有一个表项将DD-DD-DD-DD-DD-DD与接口 联系起来。在这种情况下,该帧从包括适配器DD-DD-DD-DD-DD-DD的局域网网段到来。无需将该帧转发到任 何其他接口,交换机通过丢弃该帧执行过滤功能即可。
•表中有一个表项将DD-DD-DD-DD-DD-DD与接口联系起来。在这种情况下,该帧需要被转发到与接口y相连的局域网网段。交换机通过将该帧放到接口 y前面的输出缓存完成转发功能。

自学习

交换机是自学习的。这种能力是以如下方式实现的:
1) 交换机表初始为空。
2) 对于在每个接口接收到的每个入帧,该交换机在其表中存储:
①在该帧源地址字段中的MAC地址;
②该帧到达的接口;
③当前时间。交换机以这种方式在它的表中记录 了发送结点所在的局域网网段。如果在局域网上的每个结点最终都发送了一个帧,则每个 结点最终将在这张表中留有记录。
3) 如果在一段时间(称为老化期)后,交换机没有接收到以该地址作为源地址的帧,就在表中删除这个地址。以这种方式,如果一台PC被另一台PC (具有不同的适配器)代替,原来PC的MAC地址将最终从该交换机表中被清除掉。

链路层交换机性质

•消除碰撞。在使用交换机(不使用集线器)构建的局域网中,没有因碰撞而浪费 的带宽!交换机缓存帧并且决不会在网段上同时传输多于一个帧。就像使用路由 器一样,交换机的最大聚合带宽是该交换机所有接口速率之和。因此,交换机提 供了比使用广播链路的局域网髙得多的性能改善。
•异质的链路。交换机将链路彼此隔离,因此局域网中的不同链路能够以不同的速 率运行并且能够在不同的媒体上运行。
•管理。除了提供强化的安全性(参见插人材料“关注安全性”),交换机也易于进 行网络管理。

交换机与集线器比较

转发:
集线器:转发帧时,只是发送比特到链路上,并不侦听该链路是否忙;
交换机:将帧发送到共享链路上,运行CSMA/CD。
互联:
交换机:互联不同技术的以太网段、无地理范围限制。
集线器:不具备该特性。

交换机和路由器比较

路由器:

  1. 用网络层地址转发,是第三层的分组交换机。路由器维护选路表,实现选路算法。
  2. 网络寻址是层次的
  3. 若网络中存在冗余路径,分组不会在路由器中循环。
  4. 无生成树限制,使用路由器构建因特网可以采用大量丰富的拓扑结构。
  5. 可以使用源和目的之间的最佳路径
  6. 为第二层的广播风暴提供防火墙保护。
  7. 非即插即用:路由器和主机都需要配置IP地址
  8. 每个分组的处理时间比交换机长。
    交换机:
  9. 用MAC地址转发,是第二层的分组交换机。交换机维护交换机表,实现过滤、学习算法。
  10. 即插即用:不需要网络管理员的干预。
  11. 较高的分组过滤和转发率
  12. 拓扑结构为一颗生成树
  13. 可能产生广播风暴:某台主机失控,并传输无穷的以太网广播帧流,交换机将转发所有这些帧,导致整个以太网的崩溃。
    在这里插入图片描述

虚拟局域网

虚拟局域网(Virtula Local Network, VLAN)顾名思义,支持VLAN的交换机允许经一个单一的物理局域网基础设施定义多个虚拟局域网。在一个VLAN内的主机彼此通信,仿佛它们(并且没有其他主机)与交换机连接。在一个基于端口的VLAN中,交换机的端口(接口)由网络管理员划分为组。每个组构成一个 VLAN , 在每个VLAN 中的端口形成一个广播域(即来自一个端口的广播流量仅能到达该组中的其他端口)。

PPP

点对点链路:一个发送方、一个接收方、一段链路。
点对点链路采取的协议:点对点协议PPP和高级数据链路控制协议HDLC.
PPP协议使用的点对点链路:
串行的拨号电话线、SONET/SDH链路、X.25连接等。

考纲

(1) 差错检测技术
(2) 以太网的基本原理及技术
(3) 网络互连设备:集线器和交换机的原理和技术
(4) ARP协议的原理
集线器:
有多个接口。对比特操作而不是帧。从一个端口收到一个比特,向所有其他接口转发出去。