趣谈网络协议之通信过程

作者: 迦乐 | 来源:发表于2018-06-26 17:22 被阅读22次

刘超《趣谈网络协议》第一讲|为什么要学习网络协议的学习笔记

编译过程

计算机语言作为程序员控制一台计算机工作的协议,具备了协议的三要素。

1、语法,就是这一段内容要符合一定的规则和格式。例如,括号要成对,结束要使用分号等。

2、语义,就是这一段内容要代表某种意义。例如数字减去数字是有意义的,数字减去文本一般来说就没有意义。

3、顺序,就是先干啥,后干啥。例如,可以先加上某个数值,然后再减去某个数值。

互联网世界的运行过程:

1、在浏览器中输入地址:https://www.kaola.com(URL,不知道地址)

通过地址簿查找协议 DNS 或者更精准的HTTPDNS查找

2、得到IP地址:106.114.138.24。(互联网的门牌号)

开始打包请求,普通:HTTP协议,购物的加密传输:HTTPS

DNS、HTTP、HTTPS 所在的层我们称为应用层。封装之后浏览器将应用层的包传递下去。

3、传输层:a.无连接的协议UDP b.面向连接的协议TCP(支付使用TCP)

面向连接:TCP 会保证这个包能够到达目的地。如果不能到达,就会重新发送,直至到达。

TCP 协议里面会有两个端口,一个是浏览器监听的端口,一个是电商的服务器监听的端口。操作系统往往通过端口来判断,它得到的包应该给哪个进程。

4、网络层:IP协议,在 IP 协议里面会有源 IP 地址,即浏览器所在机器的 IP 地址和目标 IP 地址,也即电商网站所在服务器的 IP 地址。

根据目标IP判断是本地还是外地。

电商网站为外地,则去网关(类似于去国外的海关),操作系统启动时,DHCP协议就配置IP地址以及默认的网关IP地址192.168.1.1

5、MAC层:ARP协议(吼一声)告知IP地址给网关,网关分配MAC地址

6、网关:网关收到包之后,会根据自己的知识,判断下一步应该怎么走。网关往往是一个路由器,到某个 IP 地址应该怎么走,这个叫作路由表。

路由器有点像玄奘西行路过的一个个国家的一个个城关。每个城关都连着两个国家,每个国家相当于一个局域网,在每个国家内部,都可以使用本地的地址 MAC 进行通信。

一旦跨越城关,就需要拿出 IP 头来,里面写着贫僧来自东土大唐(就是源 IP 地址),欲往西天拜佛求经(指的是目标 IP 地址)。路过宝地,借宿一晚,明日启行,请问接下来该怎么走啊?

城关往往是知道这些“知识”的,因为城关和临近的城关也会经常沟通。到哪里应该怎么走,这种沟通的协议称为路由协议,常用的有OSPFBGP。当网络包知道了下一步去哪个城关,有会通过MAC地址再去下一个城关,直到最后一个城关。

到达后,目标服务器会回复一个MAC地址,网络包会通过这个地址找到目标服务器,取下MAC取下MAC头来,发送给操作系统的网络层。在IP头里写上一层封装的TCP协议,交给传输层即TCP层。

然后,会沿着来的方向回复一个信息(报平安),如果过了一段时间还没收到,TCP层会重新发送这个包,直到收到回复的信息。

这个重试绝非你的浏览器重新将下单这个动作重新请求一次。对于浏览器来讲,就发送了一次下单请求,TCP 层不断自己闷头重试。除非 TCP 这一层出了问题,例如连接断了,才轮到浏览器的应用层重新发送下单请求。       

7、当网络包平安到达 TCP 层之后,TCP 头中有目标端口号,通过这个端口号,可以找到电商网站的进程正在监听这个端口号,假设一个 Tomcat,将这个包发给电商网站。

电商网站的进程得到HTTP请求的内容,知道了要买东西,Tomact会负责统筹处理这个请求,然后通过RPC调用(即远程过程调用的方式来实现)。

当接待员发现相应的部门都处理完毕,就回复一个 HTTPS 的包,告知下单成功。这个 HTTPS 的包,会像来的时候一样,经过千难万险到达你的个人电脑,最终进入浏览器,显示支付成功。

整体框架图:

相关文章

  • 趣谈网络协议之通信过程

    刘超《趣谈网络协议》第一讲|为什么要学习网络协议的学习笔记 计算机语言作为程序员控制一台计算机工作的协议,具备了协...

  • 网络请求(HTTP协议)小结

    iOS开发网络篇—网络请求(HTTP协议)小结 1. 聊一下HTTP协议(协议的完整的通信过程) 2.通信过程 1...

  • PRESSone项目解读——协议无敌

    简介:熊市发现好项目之pressone 项目之PRS协议的解读 所谓协议,网络协议的简称,网络协议是通信计算机双方...

  • Kerberos认证

    简言Kerberos协议是一个专注于验证通信双方身份的网络协议,不同于其他网络安全协议的保证整个通信过程的传输安全...

  • 协议简介---RESTful

    ?摘自《趣谈网络协议》(作者:刘超)的RESTful协议---音频版?和RESTful协议---PDF版? RES...

  • 网络协议

    学习《趣谈网络协议》 网络协议 应用层 DHCP HTTP HTTPS RTMP P2P DNS GTP RPC传...

  • 【趣谈网络协议】

    每台计算机有了两种地址,一种是MAC地址,另一种是网络地址。两种地址之间没有任何联系,MAC地址是绑定在网卡上的,...

  • 趣谈网络协议

    第1讲 | 为什么要学习网络协议? 1.协议三要素 语法,就是这一段内容要符合一定的规则和格式。例如,括号要成对,...

  • 趣谈网络协议

    第二章 网络分层的真正含义 Q:在TCP三次握手的时候,IP层和MAC层在干嘛?A:TCP 发送每一个消息,都会带...

  • 前端加解密

    HTTPS通信过程 HTTPS通信过程HTTPS协议 = HTTP协议 + SSL/TLS协议,在HTTPS数据传...

网友评论

    本文标题:趣谈网络协议之通信过程

    本文链接:https://www.haomeiwen.com/subject/yspngttx.html