一、网络接入
1.1网络接入协议(network protocal)
- MAC地址(局域网地址)
- 路由协议
- ARP协议
- IP协议
- NAT
网络接入
先让我的手机能访问抖音服务器——网络拓扑结构
1.2网络接入——路由
路由发包
1.3网络接入——NAT
NAT上网:家用路由器
NAT出网:机房内网主机上外网
NAT原理:不仅是源地址变换,源端口/校验和/SEQ等都会发生变化
二、网络传输
1.1网络传输协议
- DNS
- UDP
- TCP
- HTTP
- HTTPS
- HTTP2.0
- QUIC
1.2 数据包
本质上是一段内存,里面存储的内存是有序的,一般按照TCP/IP的多层协议去封装。拆包/封包都是按照协议去写内存/读内存
1.3 数据包发送
1.4 先请求DNS(Domain Name System)域名系统
主要功能:将域名转化为IP地址
当用户在浏览器中输入一个网址的时候,浏览器会向DNS发送请求,请求该网址转化为对应的IP地址
DNS服务器根据域名解析规则,将域名放射到对应的IP地址,并将结果返回到本地DNS服务器
1.5 DNS的传输协议UDP(User Datagram Protocol)
一种无连接的传输协议,通常用于向DNS服务器发送请求和接收响应,不提供可靠的数据传输
简单,快速,低开销
所以在实际应用中通常会使用TCP(Transmission Control Protocol) 保证数据的可靠性和完整性
1.6 TCP 三次握手
指在建立TCP连接时,客户端与服务器之间需要进行三次握手才能建立稳定的连接
- 客户端向服务器发送SYN(同步)报文,请求建立连接
- 服务器收到SYN报文后,向客户端发送SYN-ACK(同步-确认)报文,表示同意建立连接
- 客户端收到SYN-ACK报文后,向服务器发送ACK(确认)报文,表示已经收到服务器的SYN-ACK报文,并准备好开始传输数据
1.7 TCP传输(Transmission Control Protocol)
一种传输协议,用于在计算机网络中传输数据,TCP协议通过三次握手建立连接,并使用序号来保证数据的可靠传输。TCP协议还提供了错误检测和纠正机制,可以检测和纠正数据传输中的错误。
1.8 HTTP/HTTP1.1
用于在Web浏览器和服务器之间传输数据的协议,定义了HTTP请求和响应的协议,它定义了HTTP请求和响应的格式、方法和状态等
1.1版本是HTTP协议第一个正式版本,于1996年发布
HTTPS(Hypertext Transfer Protocol)
一种加密的HTTP协议,使用SSL/TLS协议进行加密,可以保证数据的安全性和完整性
加密传输、身份验证、数据完整性、跨域访问