首页 > 其他 > 详细

通信协议综合概述

时间:2021-05-26 23:18:20      阅读:28      评论:0      收藏:0      [点我收藏+]

协议的三要素

语法:这段内容要符合一定的规则和格式
语义:这段内容要代表某种意义
顺序:先干什么后干什么

输入https://www.kaola.com 发生了什么(简述)

操作系统启动的时候就会被DHCP协议配置IP地址,以及默认的网关IP地址)

当在浏览器输入一个URL的时候,打开地址簿去寻找(可以使用一般的地址簿协议DNS,也可以使用另一种更加精确的HTTPDNS)最终会查找到对应的IP地址

知道了目标地址,浏览器就要开始打包他的请求,对于普通的浏览请求往往会使用HTTP协议,对于购物的请求往往会进行加密传输就会使用HTTPS协议

DNS、HTTP、HTTPS 所在的层我们称为应用层,经过应用层封装以后浏览器会将应用层的包交给下一层(传输层)去处理,通过socket编程去实现,传输层有两种协议,一种是面向连接的TCP,另一种是无连接的UDP。

TCP协议有两个端口:浏览器监听的端口,电商服务器的端口(源端口和目的端口),操作系统通过端口来判断,他得到的包应该交给哪个进程

传输层传输完成之后,浏览器交给网路层(IP协议里面又原IP地址和目的IP地址),这时操作系统知道了目标IP地址,就要开始寻找他了

操作系统通过ARP协议判断谁是目标IP,然后加上MAC头

于是操作系统将IP包交给了下一层MAC层,然后网卡就把包发送过去,这个包是有MAC地址的,所以能过顺利到达网关(如果不是在本地的话)

网关收到包,会判断下一步怎么走,网关往往是一个路由器,每个路由器都有一个路由表(到哪个IP应该怎么走)

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

每当通过路由器时,都要拿出IP头,查找路由表。

路由器之间也会沟通,通过一些路由协议,常用的有OSPF和BGP。

直到最后一个路由器:路由器对该局域网用ARP协议大吼一声,目标服务器就会回复一个mac地址,然后通过这个MAC地址就可以找到目标服务器,然后把包发送给他。

目标服务器发现 MAC 地址对上了,取下 MAC 头来,发送给操作系统的网络层。发现 IP 也对上了,就取下 IP 头。IP 头里会写上一层封装的是 TCP 协议,然后将其交给传输层,即 TCP 层。在这一层里,对于收到的每个包,都会有一个回复的包说明收到了(报平安)。如果过一段时间浏览器还是没有收到这个平安,发送端的 TCP 层会重新发送这个包,还是上面的过程,直到有一天收到平安到达的回复。这个重试绝非你的浏览器重新将下单这个动作重新请求一次
对于浏览器来讲,就发送了一次下单请求,TCP 层不断自己闷头重试。除非 TCP 这一层出了问题,例如连接断了,才轮到浏览器的应用层重新发送下单请求。

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

电商网站的进程得到 HTTP 请求的内容,知道了要买东西,买多少。

如何告诉相关的进程呢?往往通过 RPC 调用,即远程过程调用的方式来实现。远程过程调用就是当告诉管理订单进程的时候,接待员不用关心中间的网络互连问题,会由 RPC 框架统一处理。RPC 框架有很多种,有基于 HTTP 协议放在 HTTP 的报文里面的,有直接封装在 TCP 报文里面的。

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

通信协议综合概述

原文:https://www.cnblogs.com/mots/p/14815151.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!