文章目录
1 传输层提供的服务
1.1 功能概述
网络层只把分组发送到目的主机,但是真正通信的并不是主机而是主机中的进程。运输层提供了进程间的逻辑通信,运输层向高层用户屏蔽了下面网络层的核心细节,使应用程序看起来像是在两个运输层实体之间有一条端到端的逻辑通信信道。
1.2 TCP与UDP协议
-
用户数据报协议 UDP(User Datagram Protocol)是无连接的,尽最大可能交付,没有拥塞控制,面向报文(对于应用程序传下来的报文不合并也不拆分,只是添加 UDP 首部),支持一对一、一对多、多对一和多对多的交互通信。
-
传输控制协议 TCP(Transmission Control Protocol)是面向连接的,提供可靠交付,有流量控制,拥塞控制,提供全双工通信,面向字节流(把应用层传下来的报文看成字节流,把字节流组织成大小不等的数据块),每一条 TCP 连接只能是点对点的(一对一)。
1.3 传输层的寻址和端口
常见的应用程序端口号
传输层的复用分用功能与网络层的复用分用功能不同。
网络层的
复用
是指发送方不同协议的数据都可以封装成IP数据报发送出去,网络层的
分用
是指接收方的网络层在剥去首部后把数据交付给相应的协议。
2 UDP协议
2.1 UDP特点
2.2 UDP首部格式
首部字段只有 8 个字节,包括源端口、目的端口、长度、检验和。12 字节的伪首部是为了计算检验和临时添加的。
如果接收方UDP发现收到的报文中的目的端口号不正确(即不存在对应于端口号的应用进程),那么就丢弃该报文,并由ICMP发送“端口不可达”差错报文给发送方
。
2.3 UDP的校验位构成
伪首部和全0字节是不发送的,仅供校验使用。</