0
点赞
收藏
分享

微信扫一扫

一文读懂计算机网络--两台pc机之间的交互过程

倪雅各 2022-03-23 阅读 57
网络

写在前头:

我时常在思考,两台pc机之间是怎么交互的,整个网络到底都做了什么,看了很多的网上资料,感觉讲的也可以,不过就是没有具体的串成一条线。故而我想通过自己的理解整理一下,如有不对之处,还请大佬们不吝赐教。

正文:

当我们在访问框中输入www.baidu.com时,它会通过dns进行域名解析,获取目标主机的ip。
此时,它的请求消息中,其实已经知道了目标主机的ip和端口(端口号知道是因为,不同的服务事先都设定好了端口号,当访问某个服务时,我们可以很容易的知道该服务的端口号)。


在此前提下,首先在应用层把请求报文信息包裹起来,之后传给传输层;在传输层把目标主机的端口号放上(可以定位到某一个应用),包裹起来,传给网络层;在网络层把目标主机的ip在放上,包裹起来,传到链路层;再在链路层把mac地址加上,之后再传给物理层。


假设此时源主机是在一个局域网中,它和好多台主机连接在一个交换机上,同时多组交换机之上又连接了路由器,通过路由器又把多个不同的网络连接起来。
以此图为例:
在这里插入图片描述


此时网络1中的主机x向网络2中的主机y,发送消息。

首先192.168.52.37 找 20.39.57.99,通过ARP协议,将20.39.57.99的mac地址映射到交换机的mac地址,此时到达交换机位置。

之后,继续找20.39.57.99,通过ARP协议,将20.39.57.99的mac地址映射到路由器的mac地址,此时到达路由器的位置。同时,通过NAT协议,将源ip映射为:20.32.15.6。

在当前路由器下,继续找20.39.57.99,还是通过ARP协议映射对应的mac地址,进而跳到第二个路由器上,该路由器再通过NAT协议,将目标主机的ip映射回:192.168.32.31。

最后,在网络二中继续寻找目标主机,仍通过ARP协议,将192.168.32.31映射到主机y的mac地址,从而找到主机y,接着通过目标主机的端口号,定位相应的服务,至此一次交互流程基本完成。

总结:

通过ip地址来确认属于那个网络
通过mac地址来确定某个网络中的那台机器、那个交换机或那个路由器
通过端口号来确定那个服务、那个具体的应用

参考:

https://www.taoduyx.com/etagid493189b0/
https://zhuanlan.zhihu.com/p/349790772
https://www.bilibili.com/video/BV124411k7uV?from=search&seid=1910369133731875829&spm_id_from=333.337.0.0

分享一句话,与大家共勉,唯有热爱,方能抵御岁月漫长

举报

相关推荐

0 条评论