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

132 阅读5分钟

一、前言&课程介绍

image.png

二、蟹堡王帝国

三步走战略

image.png

蟹堡王外卖(每个订单需要确定的信息)

image.png

分店转发表格(分店之间消息共享)

image.png
蟹堡王全国的通信线路图

image.png 小结

image.png 类比于蟹堡王全国的通信路线图
蟹堡王顾客——客户端
蟹堡王分店——服务端
蟹堡王城市转发分店——路由器
转发表格——网络协议

三、计算机网络基础

网络组成部分

主机:客户端和服务端
路由器
网络协议:格式和顺序

网络结构:网络的网络

image.png

  1. 区域网络:是指位于同一地点或比较封闭的地区内,用于连接局域网内用户计算机和其他设备的网络。它由多台计算机和其他网络通信设备组成,这些设备可以共享信息、软件、设备和网络资源。
  2. 城域网:是在一个城市范围内所建立的计算机通信网,简称MAN。属宽带局域网。由于采用具有有源交换元件的局域网技术,网中传输时延较小,它的传输媒介主要采用光缆,传输速率在100兆比特/秒以上。
  3. 广域网:是连接不同地区局域网或城域网计算机通信的远程网。通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个地区、城市和国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。广域网并不等同于互联网。

电路交换&分组交换

电路交换:1对1 (电话交流)
分组交换:1对n (微信交流)

网络分层

物理层 链路层 网络层 运输层 应用层
网络层——高速公路
运输层——卡车
应用层——快递公司

分层的好处

1、各层之间是独立的,每一层向上和向下通过层间接口提供服务,无需暴露内部实现

2、灵活性好。当任何一层发生变化时,只要层间接口关系保持不变,则在这层以上或以下层均不受影响。

3、结构上可分割

4、易于实现和维护

5、能促进标准化工作

OSI七层模型(普遍)

image.png

主要的网络分层模型之间的关系

image.png

标头和载荷

数据包或帧分为:标头和载荷
标头:快递单
载荷:快递里的东西

HTTP协议示例

image.png 报文 = 链路层—本地帧部 + 链路层-IP协议头部 + 运输层-TCP协议头部 + 应用层-HTTP协议头部

TCP协议格式

image.png

TCP - 传输控制协议

TCP 用于从应用程序到网络的数据传输控制。

TCP 负责在数据传送之前将它们分割为 IP 包,然后在它们到达的时候将它们重组。

image.png

四、Web中的网络

HTTP连接模型

image.png

HTTP 的传输协议主要依赖于 TCP 来提供从客户端到服务器端之间的连接。在早期,HTTP 使用一个简单的模型来处理这样的连接。这些连接的生命周期是短暂的:每发起一个请求时都会创建一个新的连接,并在收到应答时立即关闭。

这个简单的模型对性能有先天的限制:打开每一个 TCP 连接都是相当耗费资源的操作。客户端和服务器端之间需要交换好些个消息。当请求发起时,网络延迟和带宽都会对性能造成影响。现代浏览器往往要发起很多次请求(十几个或者更多)才能拿到所需的完整信息,证明了这个早期模型的效率低下。

HTTP1.1:无法多路复用

image.png

HTTP2:帧

image.png 前三个字节:帧的长度
第四个字节:帧的类型
第五个字节:不同帧不同的含义,帧当前的状态
第六个字节到第九个字节:第1位:保留位;第2-32位:流ID
后面的字节:载荷

帧的好处

  1. 调整响应传输的优先级
  2. 头部压缩
  3. server push

缺点:TCP包的丢失

HTTP2:3 RTT启动

HTTP3:QUIC

image.png

QUIC第一次访问,1 RTT

QUIC第二次访问,0 RTT

  • RTT表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延。

CDN(加速网站的访问)

CDN就是采用更多的缓存服务器(CDN边缘节点),分布放在用户访问相对集中的地区或网络中。当用户访问网站时,利用全局负载技术,将用户的访问指向距离最近的缓存服务器上,由缓存服务器响应用户请求。

WebSocket(网络协议)——建立在HTTP的基础上

  • 有状态的持久连接
  • 服务端课主动推送消息
  • 延迟比HTTP低

五、 网络安全

三要素:机密性,完整性,身份验证

image.png

image.png

image.png

image.png

image.png

其中分发证书、验证证书的基础设施称为PKI。

参考文献:

【1】(10条消息) 网络分层结构—OSI七层模型,TCP/IP五层(或四层)模型_一只懐坏旭的博客-CSDN博客

【2】到底什么是CDN? - 知乎 (zhihu.com)

【3】TCP协议详解 - 知乎 (zhihu.com)

【4】(10条消息) HTTP的短连接、长连接、管道连接流水线_AI架构师易筋的博客-CSDN博客