网络层提供了主机之间的逻辑通信,运输层为运输在不同主机上的进程之间提供了逻辑通信。
运输层协议是在端系统中而不是在路由器中实现的。
运输协议能够提供的服务常常受制于底层网络层协议的服务模型。(底层无法提供时延或带宽保证,运输层协议也无法提供。但是即使底层网络协议不可靠,运输协议也可以提供可靠的数据传输服务。)
数据交付和差错检查是两种最低限度的运输层服务,也是UDP仅有的功能。
多路分解:传给socket。多路复用:传给网络层
一个UDP套接字由一个二元组来标识,包含一个目的IP地址和一个目的端口号,不同源IP地址可能通过相同的套接字。
一个TCP套接字由一个四元组来标志,包含源IP地址,源端口号,目的IP地址,目的端口号。
UDP校验和:如果有3个数,则将三个数相加,结果有溢出回卷到个位,再将结果反码。接收方接收这一共4个数字,则计算的和应该每一位都为1,否则就是出差错了。UDP没有差错恢复。
可靠数据传输原理(看课件,重点回顾)
rdt1.0:假设不丢包,没有error。
rdt2.0:假设不丢包,有error(通过ACK和NCK来返回信息)。但是存在问题,如果客户端检查到ACK或者NCK出现了error怎么办?
rdt2.1: 每个包加上序号(0或1即可),当有error则重新传包。
rdt2.2: 不使用NAK,而是使用与上一次发出的ACK相同的方式表明没有接收到正确分组。
rdt3.0: 解决丢包问题。多加了一个计时器。但它是一个stop-and-wait operation。
Pipelined protocols(必须增加序号范围和缓存多个分组)
Go-Back-N:
Selective repeat in action:
TCP连接
sequence numbers, acknowledgements
TCP可靠数据传输:三次重复的ACK,则重新传(其实是四次)。
流量控制
三次握手,四次挥手
拥塞控制:端到端拥塞控制,网络辅助的拥塞控制(RM,EFCI,CI,NI,ER)
TCP拥塞控制 :Lec06课件P49页,吞吐量
计算机网络(传输层)
最新推荐文章于 2024-04-07 22:26:25 发布