新手入门:了解网络应用与网络协议3

新手入门:了解网络应用与网络协议3

Posted on 2007-04-26 10:51 szw104 阅读(1) 评论(0)   编辑  收藏 引用 网摘 所属分类: Web原理
进程间跨网络的通信

  一个网络应用涉及两台不同主机中跨网络彼此通信的两个进程(当然,组播网络应用有可能涉及两台以上主机间的通信)。这两个进程通过经由各自的套接字(socket)发送和接收消息彼此通信。我们可以把套接字看作相应进程上的“门”:进程把消息发送到网络或从网络接收消息都得经过自身的套接字。当一个进程想给另一台主机中的另一个进程发送消息时,它就把该消息推出自家的门。该进程认定在这扇门的另一侧有一个传输设施会把这个消息传输到目的进程的门口。

  图3展示了通过因特网彼此通信的两个进程间的套接字通信(本图假设底层的传输协议是TCP,不过UDP也可以同样使用)。可见套接字是单台主机内应用层和传输层之间的接口。套接字也用于指代应用程序和网络之间的应用程序接口(application program interface,简称API),因为它又是用于构造因特网中的网络应用程序的编程接口。应用程序开发人员可以完全控制套接字的应用层一侧,对于套接字的传输层一侧却几乎无能为力。对于传输层一侧他们只能控制:(1)传输协议的选择;(2)诸如最大缓冲区大小和最大片段大小等有限几个传输层参数的调整。一旦选定某个可用的传输协议,就使用由该协议提供的传输层服务来构造应用程序。


图3:应用程序进程、套接字

  进程寻址

  要让一台主机中的进程给另一台主机中的进程发送消息,发送进程必须能够识别接收进程。用于标识接收进程的信息有两个:(1)接收主机的主机名或主机地址,(2)在接收主机内部识别接收进程的标识符。

  让我们先考虑主机地址。在因特网应用中,接收主机是用其IP地址(1P addresse)标识的。现在,我们知道IP地址是惟一标识每个端系统的一个32位二进制数值(更准确地说,IP地址惟一地标识将各台主机连接到因特网的网络接口),既然连接到公共因特网的任何端系统的IP地址必须全球惟一,IP地址的分配就必须仔细管理。ATM网络的寻址标准则不同于因特网。ITU—T已规定,在公共ATM网络中使用称为E.164地址(ITU1997)的类似电话号码的地址。

  除了知道接收进程所在端系统的地址外,发送进程还得指定可让接收端系统把所传送消息定向到接收进程的信息。因特网中用于此目的的是接收进程的端口号(port number)。流行的应用层协议已被赋予特定的端口号。例如,使用HTTP协议的web服务器进程是以端口号80标识的,使用SMTP协议的邮件服务器是以端门号25标识的。RFC 1700列出了所有因特网标准协议众所周知的端口号。在开发新的网络应用程序时,必须赋予它一个新的端口号。

  用户代理

  再开始继续研究应用层协议之前,讨论一下用户代理(user agent)的概念也许有所裨益。用户代理是一个位于用户和网络应用之间的接口。例如,Web应用的用户代理是诸如Netscape Navigator和微软Internet Explore这样的浏览器。浏览器使得用严可以观看web页面、进行web冲浪、提供表单输入、与JAVA小应用程序交互,等等。浏览器还实现了HTTP协议的客户端。因此启动后的浏览器除给用户提供一个接口外,其进程还同时在经由一个套接字发送接收消息。另一个例子是关于电子邮件应用的。电子邮件应用的用户代理是“邮件阅读器”,它使得用户可以编写和阅读邮件消息。许多公司提供可运行在PC机、MAC机和工作站上的图形用户界面的邮件阅读器(例如Eudora,Netscape Messenger,Microsoft outlook)。运行在PC机上的邮件阅读器还实现了多个应用层协议的客户端,典型的有用于发送邮件的SMTP协议的客户端.以及用于检索邮件的某个邮件检索协议(例如POP3或IMAP)的客户端。

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值