计算机网络第三章

概述

数据链路层属于计算机网络的底层,使用的信道主要有以下两种类型:
1.点对点信道。
2.广播信道。过程比较复杂,广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调。

从整个的互联网来看,局域网属于链路层的范围:
为什么?
因为在网络层要讨论的问题是多个网络互连的问题,是讨论分组怎样从一个网络,通过路由器转发到另一个网络;本章研究的是在同一个局域网中,分组怎样从一台主机到另一台主机,但不经过路由器转发。请添加图片描述
( 如上图,主机都有完整的五层协议栈,但路由器在转发分组时使用的协议栈只有下边的三层,即数据进入路由器后要先从物理层上到网络层,找到下一跳的地址后,再下到物理层转发出去。)

本章主要内容:
1.数据链路层的点对点,广播信道的特短及协议(PPP和CSMA/CD)
2.数据链路层的4个基本问题:封装成帧、透明传输、差错检测、多路访问(广播信道要考虑)
3.以太网MAC层的硬件地址
4.适配器、转发器、集线器、网桥、以太网交换机的作用及使用场合
请添加图片描述

概述补充:数据链路层的功能

成帧framing

比特流划分为帧的主要目的是为了检测和纠正物理层在比特传输中可能出现的错误,数据链路层功能需借助帧的各个域来实现

差错控制error control

处理传输中出现的差错,如位错误、丢失

流量控制flow control

确保发送方的发送速率,不大于接收方的处理速率

补充:数据链路层提供的服务

无确认 无连接 服务

适用:误码率低的可靠信道;实时通信
如:以太网

有确认 无连接服务

适用:不可靠的信道(无线信道)
如:802.11

有确认 有连接服务

适用:长延迟的不可靠信道

3.1数据链路层的几个问题

(主要是点对点信道的一些基本问题,某些概念也适用于广播信道)

3.1.1数据链路和帧

链路:link
从一个节点到相邻节点的一段物理线路(有线或无线),而中间没有任何其他的交换节点。只是一条路径的组成部分。

数据链路:data link
当需要在一条线路上传送数据时,除了必有一条物理线路外,还必有一些必要的通信协议来控制这些数据的传输。链路+协议的硬件和软件=数据链路。现在常用的方法是使用网络适配器(含硬件、软件)来实现这些协议,一般的适配器都包含了数据链路层和物理层的功能。

也有人将链路分为物理链路和逻辑链路,是物理链路加上必要的通信协议;早期的数据通信协议曾叫做通信规程procedure,即在数据链路层,规程和协议是同义语。

帧:
数据链路层将网络层交下来的数据构成帧发送到链路上,以及把接收到的帧中的数据取出并上交给网络层,在互联网中,网络层协议数据单元就是IP数据报(或简称为数据报、分组或包)。
在这里插入图片描述
得益于物理层,数据链路层无需考虑实现比特传输的细节。
点对点信道的数据链路层通信时的步骤:
1.节点A的数据链路层把网络层交下来的IO数据报添加首部和尾部封装成帧;
2.节点A把封装好的帧发送给节点B的数据链路层;
3.若节点B的数据链路层受到的帧无差错,则从收到的帧中提取出IP数据报交给上边的网络层,否则丢弃这个帧。

3.1.2三个基本问题

1.封装成帧
两种方法:用控制字符串进行帧定界(适用于数据是由可打印的ASCII码组成的文本文件)
用特殊比特进行帧定界(适用于由二进制组成的比特块的数据)
补充第三种方法:
字节计数法:(适合无差错传输)这种方法很简单,一旦出错,影响也很灾难性,后边就都错了,
请添加图片描述
用帧的一个好处:当帧首位标识丢了一个,就能知道这个数据是个不完整的帧,从而丢弃。

补充概念:
帧的有效载荷:即中间的数据段
帧定界:确认帧的开始和结束
帧的长度:为数据包长度加上头尾的长度;需要注意的是帧规定了最小长度,如果数据包不够的话要填充。

2.透明传输
由上边的封装成帧,很自然的就可以想到一个问题,如果数据含的内容和标识重了怎么办?
(当传送是用文本文件组成的帧时,其数据部分不会出现像SOH或EOT这样的帧定界控制字符(因为文本文件中的字符都是从键盘上输入的),但当是非ASCII码的文本文件时,就可能出问题了)
数据链路层透明传送数据:表示无论什么样的比特组合的数据,都能按照原样没有差错的通过这个数据链路。

解决思路(字节填充法):
发送端的数据链路层在数据中出现控制字符SOH或EOT前边插入一个转义字符ESC,而在接收端的数据链路层在把数据送往网络层之前删除这个插入的转义字符,如果转义字符也出现在字符中那么就再加一个转义字符(无限套娃,所以为什么不直接加SOH或EOT,可能是这样还要分两种?)接收端接收的时候删除一个转义字符(转义字符的下一个数据一定是有效数据载荷);如果直接遇到定界符那一定就是头尾,因为没有加转义。
解决思路(比特填充法)(在书的3.2.2节,PPP协议使用的方法):
(加入定界符是01111110)发送方检查有效载荷,若在有效中连续出现5个1比特则直接插入1个0比特,从而避免有效载荷中含六个1;
对于接受方:若出现连续5个1,若下一比特为0,则为有效载荷,直接丢弃0比特,若下一比特为1,则连同后一比特的0,构成定界符。

相比字节填充法,比特填充法只需要加1位0

3.差错检测
传输差错分为两大类:比特差错incorrect、帧丢失lost、重复repeatedly delivery、失序out of order(对应解决方案:差错纠正检测、确认重传;确认:接收方校验,并给放松方应答,定时器:发送方启动定时器防止丢失;顺序号:接收方检查序号、防止乱序、递交);本节主要讲比特差错。(注意:所以无比特差错并不等于无传输差错(传输差错很多类型))
应对方法:
最直接的一个方法,同样的数据传好几位,然后接收方对比,但是这样冗余很多很多,所以如何保证一定差错检测和纠错能力的前提下,较少冗余信息量。
需要考虑:
信道的特征和传输需求,冗余信息的计算方法,携带的冗余信息量,计算的复杂度等

1.循环冗余检验cyclic redundancy check
在数据M的后面添加供差错检验用的n位冗余码;
该方法只能做到对帧的无差错接受(以非常接近1的概率人为没有产生差错)(近似的认为)
(注意:FCS的生成和接收端的CRC检验都是用硬件完成的,处理很迅速,因此并不会延误数据传输)
2.奇偶校验
可进一步进行纠错,
3.在这里插入图片描述
4.校验和(TCP/IP体系中主要采用的校验方法)

对于通信质量好的有线传输来南路,数据链路层协议不使用确认和重传机制,即不要求向上提供可靠传输的服务,如果出现了差错并且需要改正,那么由上层协议(如:运输层的TCP)来完成。
对于通信质量差的就使用确认和重传机制,向上提供可靠传输服务。

4.补充
另一个问题:接收方的处理速率(即出现缓冲区溢出)
解决方案:
基于反馈的流量控制:接收方反馈
基于速率的流量控制:发送方根据内建机制,自行限速

检错(只能知道有错,但不知道哪错了,适用:高可误码率较低的信道上,如光纤链路,偶尔发生的差错可以重传)和纠错(加入冗余信息,从而定位出错位置,适用:错误发生频繁的,如无线链路,也可用于物理层及更高层;适用纠错码的技术通常称为前向纠错:FEC)是不一样的,后者还能纠正

可靠传输:发送端发送什么,接收方就收到什么

在这里插入图片描述
码字:指利用哈夫曼码编码后的信号

3.2点对点协议PPP

目前使用的最广泛的数据链路层协议。(随着发展,通信质量好多了)

3.2.1PPP协议的特点

互联网用户都要连接到某个ISP才能接入到互联网,PPP协议就是用户计算机和ISP进行通信时所使用的数据链路层协议。
在这里插入图片描述
1.PPP协议应满足的需求:
IETF认为应满足:简单(IETF在设计互联网体系结构时把其中最复杂的部分放在TCP协议中,而网际协议IP相对比较简单,提供不可靠的数据报服务,所以数据链路层没有必要提供比IP协议更多的功能,简单就好,即不需要纠错、序号、也不需要流量控制-提高通信效率);封装成帧;透明性;多种网络层协议;多种类型(并行、穿行、同步、一步、低速、高速、电、光、交换的、非交换的点对点)链路;差错检测;检测连接状态;最大传送单元;网络层地址协商;数据压缩协商;
PPP协议只支持点对点的链路通信,只支持全双工链路。
2.PPP协议的组成
1.一个将IP数据报封装到串行链路的方法,
2.LCP(link control protocol)用来建立、配置、测试数据链路连接。
3.NCP(network…)网络控制协议

3.2.2PPP协议的帧格式

1.各字段意义
在这里插入图片描述
2.字节填充
使用异步传输时。
3.零比特填充
使用同步传输时(连续5个1就加个0)
同步传输和异步传输
串并行,同步异步

PPP协议的工作状态

在这里插入图片描述

PPP(point to point protocol)协议不是纯粹的数据链路协议,还包含了物理层和网络层的内容。

3.3使用广播信道的数据链路层

局域网/以太网

3.3.1局域网的数据链路层

局域网的主要特点:
网络为同一个单位所有,且地理范围和站点数目均有限,有以下优点:
具有广播功能;便于系统的扩展和逐渐演变;提高系统的可靠性、可用性和生存性。
在这里插入图片描述
(随谈在本章讨论局域网,但并不意味着局域网仅仅涉及数据链路层)

共享信道的方法:
1.静态划分信道:如频分、时分、波分、码分复用,只要分配到了信道就不会冲突,但是代价较高,不适合局域网。
2.动态媒体接入控制(多点接入):随机接入(需要有解决碰撞的协议)、受控接入(典型代表:令牌环局域网和集中控制的多点线路探寻polling,目前用的较少)

1.LLC子层与传输媒体无关
在这里插入图片描述
2.适配器的作用
计算机与外界局域网的连接是通过适配器adapter。适配器本来是在主机箱内插图的一块网络接口板(或是笔记本电脑中插入一块PCMCIA卡-个人计算机存储器卡接口适配器),这种接口板又称为网络接口卡NIC(network interface card)简称网卡。
现在计算机主板上都已内嵌入了这种适配器,不再使用单独的网卡了。
在这种通用适配器上装有处理器和存储器(包括RAM和ROM),适配器和局域网之间的通信通过电缆或双绞线以串行方式进行,适配器和计算机之间的通信通过计算机主板上的I/O总线以并行传输方式进行。其次网络上的数据率和计算机总线上的数据率不相同。

综上,适配器需满足:
1.进行数据串行传输和并行传输的转换
2.必须装有对数据进行缓存的存储芯片
3.在主板上插入适配器示,还必须把管理适配器的设备驱动程序安装在计算机的操作系统中。(驱动程序会告诉适配器,应当从存储器的什么位置上把多长的数据块发送到局域网,或者在存储器的什么位置把局域网传送过来的数据块存储下来)
4.实现以太网协议

适配器在接收和发送各种帧时,不使用CPU;丢弃有问题的帧时不用告诉计算机,得到正确的帧时就用中断来通知计算机,并交付协议栈中的网络层。
在这里插入图片描述

3.3.2CSMA/CD协议

carrier sense multiple access with collision detection载波监听多点接入/碰撞检测

最早的以太网将许多计算机都接到一根总线上,认为无源的电缆线可靠;
总线的特点:
当一台计算机发送数据时,总线上所有计算机都能检测到这个数据(广播通信);档摊在发送数据帧时,在帧的首部写明接收站地址,仅当目的地址与适配器ROM中存放的硬件地址一直是,才能接收,从而实现一对一通信;

以太网采取以下两种措施:
1.较为灵活的无连接的工作方式(即不必先建立连接就能发送数据,跟送快递一样)。以太网提供的服务时尽最大努力的交付即不可靠的交付。
(当一台计算机发送数据时,整个总线就被占用了,即同一时间只允许一台计算机发送数据,若都要发,就冲突了;以太网采用最简单的随机接入,很好的协议来解决冲突发生的概率。)
2.以太网发送的数据使用曼彻斯特编码的信号(缺点:频带宽度比原始基带信号增加了一倍)

CSMA/CD协议要点:
1.多点接入
2.载波监听:边发送边监听(注意啊,监听只能在自己的位置监听,不是监听整个线路,所以才会有碰撞)
3.碰撞检测
在这里插入图片描述
以太网使用截断二进制指数退避truncated binary exponential backoff算法来确定碰撞后的重传时期(因为撞了大家都要重新传,要是再都同时重新开始传,就又不行了,所以采用退避算法,算法略,若重传中连续发生多次冲突,则表明可能有较多竞争,使用上述退避算法可使重传需要推迟的平均时间随重传次数增大(也称动态退避)减小发生碰撞的概率,利于系统稳定)

另外,加入发送时间小于争用期,那么发送完了都检测不到碰撞,所以以太网规定了最短帧长:64字节;

同时强化碰撞:当碰撞时,加入人为干扰信号,让所有用户都知道碰撞了

以太网每次发送完一帧,要暂时保留一下,以防再争用期检测到碰撞还要重传。

3.3.3使用集线器的星形拓扑

现在,粗缆和细缆已成为历史,主要是双绞线以太网(和集线器配合使用)

集线器的特点:
1.从表面上看,是个星形网,但由于集线器使用电子器件来模拟实际电缆线的工作,因此整个系统仍像一个传统以太网,即逻辑上的总线网。适用的还是CSMA/CD协议
2.像一个多端口的发射器。
3.集线器工作在物理层,不进行碰撞检测。

3.3.5以太网的MAC层

在这里插入图片描述
MAC地址(硬件地址)实际上就是适配器地址或是适配器标识符,与主机所在的地点无关,源地址和目标地址都是48位长;

以太网的适配器有过滤功能,只接受单播帧,广播帧或多播帧。

3.4扩展的以太网

扩展以太网的范围,扩展的以太网在网络层看仍是一个网络。

3.4.1在物理层扩展以太网

1.使用光纤将主机与集线器相连,增加距离
2.使用集线器扩展,连城多级星形结构请添加图片描述

缺点:
在这里插入图片描述
2.系统要使用相同的以太网技术,不然集线器连不起来。

3.4.2数据链路层扩展以太网

最初人们用的网桥,后来淘汰了。
以太网交换机工作在数据链路层

以太网交换机实质上就是一个多端口的网桥,和在物理层的转发器(中继器)和集线器有很大差别。以太网交换机具有并行性,同时连通多对端口,使多对主机能同时通信(网桥只能一次分析和转发一个帧);还有存储器,可以缓存;即插即用;帧交换表使通过自学算法自动建立的;用硬件转发收到的帧,块;价格不贵;

以太网的自学:略
自学中的回路问题–生成树协议STP

在这里插入图片描述

3.4.3虚拟局域网

同步异步传输

补充:MAC子层

请添加图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值