可靠性与应答(差错控制规程):
基本确认方法是:确认(应答)和超时。
停止--等待:
发送一帧后,启动计时器,等待应答:
如果得到的是肯定应答(确认):则发送新帧。
如果得到的是否定应答或者无应答(超时):则进行重传。
停止--等待实现算法:
- 不使用否认帧,且确定帧带有序号n。
- ACKn表示“第n-1号帧已经收到,现在希望接受到第n号帧”。
-ACK1表示“0号帧已经收到,现在希望接受1号帧”。
-ACK0表示“1号帧已经收到,现在希望接受0号帧”。
停止-等待方法的效率:
时间关系如下:
重传时间就是:
发送帧的传播时延+发送帧的处理时间+应答帧的发送时间+应答帧的传播时延+应答帧的处理时间。
超时重传:发送帧发送完毕后若经过一段时间还没有收到应答帧,就重新传这个数据帧。
我们默认处理时间和应答帧发送时间都很短,短到可以忽略不计。
而数据帧的发送时间相对较长,不可以忽略。
停止-等待方法的效率:
信道利用率: 对于给定时间,α是一个常数。
直接来看题:
假设主机甲采用发送数据停止--等待协议向主机乙发送数据,数据帧长和确认帧长均为1000B。数据传输速率为10kbps,单向传播时延是200ms,则甲的最大信道利用率为:
2/3
发送时间:1000B=8000bits,数据传送速率为10000bits/s,所以数据发送时间是0.8s。
传播时延:0.2s。
所以最大信道利用率是:0.8/(0.8+0.2*2)=66.7%。
滑动窗口:
- 基本信息:连续发送多个帧,再等待应答,可以一次对多个帧给出应答,发送数据时可以捎带给出应答,应答信息不必单独发送。
- 发送方保留一个发送窗口Wt,落在发送窗口中的帧才能被发送。
- 接收方保留一个接受窗口Wr,落在接收窗口中的帧才能被接收。
- 两个窗口按照一定的规律滑动,实现帧的高效发送和接收。
在图中,显然是当确认被接收之后再进行窗口的滑动的。
1位滑动窗口
发送窗口,接受窗口大小都是1,即每次发送只允许发送和接收1帧,类似停止--等待方式,但是允许双向发送,捎带应答。
全部重传方式
发送方和接收方的窗口都是N,都有N个缓冲区。
都是一次性滑动N,一旦发生传输错误,哪怕仅有一个帧,都要重发N帧,只有当N个帧都没有问题的时候,才能滑动N个窗口。
肯定应答只需对N个帧发送一次。
对每个帧都可以单独发送否定应答。
允许不按顺序接收(接收后排序)。
N个帧中,只要有一个帧出错,N个帧就要全部重传。
选择重传方式:
发送,接收窗口都是N。
发送方,一次性发送N个帧,等待应答,对NAK帧重传,待N个帧都收到ACK后,窗口推进N。
接受方,对收到的帧进行检错,排序,对每个帧给出应答(ACK/NAK),N帧都应答ACK后窗口推进N。
部分重传方式:
发送,接收窗口都是N。
发送方,从第一个错帧开始重发后面所有帧。
- 连续发送N帧,每发送一帧均启动超时计时器。
- 若接收到对i帧的ACK(i),则登记,并判断i是否是最后一帧,若是,将窗口滑动N,发送新帧。
- 若超时未收到任何应答,则重发窗口中的所有帧,若期间收到过ACK(i),重发窗口中从i+1开始的所有帧。
接收方:累计确认。
- 对收到的帧进行检错,排序。
- 若收到的帧编号不在接收窗口中或重复帧,则丢弃。
- 若接收到错误帧i(位错),丢弃,发送否定应答NAK(i)。
- 若接收到正确帧,则保存到相应缓冲区(同时实现了排序),计算窗口中首帧开始的连续正确帧中最大的序号i,发送肯定应答ACK(i)。
看题:
t0到t1时刻之间,看接收方反馈的信号,接收方期望发送方能发送3号帧,说明0,1,2号帧已经被接收,所以甲方可以断定乙方已经正确接收的数据帧有三个,分别是S0,0,S1,0,S2,0。
第二问事真的不懂,求大神解答。答案是5个数据帧,其中第一个是S5,2,最后一个是S1,2。
第三问,你发出去S4之后,对方要求你发送S2,说明S2对方没接到,这时你要发送,S2,3,S3,3,S4,3。这三个数据帧。
第四问,发送时间:ts=8*1000/(100*10000000)。
传播时延:tp=0.00096。
最大信道利用率=7*ts/(tp+2*ts)=50%。
IP地址与子网
IPv4地址是32位的二进制代码。
用点分十进制记法表示。
机器中存放的IP地址是32位二进制代码,其中每8位分为一组,可以分为4组,将每8位二进制数转化为十进制数,采用点分十进制记法分开。
IP地址由网络号和主机号构成,前面部分是网络号,后面部分是主机号。
IP地址的两级结构很有优势,使得在Internet上寻址很方便,先按照IP地址中的网络号找到网络,再按照主机号找到网络内的主机。
有以下分类:
A类地址:网络号8位,主机号24位。网络号第一位是0。
B类地址:网络号10位,主机号16位。网络号前两位是10。
C类地址:网络号是24位,主机号是8位。网络号前三位是110。
D类地址:属于多播地址。前四位是1110。
E类地址:保留为今后使用。前四位是1111。
子网及其掩码:
两级IP地址有两个缺点,分别是IP地址的空间利用率低,以及给每一个网络分配一个网络号会使得网络数量变得非常大,进行路由选择时性能变差。
将一个规模较大的网络划分成相对独立的部分(子网),子网之间的通信类似于不同网络之间的通信。
划分子网的方法就是:将主机号进一步划分成子网号和新的主机号两部分:
子网掩码:
指格式与IP地址相似,对应的网络号(net-id)和子网号(subnet-id)都是1,对应的主机号(host-id)全为0的32位整数,用于识别网络号/子网号。划分子网后,同一子网内的所有主机的网络地址,子网地址和子网掩码必须相同。
划分子网纯属于机构内部的事情,但是对外仍然表现为没有划分子网的网络。
在转发包时,将网络地址和子网地址合并在一起,称之为广义网络地址。
广义网络地址的计算方式为:
广义网络地址=(IP地址)AND(子网掩码)
例题如下:
1,针对第一问,路由器常见的连接方式有两种:
连接交换机,计算机通过交换机连接成小型网络(局域网),局域网通过路由器连接成大型网络。
第二种是连接远程计算机。远程计算机(如家庭中的计算机,远地独立计算机)通过MODEM,远程线路连接到接入路由器(前端有MODEM池)上实现连网。所以设备1应该是路由器,设备2,3应该是以太网交换机。
2,对于问题2,首先明确一个概念:
IP地址表示一台主机或路由器与另一个网络之间的连接/接口(网卡),如果一台主机与多个网络相连接,就需要多个IP地址,例如一个路由器至少连接到两个网络,因此一个路由器至少应当由两个不同的IP地址。交换机是网络中的设备,用于在局域网中转发数据帧,不是使用IP地址。
所以设备1需要连接IP地址,设备2,3不需要。
明确一个概念,路由器连接的IP地址是路由器管理的IP地址,也称为默认网关。
CIDR记法:路由器分别连接来自R的网关:192.168.20.253,设备2,3的网关:192.168.20.1和192.168.20.33.
3,对于问题3:
首先明确网络地址转换服务(NAT):NAT是一种路由器功能,它允许多个设备共享一个公共IP地址。当内部设备发送请求时,路由器会将源IP地址转换为路由器的公共IP地址,以便与互联网通信。NAT还负责在接收到来自互联网的响应时将数据包转发给正确的内部设备。
所以为了确保主机能够访问Internet,路由器需要提供NAT服务,或者说网络转换服务。
4,对于问题4:
63转化为8位二进制数的前3位是001,而34和35对应的8位二进制数的前三位也是001,所以对应的IP数据报会被H3,H4接受到,同理31对应的8位二进制数是000,5和6对应的8位二进制数前三位也是000,所以对应地址会被H1和H2接收到。