目录
运输层协议的位置
运输层为相互通信的应用进程提供了逻辑通信
应用进程之间的通信
客户-服务器通信模式
互联网的运输层协议
UDP 与 TCP
运输层的复用与分用
运输层端口的概念
端口在进程之间的通信中所起的作用
端口号
运输层协议的位置
从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层
运输层为相互通信的应用进程提供了逻辑通信
应用进程之间的通信
两个主机进行通信实际上就是两个主机中的应用进程互相通信
应用进程之间的通信又称为端到端的通信
运输层的一个很重要的功能就是复用和分用
应用层不同进程的报文通过不同的端口向下交到运输层,再往下就共用网络层提供的服务、运输层提供应用进程间的逻辑通信、逻辑通信的意思是:运输层之间的通信好像是沿水平方向传送数据,但事实上这两个运输层之间并没有一条水平方向的物理连接
客户-服务器通信模式
在网络中,两个进程要进行通信,必须有一个进程要主动发起通信,而另一个进程要事先准备好接受通信请求,这就是客户-服务器通信模式
客户-服务器通信模式中,客户和服务器都是进行通信的应用进程,客户是主动发起通信的进程,而服务器是被动接受通信请求的进程
互联网的运输层协议
互联网(更一般地说是TCP/IP网络)的运输层有两个不同的协议:
用户数据报协议 UDP (User Datagram Protocol)
传输控制协议 TCP (Transmission Control Protocol)
TCP 与 UDP协议栈中的位置
运输协议数据单元 TPDU(Transport Protocol Data Unit)
TCP 传送的协议数据单元称为 TCP 报文段(segment)
UDP 传送的协议数据单元称为 UDP 报文或用户数据报
UDP 与 TCP
UDP
无连接的协议,提供无连接服务:不提供可靠传输服务;
支持单播、多播、广播;
简单、适用于很多应用,如:多媒体应用等
TCP
面向连接的协议,提供面向连接服务:提供可靠传输服务;
支持点对点单播,不支持多播、广播;
复杂、用于大多数应用,如:万维网、电子邮件、文件传送等
运输层的复用与分用
复用和分用是运输层很重要的一个功能
复用是指在发送方不同的应用进程都可以使用同一个运输层协议传送数据(需要加上运输层协议的首部)
分用是指接收方的运输层在剥去报文的首部后能够把这些数据正确交付到目的应用进程
在TCP/IP网络中,利用软件端口(Port)来实现复用和分用。l 端口是应用层与运输层之间接口的抽象
运输层端口的概念
对于不同的计算机系统,端口的具体实现方法可能有很大的差别,因为这取决于计算机的操作系统
端口的作用就是让应用层的各种应用进程都能将其数据通过端口向下交付给运输层,以及让运输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程
需要用运输层协议进行通信的进程,都需要与某个端口关联,而端口号标识了应用进程所关联的端口
端口号相当于应用进程的运输层地址
端口在进程之间的通信中所起的作用
端口号
两个计算机中的进程要互相通信,不仅要知道对方的IP地址(为了找到对方的计算机),而且还要知道对方的端口号(为了找到对方计算机中的应用进程)
TCP和UDP的端口号都是16 位,但端口号只具有本地意义,在互联网中不同计算机的相同端口号是没有联系的,并且TCP和UDP端口号之间也没有必然联系
三种不同类型的端口号
熟知端口号 其数值为 0~1023。由互联网赋号管理局(Internet Assigned NumbersAuthority,IANA)分配给一些常用的应用层程序固定使用
登记端口号 其数值为 1024~49151。这类端口号 IANA 并不控制,但可以在 IANA 注册登记,以防止重复使用
动态端口号 其数值为 49152~65535。留给客户进程选择作为临时端口号