不同网络上的计算机怎么通信

一个网络上计算机的通信 ,我们知道,在一个网络里,多台主机通过交换机连接起来,每台主机的网卡有全球唯一的 MAC 地址,一个网络上的主机通过 MAC 地址通信。

那么,多个网络之间如何互联和通信?

最直接的方式,通过光纤将几个网络连起来,如果只有少数几个网络,可以这么搞,但是,这个世界有千千万万的网络,如果通过这种方式互联是不现实的,成本也很高,所以我们有了一个中间的设备路由器,路由器与交换机类似,有多个接口,每一个接口有自己的接口号,我们将每一个网络,跟路由器的某一个接口连接起来,实现网络之间的互联。

使用路由器将多个网络互联后,两台主机如何通信?

IP:标识网络和主机

这时,需要区分两台主机是否在一个网络里面,在同一个网络,我们可以直接通过 MAC 地址通信。不在同一个网络呢?如图, B 访问 C ,属于同一个网络,不用经过路由器, A 访问 E ,不在同一网络,怎么通信?

不同网络主机通信

我们怎么知道两台主机是否在一个网络? IP 地址。 IP 地址是用于标识网络和主机的一个地址,每一台机器都有自己的一个 IP 地址,一个 IP 地址包含两部分信息,网络号和主机号,比如主机 B 的 IP , 10.111.23.22 ,假设前三个数字 10.111.23 表示网络号,后面这个数字 22 表示主机号, A、B、C 是同一网络的三台不同主机, D、E、F 三台主机,网络号假设是 99.16.19 ,与 A、B、C 不在同一网络,这样,我们可以通过 IP 地址区分出两台主机是否在同一个网络。

我们继续来看 A 和 E 通信的例子, A 的 IP 是 10.111.23.13 , E 的 IP 是 99.16.19.101 , A 和 E 不在同一网络, A 把消息发给路由器,路由器帮忙转发。但 A 怎么知道发给哪一个路由器呢?我们可能连了多个路由器,实际上,每一个网络里面的每台主机,会配置默认网关的一个 IP ,默认网关就是某一个路由器的某一个接口的 IP ,如 A 的默认网关是 10.111.23.0 , E 的默认网关是 99.16.19.0 ,当 A 想把消息发给 E ,A 就把数据发送给默认网关,即发送给这个路由器的 1 号口,路由器接收到之后,它往哪一个口出去呢?

不同网络主机通信

路由器里面也有一张表,叫路由表或转发表,转发表记录了每一个网关对应的接口号, A 要把消息发给 E , E 的 IP 是 99.16.19.101 ,默认网关是 99.16.19.0 ,我们去路由表里面找 99.16.19.0 ,对应 5 号口,找到了接口号 5 ,路由器就把消息从 5 号口转发出去,然后找到主机 E ,完成了 A 到 E 的通信。

因此,我们通过 IP 地址和路由器,实现了不同网络上两台主机的通信。

我们可以看一下自己电脑的网络连接详细信息,它里面有 IP 相关的配置,如 IP 地址 192.168.50.253 ,子网掩码 255.255.255.0 ,默认网关 192.168.50.1 ,当我这台电脑要发消息给不同网络的主机时,我先把消息发到默认网关对应的路由器,让路由器帮我转发。子网掩码主要是为了得到 IP 地址所属的网络号,比如,我们将 IP 地址 192.168.50.253 和子网掩码 255.255.255.0 进行二进制的与运算,就可以得到网络号 192.168.50.0 ,

还有一个小细节,两个路由器相连,实际上也构成了一个网络,只不过这个网络里面,只是有两个路由器的接口,我们前面讲过,每一个路由器的每一个接口都会有自己的 IP 。


微信公众号「padluo」,分享数据科学家的自我修养,既然遇见,不如一起成长。关注【老罗说AI】公众号,后台回复【文章】,获得整理好的【老罗说AI】文章全集。

数据分析二维码.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值