结点:主机、路由器
链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。
数据链路: 网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。
帧:链路层的协议数据单元,封装网络层数据报。
数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。
数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一 条无差错的链路。
功能一:为网络层提供服务。无确认无连接服务,有确认无连接服务,有确认面向连接服务。
功能二:链路管理,即连接的建立、维持、释放(用于面向连接的服务)。
功能三:组帧。
功能四:流量控制。
功能五:差错控制(帧错/位错)。
封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。首部和尾部包含许多的控制信息,他们的一个重要作用:帧定界( 确定帧的界限)。
帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。
组帧的四种方法:
帧首部使用一一个计数字段(第一个字节,八位)来标明帧内字符数。某一个字节头部出现问题,后续传输的全部文件均会出现问题。
当传送的帧是由文本文件组成时(文本文件的字符都是从键盘上输入的,都是ASCI码)不管从键盘上输入什么字符都可以放在帧里传过去,即透明传输。当传送的帧是由非ASCII码的文本文件组成时(二进制代码的程序或图像等),就要采用字符填充方法实现透明传输。当所传文件中与结尾部分有相似的指令时,会提前结束数据传输。
操作:
1.在发送端,扫描整个信息字段,只要连续5个1,就立即填入1个0。
2.在接收端收到一个帧时,先找到标志字段确定边界,再用硬件对比特流进行扫描。发现连续5个1时,就把后面的0删除。
在曼彻斯特编码中,可以用“高-高”,“低低”来定界帧的起始和终止。
差错:
位错:比特位出错,1变成0,0变成1
帧错:
丢失收到1-3
重复收到1-2-2-3
失序收到1-3-2
对需要传输的比特数据前加上校验元,使其中的“1”为奇数个或者为偶数个,后面在对这个数值进行验证。
奇偶校验码特点:只能检查出奇数个比特错误,检错能力为50%。
计算冗余码:
(1)加0,假设生成多项式G(x)的阶为r, 则加r个0。
(2)模2除法数据加0后除以多项式,余数为冗余码/FCS/CRC检验码的比特序列。即异或,相同为0,不同为1。
(3)将余数添加到数据后面,然后发往接收端
接收端检错过程
把收到的每一个帧都除以同样的除数,然后检查得到的余数R。
1.余数为0,判定这个帧没有差错,接受。
2.余数为不为0,判定这个帧有差错(无法确定到位),丢弃。FCS的生成以及接收端CRC检验都是由硬件实现,处理很迅速,因此不会延误数据的传输。
海明码:发现双比特错,纠正单比特错。
步骤:
1.确定校验码位数r
海明不等式
2^r≥k+r+1
r为冗余信息位,k为信息位
2.确定校验码和数据的位置
假设这4位校验码分别为P1、 P2、 P3、P4; 数据从左到右为D1、D2、.....、D6。把校验码放在2的几次方的位置按序把空填满,即1,2,4,8,16...
3.求校验码的值
4.检错并纠错
其中的0101是按p4,p3,p2,p1的顺序写的
可靠传输:发送端发啥,接收端收啥
较高的发送速度和较低的接收能力的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作。
数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的。
数据链路层流量控制手段:接收方收不下就不回复确认。
传输层流量控制手段:接收端给发送端一个窗口公告。
流量控制的方法
每发送完一个帧就停止发送,等待对方的确认,在收到确认后再发送下一个帧。
无差错情况
有差错情况
1.数据帧丢失或检测到帧出错
1.发完一个帧后,必须保留它的副本。
2.数据帧和确认帧必须编号
2.ACK丢失
3.ACK迟到
信道利用率
信道利用率U=Td/(Td+RTT+Ta)
Td发送时延,Ta接受时延,RTT传输时延
GBN发送方需要响应的三件事:
1.上层的调用
上层要发送数据时,发送方先检查发送窗口是否已满,如果未满,则产生一一个帧并将其发送;如果窗口已满,发送方只需将数据返回给上层,暗示上层窗口已满。上层等一会再发送。(实际实现中,发送方可以缓存这些数据,窗口不满时再发送帧)。
2.收到了一个ACK
GBN协议中,对n号帧的确认采用累积确认的方式,标明接收方已经收到n号帧和它之前的全部帧。
3.超时事件
协议的名字为后退N帧/回退N帧,来源于出现丢失和时延过长帧时发送方的行为。就像在停等协议中-样,定时器将再次用于恢复数据帧或确认帧的丢失。如果出现超时,发送方重传所有已发送但未被确认的帧。
GBN接受方需要响应的三件事:
如果正确收到n号帧,并且按序,那么接收方为n帧发送一个ACK,并将该帧中的数据部分交付给上层。
其余情况都丢弃帧,并为最近按序接收的帧重新发送ACK。接收方无需缓存任何失序帧,只需要维护一个信息: expectedseqnum (下一个按序接收的帧序号)
GBN有差错情况:
滑动窗口的长度:
若采用n不比特对帧编号,那么发送窗口的尺寸WT应满足: 1<=WT<=2^n-1。因为发送窗口尺寸过大,就会使得接收方无法区别新帧和旧帧。
SR发送方需要响应的三件事:
1.上层的调用
从上层收到数据后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;否则就像GBN一样,要么将数据缓存,要么返回给上层之后再传输。
2.收到了一个ACK
如果收到ACK,加入该帧序号在窗口内,则SR发送方将那个被确认的帧标记为已接收。如果该帧序号是窗口的下界(最左边第一个窗口对应的序号),则窗口向前移动到具有最小序号的未确认帧处。如果窗口移动了并且有序号在窗口内的未发送帧,则发送这些帧。
3.超时事件
每个帧都有自己的定时器,一个超时事件发生后只重传一个帧。
SR接受方需要响应的三件事:
SR接收方将确认-一个正确接收的帧而不管其是否按序。失序的帧将被缓存,并返回给发送方一个该帧的确认帧[收谁确认谁],直到所有帧(即序号更小的帧)皆被收到为止,这时才可以将一-批帧按序交付给上层,然后向前移动滑动窗口。
SR有差错情况:
滑动窗口的长度:
发送窗口最好等于接收窗口。(大了会溢出,小了没意义)
WTMAX=WRMAX=2^(n-1)
介质访问控制的内容就是,采取一定的措施,使得两对节点之间的通信不会发生互相干扰的情况。
介质访问控制:
静态划分信道--信道划分介质访问控制:
频分多路复用FDM
时分多路复用TDM
波分多路复用WDM
码分多路复用CDM
动态分配信道:
轮询访问介质访问权限-令牌传递协议
随机访问介质访问控制:
ALOHA协议
CSMA协议
CSMA/CD协议
CSMA/CA协议
用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。频分复用的所有用户在同样的时间占用不同的带宽(频率带宽)资源。
优点:充分利用传输介质带宽,系统效率较高;由于技术比较成熟,实现也比较容易。
将时间划分为一段段等 长的时分复用帧(TDM帧)。每一个时分复用的用户在每一一个TDM帧中占用固定序号的时隙,所有用户轮流占用信道。
改进的方法:统计时分复用STDM
每一个STDM帧中的时隙数小于连接在集中器上的用户数。各用户有了数据就随时发往集中器的输入缓存,然后集中器按顺序依次扫描输入缓存,把缓存中的输入数据放入STDM帧中,一个STDM帧满了就发出。STDM帧不是固定分配时隙,而是按需动态分配时隙。
波分多路复用就是光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)
不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。
码分多址(CDMA)是码分复用的一种方式。
1个比特分为多个码片/芯片(chip) ,每一个站点被指定一个唯-的m位的芯片序列。
发送1时站点发送芯片序列,发送0时发送芯片序列反码(通常把0写成-1)
如何不打架:多个站点同时发送数据的时候,要求各个站点芯片序列相互正交。相互正交就是把他们的“0”或者“1”的芯片序列相乘然后,除以m,得到的数为“0”,则站点不会打架,可以发送,得到的数为“1”。
如何合并:各路数据在信道中被线性相加,把需要发送的对应位相加。
如何分离:合并的数据和源站规格化内积。将之前得到的数据与上述对应位相加的数据进行相乘,除以m,得到的即为A发送的是“0”和“1”。
纯ALOHA协议思想:不监听信道,不按时间槽发送,随机重发。想发就发
冲突如何检测?
如果发生冲突,接收方在就会检测出差错,然后不予确认,发送方在一定时间内收不到就判断发生冲突。
冲突如何解决?
超时后等一随机时间再重传。
时隙ALOHA协议的思想:把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发送。
CS:载波侦听/监听,每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据。
MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。
协议思想:发送帧之前,监听信道。
监听结果:
空闲:发送完整帧
信道忙:推迟发送
1-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。空闲则直接传输,不必等待。忙则一直监听,直到空闲马上传输。如果有冲突(一段时间内未收到肯定回复),则等待一个随机长的时间再监听,重复上述过程。
优点:只要媒体空闲,站点就马上发送,避免了媒体利用率的损失。
缺点:假如有两个或两个以上的站点有数据要发送,冲突就不可避免。
非坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。空闲则直接传输,不必等待。忙则等待一个随机的时间之后再进行监听。
优点:采用随机的重发延迟时间可以减少冲突发生的可能性。
缺点:可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低。
p-坚持CSMA思想:如果-个主机要发送消息,那么它先监听信道。空闲则以p概率直接传输,不必等待;概率1-p等待到下一个时间槽再传输。忙则等待一个随机的时间之后再进行监听。
优点:既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间的这种方案。
缺点:发生冲突后还是要坚持把数据帧发送完,造成了浪费。
CS: 载波侦听/监听,每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据。
MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。总线型网络
CD:碰撞检测(冲突检测),“ 边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。半双工网络
确定碰撞后的重传时机:截断二进制指数规避算法
1.确定基本退避(推迟)时间为争用期2τ。
2.定义参数k,它等于重传次数,但k不超过10,即k=min[重传次数, 10]。当重传次数不超过10时,k等于重传次数;当重传次数大于10时,k就不再增大而一直等于10。
3.从离散的整数集合[0, 1,, 2k-1]中随机取出一个数r,重传所需要退避的时间就是r倍的基本退避时间,即2rτ。
4.当重传达16次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错。
若连续多次发生冲突,就表明可能有较多的站参与争用信道。使用此算法可使重传需要推迟的平均时间随重传次数的增大而增大,因而减小发生碰撞的概率,有利于整个系统的稳定。
最小帧长问题
帧的传输时延至少要两倍于信号在总线中的传播时延
帧长(bit)/数据传输速率>=2τ
最小帧长=总线传播时延*数据传输速率*2
CA:碰撞避免
发送数据前,先检测信道是否空闲。
空闲则发出RTS (request to send),RTS包括发射端的地址、接收端的地址、下一份数据将持续发送的时间等信息;信道忙则等待。
接收端收到RTS后,将响应CTS (clear to send)。
发送端收到CTS后,开始发送数据帧(同时预约信道:发送方告知其他站点自己要传多久数据)。
接收端收到数据帧后,将用CRC来检验数据是否正确,正确则响应ACK帧。
发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)。
信道划分介质访问控制(MAC Multiple Access Control )协议:
基于多路复用技术划分资源。
网络负载重:共享信道效率高,且公平
网络负载轻:共享信道效率低
随机访问MAC协议:
用户根据意愿随机发送信息,发送信息时可独占信道带宽。
网络负载重:产生冲突开销
网络负载轻:共享信道效率高,单个结点可利用信道全部带宽
轮询访问MAC协议:
轮询协议
主结点轮流“邀请”从属结点发送数据。
问题:
1.轮询开销
2.等待延迟
3.单点故障
令牌传递协议
应用于令牌环网(逻辑环形结构),每个结点都可以在--定的时间内(令牌持有时间)获得发送数据的权利,并不是无限制地持有令牌。用于负载较大的网络。
令牌:一个特殊格式的MAC控制帧,不含任何信息。控制信道的使用,确保同一时刻只有一个结点独占信道。
问题:
1.令牌开销
2.等待延迟
3.单点故障
局域网(Local Area Network) :简称LAN, 是指在某一区域内由多台计算机互联成的计算机组,使用广播信道。
特点1:覆盖的地理范围较小,只在一一个相对独立的局部范围内联,如一座或集中的建筑群内。
特点2:使用专门铺设的传输介质(双绞线、同轴电缆)进行联网,数据传输速率高( 10Mb/s~ 10Gb/s)。
特点3:通信延迟时间短,误码率低,可靠性较高。
特点4:各站为平等关系,共享传输信道。
特点5:多采用分布式控制和广播式通信,能进行广播和组播。
局域网分类:以太网、令牌环网、FDDI网、ATM网、无线局域网
局域网介质访问控制方法
1.CSMA/CD常用于总线型局域网,也用于树型网络
2.令牌总线常用于总线型局域网,也用于树型网络它是把总线型或树型网络中的各个工作站按-定顺序如按接口地址大小排列形成一个逻辑环。只有令牌持有者才能控制总线,才有发送信息的权力。
3.令牌环用于环形局域网,如令牌环网
以太网
使用CSMA/CD技术
以太网只实现无差错接收,不实现可靠传输。以太网提供无连接、不可靠的服务:
无连接:发送方和接收方之间无“握手过程"。
不可靠:不对发送方的数据帧编号,接收方不向发送方进行确认,差错帧直接丢弃,差错纠正由高层负责。
10BASE-T以太网采用星型结构,逻辑上总线型,曼彻斯特编码,采用CSMA/CD介质访问控制
计算机与外界有局域网的链接是通过通信适配器的。
MAC帧格式中数据部分下限46字节,上限1500字节。
高速以太网
1.100BASE-T以太网
在双绞线上传送100Mb/s基带信号的星型拓扑以太网,仍使用IEEE802.3的CSMA/CD协议。支持全双工和半双工,可在全双工方式下工作而无冲突。
2.吉比特以太网
在光纤或双绞线上传送1Gb/s信号。支持全双工和半双工,可在全双工方式下工作而无冲突。
3.10吉比特
10吉比特以太网在光纤上传送10Gb/s信号。
无线局域网
802.11的MAC帧头格式
广域网(WAN, Wide Area Network),通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。
广域网的通信子网主要使用分组交换技术。广域网的通信子网可以利用公用分组交换网、卫星通信网和无线分组交换网,它将分布在不同地区的局域网或计算机系统互连起来,达到资源共享的目的。如因特网(Internet)是世界范围内最大的广域网。
ppp协议
点对点协议PPP ( Pont-to-PointProtocol)是目前使用最广泛的数据链路层协议,用户使用拨号电话接入因特网时一般都使用PPP协议。只支持全双工链路。
ppp协议满足的要求:
简单:对于链路层的帧, 无需纠错,无需序号,无需流量控制。
封装成帧:帧定界符
透明传输:与帧定界符一样比特组合的数据应该如何处理:异步线路用字节填充,同步线路用比特填充。
多种网络层协议:封装的IP 数据报可以采用多种协议。
多种类型链路:串行/并行,同步/异步,电光....
差错检测:错就丢弃
检测连接状态:链路是否正常工作
最大传送单元:数据部分最大长度MTU
网络层地址协商:知道通信双方的网络层地址。
数据压缩协商
无需满足条件:
纠错
流量控制
序号
不支持多点线路
三个组成部分:
1.一个将IP数据报封装到串行链路(同步串行/异步串行)的方法。
2.链路控制协议LCP:建立并维护数据链路连接。身份验证
3.网络控制协议NCP: PPP可支持多种网络层协议,每个不同的网络层协议都要一个相应的NCP来配置,为网络层协议建立和配置逻辑连接。
帧格式:
HDLC协议
高级数据链路控制(High-Level Data Link Control或简称HDLC),是一个在同步网上传输数据、面向比特的数据链路层协议,它是由国际标准化组织(ISO)根据IBM公司的SDLC(SynchronousData Link Control)协议扩展开发而成的.数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现。
采用全双工通信
所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重份,传输可靠性高。
HDLC的帧格式
信息帧,监督帧,无编号帧
网桥
网桥根据MAC帧的目的地址对帧进行转发和过滤。当网桥收到一个帧时,并不向所有接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口,或者是把它丢弃( 即过滤)。
网桥优点:
1.过滤通信量,增大吞吐量。
2.扩大了物理范围。
3.提高了可靠性。
4.可互连不同物理层、不同MAC子层和不同速率的以太网。
透明网桥:“透明” 指以太网上的站点并不知道所发送的帧将经过哪几个网桥,是一种即插即用设备--自学习。
源路由网桥:在发送帧时,把详细的最佳路由信息( 路由最少/时间最短)放在帧的首部中。
方法:源站以广播方式向欲通信的目的站发送一个发现帧。
以太网交换机
两种方式:
直通式交换机:查完目的地址(6B) 就立刻转发。延迟小,可靠性低,无法支持具有不同速率的端口的交换。
存储转发式交换机将帧放入高速缓存,并检查否正确,正确则转发,错误则丢弃。延迟大,可靠性高,可以支持具有不同速率的端口的交换。
原文:https://www.cnblogs.com/ryk72835/p/14176592.html