输入网页到网页显示

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 地址路由器端口会接收发给自己的以太网包,然后路由表查询转发目标,再由相应的端口作为发送方将以太网包发送出去

posted @ 2022-07-11 21:16  hyz00  阅读(83)  评论(0)    收藏  举报