传输层的寻址与端口
1、 端口的作用:端口能让应用层的各种应用进程将数据通过端口向下交付给传输层,以及让传输层知道应当将其报文段中的数据向上通过端口交付给应用层的进程。端口就是传输层服务访问点TSAP,它在传输层的作用类似于IP地址在网络层的作用或MAC地址在数据链路层的作用,只不过IP地址和MAC地址标识的是主机,而端口标识的是主机中的应用进程。数据链路层的SAP是MAC地址,网络层的SAP是IP地址,传输层的SAP是端口。
2、 端口号:应用进程通过端口号进行标识,端口号长度为16bit,能够表示65536个不同的端口号。根据端口号范围可将端口分为两类:
(1) 服务端使用的端口号。这里又分为两类,最重要的一类是熟知端口号,数值为0-1023,这些端口号指派给了TCP/IP最重要的一些应用程序,让所有的用户都知道。另一类叫做登记端口号,数值为1024-49151。它是为没有熟知端口号的应用程序使用的,使用这类端口号必须在IANA登记,防止重复。
(2) 客户端使用的端口号,数值为49152~65535,由于这类端口号仅在客户进程运动时才动态选择,因此又叫做短暂端口号。通信结束后,刚才使用过的客户端口号就不复存在,这个端口号就可以供其他客户进程使用。
3、套接字:在网络中通过IP地址来标识和区别不同的主机,通过端口号来标识和区分主机中的不同应用进程。在网络中采用发送方和接收方的套接字(Socket)组合来识别端点。所谓套接字实际上是一个通讯端点即:
它唯一标识了网络中的一个主机和其上的一个应用进程。