网络技术|网络地址转换与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 …...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...

Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...

七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...