课程内容:
- TCP/UDP
- HTTP 1 / HTTP2 / HTTP3 (QUIC)
- WebSocket
- CDN
- 安全(SSL/TLS/基础密码学)
- 网络结构
网络基础:
一、网络组成部分:
1.主机:客户端和服务端
2.路由器
3.网络协议
二、网络结构:网络的网络
1.本地网络
2.网络节点网络
3.本地网络的网络
4.区域网、广域网、城域网
三、协议
1.定义:定义了在两个或多个通信实体之间交换的报文格式和顺序,以及报文发送和/或接受一条报文或其他事件所采取的动作。
- EG:HTTP协议
(HTTP协议示例)
| HTTP协议在不同层的头部题 | |
|---|---|
- 链路层:
(本地帧头部)
(IP帧头部)
(TCP协议头部)
3.应用层:
(HTTP协议头部)
四、HTTP连接过程(1.基于HTTP2+TCP+TLS的3RTT连接过程)
- [1] 相关概念:
TCP 连接需要和服务器进行三次握手,即消耗完 1.5 个 RTT 之后才能进行数据传输。
TLS 连接有两个版本—— TLS1.2 和 TLS1.3,每个版本建立连接所花的时间不同,大致需要 1~2 个 RTT。
RTT(Round-Trip Time): 往返时延。 表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延。
- [2] 缺点:
队头阻塞没有彻底解决
TCP 为了保证可靠传输,有一个“超时重传”机制,丢失的包必须等待重传确认。HTTP2 出现丢包时,整个 TCP 都要等待重传,那么就会阻塞该 TCP 连接中的所有请求。
四、HTTP连接过程(2.基于HTTP3+QUIC的连接过程)
QUIC的优点:
1.无需进行TCP三次握手,在结束时无需进行四次挥手,大大减少了TCP连接和建立的时间 2.QUIC可以为除了HTTP外的所有应用层协议提供支持
思考:
1.不同计算机网络层关注的点不一样,比如传输层关注的头部信息与应用层关注的头部信息这有利于提高报文传输的可行性(不同层对不同报文头部选择性透明) 2.现实生活中一些现象或是管理方式与计算机网络中一些传输方法有大同小异之处 3.不同的计算机网络技术各有优缺点,比如NAT技术,只能主动将私密网址与外部网址相匹配,不能被动的接受外部网址的访问。所以诞生了NAT穿透技术,用以与NAT技术相辅相成