一、温故而知新
局域网:
ARP:通过MAC地址获取IP地址
DHCP:在主机入网时为其分配 IP 和默认网关
公网:
路由选择协议:RIP、 OSPF
RIP:基于距离向量的路由选择协议,是互联网的标准协议,最大的优点是简单,缺点是跳数有限,仅适用于小型互联网。
OSPF:(Open Shortest Path First) 最短路径优先,适用于规模较大的网络。
二、详细过程
1、请求发起
以向 www.linblog.tech/ 发起请求为例,刚开始操作系统并不知道此域名对应的IP地址,因此需要先通过DNS协议对域名解析得到目的IP。
2、使用Http/Https协议封装数据
得到目的IP,即知道目的地后,那就要打包行囊,首先第一层使用HTTP或HTTPS协议对数据进行封装请求头和请求参数。
3、使用TCP/UDP协议封装数据
使用TCP协议需要消耗三次网络请求来建立可靠的连接,如果是UDP则无需建立连接即可通信,但不可靠。这里以Http/Https请求为例,Http/Https基于TCP。
4、使用IP协议封装数据
传输层封装完成后,浏览器将包交给操作系统的网络层,网络层的协议是 IP 协议,在这一层,会给传输层传递过来的包加上 IP 头,其中包含源 IP 地址(浏览器所在机器)、源端口、目标 IP 地址(服务器所在机器)、目的端口等信息:
5、找到默认网关
此时数据包裹已经打包好,知道自己来自哪里且要去向何方,此时操作系统会通过ARP协议找到当初入网时依据DHCP协议分配的默认网关。当网关收到数据包后根据自己的路由表为数据包指路,去往下一跳路由,此后数据包就脱离局域网。“西出网关无故人”
6、闯荡公网
之后数据包会遵循路由选择协议 RIP / OSPF ,在路由器的帮助下寻找下一跳路由,直到到达目的网络。
7、到达目的主机
根据目的IP找到目的主机后,数据包经历的事情就和出来时相反,一层层的剥掉身上的包装,IP封装,TCP封装,HTTP封装,最后通过内核根据端口号将数据拷贝到对应的进程。
总结笔记:
参考文章: https://blog.csdn.net/qq_41431406/article/details/97618448 https://www.cnblogs.com/stringarray/p/12919644.html
相关推荐文章:
评论