#链路层提供的服务

  • 成帧( framing)。在每个网络层数据报经链路传送之前,几乎所有的链路层协议都要将其用链路层帧封装起来。一个帧由一个数据字段和若干首部字段组成,其中网络层数据报就插在数据字段中。帧的结构由链路层协议规定。
  • 链路接入。媒体访问控制( Medium Access Control, MAC)协议规定了帧在链路上传输的规则。对于在链路的一端仅有一个发送方、链路的另一端仅有一个接收方的点对点链路,MAC协议比较简单(或者不存在),即无论何时链路空闲,发送方都能够发送帧。更有趣的情况是当多个节点共享单个广播链路时,即所谓多路访问问题。这里,MAC协议用于协调多个节点的帧传输。
  • 可靠交付。当链路层协议提供可靠交付服务时,它保证无差错地经链路层移动每个网络层数据报。链路层的可靠交付服务通常是通过确认和重传取得的链路层可靠交付服务通常用于易于产生高差错率的链路,例如无线链路,其目的是本地(也就是在差错发生的链路上)纠正一个差错,而不是通过运输层或应用层协议迫使进行端到端的数据重传。然而,对于低比特差错的链路,包括光纤、同轴电缆和许多双绞铜线链路,链路层可靠交付可能会被认为是一种不必要的开销。由于这个原因,许多有线的链路层协议不提供可靠交付服务。
  • 差错检测和纠正。当帧中的一个比特作为1传输时,接收方节点中的链路层硬件可能不正确地将其判断为0,反之亦然。因为没有必要转发一个有差错的数据报,所以许多链路层协议提供一种机制来检测这样的比特差错。通过让发送节点在帧中包括差错检测比特,让接收节点进行差错检查,以此来完成这项工作。链路层的差错检测通常更复杂,并且用硬件实现。差错纠正类似于差错检测,区别在于接收方不仅能检测帧中出现的比特差错,而且能够准确地确定帧中的差错出现的位置(并因此纠正这些差错)。 #链路层在何处实现 链路层的主体部分是在网络适配器( network adapter)中实现的,网络适配器有时也称为网络接口卡( Network Interface Card, NIC)。位于网络适配器核心的是链路层控制器,该控制器通常是一-个实现了许多链路层服务(成帧、链路接人、差错检测等)的专用芯片。因此,链路层控制器的许多功能是用硬件实现。 在发送端,控制器取得了由协议栈较高层生成并存储在主机内存中的数据报,在链路层帧中封装该数据报(填写该帧的各个字段),然后遵循链路接人协议将该帧传进通信链路中。在接收端,控制器接收了整个帧,抽取出网络层数据报。如果链路层执行差错检测,则需要发送控制器在该帧的首部设置差错检测比特,由接收控制器执行差错检测。 #差错检测和修正 ##奇偶校验单比特奇偶校验 也许差错检测最简单的方式就是用单个奇偶校验位送的信息D有d比特。在偶校验方案中,发送方只需 包含一个附加的比特,选择它的值,使得这d+1比特(初始信息加上一个校验比特)中1的总数是偶数。对于奇校验方案,选择校验比特值使得有奇数个1。

vlan划分是用防火墙_链路层

  • 二维奇偶校验 现在假设在初始d比特信息中出现了单个比特差错。使用这种二维奇偶校验( two- dimensional parity) 方案,包含比特值改变的列和行的校验值都将会出现差错。因此接收方不仅可以检测到出现了单个比 特差错的事实,而且还可以利用存在奇偶校验差错的列和行的索引来实际识别发生差错的比特并纠正它!

vlan划分是用防火墙_链路_02

  • ##检验和方法 在检验和技术中,d比特数据被作为一个k比特整数的序列处理。一个简单检验和方法就是将这k比特整数加起来,并且用得到的和作为差错检测比特。因特网检验和( Internet checksum)就基于这种方法,即数据的字节作为16比特的整数对待并求和。这个和的反码形成了携带在报文段首部的因特网检验和。接收方通过对接收的数据( 包括检验和)的和取反码,并且检测其结果是否为全1比特来检测检验和。如果这些比特中有任何比特是0,就可以指示出差错。 ##循环冗余检测(CRC) 也叫做多项式编码 #多路访问链路和协议 ##多路访问链路点对点链路 单个发送方和单个接收方 PPP——点对点协议 HDLC——高级数据链路控制协议广播链路 多个发送和接收结点连接到相同的、单一的、共享的信道 #链路层寻址 事实上,并不是主机或路由器具有链路层地址,而是它们的适配器( 即网络接口)具有链路层地址。因此,具有多个网络接口的主机或路由器将具有与之相关联的多个链路层地址,就像它也具有与之相关联的多个IP地址一样。然而,重要的是注意到链路层交换机并不具有与它们的接口( 这些接口是与主机和路由器相连的)相关联的链路层地址。这是因为链路层交换机的任务是在主机与路由器之间承载数据报;交换机透明地执行该项任务,这就是说,主机或路由器不必明确地将帧寻址到其间的交换机。 当某适配器要向某些目的适配器发送一个帧时,发送适配器将目的适配器的MAC地址插入到该帧中,并将该帧发送到局域网上。这样,当适配器接收到一个帧时,将检查该帧中的目的MAC地址是否与它自己的MAC地址匹配。如果匹配,该适配器提取出封装的数据报,并将该数据报沿协议栈向上传递。如果不匹配,该适配器丢弃该帧,而不会向上传递该网络层数据报。所以,仅当收到该帧时,才会中断目的地。 然而,有时某发送适配器的确要让局域网上所有其他适配器来接收并处理它打算发送的帧。在这种情况下,发送适配器在该帧的目的地址字段中插入一个特殊的MAC广播地址(broadcast address)。对于使用6字节地址的局域网(例如以太网和802.11)来说,广播地址是48个连续的1组成的字符串( 即以十六进制表示法表示的FF-FF-FF- FF- FF-FF)。 ##地址解析协议(ARP) 网络层地址(例如,因特网的IP地址)和链路层地址( 即MAC地址),所以需要在它们之间进行转换。对于因特网而言,这是地址解析协议的任务。 每台主机或路由器在其内存中具有一个ARP表(ARPtable),这张表包含IP地址到MAC地址的映射关系。 该ARP表也包含一个寿命(TTL)值,它指示了从表中删除每个映射的时间。注意到这张表不必为该子网上的每台主机和路由器都包含一个表项;某些可能从来没有进入到该表中,某些可能已经过期。从一个表项放置到某ARP表中开始,一个表项通常的过期时间是20分钟。

vlan划分是用防火墙_链路_03

  • 如果ARP表中当前没有该目的主机的表项,又该怎么办呢?特别是假设222. 222. 222. 220要向222. 222. 222. 222发送数据报。在这种情况下,发送方用ARP协议来解析这个地址。首先,发送方构造一 个称为ARP分组( ARP packet)的特殊分组。一个ARP分组有几个字段,包括发送和接收IP地址及MAC地址。ARP查询分组和响应分组都具有相同的格式。ARP查询分组的目的是询问子网上所有其他主机和路由器,以确定对应于要解析的IP地址的那个MAC地址。 #以太网 以太网的成功有很多原因。首先,以太网是第一个广泛部署的高速局域网。因为它部署得早,网络管理员非常熟悉以太网,并当其他局域网技术问世时,他们不愿意转而用之。其次,令牌环、FDDI 和ATM比以太网更加复杂、更加昂贵,这就进一步阻碍了网络管理员改用其他技术。第三,改用其他局域网技术的最引人注目的原因通常是这些新技术具有更高数据速率;然而以太网产生了运行在相同或更高数据速率下的版本。20世纪90年代初期引入了交换以太网,这就进一步增加了它的有效数据速率。最后,由于以太网已经很流行了,所以以太网硬件(尤其是适配器和交换机)成了一个普通商品,而且极为便宜。 集线器(hub) 是一种物理层设备,它作用于各个比特而不是作用于帧。当表示一个0或一个1的比特到达一个接口时,集线器只是重新生成这个比特,将其能量强度放大,并将该比特向其他所有接口传输出去。 ##以太网帧格式

vlan划分是用防火墙_链路_04

  • 数据字段(46~1500 字节)。这个字段承载了IP 数据报。以太网的最大传输单元(MTU)是1500字节。这意味着如果IP数据报超过了1500字节,则主机必须将该数据报分片。数据字段的最小长度是46字节。这意味着如果IP数据报小于46字节,数据报必须被填充到46字节。当采用填充时,传递到网络层的数据包括IP数据报和填充部分。网络层使用IP数据报首部中的长度字段来去除填充部分。
  • 目的地址(6字节)。这个字段包含目的适配器的MAC地址,即BB-BB-BB-BB-BB-BB。当适配器B收到一个以太网帧,帧的目的地址无论是BB- BB- BB- BB- BB-BB,还是MAC广播地址,它都将该帧的数据字段的内容传递给网络层;如果它收到了具有任何其他MAC地址的帧,则丢弃之。
  • 源地址(6字节)。这个字段包含了传输该帧到局域网上的适配器的MAC地址,在本例中为AA-AA- AA- AA-AA-AA。
  • 类型字段(2字节)。类型字段允许以太网复用多种网络层协议。为了理解这点,我们需要记住主机能够使用除了IP以外的其他网络层协议。事实上,一台给定的主机可以支持多种网络层协议,以对不同的应用采用不同的协议。
  • CRC (4字节)。CRC ( 循环冗余检测)字段的目的是使得接收适配器(适配器B)检测帧中是否引入了差错。
  • 前同步码(8 字节)。以太网帧以一个8字节的前同步码( Preamble)字段开始。该前同步码的前7字节的值都是10101010;最后一个字节是10101011。前同步码字段的前7字节用于“唤醒”接收适配器,并且将它们的时钟和发送方的时钟同步。接收适配器只需通过锁定前同步码的前7字节的比特,就能够锁定适配器A的时钟。前同步码的第8个字节的最后两个比特(第一个出现的两个连续的1)警告适配器B,“重要的内容”就要到来了。
    所有以太网技术都向网络层提供无连接、不可靠服务。特别是,当适配器B收到一个来自适配器A的帧,它对该帧执行CRC校验,但是当该帧通过CRC校验时它既不发送确认帧;而当该帧没有通过CRC校验时它也不发送否定确认帧。当某帧没有通过CRC校验,适配器B只是丢弃该帧。因此,适配器A根本不知道它传输的帧是否到达了B并通过了CRC校验。(在链路层)缺乏可靠的传输有助于使得以太网简单和便宜。但是它也意味着传递到网络层的数据报流能够有间隙。
    ##以太网技术
    以太网技术有100BASE-T、1000BASE-LX和10GBASE-T。尽管这些首字母缩写词看起来眼花缭乱,实际上其中非常有规律性。首字母缩写词的第一部分指该标准的速率: 10、100、 1000 或10G,分别代表10Mbps、100Mbps、 1000Mbps(或1Gbps)和10Gbps以太网。“BASE"指基带以太网,这意味着该物理媒体仅承载以太网流量;几乎所有的802. 3标准都适用于基带以太网。该首字母缩写词的最后-一部分指物理媒体本身;以太网是链路层也是物理层的规范,并且能够经各种物理媒体( 包括同轴电缆、铜线和光纤)承载。一般而言,“T”指双绞铜线。
    #链路层交换机
    链路层交换机的任务是接收入链路层帧并将它们转发到出链路。
    ##交换机的转发和过滤
    过滤(filtering)是决定一个帧应该转发到某个接口还是应当将其丢弃的交换机功能。转发( forwarding)是决定一个帧应该被导向哪个接口,并把该帧移动到那些接口的交换机功能。交换机的过滤和转发借助于交换机表( switch table)完成。该交换机表包含某局域网上某些主机和路由器的但不必是全部的表项。交换机表中的一个表项包含:①一个MAC地址;②通向该MAC地址的交换机接口;③表项放置在表中的时间。
    转发和过滤的过程
    为了理解交换机过滤和转发的工作过程,假定目的地址为DD-DD-DD-DD-DD-DD的帧从交换机接口x到达。交换机用MAC地址DD-DD-DD- DD- DD-DD索引它的表。有3种可能的情况:
  • 表中没有对于DD- DD- DD-DD-DD-DD的表项。在这种情况下,交换机向除接口x外的所有接口前面的输出缓存转发该帧的副本。换言之,如果没有对于目的地址的表项,交换机广播该帧。
  • 表中有一个表项将DD- DD- DD- DD- DD-DD与接口x联系起来。在这种情况下,该帧从包括适配器DD- DD- DD- DD- DD- DD的局域网网段到来。无须将该帧转发到任何其他接口,交换机通过丟弃该帧执行过滤功能即可。
  • 表中有一个表项将DD-DD-DD-DD-DD-DD与接口y≠x联系起来。在这种情况下,该帧需要被转发到与接口y相连的局域网网段。交换机通过将该帧放到接口y前面的输出缓存完成转发功能。
    自学习
    交换机的表是自动、动态和自治地建立的。
    1)交换机表初始为空。
    2)对于在每个接口接收到的每个人帧,该交换机在其表中存储:①在该帧源地址字段中的MAC地址;②该帧到达的接口;③当前时间。交换机以这种方式在它的表中记录了发送节点所在的局域网网段。如果在局域网上的每个主机最终都发送了一个帧,则每个主机最终将在这张表中留有记录。
    3)如果在一段时间(称为老化期( aging time))后,交换机没有接收到以该地址作为源地址的帧,就在表中删除这个地址。以这种方式,如果一台PC被另一台PC (具有不同的适配器)代替,原来PC的MAC地址将最终从该交换机表中被清除掉。
    交换机是即插即用的设备。
    交换机的优点
  • 消除碰撞。在使用交换机(不使用集线器)构建的局域网中,没有因碰撞而浪费的带宽!交换机缓存帧并且决不会在网段上同时传输多于一个帧。就像使用路由器一样,交换机的最大聚合带宽是该交换机所有接口速率之和。因此,交换机提供了比使用广播链路的局域网高得多的性能改善。
  • 异质的链路。交换机将链路彼此隔离,因此局域网中的不同链路能够以不同的速率运行并且能够在不同的媒体上运行。因此,对于原有的设备与新设备混用,交换机是理想的。
  • 管理。除了提供强化的安全性,交换机也易于进行网络管理。例如,如果-一个适配器工作异常并持续发送以太网帧(称为快而含糊的(jabbering)适配器),交换机能够检测到该问题,并在内部断开异常适配器。 #交换机和路由器的比较

vlan划分是用防火墙_链路_05



  • 不同处
  • 路由器使用网络层地址转发分组,交换机使用MAC地址
  • 交换机是第二层的分组交换机,路由器是第三层的分组交换机交换机的优缺点 首先考虑交换机的优点和缺点。交换机是即插即用的,交换机还能够具有相对高的分组过滤和转发速率,交换机必须处理高至第二层的帧,而路由器必须处理高至第三层的数据报。在另一方面, 为了防止广播帧的循环,交换网络的活跃拓扑限制为一棵生成树。另外,一个大型交换网络将要求在主机和路由器中有大的ARP表,这将生成可观的ARP流量和处理量。而且,交换机对于广播风暴并不提供任何保护措施,即如果某主机出了故障并传输出没完没了的以太网广播帧流,该交换机将转发所有这些帧,使得整个以太网的崩溃。路由器的优缺点 因为网络寻址通常是分层次的(不像MAC寻址那样是扁平的),即使当网络中存在冗余路径时,分组通常也不会通过路由器循环。(然而,当路由器表被误配置时,分组可能循环;但是如我们在第4章所知,IP用一个特殊的报文首部字段来限制循环。)所以,分组就不会被限制到一棵生成树上,并可以使用源和目的地之间的最佳路径。因为路由器没有生成树限制,所以它们允许以丰富的拓扑结构构建因特网。路由器的另一个特色是它们对第二层的广播风暴提供了防火墙保护。尽管也许路由器最重要的缺点就是它们不是即插即用的,即路由器和连接到它们的主机都需要人为地配置IP地址。而且路由器对每个分组的处理时间通常比交换机更长,因为它们必须处理高达第三层的字段。 因此在小网络中(几百台主机)使用交换机,更大的网络用路由器。 #虚拟局域网 支持VLAN的交换机允许经一个单一的物理局域网基础设施定义多个虚拟局域网。在一个VLAN内的主机彼此通信,仿佛它们(并且没有其他主机)与交换机连接。在一个基于端口的VLAN中,交换机的端口(接口)由网络管理员划分为组。每个组构成一一个 VLAN,在每个VLAN中的端口形成一个广播域( 即来自一个端口的广播流量仅能到达该组中的其他端口) #多协议标签交换(MPLS) 其目标是:对于基于固定长度标签和虛电路的技术,在不放弃基于目的地IP数据报转发的基础设施的前提下,当可能时通过选择性地标识数据报并允许路由器基于固定长度的标签(而不是目的地IP地址)转发数据报来增强其功能。重要的是,这些技术与IP协同工作,使用IP寻址和路由选择。

vlan划分是用防火墙_链路_06

  • 标签:标识符
  • 3比特的实验字段:保留用于实验 一个MPLS加强的帧仅能在两个均为MPLS使能的路由器之间发送。

vlan划分是用防火墙_链路层_07