其他分享
首页 > 其他分享> > 计算机网络第五章——运输层

计算机网络第五章——运输层

作者:互联网

进程之间的通信

服务器端口范围 0~1023
客户端端口范围 49152~65535
应用程序 FTP TELNET SMTP DNS TFTP HTTP SNMP(trap) HTTPS
熟知端口号 21 23 25 53 69 80 161 162

用户数据报协议UDP

传输控制协议TCP

U = TD/(TD + RTT + TA)
TD是A发送分组需要的时间,等于分组长度/数据率
TA是B发送确认分组需要的时间
通常A最终总是可以收到对所有发出的分组的确认
使用上述的确认和重传机制,我们就可以在不可靠传输网络上实现可靠通信

TCP报文段的首部格式

在这里插入图片描述
源和目的端口:各占2个字节,分别写入源端口和目的端口。

序号:本报文段发送的数据的第一个字节的序号。

确认号:是“确认报文”中期望收到对方下一个报文的第一个数据字节的序号。
确认 ACK:发送方在一定时间内没有收到服务端的ACK确认包后,就会重新发送TCP数据包。发送方收到了

ACK,表明接收方已经接收到数据,保证了数据的可靠达到。

同步 SYN:该标志仅在三次握手建立TCP连接时有效。它提示TCP连接的服务端检查序列编号,该序列编号为TCP连接初始端(一般是客户端)的初始序列编号。

窗口:指明现在允许对方发送的数据量,因为接收方的缓存是有限的。窗口值是动态变化的。

可靠传输的实现

  1. A的发送窗口并不总是和B的接收窗口一样大
  2. TCP标准没有规定对不按序列到达的数据应如何处理,通常是先临时存放在接收窗口中,等到字节流中所缺少的字节收到后,再按序交付上层的应用进程。
  3. TCP要求接收方必须有累计确认的功能,这样可以减小传输开销

TCP的流量控制

301 400 401 500 501 600 601 700 701 800 801 900 901 1000

(1) A发送完seq=301的数据后未收到B发来的任何确认信息,请给出当前发送窗口的范围,并给出其中发送已确认,已发送未确认,可发送还未发送,不允许发送的字节范围

发送窗口的范围301~700 发送已经确认
已发送未确认:301~400 可发送还未发送:401~700
不允许发送:701~1000

(2) A发送完seq=601的数据后收到B发来的ACK=1,ack=501,rwnd=300的报文。请给出当前发送窗口的范围,并给出其中发送已确认,已发送未确认,可发送还未确认,不允许发送的字节范围

发送窗口的范围501~800
发送已确认:301~500 可发送还未发送:501~700
不允许发送:701~800 不允许发送:801~1000

TCP的拥塞控制

防止过多的数据注入网中,使网络中的路由器或链路过载
重传并不会缓解网络的拥塞,反而会加剧网络的拥塞
拥塞控制是一个全局性的过程,涉及到所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素

三次握手

四次握手

标签:运输,发送窗口,字节,报文,确认,TCP,发送,计算机网络,第五章
来源: https://blog.csdn.net/kedacpu/article/details/106796339