局域网与因特网,只隔着一道墙

我们在局域网内,只能与同一网段的电脑进行通信,现在,我需要与外界通信,那该怎么办呢?

比如,我在校园里面,我需要访问校园BBS论坛?

这个时候就需要路由器,才可以访问到这些网站。

如果没有路由器,我们也可以自己组装路由器。假设,你的电脑有两个网卡,将其中一个网卡1的网口连接到宿舍里面校园网的端口,一个网卡2的网口与交换机进行连接,这个时候,该电脑就相当于一个路由器。不过网卡1的IP配置必须与校园网络管理员分配的IP地址一样。

如果是一个家庭路由器,那么外网网口连接到校园网的端口;内网网口连接宿舍里面的电脑。

当按照第一种方式连接的话,剩下的就只需要给其他电脑进行IP分配。可以自己配置,但必须要与这台电脑的IP在一个网络断;或者通过DHCP协议进行配置。除了IP的配置外,还需要一个网关。这个网关,就是这台电脑的IP。

关于外网与内网:一般情况下,比如家庭上网:一个路由器只对应一个外网,这个外网是由运营商分配的。而自己电脑的IP是由路由器分配的,在一个局域网里面。也就是说,对于外网来说,局域网整体只是一个IP,客户端的IP外网是看不见的。

两个服务器之间要访问,肯定是通过网络包访问的,这里面比较重要的是:MAC头与IP头,如下图:

 

MAC头包括:源MAC地址、目标MAC地址以及协议类型。该协议类型主要说明IP层。

IP头:版本号主要是IPV4,后面标识协议是TCP/UDP。然后是源IP与目标IP。

任何一台机器上,机器A访问机器B,首先会判断机器A与机器B的IP是否在一个网络号码段,如果在的话,直接通过ARP协议获取对方的网关,不需要通过网关进行网络包的转发。如果不在一个网络号码段,这个时候,机器A首先把网络包发送到网关,也就是我们通常所说的路由器(三层设备),这个时候路由器会拆下MAC头与IP头,进行判断,下一步往哪里发送。

以上两台机器是否在一个网络断,这个时候就需要根据CIDR与子网掩码按位取和,来得到网络号码段,然后再判断二者是否在一个网络号码段。

一般我们都理解为路由器就是网关,或者网关就是路由器,事实上,二者有一定的区别,一个路由器管理者多个网关,只不过一台服务器需要将网络包发送自己的默认网关,而这个网关正好由路由器支配。但是路由器在支配着该网关的时候,它还掌握着其他局域网的网关,否则,它怎么将局域网A 的网络包发送出去呢?

路由包括静态路由与动态路由。

先说说一说静态路由:网络包经过网关A的时候,这个时候路由器A根据路由器规则,来计算从哪个端口抛出,以及下一跳的IP是哪里?这里的路由器规则都是网络管理员手动配置的。

网络包从服务器A到达服务器B,这个时候肯定涉及到IP变与不变,Mac变与不变。这个时候分为两种,是否涉及到外网,即A与B的IP是否冲突。

第一种:这种网关成为转发网关。

 

第一步:服务器A的地址为:192.168.1.101/24,服务器B的地址为:192.168.4.101/24。服务器A判断B的地址与自己不再一个网络号码段,这个时候,服务器A首先将网络包发送给自己配置的默认网关,报文如下:

源IP:服务器A的地址----192.168.1.101/24

目标IP:服务器B的地址----192.168.4.101/24

源MAC:服务器A的MAC地址

目标MAC:网关A的MAC地址----通过ARP协议获取

第二步:网络包到达网关A的时候,这个时候,网关A根据路由器匹配规则,网络包从端口:192.168.56.1/24发出去,下一跳为:192.168.56.2/24.报文如下:

源IP:服务器A的地址----192.168.1.101/24

目标IP:服务器B的地址----192.168.4.101/24

源MAC地址:网关A的MAC地址

目标MAC地址:网关B的MAC地址----网关A通过ARP协议获取

第三步:网络包到达网关B的时候,这时候根据路由器匹配规则,计算出从端口:192.168.4.1发送出去,没有下一跳,因为目标IP地址与该网关的IP地址一致。报文如下:

源IP:服务器A的地址----192.168.1.101/24

目标IP:服务器B的地址----192.168.4.101/24

源MAC地址:网关B的MAC地址

目标MAC地址:目标服务器B的MAC地址----通过ARP协议获取。

第二种:NAT网关

 

如果继续采用转发网关的发送网络包,你会发现,服务器A的地址与服务器B的地址一模一样,那肯定无法发送啊。这是因为服务器A的私有地址,对应一个公网IP;同样服务器B也对应一个公网。这就是为什么你去ping你邻居的IP的时候,为什么无法ping通。

这个时候,服务器A和服务器B配置的默认网关分别对应一个外网的IP地址。

首先网关B会记录下目标服务器B的私有地址192.168.1.101对应的外网IP地址为192.168.56.2,同样的

网关A会记录下源服务器A的私有地址192.168.1.101对应的外网的IP地址为192.168.56.1。

第一步:源服务器A发送网络包到达路由器A,网络包如下:

源IP:服务器A的地址:192.168.1.101

目标IP:服务器B对应的外网IP地址:192.168.56.2

源MAC:服务器A的MAC地址

目标MAC:网关A--192.168.1.1的MAC地址

第二步:网络包达到路由器A的时候,根据路由规则得到网络包从端口192.168.56.1发出去,由于192.168.56.2与目标IP地址是一个网络号码段的,所以就没有下一跳了。

源IP:服务器A对应的国际IP:192.168.56.1

目标IP:服务器B的对应的国际IP地址:192.168.56.2

源MAC地址:网关A--192.168.56.1的MAC地址

目标MAC地址:网关B--192.168.56.2的MAC地址

第三步,网络包到达路由B的时候,根据路由匹配规则,将网络包从192.168.1.1发送给服务器B,如下

源IP:192.168.56.1

目标IP:192.168.1.101

源MAC地址:网关192.168.1.1的MAC地址

目标MAC地址:目标服务器B的MAC地址。

 

本地局域网想要去访问外网,必须要经过网关。网关分为两种:

一种是转发网关,源IP与目标IP是可见的,不会发生冲突。

一种是NAT网关,源IP与目标IP需要转换为公网IP,才能进行访问。

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值