四十三、应用层篇-概述

亲爱的读者朋友们,历经千辛万苦我们来到了最高层:应用层,此时我们可以小小地自豪一下,毕竟从第一篇到这一篇真的很不容易,笔者已经写了快七八个月了。下面两个月,我们会着重攻克掉应用层,完成整个计算机网络的系统学习。

四十三、应用层篇-概述

一、应用层的使命

曾几何时,我们学习了计算机网络体系结构,五层模型我们要时刻牢记于心:

四十三、应用层篇-概述

没错,在解决了路由选择、可靠传输等重大问题后,我们就可以编写各种应用程序,依靠下面的四层完成网络通信。

我们所能看到的浏览器,各种花式的程序比如QQ、微信、钉钉都是应用层的代表作(当然了,这些软件办公化后也陆续成为了痛苦之源),这些应用程序只用关注上层的功能设计,而不用太关心下面是如何将数据报可靠传输到对端的。

典型的应用层应用有比如支持万维网应用的HTTP协议,动态分配IP的DHCP协议,支持文件传送的FTP协议等等。

这些都将是我们后续关注的一些重点。

四十三、应用层篇-概述

二、打开一个网页发生了什么

我们以浏览器向服务器请求一个网页为例,看下整个五层模型的大致工作情况。

四十三、应用层篇-概述

  • 1、应用层按HTTP协议的规定,构建一个HTTP请求报文

  • 2、应用层将HTTP报文交给传输层处理,传输层给HTTP请求报文增加一个TCP首部,使之成为TCP报文段。该首部的作用是区分应用进程,以及实现可靠传输。

  • 3、传输层将TCP报文段交付给网络层处理,网络层给TCP报文段增加一个IP首部,使之成为IP数据报。该首部的作用是标识了IP地址,可以让数据报被路由器转发。

  • 4、网络层将IP数据报交付给数据链路层处理,数据链路层给IP数据报添加一个首部和一个尾部,使之成为帧。帧首部作用是标识了MAC地址,使之可以在一个网络内被目的主机接收。帧尾部是诸如FCS校验,作用是让目的主机判断所接收到的帧是否有误码。

  • 5、数据链路层将数据交付给物理层,物理层将帧看作是比特流,我们这里用以太网为例,比特流前面要增加前导码,目的是让目的主机做好接收帧的准备,并将上述比特流转为相应电/光信号通过传输介质传输出去。

  • 6、信号通过传输介质到达路由器,路由器的物理层将信号变换为比特流,然后去掉前导码后将其交付给数据链路层,数据链路层即可拿到帧,数据链路层再将帧首部和尾部去掉后交付给网络层,此时就是IP数据报,网络层拿到IP数据报后解析首部,从中提取出目的网络地址,然后查找自身路由表,确定转发端口,以便进行转发。OK,确定好如何转发后,这个数据就需要再次发送出去,那么同样地,网络层交付给数据链路层,数据链路层交付给物理层,物理层同样将比特流加上前导码,转为相应电/光信号通过传输介质传输出去。

  • 7、信号终于来到web服务器,物理层将收到的信号转为比特流,去掉前导码交付给数据链路层,数据链路层拿到帧后,去掉帧的首部和尾部,交付给网络层,此时网络层拿到了IP数据报,网络层将IP数据报首部去掉后,交付给传输层,此时传输层拿到了TCP报文段,传输层将TCP报文段的首部去掉后,交付给应用层,此时应用层即可拿到HTTP请求报文了。随后应用层就会对HTTP请求报文进行解析,然后给客户端发回HTTP响应报文。

  • 8、HTTP响应报文与之前的过程类似,也需要经过层层封装,经过物理层变换为相应信号,最后通过传输介质传输,客户端收到信号后,将其转换为比特流,再通过层层解封,最终取出HTTP响应报文,客户端即可根据响应报文进行页面渲染,我们终于看到了一个网页

实际上,我们往往访问的是域名,比如 www.baidu.com ,所以访问网页时往往第一步是域名解析,即DNS系统将域名解析为IP。

接下来,客户端和服务端要进行通信,则必须经历三次握手建立连接,服务端和客户端都准备好。

接下来客户端将发送HTTP请求,按照一层一层的网络模型进行封装,最终成为一个个帧发送出去。

服务端将响应报文返回,客户端逐层解封拿到应用层响应报文,最终完成页面的渲染,我们成功访问到了网页。

这里提及的DNS域名解析也是应用层的一个协议和应用,我们即将先来学习它。

其次就是这里访问HTTP网页,那么涉及到超文本传输协议的学习,即HTTP协议,这个将是我们的一个学习重点,毕竟是我们最常用到的协议。

如果对方的网站是加锁的,那么走的是HTTPS协议,那么HTTPS协议跟HTTP又有什么不一样呢?它的工作原理是什么呢?

在这一层,我们共同来探讨。

原文始发于微信公众号(幕后哈土奇):四十三、应用层篇-概述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/113630.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!