[计算机网络]Ch.7 应用层

应用层

1 应用层的主要功能

最靠近用户的一层,向应用程序提供网络通信
网络应用程序可被分为两大类:
直接网络应用程序:Browser , e-mail ,FTP , Telnet
间接网络应用程序:Word , resource manager , (viaRedirector)

image.png

2 域名解析系统DNS

image.png
image.png

DNS是分层次的,基于域的命名方案,且采用了分布式数据库系统来实现

2.1 DNS的使用方法:

  • 为了将一个名字映射为IP地址,应用程序调用一个叫解析器(resolver)的库过程,把名字作为参数传递给这个过程(如:gethostbyname()就是一个解析器)
    -解析器发送一个UDP分组给本地DNS服务器,它会负责查找该名字,然后将对应的IP地址返回给解析器
    ·解析器返回结果给应用程序,然后应用程序即可开始工作了

域名解析:

  • 一个解析器收到一个域名查询时,它将该查询传递给本地的一个域名服务器
  • 如果待查询的域名落在该名字服务器的管辖范围内,它将返回权威资源记录
    · 一个权威资源记录(authoritative record)是指来自于管理该记录的权威机构,因此总是正确的,它和缓存的记录不同,后者可能是过期的
  • 如果被请求的域名是远程的,且本地没有关于它的信息,那么本地名字服务器向根域服务器发送一条查询此域的消息

域名解析的种类:

  • 主机向本地域名服务器的查询一般都是采用递归查询。
  • 本地域名服务器向根域名服务器的查询通常是采用迭代查询

优化方法:

高速缓存—减少查询环节,提高效率

缺点:缓存中的内容不具有权威性

image.png

DNS消息传递一般采用UDP
采用TCP的时候

  • UDP 报文超过512Bytes
  • 从(second)服务器的数据更新

2.2 DNS名字空间

  • 互联网被分成200多个顶级域
  • 每个域被分成若干子域,子域还可进一步划分
  • 所有这些域可以用一棵树来表示

顶级域有两种

  • 通用域( generic )
  • 国家域( country )


    image.png
image.png

2.3 资源记录

  • 每个域,无论是单主机域还是顶级域,都可以有一组跟它相关联的资源记录(ResourceRecords)
  • 当一个解析器把域名传递给DNS时,DNS所返回的是与该域名相关联的资源记录。所以DNS的主要功能是将域名映射到资源记录上
  • 一个资源记录包括5个部分:
    域名生存期(该条记录的稳定时间)、类别类型
image.png
image.png

2.4 根域服务器—最高级域名服务器:

最重要的域名服务器;存储所有顶级域名的名字和IP
无论是哪个本地域名服务器,无论何时,只要它无法回答一个查询请求,它都会向根域服务器求救 (for help)
全球有 13 根域服务器,它们的名字分别是a to m(前13 个字母)

3 各种应用的特点

3.1 电子邮件

电子邮件系统通常由两部分组成:

  • 用户代理(UA):让用户能够阅读和发送邮件
    ·本地程序,提供命令行或图形界面,让用户和电子邮件系统交互
  • 消息传输代理 (MTA):将消息从源端送到目标端
    ·通常是系统守护进程,即运行在后台的进程,在系统中传递电子邮件

SMTP简单邮件传输协议

两个最后投递协议:

  • POP3:(在收信端不在线时候代理接收)
    允许用户和消息传输代理MTA联系,然后把邮件从ISP那里拷贝到用户的协议
  • IMAP:
    假设所有的电子邮件都永久地保存在服务器上的多个邮箱中

3.2 万维网(World Wide Web)【构建在Internet上的分布式系统,www是应用,internet是基础设施】

WWW的组成部分:(Web页面由URL (UniformResource Locators)标识)

  • 资源,web页面,Resource (html)
  • 统一资源定位器:URL
  • 通信协议HTTP

WWW的传输层使用了TCP
浏览器解释不同资源方式:内嵌插件或外挂
缓解服务器前端压力:TCP移交

当用户单击一个超级链接(URL)时:

  • 浏览器检查URL (读取浏览器的输入)
  • 浏览器向 DNS服务器询问域名的IP地址
  • DNS返回对应的IP地址
  • 浏览器和Web服务器建立TCP 连接(在端口80)
  • 浏览器发送请求,要求获取文件products.html
  • Web服务器返回被请求的文件
  • TCP连接被释放
  • 浏览器解释显示下载到本地的文件
image.png
image.png
image.png
image.png

3.2.1 Cookie是什么

image.png

image.png

3.3 文件传输(FTP、TFTP和NFS)

FTP:
一种可靠的面向连接的服务,采用TCP在支持FTP的系统间传输文件,它支持双向二进制文件和ASCII文件传输。
TFTP:
一种无连接的不可靠的服务,采用UDP在支持TFTP的系统间传输文件。

image.png

双链接的好处:断点续传

3.4 远程登录Telnet【显示器在本地终端,服务器在远程终端】

Telnet和rlogin

  • 不要求远地系统创建众多的服务器,只需为每个远程登陆用户建立一个进程,这个进程再通过创建子进程为远程登陆用户提供各种允许的服务。
  • 本地用户在本地终端对远地系统进行远程登陆,该远程登陆的内部视图实际上是一个TCP连接;
  • 将本地终端上的键盘输入逐键传到远地机;
  • 将远地机输出送回本地终端。
image.png

ssh (安全外壳协议)

ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。

通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、PoP、甚至为PPP提供一个安全的"通道"

推荐阅读更多精彩内容