当前位置: 首页 > news >正文

网络协议(四)网络层 路由协议

在网络层及网络层之上使用IP地址,IP地址放在IP数据报的首部,而MAC地址放在MAC帧的首部。通过数据封装,把IP数据报分组封装为MAC帧。 

由于路由器的隔离,IP网络中无法通过广播MAC地址来完成跨网络的寻址,因此在网络层中只能使用IP地址来完成寻址。寻址的过程也是先寻找对应的IP,到达目标网络后,改为在目标LAN中通过数据链路层的MAC地址以广播方式寻址。 

要明确的是:一个路由器连接了多少个网络,就得有多少个网卡,每一块网卡都能获取一个对应所在网络的IP地址,他的路由表中就会有多少条路由信息。

另外,各个路由之间也会存在一个每隔一段时间向自己相邻路由表广播自己的路由信息,所以一个路由表中不止是只有自己本网络范围内的路由信息,还有其他与自身相连路由表的信息。

具体的路由流程: 以192.168.3.4的8000端口发送给24.24.24.9000端口一条消息举例

1、发送给它所连接的路由。

2、检索当前路由表中是否有目的端路由网络

①拿出目的端IP与下面的掩码进行与运算(IP与掩码相与为网络号)

②和下面这俩条路由信息对比发现目的端的网络号24.24.24.0 都不是这俩网络号(肉眼当然一下可以看出来,这一步就是为了后续每一步的对比)

③发现本路由表中,没有符合的路由信息,于是利用这个default进入到上级路由表中(类似于二叉树中递归返回父节点)

如此进行不断的循环处理,直至找到了24.24.24.0这个网络。

3、进入上级路由表中,进行重新检索,再进入上层之前还需要一个步骤就是利用NAT进行地址转换。

再本级路由中仍然无法找到,又利用NAT技术进行地址转换,继续进行广播搜索。 

RIP路由协议

        每次进行路由跳转的时候总是选择跳数最少的路径。(考研复试的时候就是这样回答的哈哈哈哈哈)

http://www.xdnf.cn/news/1164691.html

相关文章:

  • C++基于libmodbus库实现modbus TCP/RTU通信
  • 大模型——上下文工程 (Context Engineering) – 现代 AI 系统的架构基础
  • C# 实现:动态规划解决 0/1 背包问题
  • iOS开发 Swift 速记2:三种集合类型 Array Set Dictionary
  • OCR 身份识别:让身份信息录入场景更高效安全
  • 如何使用终端查看任意Ubuntu的版本信息
  • 用 Three.js 实现 PlayCanvas 风格 PBR 材质教程(第二篇):核心参数与光照模型
  • DBSCAN聚类算法
  • OpenAI Codex CLI与 Google Gemini CLI 比较
  • 关于java8里边Collectors.toMap()的空限制
  • 泛型:C#中的类型抽象艺术
  • Android NDK ffmpeg 音视频开发实战
  • 数据结构 之 【排序】(直接插入排序、希尔排序)
  • 【C++】list的模拟实现
  • 音视频学习(四十二):H264帧间压缩技术
  • 周志华《机器学习导论》第13章 半监督学习
  • [深度学习] 大模型学习3上-模型训练与微调
  • 机器学习初学者理论初解
  • MySQL:表的增删查改
  • 基于VSCode的nRF52840开发环境搭建
  • C++高性能日志库spdlog介绍
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘pywifi’问题
  • boost::asio 中 io_service与线程的关系
  • Netty中CompositeByteBuf 的addComponents方法解析
  • React-useEffect的闭包陷阱(stale closure)
  • CentOS 系统上部署一个简单的 Web 应用程序
  • 关键成功因素法(CSF)深度解析:从战略目标到数据字典
  • AK视频下载工具:免费高效,多平台支持
  • 计算机网络:概述层---计算机网络的性能指标
  • 【c++】leetcode438 找到字符串中所有字母异位词