TCP/IP_背后你有所不知的故事

来源:互联网 发布:查找词语的软件 编辑:程序博客网 时间:2024/06/05 14:07

    如果你认为这是一篇抒情小清新,那你就大错特错了,如果你认为这是一篇揭露社会上不为人知丑陋现象的批判文,那你也错了。


    42日的课,要求每人上台讲一讲移动通信方面的知识,我对这方面狗屁不通,就简要讲了IP寻址方面的内容,今天在博客上总结梳理一下,做个纪念,如果您发现我有理解错误的地方请留言告诉我,感谢。


    我们上网的时候,经常在百度上搜索需要的内容,当我们在地址栏中输入www.baidu.com并按下回车后,搜索页面就出现了,那么,按下回车到百度页面出来的时间内,发生了什么呢那背后你有所不知的故事


   首先,输入网址:

那背后你有所不知的故事



   因为internet上,是通过IP地址来寻址的,而www.baidu.com只是一个域名,所以必须有种方法将这个域名转换为IP地址,这样才能找到百度的服务器。


   怎么找呢,我们的电脑首先会去找一个叫做hosts的主机文件:那背后你有所不知的故事  


   不过现在里面貌似没啥有用的东西那背后你有所不知的故事

那背后你有所不知的故事
    

接下来咋办?那就去找DNS服务器吧,它会告诉我们想要的IP地址,这里先说明一下我的IPV4设置:

那背后你有所不知的故事


我的DNS服务器首选的是202.106.196.115,查询一下,看看它能告诉我们什么?

那背后你有所不知的故事

果然,它告诉了我2个百度服务器IP地址:61.135.169.125和61.135.169.105

对不对呢?直接验证一下,点击这里->61.135.169.125

那背后你有所不知的故事

果然,我们正确的登陆了那背后你有所不知的故事,没错,我们登陆网站都会经历这些个步骤。否则,这就是域名的好处,便于记忆。

不过,我们和DNS交流的内容是什么呢?这就涉及计算机网络的很多知识了,简单起见,就抓了几个包,看看关键部分:

那背后你有所不知的故事
那背后你有所不知的故事

以上内容意思是:我->192.168.1.3,向DNS服务器202.106.169.115提出query:“请问百度服务器的IP地址是多少呀?”一丝不苟的DNS马上行动,很快就为我找到了答案那背后你有所不知的故事,并response我:

那背后你有所不知的故事
那背后你有所不知的故事
就这样,得到了百度服务器的IP地址了那背后你有所不知的故事


接下来该出发了,应用层的信息一层一层向下传递,被各层协议做了手脚,先看一个大致的地图:

那背后你有所不知的故事
IP包首先从我的电脑出发,它要到达网关192.168.1.1才能进入外网,问题是,如何到达网关呢?我们知道,IP是用来路由的,而网络中的节点之间是通过MAC地址进行交互信息的,怎么才能知道网关的MAC地址呢?不用担心ARP协议已经为你解决了问题:

那背后你有所不知的故事

因为不知到IP地址,只能用MAC地址来ARP广播,内容如下:

那背后你有所不知的故事
可以看到目标的MAC是全0,因为此时还不知道网关MAC。

网关收到ARP广播后,发现别人正在找自己,于是根据信息马上回复了过去:

那背后你有所不知的故事

这下就解决问题了那背后你有所不知的故事。网络上其他节点的相互查找也是这样以此类推。为了方便下次使用,电脑将查询的结果放在了ARP表中:

那背后你有所不知的故事
好了,这下准备OK了,那就出发吧,看看IP包们路上经过了哪些节点:

那背后你有所不知的故事

这下终于第一次到达了百度服务器了那背后你有所不知的故事,然后呢,干哈啊那背后你有所不知的故事然后啊,我们拽实的TCP协议开始发挥作用,目的是保证和百度服务器的通信质量可靠。

首先,TCP/IP三次握手登场了:

那背后你有所不知的故事

第一次握手:“我是192.168.1.3,我请求同步!”

那背后你有所不知的故事
第二次握手:“我是61.135.169.125,收到请求同步!”

那背后你有所不知的故事
第三次:“我是192.168.1.3,好的,我知道了!”

那背后你有所不知的故事
这样,一个可靠的连接就建立了,若是发生丢包或出错,自会有相应办法解决,由TCP全权保证,请放心使用那背后你有所不知的故事

这下,就可以开始传输有用的数据了,网页嘛,使用HTTP协议:

那背后你有所不知的故事
收到这些数据后,浏览器就呈现出了一幅图画:

那背后你有所不知的故事

然后,开始做你想做的吧那背后你有所不知的故事

看看,每次我们上网,背后都会发生这么多你没在意的事情,而且发生的时间极其短暂,短暂到不会引起你的注意那背后你有所不知的故事

0 0