目录
传输层基本概念
传输层的作用
根本目的:在网络层提供的数据通信服务基础上,实现主机的进程间通信的可靠服务
三大要点:
- 为位于两个主机内部的两个应用进程之间提供通信服务
- 传输层协议软件属于OS操作系统内核软件而非用户软件
- 提供可靠的通信服务
套接字
“套接字”表示一个IP地址与对应的一个进程标识(端口号)。例如,一个IP地址为202.1.2.5客户端使用3022端口号,那么标识客户端的套接字为“202.1.2.5:3022”。
端口号的分配
端口号为0-65535之间的整数,有3种类型:熟知端口号、注册端口号、临时端口号。
熟知端口号:给每种服务器分配确定的全局端口号。每个用户进程都知道相应的服务器进程的熟知端口号,范围为0-1023,它是统一分配和控制的。
注册端口号:在IANA注册的端口号,数值范围为1024-49151。
临时端口号:客户端程序使用临时端口号,它是运行在客户端上的TCP/IP软件随机选取的,范围为49152-65535。
传输层通信连接的标识方法
一个完整的进程通信标识需要一个五元组标识:(协议、本地地址、本地端口、远程地址、远程端口号)
如:( 协议=tcp, 本地地址=192.168.0.7, 本地端口=54470, 远程地址=172.217.6.127, 远程端口=443 )
传输层的多路复用与多路分解
意指:运行TCP/IP协议主机中,可以同时运行不同应用层协议和不同的应用程序。
由传输层根据不同的TPDU(传输协议数据单元)的端口号,区分出不同属性,分别传给对应的几个应用进程。
用户数据报协议UDP
主要特点
-
无连接的:发送数据之前不需要建立连接,因此减少了开销和发送数据之前的时延。
-
尽最大努力交付:即不保证可靠交付,因此主机不需要维持复杂的连接状态表。
-
面向报文的:UDP 对应用层传递下来的报文,既不合并,也不拆分,而是保留这些报文的边界。UDP 对于应用程序提交的报文,添加头部构成TPDU后就向下提交给IP层。
-
没有拥塞控制:网络出现的拥塞时,UDP不会使源主机的发送速率降低。这对某些实时应用是很重要的,很适合多媒体通信的要求。
-
支持多对多的交互通信
-
首部开销小:只有 8 个字节,比 TCP 的 20 个字节的