【网络】IP的路径选择——路由控制

目录

路由控制表

默认路由

主机路由

本地环回地址

路由控制表的聚合

网络分层


个人主页:东洛的克莱斯韦克-CSDN博客

路由控制表

在数据通信中,IP地址作为网络层的标识,用于指定数据包的目标位置。然而,仅有IP地址并不足以确保数据包能够准确无误地送达到目标主机,因为网络结构复杂,数据包可能需要经过多个路由器才能到达最终目的地。为了实现这一目标,需要一种机制来“指明”数据包在传输过程中应该经过的路由器或路径,这就是路由控制表的作用。

路由控制表是每一台参与IP通信的主机和路由器都必须维护的一个关键数据结构。它包含了决定数据包发送路径的必要信息,基于这些信息,数据包能够被正确地转发至下一个节点,直至到达最终的目标地址。

路由控制表的构建方式主要有两种:静态路由控制和动态路由控制。静态路由控制是由网络管理员手动配置路由表项,这种方式适用于网络结构相对固定、变化不大的场景。而动态路由控制则是通过路由器之间的信息交换来自动更新路由表,这种方式更加灵活,能够适应网络拓扑的动态变化。为了实现动态路由控制,路由器之间需要运行特定的路由协议,这些协议负责收集、交换和维护路由信息,以确保路由表的准确性和时效性。

IP协议本身并不包含制作或维护路由控制表的机制。路由控制表的生成和更新是由另一类协议——路由协议来完成的。这些路由协议在网络层运行,与IP协议协同工作,共同确保数据包的正确传输。

路由器会选择最吻合的地址(比特位位数吻合最多的地址)作为下一跳数据包要去的子网的地址。

默认路由

路由表中不可能记录所有子网的地址,总会由匹配不上的情况,但数据包总要交给下一跳地址,此时要交付的就是默认路由地址。默认路由地址用0.0.0.0/0表示,但不代表下一跳子网地址就是0.0.0.0/0。

主机路由

IP地址 / 32 表示主机路由,主机路由是一种特殊的路由规则,它告诉路由器:“对于这个特定的IP地址(完整的,包括网络部分和主机部分),你应该直接将它发送到指定的下一跳地址,而不是根据它的网络部分来查找路由。”

这种方式通常用于需要精确控制数据包流向的场景,比如当网络中存在多个路径可以到达同一个网络,但我们希望某些特定的数据包只通过某个特定的路径发送时。通过使用主机路由,我们可以确保这些数据包能够按照我们的期望进行路由。

在某些情况下,网络中的特定主机可能需要通过特定的网络设备进行通信,或者需要绕过某些网络设备。这时,可以通过设置主机路由来满足这些特殊需求。

主机路由会让路由控制表膨大,导致网络性能下降。

本地环回地址

本地环回地址是一种特殊的IP地址,通常用来测试网络接口或进行本地通信。最常用的本地环回地址是IPv4中的127.0.0.1,它被称为“localhost”。这个地址表示主机自身,数据包发送到这个地址时不会离开主机,而是在本地回环。这意味着,当你通过环回地址发送数据时,这些数据仅在本地主机上循环,不会通过任何网络接口发送出去。这使得它非常适合测试和调试网络应用程序。

路由控制表的聚合

路由控制表的聚合是为了减少该表中条目数量,是由网络分层实现的

网络分层

通过调整子网掩码,可以将一个大网络划分为多个较小的子网,使网络更加层次化和组织化。比如,一个组织可能有一个大的IP地址块,可以通过子网掩码将其分成多个部门或区域,每个子网对应一个部门或楼层。

假设有一个网络使用IP地址块192.168.0.0/24,默认子网掩码是255.255.255.0,这个网络可以容纳256个IP地址(从192.168.0.0到192.168.0.255)。如果需要将这个网络分成两个子网,可以使用子网掩码255.255.255.128(/25),这样:

第一个子网:192.168.0.0/25(IP范围从192.168.0.0到192.168.0.127)
第二个子网:192.168.0.128/25(IP范围从192.168.0.128到192.168.0.255)

网络的分层可以极大的减少路由控制表中的条目,提高网络性能。

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

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

相关文章

基于LPF改进的反电势观测器+锁相环PLL的永磁无感控制

导读:上期文章介绍的基于EMF+PLL的中高速永磁无感控制,其中决定转速和位置的估算精度的是反电势的获取精度。直接计算法很难保证反电势的估算精度,所以本期文章介绍一种基于LPF的改进型EMF观测器。 一、基于LPF改进的EMF观测器 传统的EMF观测器的表达式为: 注:这里重点强…

01_Electron 跨平台桌面应用开发介绍

Electron 跨平台桌面应用开发介绍 一、Electron 的介绍二、关于 NW.js 和 Electron 介绍三、搭建 Electron 的环境1、准备工作:2、安装 electron 环境3、查看 electron 的版本,electron -v 一、Electron 的介绍 Electron 是由 Github 开发的一个跨平台的…

Oracle事务是怎么练成的

什么是事务 事务是数据库管理系统执行过程的一个逻辑单位,由一系列有限的数据库操作序列构成,事务必须满足‌ACID属性。ACID理论是数据库中最重要的概念之一,分别代表原子性(Atomicity)、一致性(Consisten…

Django基础知识

文章目录 新建Django项目helloworld关联数据库admin 新建Django项目 创建django-admin startproject project_name 运行 python manage.py runserver 创建app: python manage.py startapp app_name 目录: 配置文件 settings.py 路由配置 urls.py 项目管理 manage.p…

极光流星大爆发

卑微仔广东持续200%含云量,线上观望大家分享的极光与流星共舞的神奇场景。 极光与流星相伴的瞬间,永远震撼于绝美的星空 开始放毒(放图放图)(以下均拍摄于12日晚至13日晨这一时间段): 先驱猎光…

VisionPro二次开发学习笔记10-使用 PMAlign和Fixture固定Blob工具检测孔

使用 PMAlign和Fixture固定Blob工具检测孔 这个示例演示了如何使用 PMAlign 工具和 Fixture 工具来夹持一个 Blob 工具。示例代码将检测支架右上角孔的存在。当点击运行按钮时,将读取新图像。PMAlign 工具运行并生成一个 POSE 作为输出。POSE 是一个六自由度的变换…

2024年8月7日(mysql主从 )

回顾 主服务器 [rootmaster_mysql ~]# yum -y install rsync [rootmaster_mysql ~]# tar -xf mysql-8.0.33-linux-glibc2.12-x86_64.tar [rootmaster_mysql ~]# tar -xf mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz [rootmaster_mysql ~]# cp -r mysql-8.0.33-linux-glibc2.…

若依二次开发WebSocket实战

1. 添加WebSocket依赖 在ruoyi-framework/pom.xml中添加Spring Boot WebSocket的依赖&#xff1a; <!-- SpringBoot Websocket --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket&l…

代理用上了,docker都不能用的解决方案

https://docs.docker.com/engine/daemon/proxy/https://docs.docker.com/engine/daemon/proxy/ 1、 sudo mkdir -p /etc/systemd/system/docker.service.d 2、/etc/systemd/system/docker.service.d/http-proxy.conf [Service] Environment="HTTP_PROXY=http://127.0.…

【Python实现代码视频/视频转字符画/代码风格视频】

该程序改良自GitHub开源项目VideoCharDraw 在源程序CharDraw_thread.py 带压缩和多线程版本字符画的基础上使用Tkinter库添加了图形化的操作&#xff0c;使用户操作体验更方便。 什么是视频字符画&#xff1f; 视频转字符画是一种将视频中的每一帧图像转换为由字符组成的图…

20240813作业

#include<head.h> #define SER_PORT 8888 //与服务器保持一致 #define SER_IP "192.168.106.1" //服务器ip地址 #define CLI_PORT 6666 //客户端端口号 #define CLI_IP "192.168.106.128" //客户端ip地址 int …

CI/CD——CI持续集成实验

目录 一. 安装Docker 二. 部署Jenkins 三. 配置邮箱 四. Harbor部署 五. Nexus Repository部署 五. sonarqube安装 六. 配置Docker 七. jenkins系统配置sonarqube 八. 配置pipeline 九. 构建并集成 一. 安装Docker docker-ce镜像_docker-ce下载地址_docker-ce安装教程…

Java入门基础16:集合框架1(Collection集合体系、List、Set)

集合体系结构 Collection是单列集合的祖宗&#xff0c;它规定的方法&#xff08;功能&#xff09;是全部单列集合都会继承的。 collection集合体系 Collection的常用方法 package com.itchinajie.d1_collection;import java.util.ArrayList; import java.util.HashSet;/* * 目…

靶机:DC-4

一、信息收集 1、主机发现 nmap 192.168.236.0/24 2、端口扫描 nmap 192.168.236.175 -p- -A 3、目录扫描 dirb http://192.168.236.175 二、漏洞探测 访问80端口&#xff0c;发现登录页面 尝试爆破密码 hydra -l admin -P /usr/share/wordlists/rockyou.txt 192.168.236…

修改docker的/var/lib/docker/overlay2储存路径

目录 目录 1.准备新的存储位置 1.创建新的存储目录 2.修改目录权限 2. 配置 Docker 使用新的存储位置 1.停止 Docker 服务 2.编辑 Docker 配置文件 3.迁移现有 Docker 数据 1.将现有的 Docker 数据从系统盘移动到新目录 2.启动 Docker 服务 3. 验证更改 4. 清理旧的…

Vue 3+Vite+Eectron从入门到实战系列之(五)一后台管理登录页

前面已经讲了不少基础知识&#xff0c;这篇开始&#xff0c;我们进行实操&#xff0c;做个后台管理系统&#xff0c;打包成多端的,可安装的桌面app!!其中&#xff0c;登录&#xff0c;退出的提示信息用系统的提示&#xff0c;不使用elemengplus的弹窗提示&#xff01;&#xff…

基于料面视频图像分析的高炉异常状态智能感知与识别

源自&#xff1a;自动化学报 作者&#xff1a;朱霁霖 桂卫华 蒋朝辉 陈致蓬 方怡静 注&#xff1a;若出现无法显示完全的情况&#xff0c;可 V 搜索“人工智能技术与咨询”查看完整文章 人工智能、大数据、多模态大模型、计算机视觉、自然语言处理、数字孪生、深度强化学习 …

shuishusihui

互斥量 使用互斥量可以用于保护某些临界资源&#xff0c;同一时间只能有一个任务来使用它。 使用互斥量会引入其他问题&#xff0c;比如说优先级反转&#xff0c;于是提出了优先级继承等方法解决问题 任务通知 任务通知就是通知任务&#xff0c;前边都是多对多的关系&#xff0…

从零开始构建基于ChatGPT的嵌入式(Embedding)本地医疗客服问答机器人模型(看完就会,看到最后有惊喜)

1、前言 代码全部开源,GitHub地址为: github.com/aehyok/go-o… 前端完全也能搭建&#xff0c; 前端完全也能搭建&#xff0c; 前端完全也能搭建&#xff0c; 本文中我使用的是后端语言golang,来调用的所有外部接口&#xff0c;但它们均是restful api,所以如果你使用的是其他…

此处不允许使用 ‘空‘ 类型

说明&#xff1a;受最近看的书《设计模式之美》&#xff08;小争哥&#xff09;的影响&#xff0c;最近编码有意将一些业务逻辑写在对象里面&#xff0c;增强封装性。在此记录一次项目启动时的报错&#xff0c;如下&#xff1a; 原因&#xff1a;当你在实体类对象中&#xff0c…