计算机网络—静态路由

1.0 网络拓扑结构

星型拓扑结构是一个中心,多个分节点。它结构简单,连接方便,管理和维护都相对容易,而且扩展性强。网络延迟时间较小,传输误差低。中心无故障,一般网络没问题。中心故障,网络就出问题,同时共享能力差,通信线路利用率不高。

总线拓扑结构所有设备连接到一条连接介质上。总线结构所需要的电缆数量少,线缆长度短,易于布线和维护。多个结点共用一条传输信道,信道利用率高。但不找诊断故障。

环形拓扑结构是节点形成一个闭合环。工作站少,节约设备。当然,这样就导致一个节点出问题,网络就会出问题,而且不好诊断故障。

树形拓扑结构从总线拓扑演变而来。形状像一棵倒置的树,顶端是树根,树根以下带分支,每个分支还可再带子分支,树根接收各站点发送的数据,然后再广播发送到全网。好扩展,容易诊断错误,但对根部要求高。

网状拓扑结构是应用最广泛的,它的优点是不受瓶颈问题和失效问题的影响,一旦线路出问题,可以做其他线路,但太复杂,成本高。

2.0 路由器的工作原理

路由器根据路由表选择最佳的传输路径,将数据包传输到目标地址。路由器的有线接口通常连接不同的网段(疑问),因此多台PC机常连接在一台交换机上再连接路由器。路由表是路由器的核心组件之一,它存储了网络地址和最佳路径之间的映射关系。路由表是根据路由协议生成的,常见的路由协议包括RIP、OSPF和BGP等。

RIP协议:动态路由协议,和邻居路由之间交换信息,一般以跳数为基准,适用于小的局域网

OSPF协议:动态路由协议,一般以链路为基准,划区域交流,有网络负担,适用于大型网络

任何具有路由功能的计算机都可以被称为路由器,linux打开路由功能的操作:sysctl -a|grep ip_forward

3.0 路由表的形成

路由表:IP地址(网段)和接口的对应关系

自动学习:通过动态路由协议(RIP、OSPF)自动学习

手动配置:管理员手动配置静态路由(缺点:什么都得手动操作,单向,缺乏灵活性)

4.0 静态路由和默认路由

静态路由通过手动操作,默认路由为特殊的静态路由,如果路由表中没有相关的地址,则通过默认路由接口出去,一般默认路由的应用场景为企业接口路由(连接运营商设备)

路由表内容

字段含义
Destionation/Mask目标网段/子网掩码
Proto

路由获取方式(直连(不能跨局域网)、静态、动态)

直连网段:路由器自己端口连接的网段

非直连网段:不是自己端口连接的网段,需要手动配置静态路由或者通过动态路由协议进行学习

Pre优先级,数字越小优先级越高
Cost花销值,例如每经过一个路由花销值+1,花销值越低代表选择的路径最佳
Flags标志 目前此条路由的状态(D:中继 R:相关信息已经保存在硬件信息表中)
NextHop下一级跳跃点
Interface接口

路由配置命令

命令作用
display ip routing-table查看路由表
ip route-static指定路由传输路径

undo shutdown 

端口打开指令,eNSP中默认打开,实际操作中需要执行此命令

静态路由配置

tips:A、B如何判断是否在同一个网段,拿A和B自身的子网掩码与两个IP地址做相与运算,判断得出的值是否相等

下一跳地址:离自身去的方向最近的一个路由器的最近的一个端口的IP地址

操作步骤

PC3R3R4PC4
设置IP地址syssys设置IP地址
设置子网掩码sys R3sys R4设置子网掩码
设置网关

int g0/0/0 

ip add 192.168.1.254 24

int g0/0/1

ip add 10.0.0.1 24

q

ip route-static 192.168.2.0 24 10.0.0.2

int g0/0/0 

ip add 192.168.2.254 24

int g0/0/1

ip add 10.0.0.2.24

q

ip route-static 192.168.1.0 24 10.0.0.1

设置网关

出错提示:路由器两个端口不能设置相同网络段的IP地址!!!!!!!!

5.0 路由器转发数据包的封装过程

第一个包
源ip:192.168.1.2
目的ip:192.168.2.2
源mac:11-11
目的mac:22-22
路由器A 收到这个包后会解包 再重新封装成如下

源ip:192.168.1.2
目的ip:192.168.2.2

源mac:33

目的mac:44

第二个包
源ip: 192.168.1.2

目的ip: 192.168.2.2
源mac:33-33
目的mac:44-44
路由器B 收到这个包后会解包 再重新封装成如下

源ip: 192.168.1.2
目的ip: 192.168.2.2
源mac:55-55
目的mac:66-66

6.0 默认路由

默认路由详解
默认路由是特殊的静态路由,比静态路由低级,路由器收到数据包查看目标ip再找自己的路由表,如果没有对象的话就会走默认路由。如果配置了默认路由的话,这条路由一般会发给下一个路由器,而这个路由器也同样会处理数据包,如果没有配默认路由的话则会丢弃数据包。

配置默认路由方法:
ip route 0.0.0.0 0.0.0.0 下一跳地址

参数含义如下:0.0.0.0 0.0.0.0 代表任何网络,也就是说任何数据包都转发给配置的下一跳路由器接口地址,让下一个路由器继续处理数据包。

默认路由有时候特别有效,当存在网络的末端,即末梢网络中,默认路由会大大简化路由器配置,减轻工作负担,配置不当会产生环路。

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

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

相关文章

Android 内存优化——常见内存泄露及优化方案

看到了一篇关于内存泄漏的文章后,就想着分享给大家,最后一起学习,一起进步: 如果一个无用对象(不需要再使用的对象)仍然被其他对象持有引用,造成该对象无法被系统回收,以致该对象在…

汽车开发流程管理工具赋能安全与质量

随着数字化、人工智能、自动化系统及物联网技术的迅速发展,工程驱动型企业正面临重大转型挑战,亟需加速并深化其变革步伐。众多企业正试图通过采用基于模型的系统工程(MBSE)、产品线工程(PLE)、ASPICE、安全、网络安全、软件定义汽车、敏捷和精益开发实践…

漏洞挖掘JS构造新手向

前置思路文章 JS逆向混淆前端对抗 油猴JS逆向插件 JS加解密之mitmproxy工具联动Burp JS挖掘基础 伪协议 JavaScript伪协议是一种在浏览器中模拟网络请求的方法。它使用window.XMLHttpRequest对象或fetch()方法来模拟发送HTTP请求,而不是通过实际的网络请求来获…

最牛4G模组展示文件系统如何存储温湿度数据,有手就会还不牛?

有手就会的保姆级流程,展示大家常用的低功耗模组实用功能。 1.编写脚本 1.1 准备资料 780E开发板购买链接 780E开发板设计资料 LuatOS-Air780E-文件系统的使用-程序源码demo 合宙的TCP/UDP测试服务器 API使用介绍 780E开发板和DHT11 1.2 程序详解 第一步&a…

【C++ 算法进阶】算法提升五

先序遍历改二叉搜索树 &#xff08;二叉树的递归套路&#xff09; 题目 本题为LC原题目 题目如下 题目分析 本题为一道经典的二叉树递归套路题目 我们只需要想好一个递归函数 之后让左右节点分别执行即可 我们这里想到的递归函数为 TreeNode* process(vector<int>&a…

asp.net core mvc发布时输出视图文件Views

var builder WebApplication.CreateBuilder(args); builder.Services.AddRazorPages();builder.Services.AddControllersWithViews(ops > {//全局异常过滤器&#xff0c;注册ops.Filters.Add<ExceptionFilter>(); })// Views视图文件输出到发布目录&#xff0c;视图文…

【yolov8旋转框检测】微调yolov8-obb目标检测模型:数据集制作和训练

一、开发环境的准备 1.1 安装roLabelImg 参考【目标检测—旋转框标注】roLabelImg安装与使用文章的介绍&#xff0c;完成roLabelImg的安装。 1.2 Yolov8开发环境的准备 首先创建python虚拟环境&#xff0c;pip install ultralytics 来进行安装。 二、数据集准备 流程&…

FairGuard游戏加固全面适配纯血鸿蒙NEXT

2024年10月8日&#xff0c;华为正式宣布其原生鸿蒙操作系统 HarmonyOS NEXT 进入公测阶段&#xff0c;标志着其自有生态构建的重要里程碑。 作为游戏安全领域领先的第三方服务商&#xff0c;FairGuard游戏加固在早期就加入了鸿蒙生态的开发&#xff0c;基于多项独家技术与十余年…

数据库权限提升GetShell

数据库提权总结 - 随风kali - 博客园 (cnblogs.com) MySQL 漏洞利用与提权 | 国光 (sqlsec.com) sql注入getshell的几种方式 第99天&#xff1a;权限提升-数据库提权&口令获取&MYSQL&MSSQL&Oracle&MSF SQL注入拿shell的方式应该是通用的得到连接数据库…

未来AI的学习能力会达到怎样的水平?

​ 大家好&#xff0c;我是Shelly&#xff0c;一个专注于输出AI工具和科技前沿内容的AI应用教练&#xff0c;体验过300款以上的AI应用工具。关注科技及大模型领域对社会的影响10年。关注我一起驾驭AI工具&#xff0c;拥抱AI时代的到来。 AI工具集1&#xff1a;大厂AI工具【共2…

微软运用欺骗性策略大规模打击网络钓鱼活动

微软正在利用欺骗性策略来打击网络钓鱼行为者&#xff0c;方法是通过访问 Azure 生成外形逼真的蜜罐租户&#xff0c;引诱网络犯罪分子进入以收集有关他们的情报。 利用收集到的数据&#xff0c;微软可以绘制恶意基础设施地图&#xff0c;深入了解复杂的网络钓鱼操作&#xff…

Verilog基础:层次化标识符的使用

相关阅读 Verilog基础https://blog.csdn.net/weixin_45791458/category_12263729.html?spm1001.2014.3001.5482 一、前言 Verilog HDL中的标识符(identifier)是一个为了引用而给一个Verilog对象起的名字&#xff0c;分为两大类&#xff1a;普通标识符大类和层次化标识符大类。…

监控易监测对象及指标之:Kafka中间件JMX监控指标解读

监控易作为一款功能强大的监控软件&#xff0c;旨在为企业提供全方位的IT系统监控服务。其中&#xff0c;针对Kafka中间件的JMX监控是监控易的重要功能之一。本文将详细解读监控易中Kafka的JMX监控指标&#xff0c;帮助企业更好地理解并运用这些数据进行系统性能调优和故障排查…

算法笔记day07

1.最长回文子串 最长回文子串_牛客题霸_牛客网 算法思路&#xff1a; 使用中心扩散算法&#xff0c;枚举所有的中点&#xff0c;向两边扩散&#xff0c;一个中点需要枚举两次&#xff0c;一次当回文串是奇数另一次回文串是偶数的情况。 class Solution { public:int getLong…

mysql--基本查询

目录 搞定mysql--CURD操作&#xff0c;细节比较多&#xff0c;不难&#xff0c;贵在多多练 1、Create--创建 &#xff08;1&#xff09;单行插入 / 全列插入 &#xff08;2&#xff09;插入否则替换 &#xff08;3&#xff09;替换 2、Retuieve--select 1&#xff09;全…

git rebase的常用场景: 交互式变基, 变基和本地分支基于远端分支的变基

文章目录 作用应用场景场景一&#xff1a;交互式变基(合并同一条线上的提交记录) —— git rebase -i HEAD~2场景二&#xff1a;变基(合并分支) —— git rebase [其他分支名称]场景三&#xff1a;本地分支与远端分支的变基 作用 使git的提交记录变得更加简洁 应用场景 场景…

Unity之如何使用Unity Cloud Build云构建

文章目录 前言什么是 UnityCloudBuild?如何使用Unity云构建Unity 团队中的人员不属于 Unity Team 的人员UnityCloudBuild2.0价格表如何使用Unity云构建配置CloudBuild前言 Unity Cloud Build作为Unity平台的一项强大工具,它允许开发团队通过云端自动构建项目,节省了繁琐的手…

基于Springboot在线视频网站的设计与实现

基于Springboot视频网站的设计与实现 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;idea 源码获取&#xff1a;https://do…

JSON 注入攻击 API

文章目录 JSON 注入攻击 API"注入所有东西"是"聪明的"发生了什么? 什么是 JSON 注入?为什么解析器是问题所在解析不一致 JSON 解析器互操作性中的安全问题处理重复密钥的方式不一致按键碰撞响应不一致JSON 序列化(反序列化)中的不一致 好的。JSON 解析器…

Java | Leetcode Java题解之第497题非重叠矩形中的随机点

题目&#xff1a; 题解&#xff1a; class Solution {Random rand;List<Integer> arr;int[][] rects;public Solution(int[][] rects) {rand new Random();arr new ArrayList<Integer>();arr.add(0);this.rects rects;for (int[] rect : rects) {int a rect[0…