计算机网络 CH6
第六章 应用层
6.2 客户/服务器方式和对等方式
客户/服务器方式 (C/S)指的就是一方请求服务,另外一方提供需要的服务;这个方式具有如下的一系列的特点:
而P2P模式指的是,计算机相互关系是对等的,请求对方服务的同时也为对方提供相应的服务。
6.3 动态主机配置协议(DHCP)
DHCP server的作用是,可以提供一系列初始的配置信息,在初始的时候为主机配置这些内容,如下图所示
6.3.2 动态主机配置协议DHCP的基本工作过程
如下图所示,总结下来就是主机和服务器之间进行交互、租用(并且可能续约)ip地址的一个过程
续约的时候,首先在0.5倍租用期肯定发送一个request,然后根据相应情况分为如下三种可能: 1. ack:得到新的租用期 2. nack:那么立即停止租用的ip地址,重新发送dhcp discover报文 3. 没响应:那么等到0.875倍租用期再发送一个request,这时候如果等到最终的租用期到的时候没有响应,那么依旧停止租用的ip地址,重新发送dhcp discover报文
最终租用期到的时候,发送release报文,释放ip地址。同时,利用ARP确保分配的IP地址是否被其他主机占用
6.3.3 DHCP中继代理
如果本网络没有配置DHCP服务器,那么这时候,广播discover就会被路由器丢弃;因此这时候需要给相应的路由器配置DHCP代理,如下图所示:
配置过中继代理的路由器会把discover单播给DHCP服务器
6.4 域名系统(这一块重要!)
这个讲的是如何通过一个域名解析到一个ip地址;一般地,主机会首先查找自己的DNS缓存是否记录了对应关系;若否,那么询问DNS服务器进行查找,然后返回给主机对应关系
6.4.2 因特网的域名结构
使用层次的树状结构,如下所示:
关于域名的一些说明如下:
6.4.3 因特网上的域名服务器
差不多是四层,依次进行迭代的查询,具体的过程看下面的
6.4.4 因特网的域名解析过程
递归查询(不常用):如果不知道的话,一层一层往上问,得到答案之后一层一层告知回去
常用的方式是如下的的迭代查询:
先到本地域名服务器,然后依次问其他的都三个服务器,依次得到答案之后告知回去
同时为了避免短期重复查询,在主机和本地域名服务器中会有高速缓存,记录一些最近查询的内容
关于这部分的内容,理解一下这道习题:
6.5 文件传送协议(FTP)
6.5.1 文件传送协议FTP的作用
顾名思义,ftp用来将一个主机的文件传输到距离很远的的另一台主机上,如下所示:
其工作方式也是C/S方式
6.5.2 文件传送协议FTP的基本工作原理
另外还有一种被动方式:
6.6 电子邮件
依旧客户/服务器模式;整个的工作流程如下所示:
总体看下来应该是了解性的,需要记忆的就是SMTP和POP3的使用场景(读取的时候只能用后者)
6.7 万维网
万维网利用网页之间的超链接将不同网站的网页链接成一张逻辑上的信息网。 
首先了解一下URL的概念:
简单理解,就是你平时输入的网址等等信息;
6.7.4 超文本传输协议HTTP(HyperText Transfer Protocol)
本质上来说,请求网页的过程是客户端进程向万维网请求访问文档,然后万维网将这个文档返回给浏览器(客户端进程)
http/1.0: recall TCP为上层提供了可靠的连接,因此在进行HTTP之前需要先建立tpc连接;如果使用这样的非持续连接方式,那么每一次都要花费一个RTT;因此采用持续连接的方式(这里注意,这相当于是对于同一个网页的不同内容而言的,如果你访问别的照样要建立新的tcp连接)
这就是一些提升效率的方法 总的http报文请求基本格式如下:
在浏览器端常会看到
6.7.5 使用Cookie在服务器上记录用户信息
Cookie是使得服务器记住客户端信息的一种方式
因为早期客户端只是查找一些文件;但是现在,要想进行各种复杂的操作,最好需要玩味欸王服务器可以识别、“记住”用户
在第一次访问的时候:
之后再访问的时候:
代理服务器&缓存:先在缓存查找,如果找不到了再返回原始的服务器去找 以及缓存需要即使更新内容,防止过期(看ppt) 理解一下这个习题的内容:
以及看一下下面这个可能会考的RTT相关内容