计算机网络学习笔记随记--数据链路层

一、数据链路层的功能

主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。

1)为网络层提供服务

无确认的无连接服务(如以太网)、有确认的无连接服务(如无线通信)、有确认的面向连接服务(通信要求较高的场合)。

2)链路管理

即数据链路层连接的建立、维持和释放过程,主要面向连接的服务。

3)帧定界、帧同步和透明传输

数据链路层传输的单位是将网络层的分组封装后的帧,确认帧的界限就是帧定界。帧同步是指接收方能从接收到的而二进制比特流中区分出帧的起始和终止。透明传输就是不管传输的数据是啥(帧定界符等)都能正常传输。

4)流量控制

限制发送方的数据流量,使其发送速率不超过接收方的接受能力。这不仅仅是数据链路层特有的功能,一些高层协议也会提供此功能,只是控制的对象不同。

ps:OSI体系结构中,数据链路层具有流量控制的功能,而在TCP/IP体系中,该功能在传输层。

5)差错控制

由于噪声等各种原因,帧在传输的过程中可能会出错。用以使发送方确定接收方是否正确的接收到其发送的数据的方法即为差错控制。错误可分为位错(比特位错误,0变成了1。。)和帧错(帧的丢失、重复、失序等)。

二、组帧

1)字符计数法

在帧头部使用一个计数字段来标明帧内字符数。问题是计数字段出错时,后面传输的全部有问题。

2)字符填充的首尾定界符法

控制字符SOH放在帧的最前面,表示帧的开始,EOT表示帧的结束,防止帧的中间出现SOH或者EOT等特殊字符,在特殊字符(包括转义字符)前加ESC这个转义字符。

3)零比特填充的首尾标志法

用01111110来标志帧的开始和结束。为防止数据中出现标志,出现五个连续的1,就在添加一个0.

4)违规编码法

在物理层进行比特编码时,通常采用违规编码法。如曼切斯特编码方法将数据比特“1”编码成“高-低”电平对,0反之。而“高-高”“低-低”在数据比特中时违规的(不采用),故用这些违规编码序列来定界帧的起始和终止。

三、差错控制

仅讨论比特差错,分检错编码和纠错编码

1)检错编码

奇偶校验码

由n-1位信息元和1位校验元组成,若为奇校验码,在附加一位后,n位码字中1的个数为奇数。偶校验同理,n位1个数位偶数。只能检查除奇数位的错误情况,而且不知道哪里错了。

循环冗余码(CRC)

又称多项式码,例如X^4+X^2+X+1对应的位串为10111.

给定m比特的帧或报文,发送器生成一个r比特的序列称为帧检验序列(FCS),这样形成的帧将由m+r比特组成。发送方和接收方先商定号一个多项式(最高位和最低位必须为1),使这个带检验码的帧刚好能被预先确定的多项式G(x)整除。接收方用相同的G(x)除收到的帧,若无余数,则无错。

计算冗余码步骤:

第一步、加0,假设G(x)的阶为r(k位,阶即为k-1),在帧的低位端加上r个0

第二步、模2除。利用模2除法,用G(x)对应的数据串除第一步中的数据串,得到的余数即为冗余码。

ps:循环冗余码有纠错功能,只是数据链路层只用了它的检错功能。

2)纠错编码

海明码

四、流量控制与可靠传输机制

流量控制的基本方法是由接收方控制发送方发送数据的速率,常见的有停止-等待协议和滑动窗口协议。

停止等待流量控制基本原理

发送方每发送一帧,都要等待接收方的应答信号,之后再发下一帧。停止-等待协议相当于发送窗口和接收窗口大小均为1的滑动窗口协议。

滑动窗口流量控制基本原理

分发送窗口和接受窗口,在发送窗口的数据才可以发送,接受窗口的数据收到后发送确认帧,发送窗口收到确认帧后前向滑动一个帧的位置。

三种协议:停止-等待协议、后退N帧协议和选择重传协议

三者从滑动窗口的概念看,区别只在发送窗口和接收窗口大小的差别:

停止-等待协议:发送窗口大小 =1,接收窗口大小 =1.

后退N帧协议:2^n - 1>发送窗口大小 > 1,接收窗口大小 =1.

选择重传协议:发送窗口大小 > 1,接收窗口大小 > 1.一般均为2^(n-1)

采用n比特对帧编号。

ps:接收窗口大小为1时,可保证帧的有序接收。

五、介质访问控制

主要任务是为使用介质的每个结点隔离来自同一信道上其他结点所传送的信号,以协调活动节点的传输。

1)信道划分介质访问控制(静态划分信道的办法)

频分多路复用(FDM):将多路基带信号调制到不同的频率载波上。

时分多路复用(TDM):将一条物理信道按时间分成若干时间片,轮流分配给多个信号使用。

波分多路复用(WDM):即光的频分多路复用。

码分多路复用(CDM)

2)随机访问介质访问控制(动态分配信道)

所有用户根据自己的意愿随机的发送信息,占用信道全部速率。为解决随之带来的碰撞,每个用户按照一定规则去重传它的帧,这些规则就是随记访问介质访问控制协议。常用的协议有ALOHA协议、CSMA协议、CSMA/CD协议和CSMA/CA协议等。

ALOHA协议:

纯ALOHA协议:当网络中任何一个站点需要发送数据时,可以不进行任何检测就发送数据,在一段时间内未收到确认,就认为发生了冲突,再等待一个随机的时间后再重新发送数据,直至发送成功。

时隙ALOHA协议:把所有各站在时间上同步起来,并将时间划分为一段段等长的时隙,规定只能在每个时隙开始时才能发送一个帧。

CSMA协议(载波侦听多路访问)

1)1-坚持CSMA

一个结点要发送数据时,首先侦听信道;若空闲立刻发数据,若信道忙,则等待,并继续侦听直至信道空闲。

2)非坚持CSMA

若信道空闲,则立刻发送数据,若信道忙,则放弃监听,等待一个随机事件后再重复上述过程。

3)p-坚持CSMA

若信道空闲,则以p的概率发送数据,以1-p的概率推迟到下一个时隙,如此循环;若信道忙,则等待下一个时隙再重新开始侦听(持续侦听的过程)。

CSMA/CD协议

CSMA/CA协议

轮询访问:令牌传递协议

六、局域网(LAN)

以太网是最典型的局域网。

以太网的MAC帧

首先了解MAC地址,即物理地址,每张网卡上独一无二的地址。MAC地址长6字节,一般用连字符(或者冒号)分隔12个十六进制数表示,如02-06-32-4d-e3-5a.高24位为厂商代码,低24位为厂商自行分配的网卡序列号。

以太网V2帧格式:

前导码:使接收端与发送端时钟同步。在帧前面插入的8字节可再分为两个字段:第一个字段共7字节,是前同步码,用来快速实现MAC帧的比特同步;第二个字段是帧开始定界符,表示后面信息即为MAC帧,MAC帧不需要帧结束符,因为以太网各帧之间有一定的间隙,但帧肯定是有尾部的。

紧接着是目的地址、源地址和类型,再就是数据部分,最后是4字节校验码。

地址都是6字节MAC地址;类型占2字节,指出数据域中携带的数据应该交给哪个协议实体处理。

数据部分,数据要求46~1500字节。由于CSMA/CD,我们知道以太网最短帧长为64B,而帧的首部和尾部为6+6+2+4=18,所以最小数据长为64-18=46字节,最大1500B是规定的。

校验码校验除前导码以外的位置。

802.11无线局域网的MAC帧

虚拟局域网(VLAN)

当以太网包含的计算机太多时,因为以太网是一个广播域,会出现大量广播帧,也会对信息保密和安全不利,故有了VLAN,将较大的局域网分割成一些小的与地理位置无关的逻辑上的VLAN。每一个VLAN就是一个较小的广播域。

它在原有以太网MAC帧格式上在目的地址和源地址后加入了四字节的VLAN标签,形成802.1Q帧,该标签前2字节为0x8100,表示这是一个802.1Q帧,后两字节的高四位不用,后十二位为该VLAN的标识符VID,唯一标识该帧属于哪个VLAN。

七、广域网

常见两种广域网数据链路层协议是PPP协议和HDLC协议(很少使用了)

PPP(Point-to-Point Protocol)协议

是使用串行线路通信的面向字节的协议,有三个组成部分:

1)链路控制协议(LCP)。一种扩展链路控制协议,用于建立、配置、测试和管理数据链路。

2)网络控制协议(NCP)。PPP协议允许同时采用多种网络层协议,每个不同的网络层协议要用一个相应的NCP来配置,为网络层协议建立和配置逻辑连接。

3)一个将IP数据报(PPP帧的信息部分)分装到串行链路的方法。

PPP帧格式

PPP是点对点的,也就不使用CSMA/CD协议,不需要什么最短帧,所以信息字段为0~1500字节。

当线路检测到载波信号时,建立物理连接,线路变成建立状态,此时LCP开始选项商定,商定成功后进入身份验证状态。验证通过后,进入网络层协议状态,这是采用NCP配置网络层,配置成功后,进入打开状态,额案后就可以进行数据传输。传输完成后,线路进入终止状态,载波停止后则回到静止状态。

HDLC协议

八、数据链路层设备

1、网桥

网桥可以把两个或多个以太网连接成更大的以太网,而原先的以太网就称为网段,其可以隔离冲突域。其必须有路径选择的功能,网络1和网络2通过网桥连接后,网桥接收网络1发送的数据帧,检查帧地址,如果是网络2的地址,则转发给网络2,否则丢弃。

2、局域网交换机

又称以太网交换机。其本质就是多端口的网桥。它检测从以太端口来的数据帧的源和目的地的MAC地址,与系统内部的动态查找表进行比较,若数据帧的源MAC地址不在查找表中,则将该地址加入查找表,并将数据帧发送给相应的目的端口。

交换机的自学习功能

交换机的过滤和转发借助于交换表完成。交换表中的一个表项至少包含一个MAC地址和连通该MAC地址的交换机接口。

自学习原理

其实就是把交换表没有的MAC地址和接口登记在其中,没有时就广播该帧给其他所有接口。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值