应用层
是计算机网络体系的最顶层,是设计和建立计算机网络的最终目的,也是计算机网络中发展的最快的部分
开发一种新的网络应用首先考虑的问题就是网络应用程序在各种端系统上的组织方式和它们之间的关系
客户/服务器方式(C/S方式)
-
客户是服务请求方,服务器是服务提供方
-
服务器总是处于运行状态,并等待客户的服务请求.服务器具有固定端口号(例如http服务器的默认端口号为80),而运行服务器的主机也具有固定的IP地址
-
服务集中型
-
常出现服务器跟不上众多客户机请求的情况
-
常用计算机群集构建一个强大的虚拟服务器
我们熟悉的很多网络应用采用的都是C/S方式,例如:万维网WWW、电子邮件、文件传输FTP等
对等方式(P2P方式)
-
没有固定的服务请求者和服务提供者
-
服务分散型
-
可扩展性,系统性能不会因规模的增大而降低
-
具有成本上的优势
P2P应用主要包括:P2P文件共享、即时通信、P2P流媒体、分布式存储等
动态主机配置协议DHCP
允许一台计算机加入新网络时可自动获取IP地址等网络配置信息而不用手工参与
-
DHCP报文在运输层使用UDP协议封装
-
未获取到IP地址时使用地址0.0.0.0
域名系统DNS
是因特网使用的命名系统,便于人们记忆的特定含义的主机名,转换为便于机器处理的IP地址
-
因特网采用层次树状结构的域名结构
-
DNS使用分布在各地的域名服务器来实现域名到IP地址的转换
-
使用运输层的UDP协议封装,端口号为53
域名解析过程
递归查询
迭代查询
为了提高DNS的查询效率,在域名服务器中广泛的使用了高速缓存,高速缓存用来存放最近查询过的域名以及何处获得域名映射信息的记录
由于域名到IP地址映射关系并不是永久不变的,为了保证高速缓存中内容正确,域名服务器应为每项内容设置计时器删除超过合理时间的项
万维网WWW
万维网使用统一资源定位符URL来指明因特网上任何种类资源的位置
URL一般形式由以下四部分组成:<协议>://<主机>:<端口>/<路径>
超文本传输协议HTTP
HHTP定义了浏览器怎样向万维网服务器请求万维网文档,以及万维网服务器怎样把万维网文档传送给浏览器
HTTP/1.0采用非持续链接方式,每次浏览器要请求一个文件都要与服务器建立TCP连接,当收到响应后就立即关闭连接
HTTP/1.1采用持续链接方式,发送响应后仍然保持连接
使用Cookie在服务器上记录用户信息
-
早期万维网很简单,用户只是查看存放在不同服务器上的各种静态文档,因此HTTP被设计为一种无状态的协议
-
Cookie提供一种机制使得万维网可以记住用户,Cookie是一种对无状态的HTTP进行状态化的技术