运输层协议位于端系统中,由操作系统进行管理,实现对①数据报文的交付和②差错检查,对于①应用的技术为多路复用与多路分解技术。实现了进程与进程之间的逻辑通信,意思是直接对应用程序负责。
多路分解:操作系统根据报文中的端口确定所要交付的进程,具体来说是交给进程的套接字。
即应用层的分解。
多路复用:操作系统把应用层传过来的数据划成段,并给每个段加上端口号等信息传给网络层。而一般网络层仅有一个实体,将所有的进程不数据全部交给同一个网络层,即网络层的复用。
可靠数据传输
采用的技术:
1.校验和
2.序号----用于重传与按顺序组合数据报文,注意序号是根据字节大小来确定的,而不是个数
3.定时器----防止丢包时的无限等待,由发送方设置,超时则自动重传数据包,一个线程仅设置一个定时器
4.ACK与SEQ肯定确认技术
流水线可靠传输协议
1.回退N步(GBN)
2.选择重传(SR)
以上待补充..............
运输层协议构成:①TCP ②UDP
①TCP
TCP定义:传输控制协议,提供可靠的,面向连接的服务
TCP特点:
- 全双工
- 累计确认(cumulative acknowledgemnt):ACK为第一个丢失的字节号
后续内容待补充...............
对时序报文的处理(由程序员自己定制代码)
1.直接丢弃后面所有的报文
2.保留失序字节,等待缺少的字节
②UDP
定义:用户数据报协议,为应用程序提供了一种不可靠的,无连接的服务。
基本内容:UDP报文段中包含源端口与目的端口,并依此来实现多路分解,同时检验和字段用于进行差错检查。
特点:
- 能够及时发送数据-----应用层能够更好地控制要发送的数据和时间。TCP有拥塞控制,UDP不考虑当前网络的质量,直接发送
- 无需建立连接。
- 无连接状态。TCP需要额外的内存。
- 分组首部开销小。
校验和的计算方法:将数据以16位为单位进行迭代加法运算,如果出现溢出,则对结果进行取反操作。检验时将所有的16位进行同样的运算,若无差错则结果为全一