1. 服务
1.1 功能
1.2 寻址与端口
1. 端口
1.1 定义
- 端口是传输层服务访问站点(TSAP)
- 在传输层的作用类似于IP地址在网络层的作用或MAC地址在数据链路层的作用
- 只不过IP地址和MAC地址标识的是主机,而端口标识的是主机中的应用进程
- 在协议栈层间的抽象的协议端口是软件端口,它与路由器或交换机上的硬件端口是完全不同的概念。
- 硬件端口不同硬件设备进行交互的接口,而软件接口是应用层的各种协议进程与传输层实体进行层间交互的一种地址。
- 传输层使用的是软件端口。
1.2 作用
承上启下的作用:
- 让应用层的各种应用进程将其数据通过端口向下交付给传输层
- 让传输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程
2. 端口号
1. 定义
- 应用进程通过端口号进行标识,端口号长度为16bit,能够表示65536(2^16)个不同的端口号
- 端口号只具有本地意义,即端口号只标识本计算机应用层中的各进程,在因特网中不同计算机的相同端口号是没有联系的。
2. 分类
根据端口号范围
2.1 服务端使用的端口号
1. 熟知端口号
- 是最重要的一类,数值为0~1023
- IANA(互联网地址指派机构)把这些端口号指派了TCP/IP最重要的一些应用程序,让所有的用户都知道。
2. 登记端口号
- 数值为1024~49151
- 它是供没有熟知端口号的应用程序使用的,使用这类端口号必须在IANA登记,以防止重复。
2.2 客户端使用的端口号
- 数值为49152~65535
- 由于这类端口号仅在客户进程运行时才动态选择,因此又称短暂端口号(也称临时端口号)
- 通信结束后,刚用过的客户端号就不复存在,从而这个端口号就可供其他客户进程使用
3. 套接字
3.1 定义
- 在网络中通过IP地址来标识和区分不同的主机,通过端口号来标识和区分一条主机的不同应用进程。
- 在网络中采用发送方和接收方的套接字(Socket)组合来识别端点。
- 所谓套接字,实际上是一个通信端点,即 套接字 = (主机IP地址,端口号)
3.2 作用
- 唯一地标识网络中的一台主机和其上的一个应用(进程)
在网络通信中,主机A发送给主机B的报文段包含目的端口号和源端口号,源端口号是“返回的地址”的一部分,即当B需要发回一个报文段给A时,B到A的报文段中的目的端口号便是A到B的报文段中的源端口号(完全的返回地址是A的IP地址和源端口号)。