IP、TCP和DNS与HTTP的密切关系

看了上一篇博文的发表时间,是7月22日,如今是10月22日,已经有三个月没写博客了。这三个月里各类忙各类瞎折腾,发生了不少事情,也思考了不少问题。如今这段时间开始闲下来了,同时该思考的事情也思考清楚了,因此打算继续写博客,分享个人工做上的经验总结和本身所接触的技术,让想多了解点技术的博友们能够互相交流和学习。服务器

好了,废话很少说,直接进入主题,本次打算分享HTTP协议系列的相关文章,适合初学者学习,高手或者大神能够绕道,固然也能够一块儿交流交流。网络

此次先讲讲IP、TCP和DNS与HTTP的密切关系。学习

知识点

•IP协议的概念与做用
•TCP协议的概念与做用
•TCP协议的三次握手过程
•DNS的概念与做用
•HTTP与TCP、IP和DNS的关系
  

1、IP协议的概念与做用

IP的概念:大数据

英文为Internet Protocol,翻译成网际协议,位于网络层。网站

这个网际协议这个名字听起来有点夸张,但事实就是这样,由于几乎全部使用网络的系统都会用到IP协议。TCP/IP协议族中的IP指的是网际协议,它在协议名称中占据了一半的位置,从这能够知道IP协议是多么的重要。这里咱们须要注意两个概念,IP和IP地址,可能有人会把它搞混。IP实际上是一种协议的名称,而IP地址是一个地址。spa

 

IP的做用:翻译

  把各类数据包传送给对方。若是要保证肯定传送到对方那里,则须要知足各种条件,其中最重要的两个条件是IP地址和MAC地址。blog

 (1)IP地址:指明了节点被分配到的地址事务

 (2)MAC地址:是指网卡所属的固定地址博客

 (3)区别:IP地址可变换,但MAC地址基本上不会更改。

 

若是你想要保证数据包传送到对方去,那就必须知足各类条件,其中最重要的两个条件是IP地址和MAC地址。

什么是IP地址呢?IP地址指明了节点被分配到的地址。而什么又是MAC地址呢? MAC地址的网卡所属的固定地址。形象一点来讲,MAC地址就像咱们的身份证号,每个MAC地址是惟一的,而且基本不会改变。这里我为何说基本不会改变呢?由于目前咱们能够经过软件修改,也就是用软件来修改MAC地址。IP地址是能够和MAC地址进行配对的。

 

咱们来了解一下使用ARP协议凭借MAC地址进行通讯

什么是ARP协议呢?ARP协议它是一种用以解析地址的协议,咱们只要知道通讯方的IP地址,就能够反查出对应的MAC地址。也就是说IP间的通讯依赖于MAC地址。

咱们来看一下这个图:

在网络上,通讯的双方一般都是要通过多台计算机或者网络设备中转才能链接到对方。而在进行中转时,会利用下一站中转设备的MAC地址来搜索下一个中转目标,这时咱们就是靠ARP协议来进行处理。

 

 

2、TCP协议的概念与做用

(1)TCP的概念:TCP英文为Transmission Control Protocol ,翻译成传输控制协议,位于传输层。

(2)TCP有什么做用呢?它是提供可靠的 字节流服务。

(3)什么是字节流服务?所谓的字节流服务指的是,为了方便传输,将大块数据分割成  以报文段为单位的数据包  进行管理

(4)为什么强调可靠呢?由于它可以把数据准确可靠地传送给对方。总而言之,TCP协议就是为了 更容易传送大数据 才把数据分割,并且TCP协议可以确认数据  最终是否送达对方。

(5)TCP协议如何才能保证提供可靠的服务?它采用了三次握手策略。 也就是用TCP协议 把数据包送出去后,它不会对传送后的状况置之不理,它必定会想对方确认  是否成功送达。

 

 3、TCP协议的三次握手过程

咱们来看一下这个图:

握手过程当中使用了TCP的标志-SYN和ACK。发送端首先发送一个S带SYN标志的数据包给对方。接收端接到后,就会回传一个带有SYN/ACK标志的数据包  以表示传达确认信息。最后,发送端再回传一个带ACK标志的数据包 给接收端, 此时表明“握手”结束。除了三次握手来保证通讯的可靠性,TCP协议还有其余各类手段来保证通讯的可靠性,这里我就不过多讲解了,你们能够本身翻阅相关资料去了解下。

 

4、DNS的概念与做用

(1)DNS的概念:英文为Domain Name System ,翻译成域名系统,位于应用层。

(2)DNS有什么做用呢?  它是提供域名到IP地址之间的解析服务。

咱们平时访问一个网站,一般都是使用主机名或域名来访问,而不是直接经过IP地址来访问。为何咱们不用IP地址去访问呢?由于IP地址是一组纯数字,比较难记。好比说,咱们极客学院的IP地址为121.42.104.52,而域名为www.itcen.cn。    若是咱们用IP地址去访问网站,那是很难记得住的。而用域名就比较容易记住了。可是呢,计算机和人不同,你要计算机去理解名称,相对来讲就比较困难了。计算机比较擅长处理一长串数字。为了解决这个问题,就有了DNS服务。DNS协议它是提供  经过域名 来查找IP地址,或者逆向 从IP地址反查域名 的服务。

 

5、HTTP与TCP、IP和DNS的关系

最后咱们经过一张图来了解一下HTTP与TCP、IP和DNS的关系,看看它们在通讯的过程当中各类发挥了什么做用。

我来拿个人博客来举个例子:

首先是,我想访问网站,将域名发送给DNS去解析,DNS解析后将网站的IP地址返回给客户端,而后经过IP地址发起HTTP请求。HTTP此时的做用是 生成针对目标WEB服务器(咱们这里指的是网站的服务器)的HTTP请求报文,而后将请求报文传送给传输层,此时为了方便通讯,TCP会将HTTP请求报文  分割成报文段,这些报文段会有一个序号,这里的报文段哪个先发送哪个先到达,它们是按序传送的。只要创建起TCP链接,客户端与服务器之间的报文交换就不会丢失,不会被破坏,也不会在接收时出现错序。接着到了网络层,此时IP协议的职责是,搜索对方的地址,一边中转一边传送。而后找到了服务器的位置,此时服务器的传输层中 TCP的职责是  接收到对方传送过来的报文段后,对其进行重组,这里的重组是按序号进行重组的。而后到了服务器的应用层,HTTP会对客户端请求的内容进行处理。处理完后,服务器一样会利用TCP/IP通讯协议向客户端进行回传响应。最后客户端收到响应后,将内容输出页面显示。即完成了一次HTTP事务。

 

  若是此博文中有哪里讲得让人难以理解,欢迎留言交流,如有讲解错的地方欢迎指出。

  

 

  若是您以为您能在此博文学到了新知识,请为我顶一个,如文章中有解释错的地方,欢迎指出。

  互相学习,共同进步!

相关文章
相关标签/搜索