6.1客户/服务器方式(C/S方式)和对等方式(P2P方式)
开发一种新的网络应用首先要考虑的问题就是网络应用程序再各种端系统上的组织方式和它们之间的关系
客户/服务器方式
客户和服务器是指通信中所设计的两个应用进程
客户/服务器方式所描述的是进程之间服务和被服务的关系
客户是服务请求方,服务器是服务提供方
服务器总是处于运行状态,并等待客户的服务请求。服务器具有固定端口号(例如HTTP服务器的默认端口号80),而运行服务器的主机也具有固定的IP地址
基于C/S方式的应用服务通常是服务集中型的,常会出现服务器计算跟不上众多客户机请求的情况
对等方式
没有固定的服务请求者和服务提供者,分布再网络边缘各端系统中的应用进程是对等的,被称为对等方。对等相互之间直接通信
目前,再因特网上流行的P2P应用主要包括P2P文件共享、即时通讯、P2P流媒体、分布式存储等
P2P的应用是服务分散型
P2P方式最突出的特性之一就是它的可扩展性,系统性能不会因规模的增大而降低
P2P方式具有成本上的优势
6.2动态主机配置协议DHCP
允许一台计算机加入新网络时可自动获取IP地址等网络配置信息而不用手工参与
DHCP主要使用以下报文来实现其功能
DHCP DISCOVER
DHCP发现报文
DHCP REQUEST
DHCP请求报文
DHCP NACK
DHCP否认报文
DHCP OFFER
DHCP提供报文
DHCP ACK
DHCP确认报文
DHCP RELEASE
DHCP释放报文
DHCP报文再运输层使用UDP协议封装
DHCP客户使用的UDP端口号为68
DHCP服务器使用的UDP端口号为67
DHCP客户再未获得IP地址时使用地址0.0.0.0
现在是使每一个网络至少有一个DHCP中继代理(通常是一台路由器),它配置了DHCP服务器的IP地址信息,作为各网络中计算机与DHCP服务器的桥梁
6.3域名系统DNS
作用
将服务器IP地址解析为域名
因特网采用层次树状结构的域名结构
域名结构由若干个分量组成,各分量之间用“点”隔开,分别代表不同级别的域名
每一级域名不超过63个字符,不区分大小写字母
级别最低的域名写在最左边,最高的顶级域名写在最右边
完整的域名不超过255个字符
各级域名由其上一级的域名管理机构管理,而最高级的顶级域名则由因特网名称与数字地址分配机构ICANN进行管理
顶级域名TLD
国家顶级域名nTLD
通用顶级域名gTLD
反向域arpa
用于反向域名解析,即IP地址反向解析为域名
在国家顶级域名下注册的二级域名均有该国家自行确定
我国则将二级域名划分为两类
类别域名
行政区域名
域名服务器可以划分为四种类型
根域名服务器
通常不直接对域名进行解析,而是返回该域名所属顶级域名的顶级域名服务器的IP地址
顶级域名服务器
管理在该顶级域名服务器注册的所有二级域名
权限域名服务器
负责管理某个区的域名
本地域名服务器
本地域名服务器起着代理的作用,会将该报文转发到上述的域名服务器的等级结构中,它有时也称为默认域名服务器
域名解析的过程
递归查询
迭代查询
递归查询对于被查询的域名服务器负担太大,通常采用以下模式:从请求主机到本地域名服务器的查询时递归查询,则其余的查询时迭代查询
在域名服务器中使用高速缓存来提高DNS的查询效率,并设置计时器删除超过合理时间的项
6.4文件传送协议FTP
FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限
FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件
FTP客户和FTP服务器会建立用于传输控制命令的TCP连接和用于传送数据的TCP连接
控制连接在整个会话期间一直保持打开,用于传送FTP相关控制命令
数据连接用于文件传输,在每次文件传输时才建立,传输结束就关闭
默认情况下,FTP使用TCP21端口进行控制连接,TCP20端口进行数据连接。主动方式使用TCP20端口,被动方式由服务器和客户端自行协商决定
6.5电子邮件
电子邮件时因特网上最早流行的一种应用
电子邮件采用客户/服务器方式
电子邮件系统的三个主要组成构件:用户代理,邮件服务器,以及电子邮件所需的协议
用户代理是用户与电子邮件系统的接口,又称为电子邮件客户端软件
邮件服务器是电子邮件系统的基础设施。因特网上所有的ISP都有邮件服务器,其功能是发送和接收邮件,同时还要负责维护用户的邮箱
协议包括邮件发送协议(例如SMTP)和邮件读取协议(POP3,IMAP)
SMTP协议只能传送ASCLL码文本数据
为解决SMTP传送非ASCLL码文本问题,提出了多用途因特网邮件扩展MIME来转换非ASCLL码的文件
增加了5各新的邮件首部字段,这些字段提供了有关邮件主体的信息
定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化
定义了传送编码,可对任何内容格式进行转换,而不会被邮件系统改变
常见的邮件读取协议
邮局协议POP
POP3是其第三个版本,是因特网正式标准
用户只能以下载并删除方式或下载并保留方式从邮件服务器下载邮件到用户方计算机,不允许用户在邮件服务器上管理自己的邮件
因特网邮件访问协议IMAP
IMAP4是其第四个版本,目前还只是因特网建议标准
用户在自己的计算机上就可以操控邮件服务器中的邮箱
POP3和IMAP4都采用基于TCP连接的客户/服务器方式。POP3使用熟知端口110,IMAP4使用熟知端口143
电子邮件的信息格式并不是由SMTP定义的,而是在RFC822中单独定义的。这个RFC文档已在2008年更新为RFC5322.一个电子邮件有信封和内容两部分。而内容又由首部和主体两部分构成
6.7万维网WWW
是运行在因特网上的一个分布式应用
万维网使用统一资源定位符URL来指明因特网上任何种类“资源”的位置
URL的一般形式由四个部分组成
<协议>://<主机>:<端口>/<路径>
超文本传输协议HTTP
HTTP/1.0采用非持续连接。每次浏览器请求一个文件都要与服务器建立TCP六案件,当收到响应后就立即关闭连接
每请求一次文档就要有两倍的RTT的开销
为了减小时延,浏览器通常会建立多个并行的TCP连接同时请求多个对象。但这会大量占用万维网服务器资源
HTTP/1.1采用持续连接。
HTTP是面向文本,其报文中的每一个字段都是一些ASCLL码串,并且每个字段的长度都是不确定的
使用Cookie在服务器上记录用于信息
Cookie是一种对无状态的HTTP进行状态化的技术