跨网络通信及路由知识入门 | 学习笔记(二)

简介: 快速学习跨网络通信及路由知识入门.

开发者学堂课程【Linux高级网络应用 - 网络管理与配置实战跨网络通信及路由知识入门学习笔记,与课程紧密联系,让用户快速学习知识.

课程地址:https://developer.aliyun.com/learning/course/576/detail/7970


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


目录:

一、规划IP地址

二、跨网络通信

三、路由表的关键组成

四、路由环境的生成


四、路由环境的生成

当前图中存在三个路由器: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/16与R1路由器直连,网关可以不进行配置。

对于192.168.2.0/2410.0.0.0.0/8而言,由于两者之间存在第三方路由器的间隔,即需要下一个路由器靠近本身的接口IP。下一路由器为R2,3口与本身相连,即其网关为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进行判断B和A是否在一个网段

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

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

ARP IP1 ---> MAC1

APR cache : IP1-- -MAC1

在ARP的缓存表中(ARPcache)存在IP1和MAC1的对应关系,往后的通讯中则可以不再使用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头部。帧头部即目标MAC源MAC,目标MAC为MAC1,源MAC为MAC本身,即A机器的MAC地址。目标ipBip,源ip为A的ip,如果将访问B主机,而B主机对应的为http服务,而http服务对应的端口号是80端口,故目标端口号为80端口,由于对于A而言其为客户端,客户端端口为随机生成的端口号,则其源端口为随机端口。此时数据报文完整,而进行发送与R1的操作

步骤3.R1查询路由表

R1收到数据包后进行路由表的查询,由于目标发往B,则路由表中应存在一条B机器所在网络的路由记录信息。B机器一般不会精确到ip,而是精确到网络。则其对应的接口即2。B主机所在网段与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已被找到,源mac为mac2,进行了从2口到3口的经过)

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

ip: dest   ip:IPB src  ip: IPA .

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

步骤4.R2查询路由表

//此后,数据包到达R2,R2继续进行路由表的查询,查询到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广播找到B的MAC地址

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访问。真正访问网站的过程是十分复杂的。

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

相关文章
|
3天前
|
JSON Dart 前端开发
鸿蒙应用开发从入门到入行 - 篇7:http网络请求
在本篇文章里,您将掌握鸿蒙开发工具DevEco的基本使用、ArkUI里的基础组件,并通过制作一个简单界面掌握使用
30 8
|
24天前
|
机器学习/深度学习 资源调度 算法
图卷积网络入门:数学基础与架构设计
本文系统地阐述了图卷积网络的架构原理。通过简化数学表述并聚焦于矩阵运算的核心概念,详细解析了GCN的工作机制。
67 3
图卷积网络入门:数学基础与架构设计
|
14天前
|
Web App开发 网络协议 安全
网络编程懒人入门(十六):手把手教你使用网络编程抓包神器Wireshark
Wireshark是一款开源和跨平台的抓包工具。它通过调用操作系统底层的API,直接捕获网卡上的数据包,因此捕获的数据包详细、功能强大。但Wireshark本身稍显复杂,本文将以用抓包实例,手把手带你一步步用好Wireshark,并真正理解抓到的数据包的各项含义。
64 2
|
21天前
|
机器学习/深度学习 人工智能 算法
深度学习入门:用Python构建你的第一个神经网络
在人工智能的海洋中,深度学习是那艘能够带你远航的船。本文将作为你的航标,引导你搭建第一个神经网络模型,让你领略深度学习的魅力。通过简单直观的语言和实例,我们将一起探索隐藏在数据背后的模式,体验从零开始创造智能系统的快感。准备好了吗?让我们启航吧!
54 3
|
28天前
|
数据采集 XML 存储
构建高效的Python网络爬虫:从入门到实践
本文旨在通过深入浅出的方式,引导读者从零开始构建一个高效的Python网络爬虫。我们将探索爬虫的基本原理、核心组件以及如何利用Python的强大库进行数据抓取和处理。文章不仅提供理论指导,还结合实战案例,让读者能够快速掌握爬虫技术,并应用于实际项目中。无论你是编程新手还是有一定基础的开发者,都能在这篇文章中找到有价值的内容。
|
1月前
|
监控 负载均衡 网络协议
OSPF在大型网络中的应用:高效路由与可扩展性
OSPF在大型网络中的应用:高效路由与可扩展性
159 1
|
1月前
|
存储 网络协议 定位技术
OSPF路由汇总:优化网络的强大工具
OSPF路由汇总:优化网络的强大工具
65 1
|
1月前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)入门
【10月更文挑战第41天】在人工智能的璀璨星空下,卷积神经网络(CNN)如一颗耀眼的新星,照亮了图像处理和视觉识别的路径。本文将深入浅出地介绍CNN的基本概念、核心结构和工作原理,同时提供代码示例,带领初学者轻松步入这一神秘而又充满无限可能的领域。
|
1月前
|
算法 数据中心
数据结构之数据中心网络路由(BFS)
本文介绍了数据中心网络路由中使用广度优先搜索(BFS)算法的重要性及其应用。随着数据中心从集中式大型机系统发展到分布式架构,高效的数据路由成为确保低延迟、高吞吐量和网络可靠性的关键。BFS通过系统地探索网络层次,从源节点开始向外遍历,确保发现最短路径,特别适合于数据中心网络环境。文中还提供了BFS算法的具体实现代码,展示了如何在数据中心网络中应用该算法来查找节点间的最短路径,并讨论了BFS的优缺点。
45 0
数据结构之数据中心网络路由(BFS)
|
1月前
|
网络协议 网络安全 数据安全/隐私保护
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
52 4

热门文章

最新文章