一、运输层协议概述:
1、运输层是向上面的应用层提供方通信服务的。
2、通信是两个主机的“应用进程”之间的相互通信,通信的端点是应用进程。
3、网络层为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信。
4、运输层的两个重要协议:用户数据报协议UDP,传输控制协议TCP。
5、在TCP/IP体系中,UDP传输的数据单元叫UDP用户数据报,TCP传输的数据单元叫TCP报文段。
6、UDP在传送前不需要先建立连接,TCP则提供面向连接的服务。
7、TCP/IP运输层使用一个16位端口号来标志一个端口,允许有65535个不同的端口号。
8、服务器使用的端口号:0-1023;登记端口号:1024-49151,需要在IANA登记;短暂端口号:49152-65535:仅在客户进程运行时才动态选择的,通信结束后,端口号就被释放。
二、用户数据报协议UDP:
1、UDP概述:
(1)UDP是无连接的。
(2)UDP不保证可靠交付。
(3)UDP是面向报文的。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付层。UDP对应用层交下来的报文不合并也不拆分。应用程序必须选择合适大小的报文。若太长,IP层传送时需要分片,影响IP层效率。反之,若报文太短,会使IP层首部相对长度太大,降低IP曾效率。
(4)UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低。这对很多实时应用很重要。
(5)UDP支持一对一、一对多、多对一和多对多的交互通信。
(6)UDP首部开销小,只有8个字节。
2、UDP的首部格式:首部由4个字段组成,每个字段都是2个字节,总共8个字节。
(1)源端口:源端口号。
(2)目的端口:目的端口号。
(3)长度:UDP数据报长度,最小为8个字节。
(4)检验和:检测UDP用户数据报在传输中是否出错,出错则丢弃。
3、UDP工作流程:
(1)当运输层从IP层收到UDP数据报时,就根据首部中的目的端口,把UDP数据时通过相应得端口,上交给最后的终点—应用进程。
(2)如果接收方UDP发现收到的报文目的端口不正确,就丢弃该报文,并由网际控制报文协议ICMP发送“端口不可达”差错报文给发送方。
三、传输控制协议TCP概述:
1、TCP最主要的特点:
(1)TCP是面向连接的运输层协议,即必须先建立连接才能使用。
(2)每条TCP连接只能有两个端点,每条TCP连接只能是点对点的。
(3)TCP提供可靠传输服务。
(4)TCP提供全双工通信。TCP连接两端设有发送缓存和接受缓存,用来临时存放双方通信数据。
(5)面向字节流。TCP的“流”指的是流入到进程或进程流出的字节序列。TCP不保证接收方应用程序收到的数据块和发送方应用程序所发出的数据块具有对应关系(如:发送方应用程序交给发送方的TCP10个数据块,但接收方TCP可能只用了4个数据块就把所有的