上QQ阅读APP看书,第一时间看更新
1.3 认识端口
端口(port)可以认为是计算机与外界通信交流的出口。其中硬件领域的端口又称接口,如USB端口、串行端口等。软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和I/O(基本输入输出)缓冲区。
端口属于传输层的内容,是面向连接的,它们对应着网络上常见的一些服务。这些常见的服务可划分为使用TCP端口(面向连接,如打电话)和使用UDP端口(无连接,如写信)两种。
在网络中可以被命名和寻址的通信端口是一种可分配资源,由网络OSI(Open System Interconnection Reference Model,开放系统互连参考模型)协议可知,传输层与网络层的区别是传输层提供进程通信能力,网络通信的最终地址不仅包括主机地址,还包括可描述进程的某种标识。因此,当应用程序(调入内存运行后一般称为进程)通过系统调用与某端口建立连接(binding,绑定)之后,传输层传给该端口的数据都被相应进程所接收,相应进程发送给传输层的数据都从该端口输出。