011-经过网络协议解析网络请求-DNS-ARP-TCPIP

1、概述

1.一、tcp/ip概述

  TCP/IP不是一个协议,而是一个协议族的统称。里面包括IP协议、IMCP协议、TCP协议。跨越了多层模型的多层web

  TCP/IP协议族按照层次由上到下,层层包装。最上面的是应用层,这里面有http,ftp,等等咱们熟悉的协议。而第二层则是传输层,著名的TCP和UDP协议就在这个层次。第三层是网络层,IP协议就在这里,它负责对数据加上IP地址和其余的数据以肯定传输的目标。第四层是数据链路层,这个层次为待传送的数据加入一个以太网协议头,并进行CRC编码,为最后的数据传输作准备。服务器

         

1.二、数据协议封装过程

  

  上图清楚地表示了TCP/IP协议中每一个层的做用,而TCP/IP协议通讯的过程其实就对应着数据入栈与出栈的过程。入栈的过程,数据发送方每层不断地封装首部与尾部,添加一些传输的信息,确保能传输到目的地。出栈的过程,数据接收方每层不断地拆除首部与尾部,获得最终传输的数据。网络

  

1.三、数据链路层tcp

  物理层负责0、1比特流与物理设备电压高低、光的闪灭之间的互换。 数据链路层负责将0、1序列划分为数据帧从一个节点传输到临近的另外一个节点,这些节点是经过MAC来惟一标识的(MAC,物理地址,一个主机会有一个MAC地址)。编码

    

  • 封装成帧: 把网络层数据报加头和尾,封装成帧,帧头中包括源MAC地址和目的MAC地址。
  • 透明传输:零比特填充、转义字符。
  • 可靠传输: 在出错率很低的链路上不多用,可是无线链路WLAN会保证可靠传输。
  • 差错检测(CRC):接收者检测错误,若是发现差错,丢弃该帧。

 

 

 

1.四、若是发生网络请求,如:get http://jd.com/auth/user/currentUser.如下叙述其过程url

应用层

一、DNS(53):blog

  输入的是一个URL须要转化成IP地址。首先咱们知道咱们本地的机器上在配置网络时都会填写DNS,这样本机就会把这个url发给这个配置的DNS服务器,若是可以找到相应的url则返回其ip,不然该DNS将继续将该解析请求发送给上级DNS,整个DNS能够看作是一个树状结构,该请求将一直发送到根直到获得结果。ip

二、http(80)路由

  主要职责是生成针对目标web服务器的http请求报文(请求行、请求头部)get

传输层

三、TCP

  将http请求报文分割成报文段,按序号分为多个报文段。(三次握手四次挥手)

网络层

四、ICMP

  辅助IP协议的协议

五、IP

  搜索目标的地址,一边中转一边传送。(路由)

六、ARP

  由于最终都要在数据链路层上进行传输,而数据链路层并不认识IP地址,因此ARP的职责就是把IP地址转换成数据链路层认识的MAC地址。

接下来到了数据链路层,把网络层交下来的IP数据报添加首部和尾部,封装为MAC帧,如今根据目的mac开始创建TCP链接,三次握手,接收端在收到物理层上交的比特流后,根据首尾的标记,识别帧的开始和结束,将中间的数据部分上交给网络层,而后层层向上传递到应用层;

经过数据链路层到达目标机器以后。

网络层

7. RARP

  这实际上是ARP的逆过程,将MAC地址转换成Ip地址

传输层

8. TCP

将接收到的报文段按序号进行重组。

应用层

九、HTTP

HTTP协议对http请求进行解析处理。

相关文章
相关标签/搜索