计算机网络教程-传输层(十一)传输层基础协议:简单协议与停止-等待协议
2018-03-28 01:15
555 查看
一、简单协议
我们的第一个协议是一个简单的无连接协议,它既没有流量控制也没有差错控制。我们假设接收方能够立即处理它所收到的任何分组。换言之,接收方永远不会被接收到的分组淹没。直到应用层有报文待发送,发送端才发送分组。直到一个分组到达,接收端才将报文传递到它的应用层。我们可以使用两个有限状态机来表示这些要求。每个有限状态机只有一种状态,即准备状态( ready state)。发送方状态机保持准备状态,直到一个来自应用层进程的请求到来。当这个事件发生时,发送方状态机将报文封装在分组内,并将其发送到接收方状态机。接收方状态机保持准备状态,直到一个来自发送方状态机的分组到来。当这个事件发生时,接收方状态机从分组内解封装出报文,并将其发送到应用层进程。这个状态称为有限状态机。
二、停止-等待协议
它使用流量和差错控制。发送方和接收方都使用大小为 1 的滑动窗口。发送方在某一时刻发送一个分组,并且在发送下一个分组之前等待确认。为了发现被破坏分组,我们需要在每个数据分组中加入校验和。当一个分组到达接收端时,它就被检测。如果校验和不正确,分组就是被破坏的并被悄悄地丢弃。接收方的沉默对发送方来说是一种信号,即那个分组不是被破坏就是丢失了。每当发送方发送一个分组时,它都开启一个计时器。如果在计时器超时之前接收到确认,那么计时器就被关闭并且发送下一个分组(如果它有待发送分组)。如果计时器超时,发送方就认为分组丢失或被破坏,于是重发之前的分组。这意味着在确认到来之前,发送方都需要存储分组的副本。停止-等待协议是一个提供流量和差错控制的面向连接协议。
1.序号
协议使用序号和确认号来防止重复分组。一个字段被加入分组头部来保存那个分组的序号。一件需要着重考虑的事情就是序号的范围。 序号是 0、 1、 0、 1、 0的称为模 2 运算。2.确认号
由于序号必须适合于数据分组和确认,因此我们使用这种惯例:确认号总声明接收方预期接收的下一个分组( next packet expected)序号。例如,如果 0 号分组已经安全完整到达,接收方发送一个确认号为 1 的 ACK(意味着 1 号分组是预期接收的下一个分组)。3.停止-等待的有限状态机
4.发送方
准备状态。当发送方处于这种状态时,它只等待一个事件发生。如果来自应用层的请求到来,发送方创建一个分组,并将其序号设为 S。保存分组的副本,发送分组。之后,发送方开启唯一的计时器。发送方进入阻塞状态。阻塞状态。当发送方处于这个状态时,可能发生三个事件:
a. 如果无错 ACK 到达,它的确认号与下一个待发送分组相关,这意味着 ackNo = (S + 1)modulo2,然后关闭计时器。窗口滑动 S = (S + 1) modulo 2。最终发送方进入准备状态。
b. 如果到达的是被破坏 ACK 或是 ackNo≠(S + 1) modulo 2 的无错 ACK,那么 ACK 被丢弃。
c. 如果发生超时,发送方重新发送唯一的未完成分组并重新开启计时器。
5.接收方
接收方总是处于准备( ready)状态。可能发生三个事件:a. 如果 seqNo = R 的无错分组到达,分组中的报文被传递到应用层。之后窗口滑动, R = (R +1) modulo 2。最终,确认号为 ackNo = R 的 ACK 被发送。
b. 如果 seqNo≠ <
4000
/span>R 的无错分组到达,分组被丢弃,但是确认号为 ackNo = R 的 ACK 被发送。
c. 如果一个被破坏的分组到达,分组被丢弃。
相关文章推荐
- 计算机网络教程-传输层(十二)传输层基础协议:回退N帧协议GBN
- 17 - 01 - 28 计算机网络(18)(停止-等待协议)
- 【RL-TCPnet网络教程】第38章 TFTP简单文件传输基础知识
- 计算机网络- 可靠数据传输协议-设计和实施的协议,如停止的
- linux基础(十一)管理网络、配置ip、网关、DNS、DHCP简单使用
- 结构化计算机网络教程-概论(六)协议,TCP/IP协议,封装,地址,OSI七层模型
- 计算机网络基础之HTTP协议详解
- 计算机硬件基础之网络协议(三)
- 系统架构设计师教程学习随笔 (计算机与网络基础知识--操作系统基础知识)
- 计算机网络基础(四)TCP协议中的三次握手和四次挥手(图解)
- 【计算机网络常见面试题】实现可靠传输的协议
- 计算机网络基础(三)—交换机配置的简单命令
- 计算机基础系列三:网络基础之网络协议
- 计算机网络—传输层协议之UDP
- 计算机网络基础-1.TCP、UDP简单通信java实现
- 计算机网络基础(五)——传输层和应用层
- 计算机网络应用层和传输层及网络层协议有哪些?
- 计算机网络 | 邮件传输协议
- 新手计算机网络基础协议学习小结