路由的基本概念和原理

本文探讨了路由的本质——对应关系,并将其分为前端和后端路由。后端路由涉及URL请求与服务器资源的对应,SPAC(Single Page Application)中讨论了后端渲染和Ajax前端渲染的优缺点。前端路由则关注用户事件与页面内容的对应,重点介绍了Vue Router,它是Vue.js的官方路由管理器,支持HTML5历史模式、hash模式、嵌套路由、路由参数和编程式路由等功能。

一、路由的本质和分类

1、路由的本质

     路由是一个比较广义和抽象的概念,路由的本质就是对应关系

2、分类

       路由可以分为前端路由后端路由

二、后端路由

1、概念和本质

       现在我来说说后端路由,后端路由就是根据不同用户URL请求返回不同的内容,其本质是URL请求地址和服务器资源之间的对应关系

2、SPAC(Single Page Application)

  • 后端渲染(存在性能问题)
  • Ajax前端渲染(前端渲染提高性能,但是不支持浏览器的前进后退操作)
  • SPA单页面应用程序:整个网站只有一个页面,内容的变化通过Ajax局部更新实现,同时支持浏览器地址栏的前进和后退操作
  • 实现原理:基于URL地址的hash(hash的变化会导致浏览器记录访问历史的变化,但是hash的变化不会触发新的URL请求)
  • 在实现SPA过程中,最核心的技术点就是前端路由 

三、前端路由

1、概念和本质

     概念:根据不同的用户事件显示不同的页面内容

     本质:用户事件与事件处理函数之间的对应关系

2、Vue Router

       是Vue.js官方的路由管理器,它和Vue.js的核心深度集成,可以非常方便的用于SPA应用程序的开发。包含如下几种功能:

  • 支持HTML5历史模式和hash模式
  • 支持嵌套路由
  • 支持路由参数
  • 支持编程式路由
  • 支持命名路由
### 路由基本概念 路由是指在网络中将数据包从源主机传输到目标主机的过程中,通过选择最佳路径来完成数据转发的技术。路由器是实现路由功能的核心设备,它根据路由表中的信息决定数据包的转发方向。路由表中包含了网络前缀、下一跳地址、出接口等信息,用于指导数据包的转发过程。 路由的基本目标是确保数据包能够高效、可靠地到达目标地址。为了实现这一目标,路由协议需要完成以下任务:发现网络拓扑结构、计算最优路径、维护路由表信息、处理网络变化等。 在路由过程中,数据包的转发方式可以分为**直连路由****间接路由**两种。直连路由是指目标网络与当前路由器直接相连,数据包可以直接发送到目标主机;间接路由则需要通过多个路由器进行转发,直到数据包到达目标网络。 ### 路由的工作原理 路由的工作原理可以分为以下几个步骤: 1. **路由发现**:路由器通过路由协议(如RIP、OSPF、IS-IS、BGP等)与其他路由器交换路由信息,构建维护路由表。例如,在IS-IS协议中,Level-2级别的路由器组成路由域的骨干网,负责在不同区域间通信,确保骨干网的连续性,只有Level-2级别的路由器才能直接与区域外的路由器交换数据报文或路由信息[^1]。 2. **路径选择**:当路由器接收到数据包时,会根据数据包的目标IP地址查找路由表,选择最佳的转发路径。路径选择的依据包括跳数、带宽、延迟、可靠性等指标。 3. **数据转发**:路由器根据路由表中的信息,将数据包从相应的出接口发送到下一跳路由器或目标主机。 4. **路由更新与维护**:路由协议会定期或在拓扑变化时更新路由信息,确保路由表的准确性。例如,当网络发生故障或新增链路时,路由协议会重新计算路径并更新路由表。 ### 路由协议分类 路由协议可以分为以下几类: - **内部网关协议(IGP)**:用于在自治系统内部进行路由,常见的IGP包括RIP、OSPF、IS-IS。 - **外部网关协议(EGP)**:用于在自治系统之间进行路由,最常见的是BGP。 - **静态路由**:由网络管理员手动配置的路由信息,适用于网络结构简单、变化较少的场景。 - **动态路由**:通过路由协议自动学习更新路由信息,适用于复杂网络环境。 ### 路由表结构示例 以下是一个简单的路由表结构示例: ```bash Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 10.0.0.0 192.168.1.2 255.255.255.0 UG 100 0 0 eth0 ``` - **Destination**:目标网络地址。 - **Gateway**:下一跳路由器地址。 - **Genmask**:子网掩码。 - **Flags**:标志位,如U(Up)、G(Gateway)等。 - **Metric**:路由的度量值,用于路径选择。 - **Iface**:出接口名称。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值