第八篇:网关与路由

时间:2024-04-09 07:10:51

MAC头数据格式:

第八篇:网关与路由

包含了目的MAC地址,源MAC地址,协议类型一般为IP协议类型。

 

第八篇:网关与路由

最主要的是源IP与目标IP。

 

同一个局域网中的两台设备进行数据传输时,直接先使用ARP协议找到目标MAC地址,组成数据包之后,在局域网中传输即可。

 

如果不是同一网段的,就需要先把数据发送到网关gateway,网关的地址与源IP地址是一个网段的,一般是第一个或者第二个。如192.168.1.0/24这个网段,网关往往会是192.168.1.1或者192.168.1.2.

 

如何将数据发给网关呢?

一般是将源地址与目标IP地址放入到IP头中,通过ARP获取到网关的MAC地址,将源MAC与网关MAC放入到MAC头中,发送出去。网段收到数据包之后,接下来做什么,就看网关的了。

 

——分割线——

以前,人们往往把网关就叫做路由器。其实还是有一点区别的。

路由器是一台设备,它有五个网口或者网卡,相当于五只手,分别连接着五个局域网。每只手的IP地址都和局域网的IP地址是相同的网段,每只手都是它握住的那个局域网的网关。

 

任何一个想发往其他局域网的包,都会到达其中一只手,被拿进来,拿下MAC头和IP头,再根据路由算法,选择另一只手,加上IP头和MAC头,然后扔出去。

 

 

——分割线——

 

静态路由:

在路由器上,配置了一条一条规则,每当要选择从哪个口出去的时候,就一条一条的匹配规则,找到符合的规则,就按规则中设置的那样,从某个口出去,找下一跳IPX。

 

数据包传输过程中,哪些IP是会变的,哪些IP又是不变的?

 

第一种情况:

第八篇:网关与路由

服务器A往服务器B发送数据,数据包是这样进行封装的。

 

从服务器A到192.168.1.1网关:

源MAC:服务器A的MAC

目标MAC:192.168.1.1的MAC

源地址:192.168.1.101

目标地址:192.168.4.101

 

数据包到达网关之后,根据路由协议,需要将数据包发送到192.168.56.2网关,数据包重新进行封装:

源MAC:192.168.56.1的MAC

目标MAC:192.168.56.2的MAC

源地址:192.168.1.101

目的地址:192.168.4.101

 

数据包到达192.168.56.2网关之后,发现另一个口的网关是192.168.4.1,正好是192.168.4.101的网关,然后数据包就发送给192.168.4.101设备,数据包格式:

源MAC:192.168.4.1的MAC

目标MAC:192.168.4.101的MAC

源IP:192.168.1.101

目标MAC:192.168.4.101

 

此时,包到达服务器B,接收完成。

 

整个传输过程中,IP头里的源地址与目标地址是不变的,IP地址在三个局域网里都可见,在三个局域网之间的网段都不会冲突。在三个网段之间传输包,IP头不改变。

 

——分割线——

 

另一种情况:

第八篇:网关与路由

此图中的服务器A与服务器B的IP地址是一样的,就无法使用第一种模式的数据包传输方式。

 

怎么解决这个问题呢?

服务器B的内网地址为192.168.1.101,它对应的外网地址为192.168.56.2,他们是一一对应的,凡是要访问192.168.56.2,都转成192.168.1.101.

 

数据包发送的内容是这样的:

源MAC:服务器A的MAC

目标MAC:192.168.1.1网口的MAC

源IP:192.168.1.101

目标IP:192.168.56.2

 

192.168.1.1网关收到包之后,拿进来,发现需要访问的目标地址为192.168.56.2,通过192.168.56.1网口传输出去,数据包格式:

源MAC:192.168.56.1MAC

目标MAC:192.168.56.2MAC

源IP:192.168.56.1

目标IP:192.168.56.2

 

数据包到达192.168.56.2这个网口之后,它是一个NAT路由,通过路由器发送到内网服务器B192.168.1.101,此时服务器B就收到服务器A的数据包了。

数据包格式:

源MAC:192.168.1.1MAC

目标MAC:192.168.1.101MAC

源IP:192.168.56.1

目标IP:192.168.1.101

 

总结一下:

1、如果离开本局域网,就需要经过网关,网关是路由器的一个网口。

2、路由器是一个三层设备,里面有如何寻找下一跳的规则。

3、经过路由器之后MAC头要变,不同情况下IP可能变,可能不变。

 

另外:

NAT分为静态NAT、动态NAT、端口地址转换(PAT)

1、静态NAT是一对一的,一个内网地址对应一个公网地址

2、动态NAT是一对多的,可重复使用

3、PAT是通过映射UDP、TCP端口号来记录不同的会话。

 

参考:

趣谈网络协议