首页 理论教育 网络通信概述及TCP/IP网络协议

网络通信概述及TCP/IP网络协议

时间:2023-11-16 理论教育 版权反馈
【摘要】:一台计算机中的某个应用程序等待另一个应用程序打开网络连接,执行通信,这个应用程序“监听”其它应用程序的连接请求,就像你守在电话机旁等待某人的电话一样。上述说明是采用TCP/IP网络协议进行网络通信的基本描述,TCP/IP是Internet通信的主要网络协议。应用程序执行大多数网络通信的基本对象称为套接字。图6-2端口为网络通信确定正确的应用程序说明:在一台计算机中,待定的端口只能由一个应用程序在监听。

网络通信概述及TCP/IP网络协议

在网上通信的应用程序,无论是通过因特网还是通过小型办公网都采用同样的原则,通过类似的功能实现网络通信。一台计算机中的某个应用程序等待另一个应用程序打开网络连接,执行通信,这个应用程序“监听”其它应用程序的连接请求,就像你守在电话机旁等待某人的电话一样。

同时,另一个应用程序(一般在另一台计算机上),试图与“监听”应用程序连接。这种打开连接的做法与打电话给别人一样。你拨电话时希望对方在线路的那一头等你,打电话时必须知道对方的电话号码。如果不知道,可以查电话本。类似地,应用程序要建立连接也必须知道对方的网络地址

在两个应用程序间建立连接后就可以传送消息,正像你在电话中与对方交谈一样。双向通信的过程如图6-1所示。

图6-1 通信连接过程

当单方或双方完成了信息交换,关闭连接,就像你打完电话挂机一样。不管是哪一方关闭连接,另一方可以检测到这种情况,并关闭本方的通信,就像你可以知道对方是否已把电话挂了,或者是由于别的原因线路中断了。这是两个或两个以上应用程序相互进行网络通信的基本情况。

上述说明是采用TCP/IP网络协议进行网络通信的基本描述,TCP/IP是Internet通信的主要网络协议。其它许多网络协议的描述略有不同,但基本相似。如UDP协议更像无线电广播,两个应用程序之间不需连接,一方发送信息,另一方负责接收所有信息。

应用程序执行大多数网络通信的基本对象称为套接字(Socket)。Socket最初是加利福尼亚大学的伯克利分校在UNIX上开发的,它的设计为网络通信提供了一致的标准化接口,使网络通信能以相同的方式进行,就像应用程序读写磁盘文件。Socket从那以后已做了很多的改进,但基本原理没变。(www.xing528.com)

在网络功能嵌入到Windows操作系统之前,在Windows 3x环境中,可以从无数个公司买到网络通信所需的网络协议。在这些协议中,应用程序执行网络通信的方式各有不同。其结果,需要进行网络通信的程序都有一系列不同的联网软件与之配合。许多程序开发人员对此状况是不满意的。后来,包括Microsoft在内的网络公司走到一起,共同完成了WinSock(Windows Sockets)API。它向所有应用程序开发人员提供了一致的API完成网络通信,不管所用的联网软件是什么。

当要读或写一个文件时,必须用一个文件对象(文件指针或文件句柄)指向这个文件。Socket程序也是如此,Socket就是在应用程序之间用来读(接收信息)或写(发送信息)的一个网络对象。

与打开文件相比较,与另一个应用程序的网络连接需要一组不同的信息。打开文件要求知道文件名和文件位置。而打开网络连接需要知道对方程序在哪台计算机上(计算机网络地址),在哪个端口上监听,每个端口对应一个网络应用程序。计算机网络地址好像是某单位电话的总机号码,端口像一个分机号。当你给该单位的某个人打电话时,需要先拨该单位的总机号码(计算机网络地址),然后再拨分机号(端口号),如图6-2所示。如同打电话一样,如果不知道端口号,你可以查一下,不过这需要知道要连接的应用程序正在哪个端口上监听的信息。如果计算机地址或端口号指定错了,则可能连接到别的应用程序上,就像打错了电话一样。如果对方没有应用程序在监听要连接的端口,你也许根本得不到回答。

图6-2 端口为网络通信确定正确的应用程序

说明:在一台计算机中,待定的端口只能由一个应用程序在监听。尽管在一台计算机上可以同时有许多程序在监听连接请求,但各个程序必须在不同的端口上进行监听。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈