路由相关基本概念(IP入门)

IP协议--网络层--路由器、三层交换机(冗余备份)

路由器的功能:

1、构建和维护路由表

2、根据路由表进行转发

3、路由器接口划分广播域

路由--实现路由的设备(路由器、多层交换机)

协议:定义一种语言

路由协议:RIP\EIGRP\OSPF\IS-IS\BGP--定义一种用来选路语言

被路由协议:IP协议

一、路由器的基本功能

①构建/维护路由表

路由表中含有的内容:

1.信息来源

2.目标前缀(网络号+掩码)

3.指针(下一跳/出接口)

4. [1/0]--管理距离(AD值)/开销(度量值)

②根据路由协议来转发数据包

二、路由协议

静态路由

手工指定,告诉路由器该如何转发数据包

r1(config)#ip route 4.4.4.0 255.255.255.0 12.12.12.2

静态路由的加表原则:下一跳要可达

优点:资源消耗比较低,比较安全

缺点:维护起来很麻烦,配置量很大,无法自动适应网络拓扑的变化而变化

默认路由是特殊的静态路由

动态路由

IGP:内部网关协议--运行在同一个AS号当中--RIP、EIGRP、OSPF、IS-IS

EGP:外部网关协议--运行在不同AS号当中--BGP

AS号(Autonomous System)是指使用统一内部路由协议的一组网络。

内部网关协议、距离矢量协议、链路状态协议

距离矢量协议和链路状态协议的本质区别:

距离矢量协议在发送路由更新的时候发送的是路由表;

链路状态协议在发送路由更新的时候拓扑表(相当于整个网络的地图)。

距离矢量协议只能知道直连的网络环境,链路状态协议知道整个网络环境。

为什么需要路由协议?

因为网络设备默认只能知道直连的网络信息,不同的网段的路由需要依靠路由协议。

路由条目的分类

①主机路由:192.168.1.1/32

②主类路由:   172.16.0.0/16

③子网路由:   172.16.1.0/24

④超网路由:   172.0.0.0/8

⑤默认路由:0.0.0.0/0

三、路由器的选路原则

针对同一个路由条目--网段和掩码必须一致

①当路由器运行多个路由协议,通过多个路由协议学习到同一条路由,那么路由器该如何选择?

--通过比较AD(管理距离):用来判断一条路由的可靠性,范围是1-255,值越小越优

②当路由器运行一个路由协议,如何从不同接口学习到相同的路由条目时,那么路由器该如何选择?

--比较度量值(开销)cost,越小越优

网络号一致,掩码不一致:遵循最长匹配原则

访问172.16.1.1

A.172.16.1.0/16

B.172.16.0.0/16

C.172.16.0.0/24

D.172.16.1.0/24

E.172.16.1.0/28  √

四、路由器的加表原则

当路由器收到一个路由条目时,首先会检查自己有没有这条路由

  1.如果没有,直接加入路由表

  2.如果有,检测是不是从一个接口接收到的

     ①如果是从一个接口接收到的,直接更新

     ②如果不是从一个接口接收到的,比较开销,择优路由

五、路由器对于数据包的处理方式

当路由器收到一个数据包时,首先会进行解封装,查看目的地址是不是自己

     1.如果目的地址是自己,继续解封装

     2.如果目的地址不是自己,就查看路由表

       ①如果路由表当中存在该路由条目,则进行转发

       ②如果路由表当中不存在该路由条目,就丢弃

如果让你们开发一个路由协议,需要注意什么?--- 通信,优化

1.没有环路

2.路由更新一定要可靠

3.收敛速度一定要快

4.选路一定要最优

5.资源消耗方面尽量少

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/768327.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Django(一)- 环境搭建和快速入门

一、搭建环境 1、创建Python虚拟环境 (base) C:\Users\35351>conda create -n django_study python3.9 2、安装Django (django_study) C:\Users\35351>pip install Django >> 查看安装版本 (django_study) C:\Users\35351>python -m django --version 3、安…

数据分析与挖掘

数据起源: 规模庞大,结构复杂,难以通过现有商业工具和技术在可容忍的时间内获取、管理和处理的数据集。具有5V特性:数量(Volume):数据量大、多样性(Variety)&#xff1a…

CSS(二)

一、CSS 的复合选择器 1.1 什么是复合选择器 在 CSS 中,可以根据选择器的类型把选择器分为基础选择器和复合选择器,复合选择器是建立在基础选择器之上,对基本选择器进行组合形成的。 复合选择器可以更准确、更高效的选择目标元素&#xff…

Mockito.when返回的list长度为0问题解决方法

今天玩Mockito.when遇见一个问题Mockito.when返回的list长度为0&#xff1b;上代码 ArrayList<Org> childDepts new ArrayList<>();Org org new Org();org.setDeptId("1");org.setDeptName("1");childDepts.add(org); Mockito.when(orgMappe…

系统设计之缓存(Caches)和内容分发网络(CDNs)设计

系统设计之缓存(Caches)和内容分发网络(CDNs)设计 目录 系统设计之缓存(Caches)和内容分发网络(CDNs)设计缓存不同的缓存策略1. 浏览器缓存缓存命中和缓存未命中2. 服务器缓存缓存失效淘汰策略:缓存的决策制定者自适应策略自定义策略淘汰策略的影响3. 数据库缓存实现工…

OC对象 - 关联对象(如何给分类添加成员变量)

文章目录 OC对象 - 关联对象&#xff08;如何给分类添加成员变量&#xff09;1. 基本使用1.1 提供的API1.1.1 添加关联对象1.1.2 获得关联对象1.1.3 移除所有关联对象1.1.3 修饰符 1.2 使用方法1.2 Key的常见用法1.2.1 使用的get方法的selecor作为key1.2.2 使用指针的地址作为k…

100 天机器学习指南

100 天机器学习指南 除了机器学习专栏&#xff0c;我们打算出另外一期专栏&#xff0c;叫做100 天机器学习指南&#xff0c;目标是通过100天的深入持续学习&#xff0c;让我们没有机器学习经验的人&#xff0c;也可以从事简单的机器学习工作&#xff0c;为职业生涯寻找增长点&…

LeetCode每日一题——移除链表元素

移除链表元素OJ链接&#xff1a;203. 移除链表元素 - 力扣&#xff08;LeetCode&#xff09; 题目&#xff1a; 思路&#xff1a; 这与之前的移除元素的题目很相似&#xff0c;那么我们同样可以用类似的做法&#xff08;双指针&#xff09;进行解题。但是这是一个链表删除&a…

微信小程序全局数据共享

文章目录 安装MobX相关的包根目录创建store文件夹&#xff0c;添加store.js文件绑定到页面中绑定到组件 mobx-miniprogram和mobx-miniprogram-bindings实现全局数据共享 mobx-miniprogram用来创建Store实例对象 mobx-miniprogram-bindings用来把Store中的共享数据或方法&…

树状数组原理和代码

树状数组 求下标的对应 求i管着的下标的范围 方法&#xff1a;拆掉最右侧的1然后1 到你自己 query sum 1-i的和 拆掉最右侧的1 再把下一个数值吸收到sum 重复这个过程直到全变0为止 add 方法&#xff1a;加上最右侧的1 到上限为止 lowbit方法 单点增加范围查询模板 #inc…

no main manifest attribute, in xxx.jar

找不到主类&#xff0c;如果是maven 项目&#xff0c;在pom.xml 指定主类 <mainClass>com.example.demo.Demo2Application</mainClass>还是不行的话&#xff0c;把 <skip>true</skip>去掉

请简单介绍一下Shiro框架是什么?Shiro在Java安全领域的主要作用是什么?Shiro主要提供了哪些安全功能?

请简单介绍一下Shiro框架是什么&#xff1f; Shiro框架是一个强大且灵活的开源安全框架&#xff0c;为Java应用程序提供了全面的安全解决方案。它主要用于身份验证、授权、加密和会话管理等功能&#xff0c;可以轻松地集成到任何Java Web应用程序中&#xff0c;并提供了易于理解…

nodejs+vue高校师资管理系统python-flask-django-php

快速发展的社会中&#xff0c;人们的生活水平都在提高&#xff0c;生活节奏也在逐渐加快。为了节省时间和提高工作效率&#xff0c;越来越多的人选择利用互联网进行线上打理各种事务&#xff0c;然后线上管理系统也就相继涌现。与此同时&#xff0c;人们开始接受方便的生活方式…

从FasterTransformer源码解读开始了解大模型(1.0)了解FasterTransformer

从FasterTransformer源码解读开始了解大模型&#xff08;1.0&#xff09;了解FasterTransformer 写在前面的话 最近的一年时间真是令人感慨&#xff0c;换了个工作方向&#xff0c;学了些深度算子开发相关知识&#xff0c;工作也转到对LLM的学习和开发了。入行不算深&#xf…

【Node.js】markdown 转 html

markdown 转 html 需要先安装三个包&#xff1a;browser-sync&#xff0c;ejs&#xff0c;marked 第一步&#xff0c;先准备一个 ejs 模板&#xff1a; <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title><% title %>…

谷粒商城——缓存的概念

1. 使用缓存的好处&#xff1a;减少数据库的访问频率&#xff0c;提高用户获取数据的速度。 2. 什么样的数据适合存储到缓存中&#xff1f; ①及时性、数据一致性要求不高的数据&#xff0c;例如物流信息、商品类目信息 ②访问量大更新频率不高的数据(读多、写少) 3. 读模式…

PyTorch中用torch.block_diag()将多个矩阵沿对角线拼接成一个大矩阵的函数

torch.block_diag()是PyTorch中用于将多个矩阵沿对角线拼接成一个大矩阵的函数。这个函数可以用于构建卷积神经网络中的卷积核矩阵&#xff0c;或者构建变分自编码器等需要对多个线性变换进行堆叠的模型。 torch.block_diag()函数的语法如下&#xff1a; torch.block_diag(*a…

加密技术概述

传输数据时的四个问题 窃听 数字加密 假冒 消息认证或数字签名 篡改 消息认证码或数字签名 事后否认 数字签名 加密技术 将数据变成第三者的计算机无法理解的形式&#xff0c;然后再将其恢复成原本数据的一系列操作就是加密技术。 哈希函数 哈希函数可以把给定的数据转…

C++中的string类

一、构造函数 1.默认构造函数&#xff08;defalut constructor&#xff09;&#xff1a;string() 2.指针拷贝构造函数&#xff08;from c-string&#xff09;&#xff1a;string(const char* s) 3.拷贝构造函数&#xff08;copy constructor&#xff09;&#xff1a;string(…

设计模式之状态模式(一)

设计模式专栏&#xff1a; http://t.csdnimg.cn/4Mt4u 目录 1.概述 2.结构 3.实现 4.总结 1.概述 状态模式( State Pattern)也称为状态机模式( State Machine pattern), 是允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类, 属于行为型模式。 在状…