上一篇文章说过 IP地址 可以用来标识网络中不同主机的地址,实际上在IP数据包头部中有两个IP地址,分别叫做 源IP地址(从哪来)和目的IP地址(到哪去)。
设想一下光有IP地址就可以完成通信了吗?比如我们A机器给B机器发了一个qq消息,IP地址可以帮我们把消息发送到B上,但是还需要有一个标识来分析这个数据是要给B机器上哪个进程进行解析。
端口号就可以完成标识进程这个工作。
- 端口号是传输层协议的内容,是一个2字节的整数
- 端口号用来标识一个进程,告诉操作系统,当前的这个数据要交给哪一个进程来处理;
- 一个进程可以占用多个端口号,但一个端口号只能被一个进程占用
- 传输层协议的数据段中有源端口号与目的端口号
端口号与进程ID的关系
进程ID(PID)是操作系统的内核用于唯一标识进程的一个数值。端口号也是标识唯一一个进程,两者之间的关系?
- 进程ID是由操作系统内核进行分配和管理的
- 端口号是由通讯协议内核分配并进行管理的。
端口号与IP的关系
- 网络层的 IP 可以唯一标识网络中的主机
- 传输层的 协议+端口 可以唯一标识主机中的进程
- 通过
五元组
(sip sport dip dport proto:源IP地址,源端口,目的IP地址,目的端口和传输层协议)就可以在网络上标识一个通信
- IP在网络上,标识PC的位置
- 端口号在主机上,标识进程的位置