笔记概要

- 浏览器生成请求消息
- 区分HTTP/FTP...协议
- 生成HTTP请求消息
- 请求行
- 请求头
- 请求体
- 向DNS查询IP地址
- 域名层级结构
- 迭代查询 vs 递归查询
- 使用UDP
- 委托协议栈发送消息
- 传输层
- 创建套接字
- 分配内存空间
- 获得描述符
- 建立连接
- TCP报文
- 三次握手
- 收发数据
- 数据分组
- ACK机制
- 滑动窗口
- 流量控制
- 拥塞控制
- 断开连接
- 四次挥手
- 删除套接字
- 创建套接字
- 网络层
- IP头
- ARP协议
- 网卡
- MAC头
- 集线器
- 转发到所有设备
- 交换机
- 根据转发表进行转发
- 路由器
- 根据路由表进行转发
- 网络运营商
- 防火墙
- 缓存服务器
- CDN
- 负载均衡
- DNS负载均衡
- 负载均衡器
- 网卡
- 将信号转换成数字信息
- 检查MAC号
- 校验FCS
- IP模块
- 校验IP
- 检查分片
- TCP模块
- (第一次时)复制套接字
- 发送方IP
- 发送方端口
- 发送方Seq
- 发送方窗口
- (已存在时)找到对应套接字
- 发送方IP, 端口号
- 接收方IP, 端口号
- 生成ACK
- 生成初始Seq
- 确定接受窗口大小
- 生成TCP头部
- 数据收发
- (第一次时)复制套接字
- 应用程序
- 处理HTTP请求
- 返回响应
有关键情节透露