计算机网络自顶向下第三章传输层

传输层主要的协议有TCP和UDP

传输层协议主要为主机内部程序提供传输服务,而网络层协议是为两台主机提供传输服务

UDP不可靠无连接的服务(不能保证一个进程所发送的数据能够完整无缺的(全部)到达目的进程)

TCP可靠面向连接的服务

IP尽力而为的交付服务也是不可靠服务

多路复用指在运输层封装套接字绑定的端口信息,多路分解则相反,分解收到的数据报,得到对应套接字绑定的端口。

多路复用在源主机从不同套接字中收集数据库,为每个数据块封装首部信息,从而生成报文段,并将报文段传递到网络层

多路复用的要求

1套接字有唯一标识符

2每个报文段有特殊字段来指示该报文段所要交付到的套接字(特殊字段应该就是指对应的源端口号)

端口号从0-65535,0-1024是系统内部使用的,如80端口443端口都是有特殊用途的。最好不要使用

多路分解将运输层报文段中的数据交付到正确的套接字的工作

 UDP只是做了运输协议能够做的最少的工作。除了复用/分解功能及少量的差错检测外,几乎没有对IP添加别的东西。

UDP相较于TCP的优点

1关于何时,发送什么数据的应用层控制更为精细(因为没做什么工作,就交付到下层服务了,所以花的时间少,控制就更精细)

2无需建立连接,没有建立时延

3无连接状态

4分组首部开销小 TCP20个首部字节,UDP8个首部字节

如果要让UDP实现可靠数据传输,需要程序自身建立可靠性机制。

差错检验

接收方反馈 肯定确认ACK,否定确认NAK

重传

回退N步协议(GBN)

如果发现分组有失序,把之后的分组都丢弃,让发送方重发

选择重传

原文地址:https://www.cnblogs.com/lgh344902118/p/6744721.html