网络技术|网络地址转换与IPv6|路由设计基础|4
对应讲义——p6 p7
NAT例题
例1
解1
例2
解2
例3
解3
例4
解4
一、IPv6地址
用二进制格式表示128位的一个IPv6地址,按每16位为一个位段,划分为8个位段。
若某个IPv6地址中出现多个连续的二进制0,可以通过压缩某个位段中的前导0来简化IPv6地址的表示。例如,"002F"可以简写为"2F"。
注意的问题:
使用零压缩法时,只能压缩前导0。不能把位段内有效0压缩掉。例如,不能将AC04:A0:0:0:0:0:0:5简写为AC4:A::5。
双冒号"::"在一个地址中只能出现一次。
二、RIP协议(内部网关协议)
路由刷新报文组成
路由刷新报文的主要内容是由若干个(V,D)组成的表;
V代表矢量(vector),标识该路由器可以到达的目的网络或者目的主机。
D代表距离(distance),标识该路由器到达的目的网络或目的主机的距离,即该路由上的跳数(hopcount)。
路由器在接收到相邻路由器的(V,D)报文后,按照最短路径原则对自己的路由表进行刷新。
三、RIP路由器工作方式
RIP路由器更新规则
1 有没有新增的项
有:则添加新纪录
无:什么也不做
2 比较R1距离和R2+1距离,取最小值
若距离仍为R1,则下一条路由不需要修改
若距离为R2+1,则下一跳路由器修改为R2
四、OSPF(开放最短路径优先协议)
OSPF协议特点
OSPF协议:OSPF是开放系统最短路径优先协议。
OSPF使用分布式链路状态协议。
OSPF要求路由器发送的信息是本路由器与哪些路由器相邻,以及链路的度量值(OSPF使用的度量值包括费用、距离、延时、带宽)。
OSPF使用洪泛法发送信息。
OSPF协议要求让路由器建立一个链路状态数据库,该数据库实际上是全网的拓扑结构图。
OSPF将一个自治系统划分为多个区域(area),每个区域有一个32位的区域标识符,每个区域内的路由器通常不超过200个。
使用OSPF的路由器只需要建立本区域内的链路状态数据库,负责各区域之间通信的路由器叫做区域边界路由器,只需要将来自本区域的信息发送给下一个区域的区域边界路由器,同样不需要获取其他区域的链路状态数据库。
为了适应规模很大的网络,提高路由更新收敛速度,OSPF引入区域(area)概念来将一个自治系统划分为若干个更小范围。
每个区域有一个32位的区域标识符(用点分十进制表示);
区域不能太大,在一个区域内的路由器最好不超过200个;
OSPF使用分布式链路状态协议,采用洪泛法向本自治系统所有路由器发送消息;
OSPF的链路状态"度量",主要是指距离、费用、带宽、时延等;
区域内部路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑情况。
五、BGP(外部网关协议)
BGP是边界网关协议,在不同自治系统的路由器之间交换路由信息的协议。
BGP-4采用路由向量路由协议,每个自治系统选择一个“BGP发言人”,发言人之间建立TCP连接,然后在此链接上建立BGP会话。结点数以自治系统数为单位。
BGP刚运行时,边界路由器交换的是整个BGP路由表,之后只在发生变化时更新有变化的部分。
BGP协议有四种分组:open(与相邻的另一个BGP发言人建立关系)、update(发送要更新的某一条路由信息或要删除的多条路由信息)、keepalive(周期性的证实相邻的边界路由器存在)、notification(发送监测到的错误)。
BGP路由选择协议的四种报文
打开(open)报文
用来与相邻的另一个BGP发言人建立关系(建立TCP连接);
更新(update)报文
用来发送某一路由的信息,以及列出要撤销的多条路由;
保活(keepalive)报文
用来确认打开报文和周期性(30秒)地证实邻站关系;
通知(notification)报文
用来发送检测到的差错。
六、RIP协议例题
1 概念题
RIP是一种非常简单的路由协议,它要求路由器周期性的向外发送路由表刷新报文,该报文由若干个(V,D)组成,其中V代表目的网络,D代表距离也就是还需要经过的多少个路由器(跳数)才能抵达目的网络,跳数<16。路由器接收到(V,D)报文后,按照最短路径优先原则更新路由表。
2 图题(将b表距离+1,再与a表比较得出最优距离):
RIP是基于距离向量的协议,衡量路由信息"好"与"不好"的依据是距离,也就是从自身到达目的地所需要经过的跳数(路由器个数,自身不算在内),跳数越少,路由越好。
每台路由器(代号B)都周期性的向相邻路由器(代号A)广播自身的B的整张路由表,而相邻路由器A收到B的路由表后,将B的路由表中跳数全部+1(代号B+1),然后再跟A自身路由表进行比较,好则更新(好的依据是B+1的距离比A中的短),无则添加。
3 例题
由于是判断R2发送给R1后,R1的路由表,那么R1的具体操作如下:
先将表(b)中所有跳数+1,得到下表:
将上表与表(a)对比,可知仅有目的网络为20.0.0.0的路由信息比(a)中原有的好(a中存储的距离是5,而新学习到的只有4),好则更新,将(a)中目的网络为20.0.0.0的路由信息替换为刚刚跳数+1后计算出来的信息,即目的网络20.0.0.0,距离4,由于这条信息是通过R2发过来的信息计算出来的,那么路由项填写为R2。
此时,(a)表将变更为:
4 难题*
下面是一台三层交换机的部分路由表信息。
根据表中的路由信息,以下关于此设备的说法中,错误的是__。
A.启用了OSPF动态路由协议,并学到了E1和E2两种类型的OSPF外部路由
B.通过动态路由协议学习了缺省路由
C.路由表中的管理距离釆用的是默认值
D.网络接口VLAN5上配置了两个IP地址,202.38.126.32/27和202.38.126.16/28
路由表组成
路由表的内容主要由路由协议、目的网络、管理距离/度量值(权值)、下一跳(下一个路由器的IP地址)组成。详情见下表:
答案解析
A选项,的确从E1、E2端口学习到了路由信息,且的确是通过OSPF协议学到的,正确。
B选项,默认路由是0.0.0.0/0,确实是通过动态路由协议中的OSPF学到的,正确。
C选项,通过上表可知,正确。
D选项,VLAN5共有4个IP地址,其中状态C的是直连IP,标记L的才是本地地址,即三层交换机的端口上配置的地址。故D错。
故本题答案是D。
(2023年 3月2日 22:27首次发布)
相关文章:
网络技术|网络地址转换与IPv6|路由设计基础|4
对应讲义——p6 p7NAT例题例1解1例2解2例3解3例4解4一、IPv6地址用二进制格式表示128位的一个IPv6地址,按每16位为一个位段,划分为8个位段。若某个IPv6地址中出现多个连续的二进制0,可以通过压缩某个位段中的前导0来简化IPv6地址的表示。例如…...
MySQL运维知识
1 日志1.1 错误日志1.2 二进制日志查看二进制日志:mysqlbinlog ./binlog.000007purge master logs to binlog.000006reset mastershow variables like %binlog_expire_logs_seconds%默认二进制文件只存放30天,30天后会自动删除。1.3 查询日志1.4 慢查询日…...
易基因-MeRIP-seq揭示衰老和神经变性过程中m6A RNA甲基化修饰的保守下调机制
大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。2023年02月22日,《美国国家科学院院刊》(Proc Natl Acad Sci USA)期刊发表了题为“Conserved reduction of m6A RNA modifications during aging and neurodegeneration is lin…...
暑期实习准备——Verilog手撕代码(持续更新中。。。
暑期实习准备——手撕代码牛客刷题笔记Verilog快速入门VL4 移位运算与乘法VL5 位拆分与运算VL6 多功能数据处理器VL8 使用generate…for语句简化代码VL9 使用子模块实现三输入数的大小比较VL11 4位数值比较器电路VL12 4bit超前进位加法器电路VL13 优先编码器电路①VL14 用优先编…...
Qt音视频开发19-vlc内核各种事件通知
一、前言 对于使用第三方的sdk库做开发,除了基本的操作函数接口外,还希望通过事件机制拿到消息通知,比如当前播放进度、音量值变化、静音变化、文件长度、播放结束等,有了这些才是完整的播放功能,在vlc中要拿到各种事…...
Linux基础命令-nice调整进程的优先级
文章目录 Nice 命令介绍 语法格式 常用参数 参考实例 1 调整bash的优先级为-10 2 调整脚本的优先级为6 3 调整指令的优先级 4 默认使用nice命令调整优先级 命令总结 Nice 命令介绍 nice命令的主要功能是用于调整进程的优先级,合理分配系统资源。Linux系…...
解析C语言strcmp()函数
函数名: strcmp 头文件: <string.h> 函数原型: int strcmp(const char *str1,const char *str2); 功 能: 比较两个字符串的大小,区分大小写 参 数: str1和str2为要比较的字符串 返回值: str1 > str2 , 返回 1&…...
初识scrapy
认识scrapyscrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需实现少量的代码,就能实现数据的快速抓取scrapy使用了Twisted异步网络架构,可以加快下载速度 pip install twisted安装:pip install s…...
(JUC)核心线程 和 救急线程的区别;Executors-固定大小线程池单线程线程池
核心线程 和 救急线程的区别 救急线程是有个生存时间的,它执行完任务了,过了一段时间,没有新任务了,救急线程就会销毁掉,变成结束的状态 核心线程没有生存时间,它执行完任务后,它仍然会被保存…...
vue2的动画和过渡效果
文章目录过渡 & 动画Transition 组件基于 CSS 的过渡效果CSS 过渡类名 class为过渡效果命名CSS 过渡 transition实例1:实例2:CSS 动画自定义过渡的类名同时使用 transition 和 animation深层级过渡与显式过渡时长性能考量JavaScript 动画可复用过渡效…...
正数负数的取反运算推导过程
取反题目题目:数据常用位十进制数据举例 我们计算a 60的取反运算c~a 求c 引用的知识点知识点: 正数的反码 补码 都一样。 0的补码反码都一样 负数的反码,最高是标记符号位,其他位置1变0 1变0 负数的补码 反码1 步骤斜体样式本篇我们全用8位二…...
C语言 条件编译
目录 1. #if #elif #else #endif 2. #ifdef #else #endif 3. #ifndef #else #endif 4. 三者区别 根据不同情况编译不同代码、产生不同目标文件的机制,称为条件编译。 条件编译是预处理程序的功能,不是编译器的功能。 1. #if #elif #else #endif …...
Linux: ARM GIC只中断CPU 0问题分析
文章目录1. 前言2. 分析背景3. 问题4. 分析4.1 ARM GIC 中断芯片简介4.1.1 中断类型和分布4.1.2 拓扑结构4.2 问题根因4.2.1 设置GIC SPI 中断CPU亲和性4.2.2 GIC初始化:缺省的CPU亲和性4.2.2.1 boot CPU亲和性初始化流程4.2.2.1 其它非 boot CPU亲和性初始化流程5.…...
测试软件5
一 css基础 css定义:可以设置网页中的样式,外观,美化 css中文名字:级联样式表,层叠样式表,样式表 二 css基础语法 1.style标签写在title标签后面 2.选择器{属性名1:属性值1;属性名…...
前端JS内存管理
JS内存管理 内存原理: 任何变成语言在执行的时候都需要操作系统来分配内存,只是有些语言需要手动管理分配的内存有些语言有专门来管理内存的方式 如 JVM 了解以上的概念之后,我们再来了解一下大致的内存周期 分配需要的内存使用内存在不使用…...
第七章.集成学习(Ensemble Learning)—袋装(bagging),随机森林(Random Forest)
第七章.集成学习 (Ensemble Learning) 7.1 集成学习—袋装(bagging),随机森林(Random Forest) 集成学习就是组合多个学习器,最后得到一个更好的学习器。 1.常见的4种集成学习算法 个体学习器之间不存在强依赖关系,袋装(bagging)…...
Java_面向对象
Java_面向对象 1.面向对象概述 面向对象是一种符合人类思想习惯的编程思想。显示生活中存在各种形态的不同事物,这些食物存在着各种各样的联系。在程序中使用对象来映射现实中的事物,使用对象的关系来描述事物之间的关系,这种思想就是面…...
【IoT】智能烟雾报警器
设计简介 硬件设计由AT89C51单片机、DS18B20温度传感器、4位共阳数码管、电源模块、报警模块、按键模块、MQ-2烟雾检测模块和ADC0832模数转换模块组成。 烟雾传感器MQ-2检测空气中的烟雾气体,通过ADC0832进行数据转换,经过单片机的运算处理后在数码管上…...
Python实现定时执行脚本(5)
前言 本文是该专栏的第17篇,后面会持续分享python的各种干货知识,值得关注。 笔者在前面有详细介绍过几种使用python实现定时执行任务的方法,可以说都是简单易上手的那种。而本文,再来详细介绍另外一种定时方法,那就是利用任务框架APScheduler(advanceded python schedu…...
JavaSe第4次笔记
1.转义字符和编程语言无关。 2.斜杠(\)需要转义,反斜杠(/)不需要转义。 3.不能做switch的参数的数据类型:long float double boolean( String可以)。 4.输入的写法:Scanner(回车自动带头文件(import java.util.Scanner;)) Scanner scan …...
epoll机制
预备知识 文件描述符file descriptor 文件描述符是Linux系统中对文件、套接字等I/O资源的抽象,每个打开的文件或套接字都有一个唯一的文件描述符。应用程序可以使用文件描述符来读写文件或进行网络通信。 epoll允许程序监控多个文件描述符,以便在这些…...
Java使用不同方式获取两个集合List的交集、补集、并集(相加)、差集(相减)
1 明确概念首先知道几个单词的意思:并集 union交集 intersection补集 complement析取 disjunction减去 subtract1.1 并集对于两个给定集合A、B,由两个集合所有元素构成的集合,叫做A和B的并集。记作:AUB 读作“A并B”例&#…...
【Android笔记80】Android之Retrofit适配器和文件上传下载
这篇文章,主要介绍Android之Retrofit适配器和文件上传下载。 目录 一、Retrofit适配器 1.1、Retrofit适配器 (1)引入RxJava依赖 (2)定义接口...
Nodejs模块化
1.模块化 1.1.模块化的基本概念 模块化是指解决一个复杂问题时,自顶向下逐层把系统划分为若干模块的过程。对于整个系统而言,模块是可组合、分解和更换的单元。 1.2 编程中的模块化 编程领域的模块化就是把一个大文件拆成独立并相互依赖的多个小模块…...
C++STL基础
STL基础 诞生 cpp的面向对象和泛型编程的思想本质就是提高复用性诞生了STL库 基本概念 STL标准模板库STL从广义上分为容器、算法及迭代器容器和算法之间通过迭代器进行连接STL几乎所有的代码都采用了模板类或者模板函数 基本组件 容器、算法、迭代器、仿函数、适配器、空间配置…...
数学建模经验【更新中】
数学建模简单入门 一、 分工 3人,1人论文,1人代码主力,1人论文代码(前一半时间主代码,后一半时间主论文) Tips: 不养闲人,论文必须要在对代码和题目极其了解并且能跟上队友思路的情况下才能写…...
【python学习笔记】:Excel 数据的封装函数
对比其它编程语言,我们都知道Python最大的优势是代码简单,有丰富的第三方开源库供开发者使用。伴随着近几年数据分析的热度,Python也成为最受欢迎的编程语言之一。而对于数据的读取和存储,对于普通人来讲,除了数据库之…...
如何获取或设置CANoe以太网网卡信息(GET篇)
CAPL提供了一系列函数用来操作CANoe网卡。但是,但是,首先需要明确一点,不管是获取网卡信息,还是设置网卡信息,只能访问CAPL程序所在的节点下的网卡,而不是节点所在的以太网通道下的所有网卡 关于第一张图中,Class节点下,有三个网卡:Ethernet1、VLAN 1.100、VLAN 1.200…...
“终于我从字节离职了...“一个年薪50W的测试工程师的自白...
我递上了我的辞职信,不是因为公司给的不多,也不是因为公司待我不好,但是我觉得,我每天看中我憔悴的面容,每天晚上拖着疲惫的身体躺在床上,我都不知道人生的意义,是赚钱吗?是为了更好…...
【Spring】八种常见Bean加载方式
🚩本文已收录至专栏:Spring家族学习 一.引入 (1) 概述 关于bean的加载方式,spring提供了各种各样的形式。因为spring管理bean整体上来说就是由spring维护对象的生命周期,所以bean的加载可以从大的方面划分成2种形式ÿ…...
建立公司网站需要注意什么/广州百度竞价外包
# 字符串的查找和替换 hello_str"hello python" # 1.判断是否以知道字符串开始 print(hello_str.startswith("he"))# 2.判断是否以指定字符串结束 print(hello_str.endswith("on")) # 3.查找指定字符串 print(hello_str.find("llo")) …...
岳阳网站开发建设/google搜索引擎入口google
点击上方“iOS开发”,选择“置顶公众号”关键时刻,第一时间送达!iOS组件化实现基本基于cocoapods,如何使用cocoapods创建自己的组件库,是实现组件化的第一要素,下面将通过gif图完整呈现制作私有库的具体过程࿰…...
wordpress_主题教程/世界500强企业排名
目录 功能分析 总结 参考 功能分析 预言机持续地推动以太坊和二层生态网络的发展。为了构建服务于真实世界用例的dApps,从DeFi,DAO到NFT等,以太坊开发者都需要访问安全的oracle网络。 Chainlink的经典预言机网络使用链下报告协议…...
网站建设工作室简介/俄罗斯搜索引擎yandex官网入口
一、查看并配置环境变量 ①在控制面板——系统与安全——系统,点击远程设置弹出“系统属性”的弹框,选择“高级”,就可以找到“环境变量”(win10用户可以直接用Cortana搜索“编辑系统环境变量”) ②在系统变量中添加…...
做网站办公室图片/北京网站seo服务
第三篇:第一个能在开发板上运行的程序日期:2009-3-6程序非常的简单,如下所示:#include int main(void){printf("hello,linux!");return 0;}[rootlocalhost sin]# arm-linux-gcc -o hello –c hello.c编译提示错误[rootl…...
网站建设后怎样发信息/百度优化服务
QYResearch预测:2020-2026全球与中国邮件签名生成软件市场现状及未来发展趋势【纸版价格】:RMB 18000【电子版(PDF)价格】:RMB 18000【报告篇幅】:106【报告图表数】:134【报告出版时间】:2020年2月报告摘要…...