HTTP学习之五层网络模型

最近学习一下HTTP,作点笔记,尽可能让本身慢慢的记住这些东西。浏览器

HTTP几乎都是从五层网络模型提及,虽然以为能够不用深刻了解,可是仍是须要简单的了解一些。缓存

应用层:服务器

个人理解就是,应用层就像是两个软件或者两个程序,好比咱们的浏览器和服务器,咱们经过浏览器去请求服务器,服务器程序之间操做数据,这些程序或者软件就称之为应用层。应用层之间有不少协议,好比HTTP协议、DNS协议、FTP协议、SMTP协议等等。网络

传输层:运维

这个层作的是创建主机端到端的链接,在这个层有两个协议,一个是UDP协议一个是TCP协议。UDP协议是尽最大努力保证数据送到,可是不保证数据必定可以送到的。咱们常常用到的Ping命令,来测试主机之间是否联通,原理就是UDP协议。这种在数据传输途中把数据丢了的状况,在网络中咱们称之为:丢包。TCP协议是会保证数据的正确性的,也会保证数据的顺序性。学习

网络层:测试

网络层用的是一种网络层协议,也叫IP协议,网络层经过IP寻址来创建两个节点之间的链接,IP是惟一的。编码

数据链路层:加密

数据链路层呢又分为两个部分或者称为两个子层,逻辑链路控制子层和媒体访问控制子层,这层的缩写你们确定熟悉——MAC,也就是人们常说的MAC地址。一开始我一直觉得是定义好了链路,而后发射出去,可是实际上第一次链接的时候是不知道链路的,是发射出去以后一直跳,最终定位到目标,而后会缓存这个链路地址。能够经过cmd命令行去看:命令行

tracert www.baidu.com

能够看见跟踪的跳跃点,而后跳跃点ip是无序的。

物理层:

这个就不须要多说了,上面的全部东西都是基于物理硬件的,物理层是支撑一切的基础。当咱们在链路层处理完成以后,是经过物理层发射数据出去的,好比网卡。

刚开始我实际上是不知道这五层网络协议的运行过程,后来问了运维,才大概理解了一点。好比浏览器请求服务器,浏览器这边按顺序把数据在应用层封装,定义好协议,接着到传输层继续添加TCP/UDP协议,接着到网络层添加IP协议,而后在链路层先找缓存有没有链路,有就封装进去,没有就经过物理层发射出去数据包去找目标。数据包找到目标以后,经过物理层接收到数据包,而后经过链路层、网络层、传输层、应用层一层一层往上解包,而后使用。

在五层模型执行的时候,都是只在单独本身的程序上执行,好比TCP三次握手,就须要执行三遍这个过程。简单理解就是压包和解包的过程。固然,每个的机制都是很是复杂的,每一层里面的协议的工做也都不仅是那么简单。每层协议本质就是在外面套一层特殊格式的数据。因此在将数据送到的时候,须要将这一层层的协议拆开,而后才能获得里面的数据。

还有一个OSI的七层模型,只是把应用层分红了三个层,应用层,表示层和会话层,表示层和会话层没有相应的协议。通常表示层作的是数据格式化,或者加密编码解码等操做。

相关文章
相关标签/搜索