计算机网络 | 青训营笔记

101 阅读4分钟

课程大纲内容:

classDiagram
计算机网络 <|-- 计算机网络基础
计算机网络 <|-- Web中的网络
计算机网络 <|-- 网络安全

计算机网络基础

1.网络组成结构:主机(客户端,服务端)+路由器+网络协议

Snipaste_2023-04-15_01-27-43.jpg

2.网络结构:即网络的拓扑结构,也可称为网络的网络,按通俗的地理位置划分,有局域网,城域网,广域网,个人网。这些不同的网络交汇一起,形成一个大的网络

3.网络中信息交换方式:电路交换与分组交换

电路交换:通信建立前,建立通信路径,在通信过程中会始终占用该路径,直到通信结束

Snipaste_2023-04-15_01-39-53.jpg

分组交换:将数据分成若干个较小的数据包分组进行传输,到达目的端后再按顺序拼接成完整的数据

Snipaste_2023-04-15_01-40-57.jpg

对比:由上述两图可以对比得知:电路交换虽然通信稳定,但资源利用率过低,通信建立时间长,且即使通信中没有数据传输也会一直占用该路径;而分组交换资源利用率高,通信建立时间短,只有数据传输时会占用路径,而数据传输后会释放路径。因此我们在网络通信中选择分组交换作为信息传输方式。

4.网络分层:以HTTP协议为例

物理层

链路层——本地帧头部

image.png

链路层——IP协议头部

image (1).png

运输层——TCP协议头部

image (2).png

应用层——HTTP协议头部

image (3).png

5.网络协议

标头:数据包的头部信息,用于描述数据包的各种属性和控制信息(源地址,目的地址,协议类型,数据包长度等等)

载荷:数据包的主体部分,用于携带数据

Web中的网络

1.HTTP1-3的演进历史

HTTP1是最早的HTTP协议,使用明文传输数据,每个请求和响应都需建立一次TCP连接,存在较大的开销。此外HTTP1还存在并发请求限制和头部冗余等问题。

HTTP2是HTTP1的升级版,它使用二进制格式传输数据,允许在同一连接上同时发送多个请求,解决了HTTP1并发请求限制的问题,同时HTTP2还引入了头部压缩,进一步提高了协议的性能。

HTTP3是基于QUIC协议,使用UDP协议传输数据的HTTP协议版本,它可以在不需要建立连接的情况下传输数据,降低了通信延迟,同时HTTP3还引入了0RTT,多路复用的特性,解决了HTTP2由于头部压缩算法导致的安全问题,并进一步提高了协议的性能。

2.CDN解决了HTTP协议之外的问题

CDN:Content Delivery Network,是一种分布式的互联网架构,通过在网络的边缘部署节点,将内容缓存到离用户最近的节点,从而提高内容的访问速度和用户体验。

解决了什么问题?

1.网络延迟:由于CDN节点的分布式部署,用户可以从离自己最近的节点获取内容,从而降低了网络延迟和响应时间。

2.带宽限制与网络堵塞:当双十一,春运等大量用户使用网络的时候,可能会堵塞网络。CDN通过缓存和负载均衡的技术,CDN可以将用户请求分发到不同节点,从而降低了带宽压力,避免了网络堵塞。

3.安全性:当黑客对网站进行DDOS(Distributed Denial of Service)攻击时,CDN通过缓存和负载均衡,减轻了攻击压力。

3.WebSocket

WebSocket:是一种在单个TCP连接上进行全双工通信的协议。由HTTP协议升级而来。

与HTTP协议的关系

两者都是基于TCP协议的应用层协议,但不同的是,WebSocket可以在客户端和服务端之间建立持久性的连接,实现了实时的双向通信;而HTTP协议是一种请求-响应协议,每次通信都会建立连接。由于WebSocket的该优点,越来越多的Web应用程序使用该协议作为通信协议,在实时通信,在线游戏,实时数据展示等方面表现良好。

网络安全

1.网络安全三要素:机密性,完整性,身份验证

2.实现网络安全的机密性:加密技术,访问控制,安全审计

3.实现网络安全的完整性:数据签名,块链技术,访问控制

4.实现网络安全的身份验证:密码认证,双因素身份认证,单点登录,统一身份管理