文章目录
重要内容
数据链路层点对点信道和广播信道的特点以及这两种信道使用的协议的特点。
数据链路层的三个基本问题:封装成帧,透明传输,差错检测。
以太网MAC层的硬件地址。
适配器,转发器,集线器,网桥,以太网交换机的作用以及使用场合。
3.1 使用点对点信道的数据链路层
3.1.1 数据链路和帧
数据链路层研究的是同一个局域网中,分组怎样从一个主机传送到另一个主机(不经过路由器)。数据链路层在物理层提供的服务的基础上向网络层提供服务。
数据链路层的作用就是将网络层的数据包封装成帧(交给物理层)发送到链路上,或者把(从物理层中)接收到的帧中的IP数据报取出并交给网络层。
数据链路层使用的信道主要有两种类型:
- 点对点信道:使用一对一的点对点通信方式。
- 广播通信:使用一对多的广播通信方式。
链路:从一个节点到相邻节点的一段物理线路。数据链路:通信协议加上物理通道(使用网络适配器实现这些网络协议)。
数据链路层协议数据单元:帧。网络层协议数据单元:IP数据报(数据报,分组或包)。
3.1.2 三个基本问题
数据链路协议的三个基本共同问题:封装成帧,透明传输,差错检测。
封装成帧:将IP数据报的前后分别添加首部和尾部构成帧,以便于接收端能够在物理层的比特流中知道帧的开始和结束,即进行帧定界。此外,首部和尾部还要添加许多控制信息,链路层协议规定了所能传送的帧的数据部分长度上限,最大传送单元MTU。
透明传输:指在数据链路层传输时,所传输的数据在数据链路层没有任何的阻挡,接收方所收到的数据和发送方发送的数据没有任何差别,也就是说,数据链路层对其传输的数据帧是完全透明的。
字节填充:在传输的过程中,为防止数据部分出现帧定界符,使得接收方误以为收到的数据提前结束,所以采用转义字符的方法,将在数据部分出现的控制字符前插入转义字符ESC,在接收方的数据链路层将插入的转义字符删除。
差错检测:传输过程中可能会产生比特差错(比特在传输过程中可能会发生差错:1变成0,0变成1)。
循环冗余检验CRC:在发送端,先把数据划分为组,假定每组k个比特,若传输一组数据M=101001(k=6),在M后添加供差错检测用的n位冗余码后一起发送,共发送(k+n)位,接收方用收到的数据除P,若余数为0则表示没有差错。
冗余码的计算方法:在M后面添加n个0,得到(k+n)位的数除以选定好的除数p,得出商Q,余数R,将余数R作为冗余码,添加到M后。
注意:在数据链路层使用CRC检验,能实现无比特差错传输,但这还不是可靠传输,只能做到无差错接收,要做到可靠传输,必须加上确认和重传机制。
3.2 点对点协议PPP
3.2.1 PPP协议的特点
点对点协议PPP:用户计算机和ISP进行通信时使用的链路层协议(只支持全双工链路)。
PPP协议的特点:简单、封装成帧、透明性、多种网络层协议、多种类型链路、差错检测、检测连接状态、最大传送单元、网络层地址协商、数据压缩协商。
PPP协议三个组成部分:
- 一个将IP数据报封装到串行链路的方法。
- 一个用来建立,配置和测试数据连路连接的链路控制协议LCP。
- 一套网络控制协议NCP(每个协议用来支持不同的网络层协议)。
3.2.2 PPP协议的帧格式
各字段的意义:
- F为标志字段,表示一个帧的开始或者结束。
- A为地址字段,规定为0xFF。
- C为控制字段,规定为0x03。
- 协议字段区分信息部分的内容(为0x0021时表示信息字段时IP数据报,为0xC021时表示信息字段为PPP链路控制协议LCP的数据,为0x8021时表示这是网络层的控制数据)。
- 信息字段的长度可变,不超过1500字节。
- FCS字段表示的是帧检验序列。
信息字段中出现和标志字段相同的比特组合时,当ppp使用异步传输时(逐个字符的传送),它把转义字符定义为0x7E,并使用字节填充。当ppp协议使用同步传输(一连串的比特连续传送)时,使用零比特填充(只要发现5个连续1,则立即填入一个0)的方法来实现透明传输。
3.2.3 PPP协议的工作状态
用户拨号接入ISP,端机向ISP发送一系列链路控制协议LCP分组,进行网络层配置,网络层协议NCP向端机分配IP地址。
3.3 使用广播信道的数据链路层
3.3.1 局域网的数据链路层
局域网使用的就是广播信道,局域网的特点:网络为一个单位所拥有,地理范围和站点数目有限。
局域网的主要优点:
- 具有广播功能,从一个站点可很方便的访问全网。
- 便于系统的扩展和演变,各设备的位置可灵活调整和改变。
- 提高了系统的可靠性、可用性和生存性。
局域网的拓扑结构:总线网、环形网、星形网。
共享信道的两种技术方法:
- 静态划分信道:频分复用、时分复用、波分复用、码分复用。
- 动态媒体接入控制:随机接入、受控接入。
适配器的作用:
- 适配器用来连接计算机与局域网,同时要能够实现以太网协议。
- 适配器和局域网之间的通信是通过双绞线或者电缆以串行传输的方式进行的,而适配器与计算机之间的通信是并行方式进行的,所以适配器的要能够进行两种数据传送方式之间的串并行转化。
- 网络上的数据率与计算机总线上的数据率不同,因此适配器要安装内存储器以进行两种速率下的缓存功能。
- 适配器要能够实现以太网协议。
- 计算机的硬件地址就在适配器的ROM中。
3.3.2 CSMA/CD协议
CSMA/CD协议:基于以太网的广播通信方式采用的具有检测功能的协议。要点:载波监听多点接入/碰撞检测(只能进行半双工通信):
- 多点接入:总线型网络,许多计算机以多点接入方式连接在一根总线上。
- 载波监听:每个站在发送前和发送的时候都不断的检测信道是否有其他站点在发送信号。
- 碰撞检测:边发送边监听,若在信道上有至少两个站点同时发送信息便发生碰撞,使得两边发送的信息都作废。
电磁波在1km的电缆传送的传播时延约为5μs,所以一个站点最长在发送信息之后的一个往返时间(即两倍的端到端的传播时延)内才能收到碰撞信号。所以一个站点在发送信号的一段时间内,是不确定是否会遭遇碰撞的,即以太网发送的不确定性,而这段不确定是否会发生碰撞的时间称为争用期(或碰撞窗口)。
在争用期如果发生碰撞则双方都需要进行重传操作,而以太网使用的确定重传时间的方法称为截断二进制指数退避算法。这是一种动态退避算法,在争用期(具体为51.2μs)内可传送512bit,即64字节,所以发生碰撞的时间就在站点发送512bit的时间内(也就是说,如果站点在发送一个完整的64字节的过程中没有检测到碰撞信号,则说明以后的发送都不会发生碰撞,可以完整的发送完整个数据帧)。
具体的算法原理在这就不详细说明了,在动态退避的过程中,为了使所有的站点发送的每一个数据帧都能保证得到想要的发送结果信息(是否发生碰撞),则规定一个数据帧的最小长度应该为512bit,这样,每个站点在发送所有的数据帧时都能够在发送完之前知道是否发生了碰撞,是否需要重传(如果小于最小帧长64字节,则有可能在完全发送完之后才发生碰撞,这样发送站点就不知道发生了碰撞,即不会重传该帧),因此,在以太网中多点信道中,凡长度小于64字节的帧都是由于冲突而发生异常终止的无效帧,在接收站点的适配器中即可方便判断出该结果。
规定帧间最小间隔9.6μs,是为了使刚刚收到数据帧站点能够有时间对手的数据帧作出反应。
强化碰撞:在发生碰撞之后除了立即停止发送数据之外,还要发送32bit或48bit的人为干扰信号,目的是为了能够让所有站点都知道发生了碰撞。
3.4 使用广播信道的以太网
3.4.1 使用集线器的星形拓扑
以太网提供的服务:无连接的工作方式,尽最大努力交付,即不可靠交付,发送的数据都使用曼彻斯特编码的信号。双绞线以太网的出现,是局域网发展史上的一个重要的里程碑。
集线器的特点:
- 集线器使用电子器件模拟实际电缆线的工作,所以使用集线器的以太网在逻辑上还是一个总线网,各站逻辑上共享总线。而且是用的还是CSMA/CD协议。
- 集线器的接口通过两对双绞线与计算机上的适配器相连,一个集线器像是一个多接口的转发器。
- 集线器工作在物理层,每个接口只简单地转发比特,不进行碰撞检测。
- 集线器采用专门的芯片,进行自适应串音回波抵消,使得同一接口的强信号不会对弱信号产生干扰。
3.4.2 以太网的信道利用率
略
3.4.3 以太网的MAC层
MAC层的硬件地址:硬件地址又称为物理地址或MAC地址。硬件地址其实不算严格意义上的地址,因为并没有指明具体位置,硬件地址是适配器唯一编号,用来唯一的标识每台电脑上的适配器。硬件地址在适配器生产时固化在适配器的ROM中。
MAC地址的格式:总共48位(6字节),前三个字节由lEEE的注册管理机构RA负责向厂家分配,后三字节由制造公司自行分配,称为扩展标识符,必须保证生产出的适配器没有重复的地址。
MAC帧的格式:
各字段的意义:
- 目的地址和源地址指的是硬件地址。
- 类型字段用来标志上层使用的是什么协议。
- FCS帧检验序列,使用CRC检验。
- 前同步码是为了使适配器的时钟与比特流达成同步。
同时我们要注意的是在MAC帧中并没有数据长度的标识,但由于传输时使用的是曼彻斯特编码的方式,所以通过对曼彻斯特编码的信号特点的观察便可确定是否传送完毕(曼彻斯特编码信号的码元正中间有一次电压转换)。
3.5 扩展的以太网
3.5.1 在物理层扩展以太网
集线器:工作在物理层,不进行碰撞检测,不具备过滤流量等智能功能,增大了冲突域,降低了网络的性能。使用集线器的以太网在逻辑上仍是一个总线网。
用集线器扩展以太网:
优点:使原来属于不同碰撞域的局域网上的计算机能够进行跨碰撞域的通信,扩大了以太网覆盖的地理范围。
缺点:碰撞域增大了,但总的吞吐量并未提高。如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来。
3.5.2 在数据链路层扩展以太网
网桥:在数据链路层扩展以太网是使用网桥,网桥工作在数据链路层,它根据MAC帧的目的地址对收到的帧进行转发。网桥具有过滤帧的功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口。
网桥和集线器的不同:集线器在转发帧时,不对传输媒体进行检测。网桥在转发帧之前必须执行CSMA/CD算法,若在发送过程中出现碰撞,就必须停止发送和进行退避。
使用网桥的优点:过滤通信量,扩大物理范围,提高可靠性,可互连不同物理层、不同MAC子层和不同速率的局域网。
使用网桥的缺点:存储转发增加了时延,MAC子层没有流量控制功能,只适合用户不太多和通信量不太大的局域网,否则有时还会因传播过多广播信息而产生网络拥塞。
透明网桥:目前使用得最多的网桥就是透明网桥了,透明是指局域网上的站点并不知道所发送的帧将经过哪几个网桥,因为网桥对各站来说是看不见的。透明网桥还是一种即插即用设备,意思是只要把网桥接入局域网,它能根据自学习算法自动初始化并对自身进行配置,不需要人工配置转发表。
自学习算法:
- 若从A发出的帧从接口x进入了某网桥,那么从这个接口出发沿相反方向一定可把一个帧传送到A。
- 网桥每收到一个帧,就记下其源地址和进入网桥的接口,作为转发表中的一个项目。
- 在建立转发表时是把帧首部中的源地址写在地址这一栏的下面。
- 在转发帧时,则是根据收到的帧首部中的目的地址来转发的。这时就把在地址栏下面已经记下的源地址当作目的地址,而把记下的进入接口当作转发接口。
转发表的建立过程举例:
网桥的自学习和转发帧的步骤归纳:
- 网桥收到一帧后先进行自学习。查找转发表中与收到帧的源地址有无相匹配的项目。如没有,就在转发表中增加一个项目(源地址、进入的接口和时间)。如有,则把原有的项目进行更新。
- 转发帧:查找转发表中与收到帧的目的地址有无相匹配的项目,如没有,则通过所有其他接口(但进入网桥的接口除外)进行转发。如有,则按转发表中给出的接口进行转发。若转发表中给出的接口就是该帧进入网桥的接口,则应丢弃这个帧(因为这时不需要经过网桥进行转发)。
透明网桥使用生成树算法避免产生转发的帧在网络中不断地兜圈子。生成树的得出:互连在一起的网桥在进行彼此通信后,就能找出原来的网络拓扑的一个子集。在这个子集里,整个连通的网络中不存在回路,即在任何两个站之间只有一条路径。
源路由网桥:因为使用透明网桥的网络资源利用不够高,所以由发送帧的源站负责路由选择的网桥就问世了。为了发现合适的路由,源站以广播方式向欲通信的目的站发送一个发现帧作为探测之用。发现帧将在整个扩展的以太网中沿着所有可能的路由传送。在传送过程中,每个发现帧都记录所经过的路由。当这些发现帧到达目的站时,就沿着各自的路由返回源站。源站在得知这些路由后,从所有可能的路由中选择出一个最佳路由。以后,凡从这个源站向该目的站发送的帧的首部,都必须携带源站所确定的这一路由信息。
多接口网桥(以太网交换机):1990年问世的交换式集线器,可明显地提高以太网的性能。交换式集线器常称为以太网交换机或第二层交换机,表明这种交换机工作在数据链路层。以太网交换机通常都有十几个接口。因此,以太网交换机实质上就是一个多接口的网桥,可见交换机工作在数据链路层。
以太网交换机的特点:
- 以太网交换机的每个接口都直接与主机相连,并且一般都工作在全双工方式。
- 交换机能同时连通许多对的接口,使每一对相互通信的主机都能像独占通信媒体那样,进行无碰撞地传输数据。
- 以太网交换机由于使用了专用的交换结构芯片,其交换速率就较高。
使用以太网交换机扩展以太网:
虚拟局域网:利用以太网交换机可以很方便地实现虚拟局域网。虚拟局域网(VLAN)是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的工作站是属于哪一个VLAN。虚拟局域网其实只是局域网给用户提供的一种服务,而不是一种新型局域网。
3.6 高速以太网
高速以太网:速率超过100Mb/s的以太网。
- 100BAST-T(快速以太网)
- 吉比特以太网(千兆以太网)
- 10吉比特以太网(10吉比特以太网并非把吉比特以太网的速率简单地提高到10倍)