ネットワーク間の通信のLinux小型実験

まず、実験的なシーン。

実験準備、Linuxホスト4。それぞれホスト、ホストIPルートR1、ホストルートR2、ホストCは、ホストAは192​​.168.56.66/24であり、そして1つだけのネットワークカードはeth0、ルーティングホストはeth0 R1は、同じセグメントAとそのホストのIPで2枚のネットワークカードを持っています192.168.56.100/24,eth1アドレスIPアドレスは172.16.56.223/16あり; R2ホストは2枚のネットワークカードとホストCのeth0のを有する同じネットワークセグメントアドレスでR1 10.0.0.25/8,eth1同じネットワークセグメントれますアドレス、172.16.56.200 / 16、そのアドレスであるC 1つだけのネットワークカードはeth0ホスト10.0.0.18/8

AとCが互いに通信するホストを達成するための実験の目的、。アナログのLinuxホスト通信理論、通信プロセスの深い理解。

 

これらは実験トポロジです(ライン上で読むことができ、ビット醜い画、ハッハッハ)

その後、テストを開始します。

1は、上記トポロジから、我々は3つのネットワークが存在する確認することができ、この実験の他のネットワークへの影響を防止するために、我々は、VMwareの内部に3つの仮想ネットワークを追加しました

 

優れた仮想ネットワークを追加した後、今4つのホストに準備ができて、そしてそれに対応するIPアドレスを設定します

説明:IP CentOSのは、ここで対応するファイルは、/ etc / sysconfig / network-scriptsに/のifcfg-eth0のかeth1を編集し、その上でネットワークサービスを再起動し、システムです。

2. R1、R2の転送及びルーティングコンフィギュレータ

注:我々は、ホストルートを設定する必要がない同じネットワークセグメント上のホストA及びR 1は、CのみR1とR2にホストルートを設定する必要があるため、ゲートウェイを指している、それはCでホストにアクセスすることですR1はR2を探すように言われたメッセージを経由してルーティングする必要があります。R1は理由開いて前方のですが、メッセージはR1に到着したとき、それは、データパケットが自分でない確認し、それはデフォルトが破棄されていない場合、ターンは、それがパッケージにネイティブでないことを意味転送、それは別のホストに転送されます。そのような時間の後に開いた場合の構成は、メッセージがCに到達するメッセージからR2、R2の前方の理論に到達することができるが、R2は経路Aに設定されていないため、メッセージはそう、C R2に戻ってきましたバックパケットはA、配置次経路R2に到達することができません。

说明:配置R2的路由的作用是当访问C主机的时候,C主机回应回来的报文,在经过R2是会查看R2的路由,这样从C回来的报文才能够顺利到达A

3,验证从ApingC

 从CpingA

4,扩展

1.查看到达目标网络所经过的路由

说明:可以得之到达10.0.0.18 从本机经过了2个路由才到达。

2,删除同网段的路由是否能够通讯?

说明:这里要把默认路由也要删除,因为删除同网段的路由后,它默认会走默认路由,这样就可以得出删除了同网段的路由后,本机上不能和本网段的其他主机通信。

3,在r1上配置一个不是同网段的地址,主机A是否能够与之通讯?

说明:是可以通讯的,因为在Linux里ip是属于主机,不是属于某块网卡,只要主机A有到达主机R1的路由,就可以和R1上的所有ip通讯。这里主机A是走的默认路由

4,将R1的转发关了,数据报文还能到达C吗?

说明:是不可以的,因为当主机R1收到来自A主机的报文时,它会检查时不时它的,如果不是,它将会丢弃,不予回应,这里我们可以在R1上抓包就明白了

说明:可以看出在R1上是收到了A主机的发往C的报文,但是R1并没有给出回应。

说明:当我们打开R1的转发时,就可以看到从C回应A的数据报文,当然A主机上也会收到相应的回应报文。

5,在C上抓包看源ip和目标ip,源MAC和目标MAC的变化

说明:源ip是主机A的地址,目标ip是主机C的地址

主机A的MAC

主机C的MAC

主机R2的MAC

说明:通过上面的抓包,我们可以知道源ip和目标ip在以太网帧结构中是不会变化的,因为ip是在以太网上层internel协议的内容,但是源mac会变的。这是因为mac地址是Ethernet协议的内容,也可以得出在数据链路层通讯以太网协议是通过ARP mac地址通信的,在到达C主机的报文源MAC都是R2的MAC地址,也就是说在通讯的时候,以太网帧的结构中,源ip和目标ip是不会变化的,源mac会记录上一个发送数据报文的设备的MAC。

从上面的实验我们可以得出从A到C我们经过了两个路由;一个主机想要和另一个主机通讯,在通讯前主机会先查看自己的路由表,如果本机没有到达目标主机的路由时,本机的数据报文是不能发送到目标主机的;要让一个主机转发另一个主机的报文时,我们必须开启转发才行,否则不予转发;路由配置所指定的网关必须是本机能够到达的地址(也就是本机路由表有到达网关的路由),否则配置的路由无意义。同一网段的主机通讯,也必须配置路由,当然这个路由一般我们不用管,因为配置了其ip后,路由表就会默认生成相应的路由信息。如果没有路由,同一网段的主机也是无法通信的;在Linux里ip地址是属于主机不属于某一个网卡,所以只要有能够到达主机的地址,我们也可以将报文送到主机的另外一个地址。

おすすめ

転載: www.cnblogs.com/qiuhom-1874/p/11524833.html