最顶层
,是设计和建立计算机网络的最终目的
,也是计算机网络中发展最快的部分。
客户是服务请求方,服务器是服务提供方
。服务器总是处于运行状态,并等待客户的服务请求
。服务器具有固定端口号(例如HTTP服务器的默认端口号为80) ,而运行服务器的主机也具有固定的IP地址。服务集中型
的,即应用服务集中在网络中比客户计算机少得多的服务器计算机上。
常会出现服务器计算机跟不上众多客户机请求的情况
。计算机群集
(或服务器场)构建一个强大的虚拟服务器
。没有固定的服务请求者和服务提供者
,分布在网络边缘各端系统中的应用进程是对等的,被称为对等方。对等方相互之间直接通信,每个对等方既是服务的请求者,又是服务的提供者。服务分散型
的,因为服务不是集中在少数几个服务器计算机中,而是分散在大量对等计算机中,这些计算机并不为服务提供商所有,而是为个人控制的桌面计算机和笔记本电脑,它们通常位于住宅、校园和办公室中。可扩展性
。因为系统每增加一个对等方,不仅增加的是服务的请求者,同时也增加了服务的提供者,系统性能不会因规模的增大而降低
。具有成本上的优势
,因为它通常不需要庞大的服务器设施和服务器带宽。为了降低成本,服务提供商对于将P2P方式用于应用的兴趣越来越大。允许一台计算机加入新网络时可自动获取IP地址等网络配置信息而不用手工参与
。DHCP DISCOVER: DHCP发现报文 DHCP OFFER: DHCP提供报文
DHCP REQUEST: DHCP请求报文 DHCP ACK: DHCP确认报文
DHCP NACK: DHCP否认报文 DHCP RELEASE: DHCP释放报文
在运输层使用UDP协议封装
未获取到IP地址时使用地址0.0.0.0
DHCP中继代理(通常是一台路由器)
,它配置了DHCP服务器的IP地址信息,作为各网络中计算机与DHCP服务器的桥梁。文件传送协议FTP
(File Transfer Protocol)是因特网上使用得最广泛的文件传送协议。
提供交互式的访问
,允许客户指明文件的类型与格式
〈(如指明是否使用ASCIl码),并允许文件具有存取权限
(如访问文件的用户必须经过授权,并输入有效的口令)。FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件
。建立以下两个并行的TCP连接
:
控制连接
,在整个会话期间一直保持打开,用于传送FTP相关控制命令数据连接
,用于文件传输,在每次文件传输时才建立,传输结束就关闭。默认情况下,FTP使用TCP21端口进行控制连接,TCP20端口进行数据连接
。但是,是否使用TCP 20端口建立数据连接与传输模式有关,主动方式使 被动方式由服务器和客户端自行协商决定
。客户/服务器
方式。三个主要组成构件:用户代理
,邮件服务器
,以及电子邮件所需的协议
。
邮件发送协议
是简单邮件传送协议SMTP
多用途因特网邮件扩展MIME
。邮件读取协议
有以下两个:
邮局协议POP3
:非常简单、功能有限的邮件读取协议。用户只能以下载并删除方式或下载并保留方式从邮件服务器下载邮件到用户方计算机。不允许用户在邮件服务器上管理自己的邮件
。因特网邮件访问协议IMAP
:功能比POP3强大的邮件读取协议。用户在自己的计算机上就可以操控邮件服务器中的邮箱
,就像在本地操控—样,因此IMAP是一个联机协议。基于TCP连接的客户/服务器方式
。POP3使用端口110,IMAP4使用端口143。图解:
发送与接收电子邮件过程 |
浏览器
登录(提供用户名和口令)邮件服务器万维网网站
就可以撰写、收发、阅读和管理电子邮件。这种工作模式与IMAP很类似,用户浏览器与邮件服务器网站之间使用HTTP协议
,而邮件服务器之间使用SMTP协议
。分布式应用
。渲染引擎
,也就是浏览器内核
,负责对网页内容进行解析和显示。统一资源定位符URL
来指明因特网上任何种类“资源”的位置。其一般形式为:<协议>://<主机>:<端口>/<路径>超文本标记语言HTML
,使用多种“标签”来描述网页的结构和内容。(网页扩展名为.htm)层叠样式表CSS
,从审美角度来描述网页的样式。(文件扩展名为.css)脚本语言JavaScript
(与Java没有任何关系),控制网页的行为。(文件扩展名为.js)超文本传输协议HTTP
(HyperText Transfer Protocol)定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档以及万维网服务器怎样把方维网文档传送给浏览器。
非持续连接
方式。每次浏览器要请求一个文件都要与服务器建立TCP连接(80端口),当收到响应后就立即关闭连接。持续连接
方式。万维网服务器在发送响应后仍然保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的HTTP请求报文和响应报文。为了进一步提高效率,还可采用流水线方式,即浏览器在收到HTTP的响应报文之前就能够连续发送多个请求报文。请求报文
和响应报文
。报文中的每一个字段都是一些ASCII码串,并且每个字段的长度都是不确定的。Cookie是一种对无状态的HTTP进行状态化的技术
。Web缓存
,可位于客户机,也可位于中间系统上,位于中间系统上的Web缓存又称为代理服务器
.
图解:
HTTP的请求报文格式,要能够看懂右上角,每一行字段的含义 |