跨网络通信及路由知识入门

简介: 一、规划IP地址二、跨网络通信三、路由表的关键组成四、路由环境的生成

跨网络通信及路由知识入门

 

目录:

一、规划IP地址

二、跨网络通信

三、路由表的关键组成

四、路由环境的生成

 

一、规划IP地址


1.划分子网

1)定义:一个大网分成若干小网

2)实现机制:网络ID向主机ID借位,使得网络ID位数更多,主机ID位数更少。


2.划分超网

1)定义:将多个小网合并成一个大网。

2)实现机制:主机ID向网络ID借位,使得主机ID位数更多,网络ID位数更少。

 

 

二、跨网络通信


划分出多个子网后,面临为需要实现跨网段通讯的问题,则需要进行路由器的使用,实现多个网段的互联互通。


1.路由器工作原理

基于路由器内的路由表记录了到达每个网络中主机的路径,表现为路由记录。若缺少到达某个主机的路由路径,则代表路由器接收到如此的数据包却并不清楚到达主机的路径在何处,故数据包也无法传递到目标主机。

当位于网络中希望与其他网络主机互联互通时,此台主机与远程主机之间的网络连接、路径需要写进路由器之中,表现为路由记录。


2.路由记录的表示

一条路由记录表示为一条路径

Destination Gateway Genmask  Flags Metric  Ref Use Iface

0.0.0.0    172.20.0.1  0.0.0.0    UG  100    0   0 ens37

172.20.0.0  0.0.0.0   255.255.0.0  U   100   0   0 ens37

192.168.30.0 0.0.0.0  255.255.0.0  U   100   0   0 ens37

172.20.0.0 0.0.0.0   255.255.0.0   U   0    0     0virbr0

上述实例中一行为一条路由记录,上述四行分别为四条路由记录。从目标Destination区分,体现了当路由器接收到一个数据包且需要发送到目标的某个地方时,路径的应该如何行走。上述实例中并不存在单个主机的路由,但配合子外掩码可以查看。172.20.0.0192.168.30.0172.20.0.0表示的都是网络路由,即到达某个网段的路径。


3.分类

目标可大致分为三类路径:


1)主机路由:到达网络中的某一台电脑、某个地址的路径走法,即在主机路由的目标位置数据体现的是单个主机的IP-到达单个电脑如何进行。由于精确到主机大致所在的网段后,在ARP广播的协助下,单个主机的IP地址的寻找十分明显,故而不必精确到单个主机IP。优先级最高。


不添加仅主机路径的原因

单个主机的路径理论上是可以添加的,但若网络中存在100台电脑,主机路由的实现体现为100条路由记录的书写,即每个电脑的IP都需要拥有一条路径。此类无形中使得维护路由表的任务过于庞大、繁琐。

生活中每个人的生活地址类似于主机路由。在地址填写时,通常只会填写一个大致的信息,而不将诸如坐在第几排这一类具体信息进行叙述。即提供的并非单个人的地址,而是家庭地址。在提供家庭地址之后,后续即可顺利寻找。同理于网络中,搭建路由记录一般很少精确到单个主机,只要精确到主机所在的网段即可。到达网段之后,由于ARP广播的存在,即可寻找到此台电脑。

假设现今于教室内上课时需要呼叫网络送单服务,送快递送于此处仅需要留一个大概位置:三楼xx房间,而非说明具体的座位号。即类似于留下一个网段地址。在特殊情况下,仍然会添加精确到单个主机的地址,但情况相对较少。


2) 网络路由

到达一个网段的路径走法,即在目标位置数据体现的是网段的地址。路由记录极少数情况会精确到单个主机,精确到主机所在网段即可。

优先级其次


实例

172.20.0.0体现的是网段的地址。其与255.255.0.0成对,表达的是网络的ID,即一个网段


缺点

要求每个网段都要进行路由的添加。当管理结构为小型企业一类较为便于管控的整体,此时使用网络路由进行管理有余力。但在由多个路由器构成多个网段的情况下,每个网段都需要去添加到达每个网段的路由记录,将会十分复杂。假设当前将网络分隔成了多个网段,拥有几个网段便需要增加几个路由记录。

image.png

假设拥有一个互联网连接,其余都是公司内部的网络,具有专门的路由器,则需要在每个路由器之上去添加到达每个网段的路由记录。故,若对于当前处于中间位置的路由器而言,需要配置其路由表,总体粗略来看,此网络被分成了共6个网段。每个路由器都需要了解到达每个路由器的路径,因此对于其中中间的路由器而言,需要在其路由器上填写出对应的六个网络的路径,最终会体现为6个网络的网络ID。但由于企业的路由器将连接互联网,而互联网中的路由器与网段是不可计数的,考虑不做任何优化的情况下将有两百余万给网段,意味着在企业的任何一个网络中都需要添加两百万条路由记录。若不进行添加,则由于没有路径到达不了该网络。故对于过于巨大的网络而言无法进行路由记录的逐一增加,此时由于连接互联网的仅有一条路,通过此条路即可到达最终目的地。则可在此添加一个默认路由,表示为0.0.0.0-位置网络。


3)默认路由:在面对较复杂的网络时会更加简便。同时,若出现与当前不匹配的情况,则走默认路由。表达方式为:0.0.0.0。优先级最低。


4.优先级


1)定义

精度度越高,优先级越高。


2)例子:

Destination Gateway Genmask  Flags Metric  Ref Use Iface

0.0.0.0    172.20.0.1  0.0.0.0    UG  100    0   0 ens37

172.20.0.0  0.0.0.0   255.255.0.0  U   100   0   0 ens37

192.168.30.0  0.0.0.0  255.255.0.0  U   100   0   0 ens37

172.20.0.0 0.0.0.0   255.255.0.0   U    0    0     0virbr0

当收到请求时,存在一条十分精确的路径、一条稍微粗放的路径、默认路由,最精确为首选。

[root@centos7 ~]#192.16.30.100 genmask 32此为主机路由

如若要到达192.168.20.200,由于仅主机路由和默认路由都不存在与之相匹配的网段,此情况下可以选择默认路由。

 

三、路由表的关键组成


1.四部分

目标:当路由器收到一个数据包,此数据包通常来讲在internet协议中应该有目标主机的地址与原计算机的地址。路由器会读取该数据包的目标地址,通过目标地址判断出主机发往的目标电脑位于路由表的哪一个目标地址所匹配的网段中。目标即往后数据包发送的目标路径。如192.168.0.0。此路径分为三类,可能为主机地址、网段或默认路由。


netmask:即子网掩码。写地址时,配合子网掩码即可明白网络的实际大小。

interface:路由器的出口。当接收到数据包发往某处的请求后,路由器发往目标地址所行进的路径。

gateway:网关

1)目标与路由器直连:直接相连,不需要配置网关。

2)目标与路由器非直连:网关即到达目的地的路径中,下一个路由器临近本路由器的接口地址

如图示

image.png

假设企业中通过路由器构成了诸多网段。拥有几个网段就需要添加对应数量的路由记录。当前网络被分割成了6个网段,每个路由器都需要连接到达每个路由器的路径,因此对于其中某个路由器而言,需要在其路由器上填写出对应的六个网络ID。但由于企业的路由器将连接互联网,而互联网中的路由器与网段是不可计数的,故对于过于巨大的网络而言无法进行路由记录的逐一增加,此时由于连接互联网的仅有一条路,通过此条路即可到达最终目的地。则可在此添加一个默认路由,表示为0.0.0.0-位置网络。


两台主机AB,其中A主机欲与B主机进行通讯,则首先需要判断其与B主机是否位于同一网段。由于配备的地址段并不相同,则两者无法进行直接的通讯,故而A主机若想达到目的就需要借助路由器的帮助。随后,A将自身的数据包发于与其本身路由表相直接对应的网关R1之上。R1接收到数据包后进行其中包含了多个网段路径的数据表的查询。在查看过程中,R1发现其中网段6A主机并不直接相连,而是相隔连接,故6网段所在的路段中对应的网关就是下一个路由器临近其的地址,等于R1路由器中添加的关于网段6的网关地址即为此接口的IP地址。下一个路由器即R2。可选择的即为临近R2、与R1相近的接口,以实现目标与路由器非直连状态下数据包的传输。每个路由器的任务都是将接收到的数据包传输给下一个相邻的路由器,层层传递到达目标,表示为一个接力的过程。

路由器分析在转发数据的过程中,其通过分析数据报文中的是目标地址。


2.路由器的特性

由于路由器只关注目标地址的正确性并根据其层层转发。即假设路由器A欲发送数据与B路由器,原则上发送数据时A所在机器为源地址,B所在机器为目标地址,此时A机器能够伪造虚假源地址地址。故当目标机器收到报文所查看到的源地址不排除虚假的可能性。

 

3.路由器的作用

转发数据包到达目标地址。

如若路由表内不存在到达对应目标网段对应的地址,则路由器将会把此数据包抛弃。

 

四、路由环境的生成


当前图中存在三个路由器:R1,R2,R3,将网络分成四个网段,其中R1,R2分别连接一台电脑。由于R1是电脑的网关,则其接口必须与此电脑处于同一个网段中。

image.png

1.路由器的配置

1)根据如图表示,到达所有网段都应从R1出发,R1应拥有到达其余四条网络对应的路由记录。使用CIDR表示法进行表示。


2)进行接口的配置

对于192.168.1.0/24而言,1接口与网络相邻,以此作为出口才能够到达192.168.1网络。

对于172.16.0.0/16而言,出口为2

对于10.0.00.0/8而言,出口为2


3)对于网关的配置

对于192.168172.16.0.0/16R1路由器直连,网关可以不进行配置。

对于192.168.2.0/2410.0.0.0.0/8而言,由于两者之间存在第三方路由器的间隔,即需要下一个路由器靠近本身的接口IP。下一路由器为R23口与本身相连,即其网关为172.16.0.2

对于192.168.2.0/24而言,R3为下下个路由器,R3对于其本身称为下一跳。

对于路由器存在规律:直连网段路由网段不用配置路由,系统自动生成。只需要配置非直连网段的路由。

直连网段:

[root@centos6 ~] #ifconfig

eth0  Link encap: Ethernet   HWaddr 00:0c:29:E1:F7 :AA

inet addr:192.168.30.128 Bcast:192.168.30.255 Mask:255.255.255.0

inet6 addr: fe80: :20c: 29ff:fee1: f7aa/64 scope:Link

UP BROADCAST RUNNING MULTICASTMTU:15 00Metric :1

RX packets:395 errors:0 dropped:0 overruns:0 frame :0

TX packets:130 errors:0 dropped:0 overruns:0 carrier:0

collisions:o txqueue 1 en: 1000

RX bytes:58598 (57.2 KiB)  TX bytes:22031 (21.5 KiB)

 

eth1  Link encap: Ethernet HWaddr 00:0c:29:E1:F7 :B4

inet addr:172.20.110.34 Bcast:172.20.255.255 Mask:255.255.0.0

inet6 addr: fe80: :20c: 29ff: fee1: f7b4/64 scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500Metric :1

RX packets:82061 errors:0 dropped:0 overruns:0 frame: 0

X packets: 700 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueue 1 en: 1000

RX bytes:15231649 (14.5 MiB)

TX bytes:55604 (54.3 KiB)

 

1o     ink encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: : :1/128 Scope : Host

UP LOOPBACK RUNNING MTU:65536 Metric:1

RX packets:8 errors:0 dropped:0 overruns:0 fr ame :0TX

packets:8 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:480 (480.0 b) TX bytes:480 (480.0 b)

[root@centos6 ~]#route -n

Kernel IP routing table

Destination  Gat eway  Genma  Flags Metric Ref  Use Iface

192.168.30.0 0.0.0.0  255.255.255.0    U   1     0 eth0

172.20.0.0   0.0.0.0  255.255.255.0    U    1      0 eth1

0.0.0.0    172.20.0.0 255.255.255.0   UG    0      0 eth1


非直连网段:

1)默认路由的添加前提

image.png

当网段的位置路由过多时,由于并不能确切知晓其路径的走向,此种情况便不能使用默认路由。当路由器处于整个网络的边界位置出口,只有一个方向时,才可以使用默认路由。


在电脑上配置网关的作用即为了添加默认路由,生成默认路由记录。


如若将网关删除,对于直连网络并无影响。但未知网段已没有默认路由,导致主机会出现无法访问互联网等情况。但若人为加上路由表,即使不上网关也同样可以访问互联网。


3)实例

C:Users\Administrator>route print

Pv6路由表

===========================================================活动路由:

如果跃点数网络目标          网关

1      306 ::1/128                        在链路上

13     266 fe80::/64                      在链路上

15     266 fe80::/64                      在链路上

16    276fe80::/64                      在链路上

15     276 fe80::/64                      在链路上

16     276 fe80::/64                      在链路上

15     276 fe80::75:de27:9325:c3f1/128

                                         在链路上

13     266 fe80: :5cd3:c4a2 55f6:2c73/128

                                          在链路上

16     276 fe80: :a497:4db7:1360:c08e/128

                                          在链路上              

1      306 ff00: :/8                       在链路上

13     266 ff00: :/8                       在链路上

15     276 ff00: :/8                       在链路上

16     276 ff00: :/8                       在链路上

===========================================================

永久路由:

 

 

Pv4路由表

===========================================================

活动路由

活动目标       网络掩码        网关       接口      跃点数

  0.0.0.0      0.0.0.0  172.20.0.1   172.20.0.100     266

127.0.0.0     255.0.0.0   127.0.0.1       在链路上     306

127.0.0.1  255.255.255.255  127.0.0.1     在链路上     306

127.255.255.255 255.255.255.255 127.0.0.1   在链路上     306

172.20.0.0 255.255.0. 0 172.200.100        在链路上     266

172.20.0.100 255.255 255.255 172.20.0.100   在链路上     266

172.20.255255 255.255.255.255 172.20.0.100  在链路上    266

192.168.30.0 255 255.255.0 192.168.30.1      在链路上    276

192.168.30.1 255.255.255.255  192.168.30.1 在链路上    276

192.168.30.255 255.255.255.255 192.168.30.1 在链路上    276

192.168.79 0 255.255.255.0 192.168.79.1      在链路上    276

192.168.79.1 255.255.255255  192.168.79.1    在链路上   276

192.168.79.255 255.255.255.255 192.168.79.1   在链路上   276

224.0.0.0    248.0.0.0      127.0.0.1       在链路上   306

224.0.0.0    240.0.0.0     172.20.0.1 00    在链路上   266

224.0.0.0    240.0.0.0     192.168.30.1     在链路上   276

224.0.0.0    240.0.0.0     192.168.79.1     在链路上   276

255.255.255.255 255.255.255.255 127.0.0.1    在链路上  306

 

255.255.255.255 255.255.255.255 172.20.0.100  在链路上 266

255.255.255 255 255.255.255.255 192.168.30.1 在链路上  276

255.255.255255 255.255.255.255 192.168.79.1  在链路上    276

===========================================================

网络路由:

网络地址      网络掩码     网关地址         跃点数

       0.0.0.0      0.0.0.0       172.20.0.1       默认

若现今将网关删除,则传输将会出现错误。若人为地添加上路由表,即使不添加网关,也同样能够访问互联网。在wiondos中的代码指令为:

C:Users\Administrator>route add 0.0.0.0 mask 0.0.0.0 172.20.0.1

其作用:ben添加默认路由,生成路由记录。提供一种更便利的、降低默认路由难度的方法


2.文字描述

A机器---1 R1 2---3  R2 4---5 R3 6---B机器(以数字表示接口)

使用浏览器去访问B机器:firefox http://B此网站页面。根据通讯过程:A使用自己的IP地址和子网掩码域得到一个结果,再使用目标B机器的IP地址和自身的子网掩码域得到另外一个结果。进行比较,若相同,则存在于同个网段,不同反之。


步骤1.A进行判断:BA是否在一个网段。

步骤2.A(已配置默认网关)gateway:R1 IP1

A已知晓网关ID,但不知道网关对应接口的MAC地址,故首次把发往B的数据包发送与R1,而发送与R1需要知道R1MAC地址。由于AR1直连,即通过ARP广播尝试把IP1的地址解析成对应的MAC地址是可行的。

ARP IP1 ---> MAC1

APR cache : IP1-- -MAC1

ARP的缓存表中(ARPcache)存在IP1MAC1的对应关系,往后的通讯中则可以不再使用ARP广播。此时拥有对应关系后,数据报文中的源地址、目标地址则可以进行添加。


数据包主要的三层:

frame(帧结构):dest mac:mac1 src mac : macA    (目标mac-mac1 mac-A)

ip: dest ip:IPB src ip: IPA          

tcp:dest port:80 src port:xxxxx, syn

//帧拥有帧头部,ip具有ip头部,tcp具有tcp头部。帧头部即目标MACMAC,目标MACMAC1,MACMAC本身,即A机器的MAC地址。目标ipBip,源ipAip,如果将访问B主机,而B主机对应的为http服务,而http服务对应的端口号是80端口,故目标端口号为80端口,由于对于A而言其为客户端,客户端端口为随机生成的端口号,则其源端口为随机端口。此时数据报文完整,而进行发送与R1的操作


步骤3.R1查询路由表

R1收到数据包后进行路由表的查询,由于目标发往B,则路由表中应存在一条B机器所在网络的路由记录信息。B机器一般不会精确到ip,而是精确到网络。则其对应的接口即2B主机所在网段与R1不直连,则网关为IP3

下一个路由器R2临近本身接口的地址:IP3

//经过查询得知数据包需要到达B机器,此机器所在网络需要走IP3此条路,则数据包需要尝试发往R2,发送即再次出现先前的问题,数据包的帧结构除了mac:mac1以外统统不变。

net B  2  IP3

ARP IP3 ---> mac3

frame:dest mac:mac3 src mac : mac2 (数据包的基本结构,目标Mac应进行改变。数据包需要发往IP3所在接口,则需要找到MAC3的接口。由于此接口并不知晓,R1R2为直连,此时仍然需要借助到arp广播解析寻找到3接口的MAC地址,故远程主机的目标mac已被找到,源macmac2,进行了从2口到3口的经过)

mac地址在进行不停的变化,但其他数据并不会改变。故数据报文在传输过程中,尤其是帧头部的mac地址为一段一段变化的。故其被称之为数据链路层,解决的为一对链路之间的通讯,解决不了整个跨网段通讯,通过一段一段的链路进行通讯。

ip: dest   ip:IPB src  ip: IPA .

tcp:dest   port:80  src port:xxxxx, syn


步骤4.R2查询路由表

//此后,数据包到达R2R2继续进行路由表的查询,查询到B机器所在的网段路由表以及所在的接口为4,网关为下一个路由器临近本身的接口,即IP5

net B 4  IP5  //明确路由表

将数据包发送给IP5

ARP IP5 -- -- -> mac5  //并不知晓IP5的地址,利用ARP广播对其进行查询找到Mac地址

 

frame:dest mac:mac5 src mac: mac4  //确认目标Mac4,数据报文进一步到达R3

ip: dest ip:IPB src ip: IPA

tcp:dest port:80 src port :xxxxx, syn


步骤5.R3査路由表(系统自带)

接口即为入口,网关即为本身

net B 6

B机器与R3本身直连,即R3知晓机器B与本身处于同一网段之中,接口即本身出口-6口,只需要通过ARP广播找到BMAC地址

ARP IPB--->macB

frame:dest mac:macB src mac : mac 6//最后锁定目标地址为6

ip: dest ip:IPB src ip: IPA

tcp:dest port:80 src port :xxxxx, syn

至此,第一次握手得到完成。

B接受到数据包后,进行与数据包传输相同步骤的回应包传输过程。以上为打开浏览器访问网站,前期发生过程的工作描述。通常访问网站为名字访问,而非IP访问。真正访问网站的过程是十分复杂的。


路由表只关注发送,而非接收。路由器被动接受数据后的任务是将其发送出去,实际发送的过程需要通过路由表内部的路由记录来决定。路由真正决定通讯。

相关文章
|
19天前
|
负载均衡 网络协议 算法
|
2月前
|
机器学习/深度学习 人工智能 算法
深度学习入门:理解神经网络与反向传播算法
【9月更文挑战第20天】本文将深入浅出地介绍深度学习中的基石—神经网络,以及背后的魔法—反向传播算法。我们将通过直观的例子和简单的数学公式,带你领略这一技术的魅力。无论你是编程新手,还是有一定基础的开发者,这篇文章都将为你打开深度学习的大门,让你对神经网络的工作原理有一个清晰的认识。
|
12天前
|
网络协议 网络安全 数据安全/隐私保护
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
36 4
|
12天前
|
消息中间件 编解码 网络协议
Netty从入门到精通:高性能网络编程的进阶之路
【11月更文挑战第17天】Netty是一个基于Java NIO(Non-blocking I/O)的高性能、异步事件驱动的网络应用框架。使用Netty,开发者可以快速、高效地开发可扩展的网络服务器和客户端程序。本文将带您从Netty的背景、业务场景、功能点、解决问题的关键、底层原理实现,到编写一个详细的Java示例,全面了解Netty,帮助您从入门到精通。
47 0
|
13天前
|
网络虚拟化 数据安全/隐私保护 数据中心
对比了思科和华为网络设备的基本配置、接口配置、VLAN配置、路由配置、访问控制列表配置及其他重要命令
本文对比了思科和华为网络设备的基本配置、接口配置、VLAN配置、路由配置、访问控制列表配置及其他重要命令,帮助网络工程师更好地理解和使用这两个品牌的产品。通过详细对比,展示了两者的相似之处和差异,强调了持续学习的重要性。
27 2
|
14天前
|
网络协议 定位技术 网络架构
IP 路由:网络世界的导航仪
IP 路由:网络世界的导航仪
27 3
|
17天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
22天前
|
网络协议 网络安全 数据安全/隐私保护
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
【10月更文挑战第27天】计算机主机网关的作用类似于小区传达室的李大爷,负责将内部网络的请求转发到外部网络。当小区内的小不点想与外面的小明通话时,必须通过李大爷(网关)进行联系。网关不仅帮助内部设备与外部通信,还负责路由选择,确保数据包高效传输。此外,网关还参与路由表的维护和更新,确保网络路径的准确性。
45 2
|
1月前
|
弹性计算 人工智能 运维
Terraform从入门到实践:快速构建你的第一张业务网络(上)
本次分享主题为《Terraform从入门到实践:快速构建你的第一张业务网络》。首先介绍如何入门和实践Terraform,随后演示如何使用Terraform快速构建业务网络。内容涵盖云上运维挑战及IaC解决方案,并重磅发布Terraform Explorer产品,旨在降低使用门槛并提升用户体验。此外,还将分享Terraform在实际生产中的最佳实践,帮助解决云上运维难题。
125 1
Terraform从入门到实践:快速构建你的第一张业务网络(上)
|
29天前
|
Java
[Java]Socket套接字(网络编程入门)
本文介绍了基于Java Socket实现的一对一和多对多聊天模式。一对一模式通过Server和Client类实现简单的消息收发;多对多模式则通过Server类维护客户端集合,并使用多线程实现实时消息广播。文章旨在帮助读者理解Socket的基本原理和应用。
23 1
下一篇
无影云桌面