计算网络概论 | 青训营笔记

144 阅读4分钟

前言

青训营第一课的学习笔记,以蟹堡王帝国三步走战略为例子,讲解计算机网络相关的知识。相比于学校的计网课,通俗易懂,便于理解和掌握。

三步走战略 :

  1. 在比奇堡开通外卖
  2. 在北京和上海开分店
  3. 在全国开分店并开通外卖

一份普通蟹皇堡外卖包括的内容:

image.png

1.蟹皇堡开通外卖中的问题:

如果只有一个电话,当订单数量过多会造成堵塞,其他人无法下单

解决方案:

开通一个传真,每张订单自动发分到总部电脑中,避免了电话线占用的问题,可以支持多人同时下单。

2.开设分店之后,如何解决多个分店之间的通信问题?

转发表格如下图所示:

image.png

3.三步走的最终解决方案:

image.png

image.png

计算机网络基础

1.网络的组成部分

组成部分功能
主机: 客户端以及服务端提供/接收信息
路由器转发信息
网络协议统一格式,方便进行编码和解码

2.电路交换和分组交换

🔸电路交换: 就像是章鱼哥接电话一样,容易造成占线,导致其他人无法进行通信。
🔸分组交换: 不会预留资源和带宽,自动分组形成对应的报文,更加快速方便
分组交换就像是快递员不关心包裹里面的东西一样
分组交换的优点如下: 1.高效:数据包在网络中独立传输,可以根据网络拥塞情况动态选择最佳路径。这样可以实现更高效的资源利用和更快的数据传输速率。
2.弹性:由于数据包可以通过不同的路径传输,因此分组交换网络具有较强的抗干扰能力和容错性。
3.适用于多种应用:分组交换可以处理多种类型的数据(如文本、图像、音频和视频),非常适合复杂的计算机网络应用。

3.协议

🔸协议的存在依赖于连接
🔸协议定义了在两个或多个通信实体之间交换的报文格式顺序, 以及报文发送/或接受一条报文或其他事件所采取的动作。

最常见的协议:HTTP协议和TCP协议

image.png

Web中的网络

1.HTTP请求模型

image.png
💠红色部分是请求,蓝色部分是相应
请求部分第一行: GET定义了请求的方法,/路径/,以及协议的版本1.1
相应部分第一行: 状态码200 ,状态信息: OK
HTTP报文ASCII码展示,HTTP连接使用请求--相应模型

image.png
💠第二个HTTP1.1连接的问题: 队头堵塞问题
当请求非常大或者服务器需要很长时间进行处理, 第二个请求依然需要等前一个请求解析完成才能够发出
结果 造成很大的资源浪费,并且大量的耗费时间
💠第三个HTTP管线: 允许客户端发送多个请求,服务端按顺序进行相应.
但是现实中几乎没有浏览器使用管线模型:
因为此模型无法解决队头堵塞问题,并可能造成安全问题,性能应用也不好

2.HTTP2帧

多路复用连接模型: 多路复用允许客户端和服务器在一个 TCP 连接上并行发送和接收多个请求和响应。HTTP/2 通过将请求和响应拆分为多个帧,并为每个请求分配一个独立的流来实现多路复用。
image.png 💠优点: 提高了连接的利用率和性能,解决了 HTTP/1.1 管道化模型的问题。此外,模型还可以调整相应传输的优先级,进行头部压缩和Server Push
❌缺点: HTTP2解决了HTTP层面的队头堵塞,但是在TCP层面,依然存在.

image.png

HTTP3: QUIC

Quick UDP Internet Connection
现存网络设备对TCP和UDP支持已经僵化
UDP不靠谱(如果丢包无法找回)但是QUIC靠谱
QUIC可以为除HTP协议以外的应用层协议提供支持

QUIC解决的问题
💠避免队头阻塞:QUIC 支持多路复用,且每个流在传输层上独立处理,因此一个流上的数据包丢失不会影响其他流。

💠更快的连接建立:由于 QUIC 基于 UDP,它将传输层和加密层的握手过程合并,从而减少了握手次数。这可以减少连接建立的延迟.

💠错误恢复:QUIC 在丢包恢复方面比 TCP 更加高效,因为它可以更快地识别丢失的数据包并进行重传。这有助于减少延迟和提高传输性能。

后记

了解HTTP传输协议的基本知识,对学校教授的计网知识进行了补充.青训营的课程是浓缩版本,需要一定的计网基础知识才能掌握,听完一段后需要进行思考和复习.