1.解析URL各部位信息,确定请求路径
————————————————————–
2.生成HTTP消息,找DNS(只指路不带路,了解DNS的请求过程:先缓存,再请求)要IP
————————————————————–
3.获取IP后,传输工作交给操作系统协议栈(需要用到ICMP协议,ARP协议)
————————————————————–
4.TCP报文生成(三次握手过程,数据太大则分段【TCP段】传输)
建立TCP传输,传输前需要三次握手确认,握手目的是保证双方都有发送和接收的能力
如何查看TCP的连接状态?
在linux可以通过netstat -napt命令查看
————————————————————–
5.IP+TCP报文生成(多网卡情况下,源地址IP的选择方式,利用IP子网掩码计算方法确定)
————————————————————–
6.MAC+IP+TCP报文生成(利用ARP广播查询对方MAC地址,还是先查询缓存有没有)
MAC包头协议类型:0800(IP协议),0806(ARP协议)
linux中使用arp -a查看ARP缓存内容
————————————————————–
7.通过网卡将数据包信息(内存中的二进制数字信息)利用网卡驱动程序转成电信号发出
————————————————————–
8.交换机层面发送信息,通过交换机内部的MAC地址表判断应该发送到哪个端口
(注意广播地址的存在,以及当MAC表中无MAC地址记录时和接收方MAC地址是广播地址时,交换机会将包发送到除了源端口之外的所有端口的情况)
以下两个属于广播地址:
MAC 地址中的 FF:FF:FF:FF:FF:FF
IP 地址中的 255.255.255.255
————————————————————–
在网络包传输的过程中,源 IP 和目标 IP 始终是不会变的,一直变化的是 MAC 地址,因为需要 MAC 地址在以太网内进行两个设备之间的包传输。