计算机端口详解(非常详细,必看!)

计算机端口详解 (非常详细,必看!) 计算机“端口”是英文port的义译,可以认为是计算机与外界通讯交流的出口。其中硬件领域的端口又称接口,如:USB端 口、串行端口等。软件领域的端口一般指网络中面


计算机端口详解 (非常详细,必看!)

计算机“端口”是英文port的义译,可以认为是计算机与外界通讯交流的出口。其中硬件领域的端口又称接口,如:USB端

口、串行端口等。软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一

些数据结构和I/O (基本输入输出)缓冲区。

可以先了解面向连接和无连接协议(Connection-Oriented and Connectionless Protocols)

面向连接服务的主要特点有:面向连接服务要经过三个阶段:数据传数前,先建立连接,连接 立后再传输数据,数据传

送完后,释放连接。面向连接服务,可确保数据传送的次序和传输的可靠性。

无连接服务的特点是:无连接服务只有传输数据阶段。消除了除数据通信外的其它开销。只要发送实体是活跃的,无须接

收实体也是活跃的。它的优点是灵活方便、迅速,特别适合于传送少量零星的报文,但无连接服务不能防止报文的丢失、重复

或失序。

区分“面向连接服务”和“无连接服务”的概念,特别简单、形象的例子是:打电话和写信。两个人如果要通电话,必须

先建立连接——拨号,等待应答后才能相互传递信息,最后还要释放连接——挂电话。写信就没有那么复杂了,地址姓名填好

以后直接往邮筒一扔,收信人就能收到。TCP/IP协议在网络层是无连接的(数据包只管往网上发,如何传输和到达以及是否到

达由网络设备来管理)。而“端口”,是传输层的内容,是面向连接的。协议里面低于1024的端口都有确切的定义,它们对应

着因特网上常见的一些服务。这些常见的服务可以划分为使用TCP端口(面向连接如打电话)和使用UDP端口(无连接如写信)

两种。

网络中可以被命名和寻址的通信端口是操作系统的一种可分配资源。由网络OSI (开放系统互联参考模型,Open System

Interconnection Reference Model)七层协议可知,传输层与网络层最大的区别是传输层提供进程通信能力, 网络通信的最

终地址不仅包括主机地址,还包括可描述进程的某种标识。所以TCP/IP协议提出的协议端口,可以认为是网络通信进程的一种

标识符。

应用程序 (调入内存运行后一般称为:进程)通过系统调用与某端口建立连接(binding,绑定)后,传输层传给该端口的

数据都被相应的进程所接收,相应进程发给传输层的数据都从该端口输出。在TCP/IP协议的实现中,端口操作类似于一般的

I/O操作,进程获取一个端口,相当于获取 地唯一的I/O文件,可以用一般的读写方式访问。

类似于

标签: