计算机网络的世界 | 青训营笔记

105 阅读3分钟

课程重点

  1. 从蟹堡王到网络结构
  2. 协议——网络的法则
  3. 网络安全——如何证明我是我

一、从蟹堡王到网络结构

当某一天蟹堡王想要把蟹堡卖到全中国,并且开通外卖业务,应当如何设计网络实现这个复杂而庞大的订餐系统呢?

image.png

为了实现所有节点之间的通信并且最大化的利用线路,现实生活中的网络一般都是网络的网络如此套娃,由路由器管理的局域网连接到城域网再交由ISP的路由器组成更加庞大的广域网,也就是我们所说的互联网。

  • 在互联网传输数据时通常有两种方式—— 电路交换和分组交换

电路交换最早用于电话系统,主要用于语音通信。在电路交换中,通信双方之间建立一条固定的、专用的物理通信路径。在通话过程中,这条路径会一直被保留,直到通话结束,这也是电路交换的弊端。而分组交换则是现代计算机网络中主要使用的通信技术。在分组交换中,数据被切分成多个数据包(或称分组),每个数据包独立传输。数据包在网络中根据最佳路由选择相应的路径,最终在目的地重新组装成原始数据。

  • 现今的网络都是分层管理的,就如同一家快递公司,从集散点到货车司机再到派送员,他们各司其职,不需要关注上一次所做的工作是怎么实现的
  1. 物理层: 负责处理与物理介质(如电缆、光纤等)相关的通信任务
  2. 数据链路层: 负责建立、维护和断开数据链路,以确保从源到目的地的可靠数据传输。
  3. 网络层: 网络层负责处理网络寻址和路由选择,确定数据从源节点到目的节点的最佳路径。
  4. 传输层: 传输层负责提供端到端的通信服务,包括数据的分段、传输、重组和确认。
  5. 会话层: 会话层负责建立、管理和断开网络中的通信会话。
  6. 表示层: 表示层负责处理数据的表示和编码问题,以确保发送方和接收方的数据格式兼容。
  7. 应用层: 应用层是网络协议栈的最顶层,负责处理与特定应用程序相关的通信任务。

二、协议

协议是计算机网络中必不可少的一部分,他确保在计算机网络中的数据不被误解

  • TCP

image.png

每一个协议都有两个部分组成——标头和载荷

标头写明了这段数据的来源和去处,以及使用的协议信息(快递单?),载荷则是数据的内容

  • HTTP 1

image.png

HTTP 1 的请求-回应模型导致了他有一个很影响效率的问题——无法多路复用

于是就有了:

  • HTTP 2

HTTP 2 引入了帧的概念,使得多路复用的问题得以解决,并且还可以实现调整响应优先级,头部压缩和·ServerPush等特性

image.png

但是!HTTP2 也有队头堵塞,虽然不是堵在HTTP上,而是堵在TCP协议上

image.png

于是

  • HTTP 3

横空出世

HTTP 3 使用的QUIC协议使得HTTP3协议可以实现第一次1 RTT第二次0 RTT

image.png

image.png

三、网络安全

计算机网络的世界就像你在楼道喊话,是明文的世界,于是如何证明我是我就成了一个问题

image.png

通过双方拥有秘密信息,和密码散列函数基础实现网络安全

image.png

image.png