导航:首页 > 网络连接 > 计算机网络数据链路层冗余码

计算机网络数据链路层冗余码

发布时间:2023-09-07 12:40:38

1. 计算机网络知识点

一、计算机网络概述

1.1 计算机网络的分类

按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网(LAN);

按照网络使用者:公用网络、专用网络。

1.2 计算机网络的层次结构

TCP/IP四层模型与OSI体系结构对比:

1.3 层次结构设计的基本原则

各层之间是相互独立的;

每一层需要有足够的灵活性;

各层之间完全解耦。

1.4 计算机网络的性能指标

速率:bps=bit/s 时延:发送时延、传播时延、排队时延、处理时延 往返时间RTT:数据报文在端到端通信中的来回一次的时间。

二、物理层

物理层的作用:连接不同的物理设备,传输比特流。该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。

物理层设备:

中继器【Repeater,也叫放大器】:同一局域网的再生信号;两端口的网段必须同一协议;5-4-3规程:10BASE-5以太网中,最多串联4个中继器,5段中只能有3个连接主机;

集线器:同一局域网的再生、放大信号(多端口的中继器);半双工,不能隔离冲突域也不能隔离广播域。

信道的基本概念:信道是往一个方向传输信息的媒体,一条通信电路包含一个发送信道和一个接受信道。

单工通信信道:只能一个方向通信,没有反方向反馈的信道;

半双工通信信道:双方都可以发送和接受信息,但不能同时发送也不能同时接收;

全双工通信信道:双方都可以同时发送和接收。

三、数据链路层

3.1 数据链路层概述

数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。数据链路层在不可靠的物理介质上提供可靠的传输。

该层的作用包括: 物理地址寻址、数据的成帧、流量控制、数据的检错、重发 等。

有关数据链路层的重要知识点:

数据链路层为网络层提供可靠的数据传输;

基本数据单位为帧;

主要的协议:以太网协议;

两个重要设备名称:网桥和交换机。

封装成帧:“帧”是 数据链路层 数据的基本单位:

透明传输:“透明”是指即使控制字符在帧数据中,但是要当做不存在去处理。即在控制字符前加上转义字符ESC。

3.2 数据链路层的差错监测

差错检测:奇偶校验码、循环冗余校验码CRC

奇偶校验码–局限性:当出错两位时,检测不到错误。

循环冗余检验码:根据传输或保存的数据而产生固定位数校验码。

3.3 最大传输单元MTU

最大传输单元MTU(Maximum Transmission Unit),数据链路层的数据帧不是无限大的,数据帧长度受MTU限制.

路径MTU:由链路中MTU的最小值决定。

3.4 以太网协议详解

MAC地址:每一个设备都拥有唯一的MAC地址,共48位,使用十六进制表示。

以太网协议:是一种使用广泛的局域网技术,是一种应用于数据链路层的协议,使用以太网可以完成相邻设备的数据帧传输:

局域网分类:

Ethernet以太网IEEE802.3:

以太网第一个广泛部署的高速局域网

以太网数据速率快

以太网硬件价格便宜,网络造价成本低

以太网帧结构:

类型:标识上层协议(2字节)

目的地址和源地址:MAC地址(每个6字节)

数据:封装的上层协议的分组(46~1500字节)

CRC:循环冗余码(4字节)

以太网最短帧:以太网帧最短64字节;以太网帧除了数据部分18字节;数据最短46字节;

MAC地址(物理地址、局域网地址)

MAC地址长度为6字节,48位;

MAC地址具有唯一性,每个网络适配器对应一个MAC地址;

通常采用十六进制表示法,每个字节表示一个十六进制数,用 - 或 : 连接起来;

MAC广播地址:FF-FF-FF-FF-FF-FF。

四、网络层

网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。数据交换技术是报文交换(基本上被分组所替代):采用储存转发方式,数据交换单位是报文。

网络层中涉及众多的协议,其中包括最重要的协议,也是TCP/IP的核心协议——IP协议。IP协议非常简单,仅仅提供不可靠、无连接的传送服务。IP协议的主要功能有:无连接数据报传输、数据报路由选择和差错控制。

与IP协议配套使用实现其功能的还有地址解析协议ARP、逆地址解析协议RARP、因特网报文协议ICMP、因特网组管理协议IGMP。具体的协议我们会在接下来的部分进行总结,有关网络层的重点为:

1、网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能;

2、基本数据单位为IP数据报;

3、包含的主要协议:

IP协议(Internet Protocol,因特网互联协议);

ICMP协议(Internet Control Message Protocol,因特网控制报文协议);

ARP协议(Address Resolution Protocol,地址解析协议);

RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)。

4、重要的设备:路由器

路由器相关协议

4.1 IP协议详解

IP网际协议是 Internet 网络层最核心的协议。虚拟互联网络的产生:实际的计算机网络错综复杂;物理设备通过使用IP协议,屏蔽了物理网络之间的差异;当网络中主机使用IP协议连接时,无需关注网络细节,于是形成了虚拟网络。

IP协议使得复杂的实际网络变为一个虚拟互联的网络;并且解决了在虚拟网络中数据报传输路径的问题。

其中,版本指IP协议的版本,占4位,如IPv4和IPv6;首部位长度表示IP首部长度,占4位,最大数值位15;总长度表示IP数据报总长度,占16位,最大数值位65535;TTL表示IP数据报文在网络中的寿命,占8位;协议表明IP数据所携带的具体数据是什么协议的,如TCP、UDP。

4.2 IP协议的转发流程

4.3 IP地址的子网划分

A类(8网络号+24主机号)、B类(16网络号+16主机号)、C类(24网络号+8主机号)可以用于标识网络中的主机或路由器,D类地址作为组广播地址,E类是地址保留。

4.4 网络地址转换NAT技术

用于多个主机通过一个公有IP访问访问互联网的私有网络中,减缓了IP地址的消耗,但是增加了网络通信的复杂度。

NAT 工作原理:

从内网出去的IP数据报,将其IP地址替换为NAT服务器拥有的合法的公共IP地址,并将替换关系记录到NAT转换表中;

从公共互联网返回的IP数据报,依据其目的的IP地址检索NAT转换表,并利用检索到的内部私有IP地址替换目的IP地址,然后将IP数据报转发到内部网络。

4.5 ARP协议与RARP协议

地址解析协议 ARP(Address Resolution Protocol):为网卡(网络适配器)的IP地址到对应的硬件地址提供动态映射。可以把网络层32位地址转化为数据链路层MAC48位地址。

ARP 是即插即用的,一个ARP表是自动建立的,不需要系统管理员来配置。

RARP(Reverse Address Resolution Protocol)协议指逆地址解析协议,可以把数据链路层MAC48位地址转化为网络层32位地址。

4.6 ICMP协议详解

网际控制报文协议(Internet Control Message Protocol),可以报告错误信息或者异常情况,ICMP报文封装在IP数据报当中。

ICMP协议的应用:

Ping应用:网络故障的排查;

Traceroute应用:可以探测IP数据报在网络中走过的路径。

4.7网络层的路由概述

关于路由算法的要求:正确的完整的、在计算上应该尽可能是简单的、可以适应网络中的变化、稳定的公平的。

自治系统AS: 指处于一个管理机构下的网络设备群,AS内部网络自治管理,对外提供一个或多个出入口,其中自治系统内部的路由协议为内部网关协议,如RIP、OSPF等;自治系统外部的路由协议为外部网关协议,如BGP。

静态路由: 人工配置,难度和复杂度高;

动态路由:

链路状态路由选择算法LS:向所有隔壁路由发送信息收敛快;全局式路由选择算法,每个路由器计算路由时,需构建整个网络拓扑图;利用Dijkstra算法求源端到目的端网络的最短路径;Dijkstra(迪杰斯特拉)算法

距离-向量路由选择算法DV:向所有隔壁路由发送信息收敛慢、会存在回路;基础是Bellman-Ford方程(简称B-F方程);

4.8 内部网关路由协议之RIP协议

路由信息协议 RIP(Routing Information Protocol)【应用层】,基于距离-向量的路由选择算法,较小的AS(自治系统),适合小型网络;RIP报文,封装进UDP数据报。

RIP协议特性:

RIP在度量路径时采用的是跳数(每个路由器维护自身到其他每个路由器的距离记录);

RIP的费用定义在源路由器和目的子网之间;

RIP被限制的网络直径不超过15跳;

和隔壁交换所有的信息,30主动一次(广播)。

4.9 内部网关路由协议之OSPF协议

开放最短路径优先协议 OSPF(Open Shortest Path First)【网络层】,基于链路状态的路由选择算法(即Dijkstra算法),较大规模的AS ,适合大型网络,直接封装在IP数据报传输。

OSPF协议优点:

安全;

支持多条相同费用路径;

支持区别化费用度量;

支持单播路由和多播路由;

分层路由。

RIP与OSPF的对比(路由算法决定其性质):

4.10外部网关路由协议之BGP协议

BGP(Border Gateway Protocol)边际网关协议【应用层】:是运行在AS之间的一种协议,寻找一条好路由:首次交换全部信息,以后只交换变化的部分,BGP封装进TCP报文段.

五、传输层

第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。

传输层的任务是根据通信子网的特性,最佳的利用网络资源,为两个端系统的会话层之间,提供建立、维护和取消传输连接的功能,负责端到端的可靠数据传输。在这一层,信息传送的协议数据单元称为段或报文。

网络层只是根据网络地址将源结点发出的数据包传送到目的结点,而传输层则负责将数据可靠地传送到相应的端口。

有关网络层的重点:

传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输以及端到端的差错控制和流量控制问题;

包含的主要协议:TCP协议(Transmission Control Protocol,传输控制协议)、UDP协议(User Datagram Protocol,用户数据报协议);

重要设备:网关。

5.1 UDP协议详解

UDP(User Datagram Protocol: 用户数据报协议),是一个非常简单的协议。

UDP协议的特点:

UDP是无连接协议;

UDP不能保证可靠的交付数据;

UDP是面向报文传输的;

UDP没有拥塞控制;

UDP首部开销很小。

UDP数据报结构:

首部:8B,四字段/2B【源端口 | 目的端口 | UDP长度 | 校验和】 数据字段:应用数据

5.2 TCP协议详解

TCP(Transmission Control Protocol: 传输控制协议),是计算机网络中非常复杂的一个协议。

TCP协议的功能:

对应用层报文进行分段和重组;

面向应用层实现复用与分解;

实现端到端的流量控制;

拥塞控制;

传输层寻址;

对收到的报文进行差错检测(首部和数据部分都检错);

实现进程间的端到端可靠数据传输控制。

TCP协议的特点:

TCP是面向连接的协议;

TCP是面向字节流的协议;

TCP的一个连接有两端,即点对点通信;

TCP提供可靠的传输服务;

TCP协议提供全双工通信(每条TCP连接只能一对一);

5.2.1 TCP报文段结构:

最大报文段长度:报文段中封装的应用层数据的最大长度。

TCP首部:

序号字段:TCP的序号是对每个应用层数据的每个字节进行编号

确认序号字段:期望从对方接收数据的字节序号,即该序号对应的字节尚未收到。用ack_seq标识;

TCP段的首部长度最短是20B ,最长为60字节。但是长度必须为4B的整数倍

TCP标记的作用:

5.3 可靠传输的基本原理

基本原理:

不可靠传输信道在数据传输中可能发生的情况:比特差错、乱序、重传、丢失

基于不可靠信道实现可靠数据传输采取的措施:

差错检测:利用编码实现数据包传输过程中的比特差错检测 确认:接收方向发送方反馈接收状态 重传:发送方重新发送接收方没有正确接收的数据 序号:确保数据按序提交 计时器:解决数据丢失问题;

停止等待协议:是最简单的可靠传输协议,但是该协议对信道的利用率不高。

连续ARQ(Automatic Repeat reQuest:自动重传请求)协议:滑动窗口+累计确认,大幅提高了信道的利用率。

5.3.1TCP协议的可靠传输

基于连续ARQ协议,在某些情况下,重传的效率并不高,会重复传输部分已经成功接收的字节。

5.3.2 TCP协议的流量控制

流量控制:让发送方发送速率不要太快,TCP协议使用滑动窗口实现流量控制。

5.4 TCP协议的拥塞控制

拥塞控制与流量控制的区别:流量控制考虑点对点的通信量的控制,而拥塞控制考虑整个网络,是全局性的考虑。拥塞控制的方法:慢启动算法+拥塞避免算法。

慢开始和拥塞避免:

【慢开始】拥塞窗口从1指数增长;

到达阈值时进入【拥塞避免】,变成+1增长;

【超时】,阈值变为当前cwnd的一半(不能<2);

再从【慢开始】,拥塞窗口从1指数增长。

快重传和快恢复:

发送方连续收到3个冗余ACK,执行【快重传】,不必等计时器超时;

执行【快恢复】,阈值变为当前cwnd的一半(不能<2),并从此新的ssthresh点进入【拥塞避免】。

5.5 TCP连接的三次握手(重要)

TCP三次握手使用指令:

面试常客:为什么需要三次握手?

第一次握手:客户发送请求,此时服务器知道客户能发;

第二次握手:服务器发送确认,此时客户知道服务器能发能收;

第三次握手:客户发送确认,此时服务器知道客户能收。

建立连接(三次握手):

第一次: 客户向服务器发送连接请求段,建立连接请求控制段(SYN=1),表示传输的报文段的第一个数据字节的序列号是x,此序列号代表整个报文段的序号(seq=x);客户端进入 SYN_SEND (同步发送状态);

第二次: 服务器发回确认报文段,同意建立新连接的确认段(SYN=1),确认序号字段有效(ACK=1),服务器告诉客户端报文段序号是y(seq=y),表示服务器已经收到客户端序号为x的报文段,准备接受客户端序列号为x+1的报文段(ack_seq=x+1);服务器由LISTEN进入SYN_RCVD (同步收到状态);

第三次: 客户对服务器的同一连接进行确认.确认序号字段有效(ACK=1),客户此次的报文段的序列号是x+1(seq=x+1),客户期望接受服务器序列号为y+1的报文段(ack_seq=y+1);当客户发送ack时,客户端进入ESTABLISHED 状态;当服务收到客户发送的ack后,也进入ESTABLISHED状态;第三次握手可携带数据;

5.6 TCP连接的四次挥手(重要)

释放连接(四次挥手)

第一次: 客户向服务器发送释放连接报文段,发送端数据发送完毕,请求释放连接(FIN=1),传输的第一个数据字节的序号是x(seq=x);客户端状态由ESTABLISHED进入FIN_WAIT_1(终止等待1状态);

第二次: 服务器向客户发送确认段,确认字号段有效(ACK=1),服务器传输的数据序号是y(seq=y),服务器期望接收客户数据序号为x+1(ack_seq=x+1);服务器状态由ESTABLISHED进入CLOSE_WAIT(关闭等待);客户端收到ACK段后,由FIN_WAIT_1进入FIN_WAIT_2;

第三次: 服务器向客户发送释放连接报文段,请求释放连接(FIN=1),确认字号段有效(ACK=1),表示服务器期望接收客户数据序号为x+1(ack_seq=x+1);表示自己传输的第一个字节序号是y+1(seq=y+1);服务器状态由CLOSE_WAIT 进入 LAST_ACK (最后确认状态);

第四次: 客户向服务器发送确认段,确认字号段有效(ACK=1),表示客户传输的数据序号是x+1(seq=x+1),表示客户期望接收服务器数据序号为y+1+1(ack_seq=y+1+1);客户端状态由FIN_WAIT_2进入TIME_WAIT,等待2MSL时间,进入CLOSED状态;服务器在收到最后一次ACK后,由LAST_ACK进入CLOSED;

为什么需要等待2MSL?

最后一个报文没有确认;

确保发送方的ACK可以到达接收方;

2MSL时间内没有收到,则接收方会重发;

确保当前连接的所有报文都已经过期。

六、应用层

为操作系统或网络应用程序提供访问网络服务的接口。应用层重点:

数据传输基本单位为报文;

包含的主要协议:FTP(文件传送协议)、Telnet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传送协议),POP3协议(邮局协议),HTTP协议(Hyper Text Transfer Protocol)。

6.1 DNS详解

DNS(Domain Name System:域名系统)【C/S,UDP,端口53】:解决IP地址复杂难以记忆的问题,存储并完成自己所管辖范围内主机的 域名 到 IP 地址的映射。

域名解析的顺序:

【1】浏览器缓存,

【2】找本机的hosts文件,

【3】路由缓存,

【4】找DNS服务器(本地域名、顶级域名、根域名)->迭代解析、递归查询。

IP—>DNS服务—>便于记忆的域名

域名由点、字母和数字组成,分为顶级域(com,cn,net,gov,org)、二级域(,taobao,qq,alibaba)、三级域(www)(12-2-0852)

6.2 DHCP协议详解

DHCP(Dynamic Configuration Protocol:动态主机设置协议):是一个局域网协议,是应用UDP协议的应用层协议。作用:为临时接入局域网的用户自动分配IP地址。

6.3 HTTP协议详解

文件传输协议(FTP):控制连接(端口21):传输控制信息(连接、传输请求),以7位ASCII码的格式。整个会话期间一直打开。

HTTP(HyperText Transfer Protocol:超文本传输协议)【TCP,端口80】:是可靠的数据传输协议,浏览器向服务器发收报文前,先建立TCP连接,HTTP使用TCP连接方式(HTTP自身无连接)。

HTTP请求报文方式:

GET:请求指定的页面信息,并返回实体主体;

POST:向指定资源提交数据进行处理请求;

DELETE:请求服务器删除指定的页面;

HEAD:请求读取URL标识的信息的首部,只返回报文头;

OPETION:请求一些选项的信息;

PUT:在指明的URL下存储一个文档。

6.3.1 HTTP工作的结构

6.3.2 HTTPS协议详解

HTTPS(Secure)是安全的HTTP协议,端口号443。基于HTTP协议,通过SSL或TLS提供加密处理数据、验证对方身份以及数据完整性保护

原文地址:https://blog.csdn.net/Royalic/article/details/119985591

2. [计算机网络]Ch.3 数据链路层

数据链路层使用物理层提供的服务在通信信道上发送和接收比特。
(1) 向网络层提供一个定义良好的接口
(2) 处理传输错误
(3) 调节数据流,确保慢速的接收方不会被快速的发送方淹没
提供的服务
(1) 无确认的无连接服务 (局域网)
(2) 有确认的无连接服务 (无线通信)
(3) 有确认的有连接服务 (电话)
无线通信,信道使用率很低但数据传输的误码率相对较高,确认是必要的

成帧:将原始的位流分散到离散的帧中。
成帧的方法有:
(1)字符计数法
(2)带字节/字符填充的标志字节法
(3)比特填充的比特标志法
(4)物理层编码违例法

字节计数法:利用帧头部的一个字段来标识该帧中的字符数
缺点:简单,无法恢复,已经很少使用

该方法考虑了错误之后重新开始同步的问题,用一些特殊字节(FLAG)作为帧开始和结束标志,用转义字符(ESC)来区分二进制数据中存在的特殊字节。

采用冗余编码技术,如曼切斯特编码,即两个脉冲宽来表示一个二进制位
数据0:低-高电平对
数据1:高-低电平对
高-高电平对和低-低电平对没有使用,可用作帧边界

差错的种类:

差错的处理:

计算机网络中主要采用:

海明距离的意义 :如果海明距离为d,则一个码字需要发生d个1位错误才能变成另外一个码字
海明距离与检错和纠错的关系:

纠正单比特错的冗余位下界, m为数据位数 r为校验位数

将某一位数据位的编号展开成2的乘幂的和,那末每一项所对应的位即为该数据位的校验位(收方使用)。
如: 11 = 1 + 2 + 8
29 = 1 + 4 + 8 + 16
校验位1的检验集合为所有奇数位。
校验位2的检验集合:2、3、6、7、10、11、…
校验位4的检验集合:4、5、6、7、……
校验位8的检验集合:8、9、10、11、……

海明码纠错过程(只纠错1位)
首先将差错计数器置“0”。
当海明码数据到达接收端后,接收端逐个检查各个校验位的奇偶性。
如发现某一校验位和它所检测的集合的奇偶性不正确,就将该检验位的编号加到差错计数器中。
待所有校验位核对完毕:
若差错计数器仍为“0”值,则说明该码字接收无误。
非“0”值,差错计数器的值为出错位的编号,将该位求反就可得到正确结果。

例子:

经计算需要的检验字个数的最小值 r应满足 ( 所以r最小值为4,再根据校验位的对应规则可得下表:

Data: 1011010
Even: 1011010 0 (偶校验)
Odd: 1011010 1 (奇校验)

使用CRC编码时发送方和接收方必须预先商定一个生成多项式G(x),假设有一个m为的帧M(x),使用G(x)生成的帧的步骤如下:
假设G(x)的阶为r, 那么M(x)在末尾添加r个0,得到 m+r位的位模式 。
利用模2出发,用G(x)去除 ,得到对应的余数(总是小于等于r位)。
利用 减去(模2减法)第2步中得到的余数,得到的位模式就是即将被传输的带校验和的帧
Sender
在数据帧的低端加上r个零,对应多项式为XrM(x)
采用模2除法,用G(x)去除XrM(x),得余数
采用模2减法,用XrM(x)减去余数,得到带CRC校验和的帧
Receiver
用收到的帧去除以G(x)
为零:无错误产生。非零:发生了错误,重传

在一定条件下运作:

缺点

缺点

对协议2的改进:

确认帧
只在接收无差错时才发确认帧,出错时不发确认帧。
重发
网络中采用检错码,无法纠正错误,由重发原来帧的方式来恢复正确的帧。
计时器
控制何时重发,防止无限期等待(死锁)。
帧序号
防止重发时接收端收到重复的帧,序号还用于接收时排序。
保证送给网络层的都是按序无重复的分组

帧格式:

****

与前三个协议不同,这是一个双向传递的协议。 之后的三个协议都属于滑动窗口协议。

滑动窗口协议
如果发送端可以连续发送一批数据帧,必须考虑接收端是否来得及接纳与处理这么多的帧,这里就提出了网络流量控制问题

N回退协议 选择重传协议:
由于传输过程中存在延迟,即数据在传播过程中需要时间,那么如果使用上面所提及的协议,传输过程中有大量的时间存在阻塞状态,所以为了充分利用带宽,我们让发送方一次发送w个帧。所以就存在如何处理在传输过程中出现的帧错误的问题

协议四的基本工作原理:
窗口设置

窗口滑动机制

特点

出错情况
连续发送W个数据帧,其中有一帧出错,但其后续帧被成功发送

接收方的接收策略: 丢弃错帧,其后续帧因不是期望接收帧也被丢弃(接收窗口为1)。
发送方的重传策略: 缓存在发送窗口中的出错帧以及其后续帧全部重发

W<=2BD+1(个帧)
BD:带宽-延迟乘积,bit乘积出来之后换算成帧的个数

该图的发送方和接收方的窗口大小都是7,那么也就是说发送方一次最多只能发送7个帧,刚开始发送方只能发送序号为0~6的数据帧,图中发送方收到序列号为第0和第1号帧的确认帧,那么整个窗口向前滑动,发送方可以发送序列号为7和8 的数据帧,但是不幸的是2号数据帧并没有收到确认帧,所以整个窗口并不会向前滑动,此时只能等待2号数据帧的计时器超时,那么超时后发送方将会从2号数据帧开始发送,重复这个过程。
实现

出错情况

原因:如果错误很少发生,那么协议5可以很好的工作。一旦线路质量很差,那么重传帧需要浪费大量带宽。而选择重传节约了带宽,允许接收方缓存丢失帧之后的所有帧

接收方的接收策略: 丢弃错帧,缓存后续正确接收帧
发送方的重传策略: 只重发出错帧。

基本概念:

选择重传策略:
接收方丢掉坏帧,但接受并缓存坏帧后面的所有好帧。

否定重传策略
当接收方收到错误,他就发送一个否定确认(NAK)信息,而不需要等到相应的计数器超时,提高协议性能。

滑动窗口长度w的选择
协议5(回退n帧) W = MAX_SEQ
协议6(选择重传) W= (MAX_SEQ + 1) / 2

发送方和接收方的窗口大小 W=((MAX_SEQ+1))/2,原因是 防止窗口重叠,在确认帧丢失的情况下而导致的数据错误

接收方在某个帧出错后继续接受和缓存后续发送的数据包,直到整个窗口的填满后,把帧进行排序后才传递给网络层。

面向字符的数据链路协议
PPP 是一种在链路上传输分组的常用方法

3个主要特性:

PPP两种认证协议: PAP and CHAP

PPP的帧格式

PPP成帧是面向字节填充的:
具体细节可以参考上面的字节填充法, 因为PPP重用了HDLC的技术,所以PPP使用标志字(0x7E 01111110)来标记帧的起始,使用0x7D来作为转义字符, 具体操作如下:

接收方接收到帧后进行下面处理:
在帧中遇到0x7D 就把0x7D删除,在把紧跟在0x7D 后的字节和0x20进行异或运算,就得到对应的数据

LCP ( Link Control Protocol)提供了建立、配置、维护和终止点对点链接的方法

PPP的工作过程

3. 计算机网络(三)数据链路层

结点:主机、路由器

链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。

数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。

帧:链路层的协议数据单元,封装网络层数据报。

数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。

数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为 逻辑上无差错的数据链路 ,使之对网络层表现为一条无差错的链路。

封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。首部和尾部包含许多的控制信息,他们的一个重要作用:帧定界(确定帧的界限)。

帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。

组帧的四种方法:

透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。

当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。

概括来说,传输中的差错都是由于噪声引起的。

数据链路层编码和物理层的数据编码与调制不同。物理层编码针对的是单个比特,解决传输过程中比特的同步等问题,如曼彻斯特编码。而数据链路层的编码针对的是一组比特,它通过冗余码的技术实现一组二进制比特串在传输过程是否出现了差错。

较高的发送速度和较低的接收能力的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作。数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的。

滑动窗口有以下重要特性:

若采用n个比特对帧编号,那么发送窗口的尺寸W T 应满足: 。因为发送窗口尺寸过大,就会使得接收方无法区别新帧和旧帧。

每发送完一个帧就停止发送,等待对方的确认,在收到确认后再发送下一个帧。

除了比特出差错,底层信道还会出现丢包 [1] 问题

“停止-等待”就是每发送完一个分组就停止发送,等待对方确认,在收到确认后再发送下一个分组。其操作简单,但信道利用率较低

信道利用率是指发送方在一个发送周期内,有效地发送数据所需要的时间占整个发送周期的比率。即

GBN发送方:

GBN接收方:

因连续发送数据帧而提高了信道利用率,重传时必须把原来已经正确传送的数据帧重传,是传送效率降低。

设置单个确认,同时加大接收窗口,设置接收缓存,缓存乱序到达的帧。

SR发送方:

SR接收方:

发送窗口最好等于接收窗口。(大了会溢出,小了没意义),即

传输数据使用的两种链路

信道划分介质访问控制将使用介质的每个设备与来自同一通信信道上的其他设备的通信隔离开来,把时域和频域资源合理地分配给网络上的设备。

当传输介质的带宽超过传输单个信号所需的带宽时,人们就通过在一条介质上同时携带多个传输信号的方法来提高传输系统的利用率,这就是所谓的多路复用,也是实现信道划分介质访问控制的途径。多路复用技术把多个信号组合在一条物理信道上进行传输,使多个计算机或终端设备共享信道资源,提高了信道的利用率。信道划分的实质就是通过分时、分频、分码等方法把原来的一条广播信道,逻辑上分为几条用于两个结点之间通信的互不干扰的子信道,实际上就是把广播信道转变为点对点信道。

频分多路复用是一种将多路基带信号调制到不同频率载波上,再叠加形成一个复合信号的多路复用技术。在物理信道的可用带宽超过单个原始信号所需带宽的情况下,可将该物理信道的总带宽分割成若千与传输单个信号带宽相同(或略宽)的子信道,每个子信道传输一种信号,这就是频分多路复用。

每个子信道分配的带宽可不相同,但它们的总和必须不超过信道的总带宽。在实际应用中,为了防止子信道之间的千扰,相邻信道之间需要加入“保护频带”。频分多路复用的优点在于充分利用了传输介质的带宽,系统效率较高;由于技术比较成熟,实现也较容易。

时分多路复用是将一条物理信道按时间分成若干时间片,轮流地分配给多个信号使用。每个时间片由复用的一个信号占用,而不像FDM那样,同一时间同时发送多路信号。这样,利用每个信号在时间上的交叉,就可以在一条物理信道上传输多个信号。

就某个时刻来看,时分多路复用信道上传送的仅是某一对设备之间的信号:就某段时间而言,传送的是按时间分割的多路复用信号。但由于计算机数据的突发性,一个用户对已经分配到的子信道的利用率一般不高。统计时分多路复用(STDM,又称异步时分多路复用)是TDM 的一种改进,它采用STDM帧,STDM帧并不固定分配时隙,面按需动态地分配时隙,当终端有数据要传送时,才会分配到时间片,因此可以提高线路的利用率。例如,线路传输速率为8000b/s,4个用户的平均速率都为2000b/s,当采用TDM方式时,每个用户的最高速率为2000b/s.而在STDM方式下,每个用户的最高速率可达8000b/s.

波分多路复用即光的频分多路复用,它在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。由于光波处于频谱的高频段,有很高的带宽,因而可以实现多路的波分复用

码分多路复用是采用不同的编码来区分各路原始信号的一种复用方式。与FDM和 TDM不同,它既共享信道的频率,又共享时间。下面举一个直观的例子来理解码分复用。

实际上,更常用的名词是码分多址(Code Division Multiple Access.CDMA),1个比特分为多个码片/芯片( chip),每一个站点被指定一个唯一的m位的芯片序列,发送1时发送芯片序列(通常把o写成-1) 。发送1时站点发送芯片序列,发送o时发送芯片序列反码。

纯ALOHA协议思想:不监听信道,不按时间槽发送,随机重发。想发就发

如果发生冲突,接收方在就会检测出差错,然后不予确认,发送方在一定时间内收不到就判断发生冲突。超时后等一随机时间再重传。

时隙ALOHA协议的思想:把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发送。

载波监听多路访问协议CSMA(carrier sense multiple access)协议思想:发送帧之前,监听信道。

坚持指的是对于监听信道忙之后的坚持。

1-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。

优点:只要媒体空闲,站点就马上发送,避免了媒体利用率的损失。

缺点:假如有两个或两个以上的站点有数据要发送,冲突就不可避免。

非坚持指的是对于监听信道忙之后就不继续监听。

非坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。

优点:采用随机的重发延迟时间可以减少冲突发生的可能性。

缺点:可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低。

p-坚持指的是对于监听信道空闲的处理。

p-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。

优点:既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间的这种方案。

缺点:发生冲突后还是要坚持把数据帧发送完,造成了浪费。

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

CSMA/CD的工作流程:

由图可知,至多在发送帧后经过时间 就能知道所发送的帧有没有发生碰撞。因此把以太网端到端往返时间为 称为争周期(也称冲突窗口或碰撞窗口)。

截断二进制指数规避算法:

最小帧长问题:帧的传输时延至少要两倍于信号在总线中的传播时延。

载波监听多点接入/碰撞避免CSMA/CA(carrier sense multiple access with collision avoidance)其工作原理如下

CSMA/CD与CSMA/CA的异同点:

相同点:CSMA/CD与CSMA/CA机制都从属于CSMA的思路,其核心是先听再说。换言之,两个在接入信道之前都须要进行监听。当发现信道空闲后,才能进行接入。

不同点:

轮询协议:主结点轮流“邀请”从属结点发送数据。

令牌:一个特殊格式的MAC控制帧,不含任何信息。控制信道的使用,确保同一时刻只有一个结点独占信道。每个结点都可以在一定的时间内(令牌持有时间)获得发送数据的权利,并不是无限制地持有令牌。应用于令牌环网(物理星型拓扑,逻辑环形拓扑)。采用令牌传送方式的网络常用于负载较重、通信量较大的网络中。

轮询访问MAC协议/轮流协议/轮转访问MAC协议:基于多路复用技术划分资源。

随机访问MAC协议: 用户根据意愿随机发送信息,发送信息时可独占信道带宽。 会发生冲突

信道划分介质访问控制(MAC Multiple Access Control )协议:既要不产生冲突,又要发送时占全部带宽。

局域网(Local Area Network):简称LAN,是指在某一区域内由多台计算机互联成的计算机组,使用广播信道。其特点有

决定局域网的主要要素为:网络拓扑,传输介质与介质访问控制方法。

局域网的分类

IEEE 802标准所描述的局域网参考模型只对应OSI参考模型的数据链路层与物理层,它将数据链路层划分为逻辑链路层LLC子层和介质访问控制MAC子层。

以太网(Ethernet)指的是由Xerox公司创建并由Xerox、Intel和DEC公司联合开发的基带总线局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术。 以太网只实现无差错接收,不实现可靠传输。

以太网两个标准:

以太网提供无连接、不可靠的服务

10BASE-T是传送基带信号的双绞线以太网,T表示采用双绞线,现10BASE-T 采用的是无屏蔽双绞线(UTP),传输速率是10Mb/s。

计算机与外界有局域网的连接是通过通信适配器的。

在局域网中,硬件地址又称为物理地址,或MAC地址。MAC地址:每个适配器有一个全球唯一的48位二进制地址,前24位代表厂家(由IEEE规定),后24位厂家自己指定。常用6个十六进制数表示,如02-60-8c-e4-b1-21。

最常用的MAC帧是以太网V2的格式。

IEEE 802.11是无线局域网通用的标准,它是由IEEE所定义的无线网络通信的标准。

广域网(WAN,Wide Area Network),通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。

广域网的通信子网主要使用分组交换技术。广域网的通信子网可以利用公用分组交换网、卫星通信网和无线分组交换网,它将分布在不同地区的局域网或计算机系统互连起来,达到资源共享的目的。如因特网(Internet)是世界范围内最大的广域网。

点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的数据链路层协议,用户使用拨号电话接入因特网时一般都使用PPP协议。 只支持全双工链路。

PPP协议应满足的要求

PPP协议的三个组成部分

以太网交换机

冲突域:在同一个冲突域中的每一个节点都能收到所有被发送的帧。简单的说就是同一时间内只能有一台设备发送信息的范围。

广播域:网络中能接收任一设备发出的广播帧的所有设备的集合。简单的说如果站点发出一个广播信号,所有能接收收到这个信号的设备范围称为一个广播域。

以太网交换机的两种交换方式:

直通式交换机:查完目的地址(6B)就立刻转发。延迟小,可靠性低,无法支持具有不同速率的端口的交换。

存储转发式交换机:将帧放入高速缓存,并检查否正确,正确则转发,错误则丢弃。延迟大,可靠性高,可以支持具有不同速率的端口的交换。

4. 计算机网络-02-物理层和数据链路层

物理层主要功能是为数据端设备提供传送数据的通路以及传输数据。

信道是往一个方向传送信息的媒体,一条通信电路包含一个接收信道和一个发送信道。

分用-复用技术 允许多个用户使用一个共享信道进行通信,可以降低成本,提高利用率。

数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的功能是向该层用户提供透明的和可靠的数据传送基本服务。

数据链路层有两个功能: 帧编码 和 差错控制 。

物理层只负责传输比特流,为了使传输过程发生差错后只将有限数据进行重发,数据链路层将比特流组合成以太帧作为单位传送。

每个帧除了要传送的数据外,还包括校验码,以使接收方能发现传输中的差错。

假设现在从网络层过来了一个IP数据报,数据链路层会将这个数据报作为帧进行传送。

当然物理层是不管你帧不帧的,它只会将数据链路层传过来的帧以比特流的形式发送给另一台物理设备。

由前面的文章可知: 总时延 = 发送时延 + 排队时延 + 传播时延 + 处理时延

数据链路层的数据帧不是无限大的,数据帧过大或过小都会影响传输的效率,数据链路层使用MTU来限制数据帧长度。

以太网MTU一般为1500字节, 路径MTU由链路中MTU的最小值决定

一个实用的通信系统必须具备发现(即检测)这种差错的能力,并采取某种措施纠正之,使差错被控制在所能允许的尽可能小的范围内,这就是差错控制过程。物理层只管传输比特流,无法控制是否出错,所以差错检测成了数据链路层的主要功能之一。

一般的检测方法有 奇偶校验码 和 CRC循环冗余校验码 。

网络中需要唯一标识物理设备的地址,用于确定数据传输时的发送地址和目的地址。

MAC地址(物理地址、硬件地址)共48位,使用十六进制表示,每一个设备都拥有唯一的MAC地址。

虽然MAC地址是物理硬件地址,但其属于数据链路层的MAC子层。

以太网(Ethernet)是一种使用广泛的局域网技术,它是应用于数据链路层的协议,使用以太网可以完成相邻设备的数据帧传输。

以太网数据报文主要由五个部分组成:

类型主要表示帧数据的类型,例如网络层的IP数据。

定义完数据结构后,就需要进行数据传输。由上文可知,MAC地址唯一标识了设备,那么怎么获得目的设备的MAC地址呢?

MAC地址表记录了与本设备相连的设备的MAC地址。

假设主机A发送了一个以太网数据报文,数据帧到达路由器,路由器取出前6字节(通过报文数据结构可知前6位位目的地址)。

路由器匹配MAC地址表,找到对应的网络接口,路由器往该网络接口发送数据帧。

当路由器的MAC地址表中没有目的地址,此时路由器会将此MAC地址进行广播(发送方A除外),接收局域网中与该路由其相连的其他设备的MAC地址并记录。

由于MAC地址表只能知道当前设备的下一个设备的MAC地址,简而言之就是只能进行相邻物理节点的数据传输。

有关跨设备传输数据的功能是交由网络层处理的,具体见下一章。

5. 计算机网络:数据链路层

互联网是指很多异构的网络由路由器联系起来的一个大网络。在研究这个大网络之前,我们要庖丁解牛,先研究其局部和单元。最小的网络单元就是局域网,局域网是一个单位所拥有,且地理范围和站点数量都很有限。

局域网内的计算机通信不需要路由器,所以不会用到网络层的协议,而是依赖数据链路层。

上图说明了数据链路层在整个互联网体系中的位置。数据链路层的信道分为两种:

在点到点信道的数据链路层协议上,可以采用简化的三层模型。无论是主机和主机,主机和路由器,或者两个路由器之间,我们都可以看成结点和结点之间的通信。

数据链路层不必考虑物理层是如何实现比特传输的细节,我们甚至可以简单设想,节点A沿着数据链路层的水平方向把帧输出给结点B。

数据链路层的协议有多个,但有三个共性问题。

从上图可以得出以下结论:

利用转义字符(ESC,十六进制编码0x1B)来解决帧的数据部分包含控制字符的问题

信道往往不是理想的,所以通信会带来误差。常用误码率来衡量传输误差。误码率BER(bit error rate)等于错误的比特占全部比特的百分比。

那么我们怎么知道所接受到的帧有没有错误比特呢?这就需要校验机制,目前数据链路层广泛采用循环冗余校验CRC((Cyclic Rendancy Check)。其原理是在帧的数据部分后面加上冗余码(FCS),接受方利用冗余码校验数据部分。具体细节请参考《计算机网络》。

综上,封装成帧和透明传输保证收到完整的帧,差错检验保证收到正确的帧。这三种机制能保证帧的无差错传输,但不能保证可靠传输(发送什么就接收到什么)。造成不可靠传输的原因有两类:

1. 帧中的比特错误
2. 帧重复,帧丢失,帧失序
数据链路层的帧的三种机制只能消除第一种错误,至于第二种则需要确认和重传机制。在早期互联网中,数据链路层曾经保证可靠传输,但随着光纤技术的发展,误码率大大下降,数据链路层就采用了简单的不可靠传输协议,把可靠运输的实现放在了运输层中。实践证明,这样可以提高通信效率。

最后,我们可以看到,计算机网络本质是通信问题,里面包含了很多通信元素:完整,误差,校验,重复,丢失,失序,可靠传输等。

阅读全文

与计算机网络数据链路层冗余码相关的资料

热点内容
魅族手机总是跳出无网络服务 浏览:188
网络有钱的人都在哪里 浏览:553
电脑下载网络软件 浏览:109
扫描枪网络不好怎么办 浏览:981
移动网络电影收费 浏览:744
计算机网络技术组织机构 浏览:250
能发网络奖状的软件 浏览:335
武侯新城网络安全培训 浏览:162
为什么手机网络总显示不可用 浏览:969
路由器网络灯闪烁是因为什么 浏览:876
应用网络权限在哪里开启 浏览:330
钉钉为何出现网络异常 浏览:579
椒江税务局网络密码 浏览:965
如何练习无线网络连接 浏览:187
计算机网络科学出版社 浏览:869
手机怎么给移动网络限速 浏览:510
如何制止网络侵犯 浏览:434
手机网络共享总是断怎么回事 浏览:947
手机网络站点出现异常怎么办 浏览:509
广西有哪些网络公司涉嫌传销 浏览:342

友情链接