计算机网络-应用层

应用层


一、域名系统

1 工作原理:

DNS通常被http,smtp,ftp协议使用。假如HTTP客户请求URL,该用户主机必须事先获取域名的IP地址,把HTTP报文发送给web服务器。

  1. 用户主机上运行着DNS客户端
  2. 浏览器从URL获取域名发送给DNS客户端
  3. DNS客户端向DNS服务端发送一个包含主机名的请求
  4. DNS 客户端最终会收到对应主机名IP地址的回答报文
  5. 浏览器收到来自DNS的回答报文后,它能够向该IP地址的80端口的HTTP服务器进程发起tcp链接。

1.2 详细介绍:

DNS是一个分布式数据库,提供了主机和IP地址之间转换的服务。这里的分布式数据是指每个站点只保留他自己的那部分数据。
域名具有层级结构,从上至下依次为:根域名、顶级域名、二级域名
在这里插入图片描述

DNS可以使用UDP、TCP进行传输,使用的端口都为53。大多数情况下使用的是UDP进行传输,这就要求域名解析器和域名服务器都必须自己处理超时和重传从而保证可靠性。在这两种情况下会使用TCP进行传输:

  1. 如果返回的响应超过512个字节(UDP支持最大512字节数据)
  2. 区域传送(区域传送是指主域名服务器向辅助域名服务器传送变化的那部分数据)

二、文件传输协议

在这里插入图片描述

2.1 建立tcp链接

用FTP传输文件时需要和服务端建立两个链接

(1)控制链接

服务端打开21端口等待客户端的链接,客户端主动建立连接后,使用这个链接将客户端的命令传送给服务端,并且得到服务端的回应。

(2)数据链接

用来传输一个文件数据

2.2 建立链接模式

(1)主动模式

服务端主动建立数据连接,其中服务器的端口号为20,客户端的端口随机,但是必须大于1024,因为0-1023是熟知端口号。

(2)被动模式

客户端主动建立链接,其中客户端的端口号自己指定,服务器端的端口号随机。

三、动态主机配置协议

DHCP(Dynamic Host Configuration Protocol)提供了即插即用的链接方式,用户不需要手动配置IP地址等信息。DHCP配置的还有子网掩码、网关IP等。
DHCP工作过程如下:

  1. 客户端发送Discover报文,该报文的地址是255.255.255.255:67,源地址是0.0.0.0:68,被收入UDP中,该报文被广播到同一子网的所有主机上。如果客户端和DHCP服务器不在同一个子网,就需要使用中继代理。
  2. DHCP服务端收到Discover报文之后,发送Offer报文给客户端,该报文包含了客户端所需要的信息,但是客户端可能会受到多个DHCP服务端报文,因此需要作出选择。
  3. 如果客户端使用了某个DHCP提供的信息,那么发送Request报文给该DHCP服务器。
  4. DHCP服务端发送Ack报文,表示客户端此时可以使用提供给他的信息。
    在这里插入图片描述

三、远程登陆协议

TELNET 用于登录到远程主机上,并且远程主机上的输出也会返回。
TELNET 可以适应许多计算机和操作系统的差异,例如不同操作系统系统的换行符定义。

四、电子邮件协议

电子邮件系统由三部分组成:
5. 用户代理
6. 邮件服务器
7. 简单邮件传输协议
邮件协议包含发送协议和读取协议,发送协议常用SMTP,读取协议常用POP3、IMAP
在这里插入图片描述

4.1 SMTP协议

SMTP只能发送ASCII码,而互联网邮件扩充MIME可以发送二进制文件例如:图片、视频等。MIME并没有或者取代SMTP。而是增加邮件主体的结构,定义了非ASCII码的编码规则。
在这里插入图片描述

4.2 POP3

当用户代理打开邮件服务器端口110的TCP链接之后,POP3就开始工作了。按照三阶段工作:

  1. 特许
  2. 事务处理
  3. 更新
    特许:用户代理发送报文鉴定用户名和口令
    事务处理:进行下载删除或者下载保留的方式
    更新:文件状态的更新(已读。。)

4.3 IMAP

该协议中的客户端和服务端保持同步,如果客户端不是手动删除邮件,那么服务器上的邮件会被保存。IMAP这种做法可以让用户随时随地去访问服务器上的邮件。

五、常用端口

在这里插入图片描述

六、Web 页面请求过程

6.1 DHCP配置主机信息

  1. 假设主机最开始没有IP地址获取其他信息,那么先通过DHCP获取
  2. 主机先生成DHCP报文,并且把报文放在带有目标端口67和源端口68的UDP报文中。
  3. 该报文段则放在一个具有广播IP目的地址(255.255.255.255)和源IP地址(0.0.0.0)的IP数据报中
  4. 该数据包则被放在MAC地址中,该帧具有目的地址 FF:FF:FF:FF:FF:FF,将广播到与交换机连接的所有设备中。
  5. 链接在交换机的DHCP服务器收到广播帧后,不断向上分解得到IP数据报、UDP报文段、DHCP请求报文、之后生成DHCP Ack报文,该报文包含以下信息:IP地址、DNS服务器的IP地址、默认网关路由器的IP地址和子网掩码。
  6. 该帧的目的是请求主机的mac地址,因为交换机具有学习能力,之前发送了广播帧之后记录了MAC地址转发到其接口的交换表项,因此现在交换机知道应该直接向哪个接口发送该帧。
  7. 主机收到该帧后不断分解得到DHCP报文,之后就配置它的IP地址、子网掩码和DNS服务器的IP地址,并在其IP转发表中安装默认网关。

6.2 ARP解析MAC地址

  1. 主机通过浏览器生成一个TCP套接字,套接字向HTTP服务器发送http请求。为了生成该套接字,主机需要知道网站的域名对应的IP地址。
  2. 主机生成一个DNS查询报文,该报文具有53端口号,因为DNS服务器的端口号是53.
  3. 该DNS查询报文被放在目的地址为DNS服务器IP地址的IP数据报中
  4. 该IP数据报被放入一个以太网帧中,该帧将发送到网关路由器
  5. DHCP过程只知道网关路由器的IP地址,为了获取网关路由器的MAC地址,需要知道ARP协议。
  6. 主机生成一个包含目的地址为网关路由器IP地址的ARP查询报文,将该ARP查询报文放入一个具有广播目的地址(FF:FF:FF:FF:FF:FF)的以太网帧中,并向交换机发送该以太网帧,交换机将帧发送给所有的连接设备,包括路由器网关。
  7. 网关路由器接收到该帧后,不断向上分解得到ARP报文,发现其中的IP地址与其接口的IP地址匹配,因此就发送一个ARP回答报文,包含了他的MAC地址,发回到主机。

6.1 DNS解析域名

  1. 知道了网关路由器的MAC地址之后,就可以继续DNS的解析过程了。
  2. 网关路由器接收到包含DNS查询报文的以太网帧后,抽取出IP数据报,并根据转发表决定该IP数据报应该转发的路由器。
  3. 因为路由器具有内部网关协议(RIP OSPF)和外部网关协议(BGP)这两种选择协议因此路由表中已经配置了网关路由器到达DNS服务器的路由表项。
  4. 到达DNS服务器之后,DNS服务器抽取出DNS查询报文,并在DNS数据库中查找待解析的域名。
  5. 找到DNS记录之后,发送DNS回答报文,将该回答报文放入UDP报文段中,然后放入IP数据报中,通过路由器反向转发回网关路由器,并经过以太网交换机到达主机。

6.1 HTTP请求页面

  1. 有了http服务器的IP地址之后,主机就能够生成TCP套接字,该套接字将用于向web服务器发送HTTP GET报文。
  2. 在生成get套接字之前,必须先与HTTP服务器进行三次握手来建立连接。生成一个具有目的端口80的TCP SYN报文段,并向HTTP服务器发送该报文段。
  3. HTTP服务器收到该报文段之后,生成TCP SYN ACK 报文段,发送回给主机。
  4. 链接建立之后,浏览器生成HTTP GET报文,并交付给HTTP服务器。
  5. HTTP服务器从TCP套接字读取HTTP GET报文,生成一个HTTP响应报文,将web页面内容放入报文主体中,发回给主机。
  6. 浏览器收到HTTP响应报文之后,抽取出WEB页面的内容,之后进行渲染,显示出WEB页面。

总结

提示:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值