2023年11月27日发(作者:)

局域⽹如何连通ip地址和⽹关ip不在同⼀个地址的主机

[toc]

问题描述

这神奇的问题源⾃⼤学同学⽼王遇到的⼀个客户机房组⽹⽅案:

级联路由器.jpg

可以看到井上的操作机(PC)的所⽤ip跟其配置的默认⽹关亦即路由器(172.16.16.1/16)不在同⼀个⽹段,该PC在可以上外⽹。

但把井下⼯控机(EPC)按照图上配置也接在该路由器以后,PC ping不通EPC了。

要搞清这个问题产⽣的原因,⾸先得搞清楚ping协议(ICMP)是在⼲什么,怎么⼲的。这就⼜牵扯到ARP协议和路由相关知识。

ARP协议

表;否则直接丢弃。

ARP缓存表:

即ARP缓存(ARP Cache),基本每个以太⽹设备都会维护⼀张ARP表,⽤来存放IP地址和MAC地址的关联信息。该

表通常是动态更新的,每⼀对学习到的映射关系都有⼀个⽼化时间,通常是20分钟。

通过配置,也可以让⼀些表项变成静态的。

其他特性:

ARP代理:服务器功能,可使ARP⼴播跨越⼦⽹

免费ARP:探测是否存在ip地址冲突

报⽂格式

ARP报⽂

ICMP协议

ICMP是⼀个⽹络层协议,它不像ARP包⼀样对于上层来说是⾃动进⾏的,⽽是需要在应⽤⾥⼿动把它发出去。

ICMP协议的功能

ICMP协议的功能主要有:

1. 确认IP包是否成功到达⽬标地址

2. 通知在发送过程中IP包被丢弃的原因

3. 其他诊断查询

功能

traceroute也是基于ICMP协议实现的,可以打印出可执⾏程序主机,⼀直到⽬标主机之前经历多少路由器。

实现⽅式:

待补充

路由

直连路由

路由器接⼝所连接的⼦⽹的路由⽅式称为直连路由。

具体说就是⼀个路由器上会有⼀到多个接⼝地址,对应不同的⼝不同的⽹段。路由器到每个接⼝地址以及对应⼦⽹的路由叫直连路由,不需要学

习,开机就会有。

⾮直连路由

静态路由:使⽤命令在路由器上配置的路由信息。

家⽤路由器LAN-LAN级联

局域⽹包转发过程

1 若两者在同⼀⽹段,就会直接把包发向⽬标IP,这时要做:

1.1 查本地arp缓存,看看是否有IP和Mac的对应表.

1.1.1 有,直接向⽹络上发包,包中包括原mac及⽬标mac。

是哪个⼝(通过⽹关ARP缓存),所以PC和⽹关之间的路由不存在问题。

pc0和pc1之间通不通的关键,主要看两个⽹关上的路由表怎么配的,互相之间的路由通不通。如果不通,⼀般加⼀条静态路由就好了。