输入网页到网页显示
HTTP
首先浏览器做的第一步工作就是要对 URL 进行解析,从而生成发送给 Web 服务器的请求头,行,体。
DNS工作流程:
1.客户端发出DNS请求给本地DNS服务器,询问IP
2.本地域名解析服务器在缓存表中未能找到,本地DNS询问根DNS
3.根DNS返回顶级域名服务器地址(如.com)
4.本地DNS请求顶级域名服务器,顶级DNS返回负责URL区域的权威DNS服务器地址
5.本地DNS请求权威DNS,权威DNS返回IP地址
6.本地DNS请求该IP,与目标建立连接。
协议栈
传输工作交给操作系统中的协议栈。
3.1TCP
SYN 是发起一个连接(请求同步)
ACK 回复
RST 重新连接
FIN 结束连接
窗口大小:用于流量控制,声明缓存大小
拥塞控制:控制自己发送的速度
TCP三次握手:客户端 服务器
---->SYN
ACK+SYN<----
----->ACK
SYN seq=x y
ACK ack=x+1 y+1
保证双方都有发送和接收的能力
netstat -napt #查看TCP连接状态
TCP分割数据
MTU: Maximum Transmission Unit 一个网络包的最大长度 (IP头+TCP头+数据)
MSS: Maximum Segment Size 除去IP和TCP头部后的最大长度(数据)
数据以MSS的长度为单位分割,分割后加上TCP头信息再交给IP模块
生成TCP报文
3.2 远程定位 IP
TCP在执行连接、收发、断开等操作时,都需要委托IP模块将数据封装成网络包
由DNS解析得到的IP放入目标IP
查询路由表,确定源地址IP(从哪个网卡出发)
若路由表中找不到目标IP,则从0.0.0.0默认网关出发
两点传输MAC
在发包时,先查ARP缓存,若没有对方MAC地址,发送ARP查询
以太网使用的头部(接收方MAC地址 + 发送方MAC + 协议类型)
用于两点间传输。
0800:IP协议
0806:ARP协议
发送方MAC地址:MAC地址在网卡的ROM中获得
接收方MAC地址:先查路由表,获得IP地址,再用ARP找到路由器MAC地址
网卡
数字信号转换为电信号
网卡驱动从IP模块获得包后,将其复制到网卡内的缓冲区,加上报头和起始帧分节符,末尾加上帧校验序列。
交换机
将电信号转换为数字信号
FCS校验,成功后放到缓冲区 (交换机本身无MAC地址)
交换机根据 MAC 地址表查找 MAC 地址,然后将信号发送到相应的端口**。
路由器
路由器的端口具有 MAC 地址,因此它就能够成为以太网的发送方和接收方;同时还具有 IP 地址路由器端口会接收发给自己的以太网包,然后路由表查询转发目标,再由相应的端口作为发送方将以太网包发送出去

浙公网安备 33010602011771号