《趣谈网络协议》学习笔记 Day1

第一模块 通信协议综述

一、常用的网络协议

经济学领域----铅笔的诞生过程----讲述了复杂的经济学理论
互联网世界----下单过程----使用了哪些网络协议?

分层步骤协议过程
应用层在浏览器中输入https://www.kaola.com URLDNS、HTTPDNS浏览器只知道名字是“www.kaola.com”,但是不知道具体的地点,所以不知道应该如何访问。于是,它打开地址簿去查找。
地址簿(DNS、HTTPDNS)
找到IP地址:106.114.138.24
浏览器知道了目标地址,开始打包它的请求HTTP、HTTPS请求里会写明“要买什么、买多少”
HTTP头 》POST、URL、HTTP1.1、正文格式json、正文长度1234(我要买什么买多少)
应用层封装完毕后,浏览器将包交给传输层去完成(通过socket变成来实现)
传输层UDP、TCPTCP中包含两个端口(浏览器的端口、电商服务器的端口),操作系统往往通过端口来判断,它得到的包应该给哪个进程
TCP头 》浏览器端口:12345。电商应用端口:443。
传输层封装完毕后,浏览器将包交给操作系统的网络层
网络层IPIP协议里包含源IP地址和目标IP地址(即浏览器所在IP地址和电商网站服务器IP地址)
IP头 》客户端电脑IP:192.168.1.101。电商服务IP:106.114.138.24
操作系统既然知道了目标IP地址,就开始想如何根据IP地址找到目标机器操作系统往往会判断,这个目标地址是本地人还是外地人。从目标IP地址就可以看出来。
如果是本地人,从门牌号(IP)就能看出来,但是显然电商网站不在本地,而在遥远的地方。操作系统知道要从本地去远方。虽然不知道远方在何处,但是可以这样类比一下:如果去国外要去海关,去外地就要去网关。
操作系统启动的时候,就会被 DHCP 协议配置 IP 地址,以及默认的网关的 IP 地址 192.168.1.1
(操作系统如何将 IP 地址发给网关呢?)去网关
链路层、MAC层ARP在本地通信基本靠吼,于是操作系统大吼一声,谁是 192.168.1.1 啊?网关会回答它,我就是,我的本地地址在村东头。这个本地地址就是 MAC 地址,而大吼的那一声是 ARP 协议。
MAC头 》客户端电脑MAC:192.168.1.101的MAC。网关的MAC:192.168.1.1的MAC。
网卡将包发出去。因为这个包里面是有网关的MAC地址的,所以这个包是可以到达网关的。
物理层
网关收到包之后,会根据自己的知识判断下一步应该怎么走。网关往往是一个路由器。到某个IP地址应该怎么走,这个叫做路由表。IP–》下一跳网关/目标机器。MAC–》到达下一跳网关/目标机器
路由器有点像玄奘西行路过的一个个国家的一个个城关。每个城关都连着两个国家,每个国家相当于一个局域网,在每个国家内部,都可以使用本地的地址 MAC 进行通信。一旦跨越城关,就需要拿出 IP 头来。里面写着贫僧来自东土大唐(就是源 IP 地址),欲往西天拜佛求经(指的是目标 IP 地址)。路过宝地,借宿一晚,明日启程,请问接下来该怎么走啊?城关往往是知道这些“知识”的,因为城关和临近的城关也会经常沟通。到哪里应该怎么走,这种沟通的协议称为路由协议,常用的有 OSPF 和 BGP。
到达目标服务器
链路层、MAC层目标服务器发现 MAC 地址对上了,取下 MAC 头来,发送给操作系统的网络层
网络层发现 IP 也对上了,就取下 IP 头。IP 头里会写上一层封装的是 TCP 协议,然后将其交给传输层,即 TCP 层。
传输层在这一层里,对于收到的每个包,都会有一个回复的包说明收到了。当网络包平安到达 TCP 层之后,TCP 头中有目标端口号,通过这个端口号,可以找到电商网站的进程正在监听这个端口号,假设一个 Tomcat,将这个包发给电商网站。
应用层电商网站的进程得到 HTTP 请求的内容,知道了要买东西,买多少。
往往一个电商网站最初接待请求的这个 Tomcat 只是个接待员,负责统筹处理这个请求,而不是所有的事情都自己做。例如,这个接待员要告诉专门管理订单的进程,登记要买某个商品,买多少,要告诉管理库存的进程,库存要减少多少,要告诉支付的进程,应该付多少钱,等等。
如何告诉相关的进程呢?往往通过 RPC 调用,即远程过程调用的方式来实现。RPC 框架有很多种,有基于 HTTP 协议放在 HTTP 的报文里面的,有直接封装在 TCP 报文里面的。
当接待员发现相应的部门都处理完毕,就回复一个 HTTPS 的包,告知下单成功。这个 HTTPS 的包,会像来的时候一样,经过千难万险到达你的个人电脑,最终进入浏览器,显示支付成功。

小结

协议

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值