路由器(网关)

路由器(网关)_第1张图片
MAC头和IP头组成

在任何一台机器上,当要访问另一个IP地址时,都会先判断,这个目标IP地址,和当前机器的IP地址,是否在同一网段,怎么判断同一网段?需要CIDR和子网掩码。

如果在同一网段,那就没网关什么事了,直接将源地址和目标地址放入IP头,然后通过ARP获MAC目的地址,将源MAC和目的MAC地址放入MAC头中,发出去就可以了

如果不在同一网段,这就需要发往默认网关。网关的地址一定和源IP地址时一个网段的。往往不是第一个就是第二个,列如192.168.1.0/24这个网段,网关往往是192.168.1.1/24或者192.168.1.2/24

如何发往网关呢?网关和源IP地址时一个网段,这个过程就和发往同一个网段的机器是一样的,将源IP和目标IP地址放入IP头,通过ARP获取网关的MAC地址,然后将源MAC地址和目标的MAC地址都放入MAC头中,发送出去。接下来怎么做就看网关了

网关往往是一个路由器,一个三层转发设备,就是把MAC头和IP头都取下来,然后根据里面的内容,看看接下来把包网哪里转发的设备

路由是一台网络设备,他有多张网卡,其中一个网卡和源IP是同一个网段。当入口的网络包送到路由器时,他会根据本地的转发信息库,来决定如何正确的转发流量,这个转发信息库,通常被称为路由表

一张路由表会有多条路由规则。每一条规则至少包含三个信息

1,目的网络:这个包要去哪

2,出口设备:将包从哪个口丢出去

3,下一跳网关:下一个路由器地址

静态路由

在路由器上配置一条一条的规则,条到哪个网站,要从哪个出口出。

IP头和MAC头哪些变、哪些不变?

MAC地址

MAC地址值在一个局域网内才有效,所以MAC地址只要过了网关,就必定会改变

主要区别就是IP地址是否改变

IP地址不变,称为NAT网关

服务器A要访问服务器B。首先,服务器A会思考,192.168.4.101和我不是同一个网段,因而需要先发给网关,那网关是谁呢?已经静态配置好了,网关是192.168.1.1。网关的MAC地址是多少呢?发送ARP获取网关的MAC地址,然后发送包,包的内容是

源MAC 服务器A的MAC地址

目标MAC 192.168.1.1这个网口的MAC

源IP 192.168.1.101

目标IP 192.168.4.101

包到达192.168.1.1这个网口,发现MAC地址一致,将包收进来,开始思考网哪里转发?

在路由器A中配置了静态路由之后,要想访问192.168.4.0/24,要从192.168.56.1这个口出去,下一跳为192.168.56.2

于是,路由器A思考的时候,匹配上了这条路由,要从192.168.56.1这个口发出去,发给192.168.56.2,那192.168.56.2的MAC地址是多少呢?路由器A发送ARP获取192.168.56.2的MAC地址,然后发送包

源MAC 192.168.56.1的MAC地址

目标MAC 192.168.56.2的MAC

源IP 192.168.1.101

目标IP 192.168.4.101

包到达192.168.56.2这个网口。发现MAC一致,将包收进来,开始思考往哪里转发

在由路由器B中配置了静态路由,要想访问192.168.4.0/24,要从192.168.4.1这个口出去,没有下一跳

于是,路由B思考的时候,匹配上了这条路由,要从192.168.4.1这个口发出去,发给192.168.4.101.那192.168.4.101的MAC地址时多少?路由B发送ARP获取192.168.4.101的MAC地址,然后发包

源MAC 192.168.4.1的MAC地址

目标MAC 192.168.4.101的MAC

源IP 192.168.1.101

目标IP 192.168.4.101

包到达服务器B,MAC地址匹配,将包收进来

通过这个过程可以看出,每到一个新的局域网MAC都是要变的IP地址都不变,在IP头里面不会保存任何关于IP地址,所谓下一跳是某个IP要将这个IP地址转换为MAC放入MAC头

IP地址改变,称为转发网关

IP段冲突怎么办?

A地址192.168.1.101,B地址192.168.1.101

在目标服务器B在国际上要有一个国际身份,192.168.56.2对应国内身份192.168.1.101,凡是要访问192.168.56.2,都转成192.168.1.101

于是,源服务器A要访问目标服务器B,要指定目标地址为192.168.56.2,这是他的国际身份。服务器A想,192.168.56.2和我不是一个网段,因而需要发给网关,网关是谁?已经静态配置好了,网关是192.168.1.1,网关MAC地址是多少?发送ARP获取网关地址,发送包

源MAC 服务器A的MAC地址

目标MAC 192.168.1.1的MAC

源IP 192.168.1.101

目标IP 192.168.56.2

包到达192.168.1.1这个网口,发现MAC一只,将包收进来,开始思考往哪里转发

在路由A中配置了静态路由:要想访问192.168.56.2/24,要从192.168.56.1这个出口出。没有下一跳,

路由A思考的时候,匹配上了这条路由,要从192.168.56.1这个口发出去,发给192.168.56.2。那192.168.56.2的MAC地址是多少?路由A发送ARP获取192.168.56.2的MAC地址

当网络包发送到中间局域网的时候,服务器A也需要国际身份,因而在国际上,源IP地址也不能用192.168.1.101,需要改成192.168.56.1发送包

源MAC 192.168.56.1的MAC地址

目标MAC 192.168.56.2的MAC

源IP 192.168.56.1

目标IP 192.168.56.2

包到达192.168.56.2这个网口,发现MAC一致,将包收进来,开始思考转发

路由B是一个NAT网关,他上面配置了要访问国际身份192.168.56.2对应国内身份192.168.1.101,于是改为访问192.168.1.101,在路由B中配置了静态路由:要想访问192.168.1.0/24,要从192.168.1.1这个出口去,没有下一跳

于是路由B思考的时候,匹配上了这条路由要从192.168.1.1这个口发出去,发给192.168.1.101,那192.168.1.101的MAC地址是多少呢?路由器B发送ARP获取192.168.1.101的MAC地址,然后发送包

源MAC 192.168.1.1的MAC地址

目标MAC 192.168.1.101的MAC

源IP 192.168.56.1

目标IP 192.168.1.101

包到达服务器B,MAC地址匹配将包收起来

动态路由

你可能感兴趣的:(路由器(网关))