计算机网络笔记(6)

基本数据链路层协议

协议1:一个乌托邦式的单工协议

单工协议即数据只能单向传输。这个协议假设信道永远不会丢失或损坏帧,接收方的处理能力足够快,缓冲区足够大。

发送程序无限循环,接受程序响应事件,协议1中不包含流量控制和纠错功能。

协议2:无错信道上的单工停-等式协议

发送方的速度如果过快,接收方会被淹没,除了增强接收方的处理能力,可以让接收方给发送方发送反馈,发送方收到后才可以发送下一帧。

发送程序无限循环并等待接收方确认,接受程序响应事件后发送确认帧。

协议3:有错信道上的单工停-等式协议

有错信道上传输数据需要增加校验,接收方仅在数据正确时发送确认帧。但在确认帧丢失的情况下(超时),发送方将重发。接收方难以判断帧是重发还是新发,因此帧前加上序号以区分。

重复的帧也会收到确认帧,以便发送方决策。

计算机网络笔记(7)

回顾

帧同步、差错控制、对等通信协议

乌托邦协议、简单流量控制、出错重传(定时器、序列号)、捎带确认

发送窗口的大小等于能够发送的帧的数量

数据链路层和传输层使用滑动窗口协议

滑动窗口协议

全双工:任何一方即是发送方也是接收方。

捎带确认:确认并非单独的帧,而是被附加到数据帧。

序号:任何帧都有一个序号,确认帧也包含被确认帧的序号。

窗口:窗口是一个环,并且存在上下界。发送方窗口内的序号代表那些可以被发送或还未收到确认的帧。当有新的包从网络层传来,它被赋予最高序号的下一个序号,同时窗口上边界前移一个序号。收到确认帧后,窗口下边界也前移一个序号。

对于接收方,如果接收到的帧的序号等于窗口下边界,那么下边界前移,如果落在窗口内,那么放入缓存区,落在窗口外则被丢弃。在任何情况下,接收方都要发送确认帧,这可以为发送方的行为提供决策依据。

协议4:一位的滑动窗口协议

发送窗口大小=接收窗口大小=1,效率极低。只有窗口大于1才能提高信道利用率。

特殊情形

如果超时时间过短,那么每一帧都可能被发送多次。

当双方同时开始发送,会出现如下情景:发送方收到带有确认信息的帧,但确认信息不正确(发送方发送的第一帧也含有确认信息),导致双方都必须重发。

PS:我感觉第一帧如果能特殊标记,那么也能够避免第一帧携带的确认信息+同时发送导致重发的情况。

协议5:回退n

发送窗口大于1,接收窗口等于1。出错时重传帧数多,适用于信道质量好,出错率少的情况。

阻塞前发送的帧数

w<=1+2BD,具体参考https://www.guohere.com/4613.html的20题。

可发送帧数与序号

可发送帧数在协议5中并不等于序号空间的大小,而是要-1,因为在确认帧丢失并重发的情况下,接收方需要判断新的一批是新帧还是重发帧。

协议6:选择重传

发送窗口和接收窗口都大于1,ack累计,出错时可以累计重传,可以否定重传。于是接收方可以只丢弃错帧,发送方可以只重传出错帧,适用于信道质量不好的情况。

接收方的窗口大小要小于等于表达第n帧的状态数,否则窗口重叠会导致无法辨认重传信息属于哪个窗口。发送窗口一般等于接收窗口,接收窗口必须小于能表达的窗口序号/2。

了解概念

HDLCHigh-level Data Link Control)协议

面向连接:协议建立、释放逻辑连接

流控制:滑动窗口协议,有序号和确认

差错控制:使用回退n帧协议或者选择重传协议

PPPPoint-to-Point Protocol)协议

面向字符的数据链路协议,字符填充成帧,面向网络层的IP协议,具有差错控制、身份认证功能

ADSL

广泛用于通过本地回路宽带接入

链路层总结

帧同步、差错控制、协议

第四章介质访问控制子层(Media Access ControlMAC

概念

MAC层介于物理层与数据链路层之间,Link层包括MAC和LLC。

以太网(Ethernet)包括经典以太网与8028.3Ether ne

数据通信方式

单播(unicast):点对点

广播(broadcast):全部可以传输,信道共享。MAC算法使广播基于规则而平等。

组播(multicast):一组中的广播

动态分配信道

ALOHA协议

无线中,设备随时可以发送信息,由于可能冲突而浪费信道容量,闲时很高效,忙时几乎无法避免冲突,信道利用率只有18.4%。

时隙(SlottedALOHA协议

时间分槽,时间被分成很多固定长度(一帧的传输时间)的时间片,设备在任意时间片开始时发送信息,减小了冲突的可能(只可能发生在同一时间片),信道利用率36.8%

载波侦听多路访问协议(Carrier Sense Multiple AccessCSMA

CSMA的特征是“先听后发”,是对ALOHA协议的改进。

非持续式:侦听信道,介质空闲时发送,介质忙时等待一个随机时间,再忙再重复。会由于等待的随机时间浪费信道容量。

1-持续式:侦听信道,介质闲时发送,忙时持续侦听,一旦空闲立即发送,如果冲突,等待一个随机时间再继续侦听。多个设备准备发送时,由于侦听到同一空闲,会发生冲突。

p-持续式:侦听信道,如介质空闲,以p的概率发送,(1-p)的概率等待随机时间。如介质忙或等待了一个随机时间,持续侦听,空闲后重复步骤一。

冲突域(物理层概念):数据包产生和冲突的网络区域,存在共享媒质区就一定存在冲突域。CSMA即使侦听到空闲,仍然有可能冲突,原因有两点:同时开始的传输、介质中的传播延迟

计算机网络(1)

基础概念

路由器

负责连接两条或以上传输线路的计算机。同时路由器也是一个网关,它在网络层交换数据包。

交换机

网络中每台计算机通过一条点对点的链路连接到交换机(switch)。交换机有多个端口(port),每个端口连接一台计算机。交换机的工作是中继网络中的数据包,通过数据包中的地址确定数据发送给哪台计算机。

网关

将两个不同的网络连接起来并提供必要转换的机器,其硬件和软件的总称叫网关(gateway),网关可以工作在协议的不同层次。

子网

定义一

广域网中运行应用程序的计算机被称为主机(host),而连接这些主机的网络的其余部分被称为通信子网(communication subnet)/子网(subnet)。子网的工作是把信息从一台主机传递给另一台主机。

在多数广域网中,子网由传输线路和交换元素组成。传输线路(transmission line)指有线或无线链路,交换元素(switching element)/交换机(switch)是负责连接两条或以上传输线路的计算机,他们现在又叫路由器(router)

层次相关

OSI模型

OSI(Open Systems Interconnection,开放系统互联)模型描述了较为通用的网络模型,它本身不定义服务或协议。

物理层(physical layer)

物理层关注在一条通信信道上传输原始比特,涉及传输方式和细节,以及物理传输介质等。

数据链路层(data link layer)

数据链路层的主要任务是隐藏物理传输中的错误,使物理连接变成逻辑上无差错的数据链路。发送方将数据拆分成数据帧(data frame)并顺序发送,如果服务是可靠的,接受方给发送方发回确认帧(acknowledgement frame),帧的尾部带有检查码。

网络层(network layer)

网络层的主要功能是控制子网的运行。网络层负责路由,处理拥塞,决定服务质量,允许不同协议的异构网络相互连接成为互联网络。

传输层(transport layer)

传输层接受上一层的数据,在必要的时候把这些数据分割成较小的单元,然后把这些数据单元传递给网络层,并且确保数据正确抵达另一端。OSI的1~3层是链式连接的,而4~7层是端到端的。

会话层(session layer)与表示层(presentation layer)

会话层提供了对话控制、令牌管理、同步功能等服务,表示层管理数据的语义、抽象结构。由于现在的应用层实现了部分会话层与表示层的功能,在TCP/IP协议中不存在这两层。

应用层(application layer)

应用层包含了用户通常需要的各种协议,如HTTP(HyperText Transfer Protocol)、HTTPS、FTP、SFTP等协议。

层次设计问题

路由(routing)

在源和目的地之间找到合适的路径。网络有时有一些链路或者路由器偶尔发生故障,网络应该能够选出别的线路,这个主题叫做路由。

寻址(addressing)和命名(naming)

每一层在特定的消息中都需要一种机制来标识发送方和接收方,这种机制在下层叫寻址,上层叫命名。

拥塞(congestion)

由于太多的计算机发送太多的流量,网络没有能力传递所有的数据包。此时需要流量控制,发生拥塞时,每台计算机都减少对网络的宽带需求,这种策略对每一层都适用。

服务质量(Quality of Service)

网络为需要实时(real-time)传递的应用程序与高吞吐量的应用程序提供服务,QoS是调和这些竞争需求的机制的名称。