计算机网络---应用层 - 详解
文章目录
1. 网络应用模型
1.1 前言



1.2 基本概念


1.3 客户/服务器模型(C/S)


强调:
- 客户程序必须知道服务器程序的地址,服务器程序不需要知道客户程序的地址
- 客户、服务器地位不对等
- 客户机相互之间不直接通信
- 可扩展性不佳
1.4 P2P模型


强调:
- 主机之间地位相等
- 主机之间直接通信
- 可扩展性好,网络健壮性强,各节点可以分摊负载
2. 域名系统DNS
2.1 基础概念






强调:
- DNS系统采用客户/服务器模型,其协议运行在UDP之上
2.2 域名解析过程


2.2.1 递归查询

如上图所示,本地域名服务器只需向根域名服务器查询一次,后面的几次查询都是递归地在其他几个域名服务器之间进行地[步骤③ ~ ⑥]。在步骤⑦中,本地域名服务器从根域名服务器得到了所需IP地址,最后在步骤⑧中,本地域名服务器把查询结果告诉发起查询地主机。
2.2.2 递归与迭代结合查询

- (1)主机向本地域名服务器的查询采用的是递归查询。若本地主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向根域名服务器继续发出查询请求报文(替主机继续查询),两种方式这一步相同
-(2)本地域名服务器向根域名服务器的查询采用迭代查询。当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器:“你下一步应当向哪个顶级域名服务器进行查询”。随后让本地域名服务器向这个顶级域名服务器进行后续查询,以此类推
3. 文件传输协议(FTP)


强调:
- FTP采用客户/服务器的工作方式,使用TCP可靠的传输服务
- 主动模式传送数据是“服务器”连接到“客户端”的端口,服务器用控制进程(21端口) 让 数据传送进程(20端口)进行连接客户端;被动模式传送数据是“客户端”连接到“服务器”的端口,此时服务器上的控制进程和资料传送进程的端口号是随机开放的一个。无论怎样,客户端上的端口号都是随机的
- 控制连接在整个会话期间一直保持打开状态,而数据传送连接在传送完毕后就关闭并结束运行
4. 电子邮件


强调:
- 邮件服务器采用客户/服务器模型,但它必须能够同时充当客户和服务器
- 邮件发送协议用于用户代理(就是邮件程序)向邮件服务器发送邮件或在邮件服务器之间发送邮件,如:SMTP
- 邮件读取协议用于用户代理从邮件服务器读取邮件,如:POP3
4.1 邮件传送协议


强调:
- SMTP使用客户/服务器,传输层用TCP
- SMTP不能传送可执行文件或者其他二进制对象
- SMTP仅限于传送7位ASCII码
- MIME是基于SMTP的一种扩展协议
4.2 邮件发送协议

强调:
- POP也使用客户/服务器,也用TCP
- POP有两种工作方式:“下载并保留”和“下载并删除”
- IMAP也可以理解位POP的扩展版,可以让用户只读取邮件的一部分材料
补充:

- 在上图这种方式下,用户浏览器与邮件服务器之间的邮件发送或接收使用的是HTTP,而仅在不同邮件服务器之间传送邮件时才使用SMTP

5. 万维网
5.1 基本概念


访问网页的过程(很核心):
- 用户输入网址(域名)
- 浏览器凭借DNS服务器查询域名对应IP地址(浏览器会将查询结果“域名->IP”缓存在本地)
- 浏览器与<Web服务器IP地址:80端口>建立TCP连接
- 浏览器在握手③中携带HTTP请求报文(指明要访问哪个html网页)
- 服务器返回HTTP响应报文(携带html文件)
- 如果html引用了其他n个元素,还需要n组HTTP请求&响应(持续、非持续工作方式有所区别)
5.2 超文本传输协议 — — HTTP




强调:HTTP无论是哪种工作方式,都要先建立TCP连接,然后才能进行资源请求和发送,这个细节很重要,小题计算中常常忽略掉





这是个细节题,细节:
- ①局域网内主机访问Internet上个服务器的往返时间(RTT)均为10ms,忽略其他各种时延。这句话的意思是只考虑局域网内主机访问Internet的RTT,而不考虑局域网内各主机之间的RTT被忽略的就是,如:主机H想访问某个域名,于是向本地域名服务器发出DNS请求,以及本地域名服务器获得了域名对应的IP地址并向主机H进行返回,这些时延
- ②主机得到了域名对应的IP地址使用HTTP向Internet上对应的服务器请求资源时,要先建立TCP连接,这是要考虑进去的时延
解答:
- ①最短时间就是主机H进行DNS请求,本地域名服务器上已经知道域名对应的IP地址,于是直接返回给主机H(这一段时间被忽略),继而主机H根据得到的IP地址进行HTTP请求,先与对应主机建立TCP连接,这要求1个RTT(握手①、②),然后接着发送访问请求(握手③就可发送)并收到服务器资源响应得1个RTT,则最短时间共2个RTT,耗时20ms
- 主机H进行DNS请求,本地域名服务器上不知道域名对应的IP地址,继而进行迭代查询,依次经过根域名服务器、com顶级域名服务器、abc.com域名服务器就是②最长时间就需要3个RTT,其中www.abc.com是存储所需资源的服务器,不是域名服务器,通过迭代查询后得到的是其www.abc.com服务器所对应的IP地址,然后主机H与www.abc.com服务器进行TCP连接,由①可知此过程应该2个RTT,则最长时间共5个RTT,耗时50ms

至此,第六章结束了,其中内容也不多,需更多关注万维网部分的HTTP协议,之后结合王道书上的课后习题与真题进行训练即可
通过因为目前仍处于网络高速发展时代,一些东西现实中发展的很快,更新迭代频繁,课本只能相对记录一些固定的、成熟的东西来构成知识体系,现实中的网络应用可比这复杂多了。就是同样至此,计算机网络全部完结,允许撒花了。计算机网络在408统考中只占了25分,能够出题的知识点很少,大多都集中在第四章的IP协议那里。猜测,
参考:《王道计算机考研 计算机网络》
https://www.bilibili.com/video/BV19E411D78Q/?share_source=copy_web
浙公网安备 33010602011771号