计算机网络---应用层

概述

  • 应用层协议:规定应用进程在通信时所遵循的协议;
  • 应用协议大部分都是基于客户端服务器方式,客户服务器都是指通信中所涉及的两个应用进程。客户服务器所描述的是进程之间服务与被服务的关系,客户就是服务请求方;服务器:服务提供方

域名系统DNS

  • 域名系统是因特网使用的命名系统,用来把便于人们使用的机器名字转换成IP地址,DNS 是一个分布式数据库,提供主机名和IP地址之间相互转换的服务,这里的分布式是指,每个站点只保留它自己的那部分数据;
  • 域名的层次结构:从上到下依次为:根域名、顶级域名、二级域名;

文件传输协议

FTP协议

FTP协议:因特网上使用的最为广泛的文件传输协议,FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。
FTP使用费TCP进行连接,他需要两个连接来传送一个文件,如下图所示:
在这里插入图片描述

  • TCP控制连接:服务器打开端口号21等待客户端的连接,客户端主动建立连接后,使用这个连接将客户端的命令传送给服务器,并传回服务器的应答;控制连接在整个会话过程中一直打开;FTP客户所发出的传送请求,通过控制连接子发送给服务器端的控制进程;
  • TCP数据连接:用来传送一个文件数据;

根据数据连接是否是服务器点根据数据练级是否是服务器端主动建立,FTP有主动和被动两种模式:

  • 主动模式:服务器端主动建立连接,其中服务器端的端口号为20,客户端的端口号随机,但是必须大于1024,因为0~1024是熟知端口号;
  • 被动模式:客户端主动建立数据连接,其中客户端的端口号由客户端自己指定,服务器端的端口号随机。
  • 主动模式需要客户端开放端口号给服务器端,需要去配置客户端的防火墙。被动模式只需要在服务器端开放端口号即可,无需客户端配置防火墙,但是被动模式会导致服务器端的安全性减弱,因为开放了过多的端口号。

简单文件传送协议TFTP

TFTP协议只支持文件传送而不支持交互,优点:

  • 可使用UDP环境,开销小;
  • TFTP代码所占内存小;

TFTP主要特点:

  • 每次传送的数据报文中有512个字节的数据,但最后一次不足512字节;
  • 数据报文按序编号,从1开始;
  • 支持ASCII码或二进制传送;
  • 可对文件进行读或写;
  • 使用很简答的首部。
    TFTP协议就像停止等待协议,发送完一个文件快后就等待对方的确认,确认时应指明所确认的快编号,发完数据后再规定的时间内收不到确认就要重发数据PDU,发送确认PUD的一方若在规定时间内收不到下一个文件快,也要重发确认PDU,这样就可保证文件的传送不致因某一个数据包的丢失而告失败。

远程终端协议TELNET

TELNET是一个简单的远程终端协议,用户用TELNET就可在其所在地通过TCP连接注册到远地的另一个主机上。并且远程主机上的输出也会返回。
TELNET可以适用许多计算机和操作系统的差异,例如不同操作系统的换行符定义。

动态主机配置协议DHCP

DHCP:提供了即插即用的连网方式,用户无需手动配置IP地址等信息。
DHCP配置内容包括:IP地址、子网掩码、网关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报文,表示客户端此时可以使用提供给他的信息;
    在这里插入图片描述

电子邮件协议

一个电子邮件系统由三部分组成:用户代理、邮件服务器以及邮件协议;
邮件协议包含发送协议和接受协议,发送协议常用SMTP,读取协议常用POP3和IMAP;
在这里插入图片描述

SMTP

SMTP协议只能发送ASCII码,而互联网邮件扩充MIME可以发送方二进制文件,MIME并没有改动或者取代SMTP,而是增加邮件主体的结构,定义了非ASCII码的编码规则;
SMTP通信三个阶段最主要的命令和响应信息:

  1. 连接建立:
    发送人的邮件送到发送方邮件服务器的邮件缓存后,SMTP客户就每隔一定时间对邮件缓存扫描一次,如发现有邮件,就使用SMTP的熟知端口号与接受方邮件服务器的SMTP服务器建立TCP连接;连接建立后,接收方的额SMTP服务器就发送‘220 Service ready’,然后SMTP客户向SMTP服务器发送HELO命令,SMTP若有能力接受邮件,就回答‘250 OK’,表示已准备好接受,若不可用,则回答‘421 Service not avaiable’
  2. 邮件发送
    邮件的传送从MAIL命令开始,MAIL命令后面又发送人的地址;
  3. 连接释放
    邮件发送完毕后,SMTP客户应发送QUIT命令。SMTP服务器返回的信息是‘221()服务关闭’,表示SMTP同意释放TCP连接,邮件传送过程结束。

POP3

POP3 的特点是只要用户从服务器上读取了邮件,就把邮件删除。

IMAP

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

常用端口

在这里插入图片描述

Web页面请求过程

1. DHCP 配置主机信息

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

2. ARP解析MAC地址

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

3. DNS解析域名

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

4. HTTP请求页面

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

参考文献:计算机网络第五版谢希仁编著

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值