一、进程之间的通信
从通信和信息处理的角度看,运输层向他上面的应用层提供通信服务,他属于面向通信部分的最高层,同时也是用户功能的最低层。我们知道,IP协议能够把源主机A发送出去的分组按照首部的目标地址交到目的主机B,那么,为什么还需要运输层?因为从IP层来说,通信的两端是两个主机。而进程间的通信,说的是一个主机的一个进程和另一个主机的特定进程在交换数据。严格来说,两个主机进行的通信就是两个主机的应用程序相互通信。
套接字 = (IP地址:端口号)
指明了网络中特定的主机中的一个特定的应用程序
二、运输层的功能
运输层还有两个重要的功能,就是复用和分用。这里的“复用”指的是发送方不同的应用程序都可以使用同一个运输层协议来传送数据。“分用”指的是接收方的运输层在剥去报文的首部后能够把这些数据正确交付目的应用程序。
三、运输层的端口
进程的创建和撤销都是动态的,通信的一方几乎无法识别对方机器上的进程。另外,我们往往需要利用目的主机提供的功能来识别重点,而不需要知道具体实现这个功能的进程是哪一个。解决这个问题的方法就是在运输层使用“协议端口号”,通常也叫做“端口”。
端口号只具有本地意义,它只是为了标志本计算机应用层的各个进程和运输层交互时的层间接口。
16位的端口号可允许有65535个不同的端口号,这个数目对一个计算机来说是够用的。
四、端口号的分类
端口号一共分为两类
(1)服务器端使用的端口号:
a、熟知端口号/系统端口号:数值为“0-1023”
b、登记端口号:数值为“1024-49151”
(2)客户端使用的端口号:数值为49152-65535
这类端口号仅在客户端进程运行时才动态的选择,因此又叫做“短暂端口号”。进程结束后,刚才使用过的客户端口号就不复存在了。