| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 【计算机网络】网络层:IP层转发分组的过程 -> 正文阅读 |
|
[网络协议]【计算机网络】网络层:IP层转发分组的过程 |
基于终点的转发 路由器根据分组首部中的目的地址进行传送和转发。 分组每到一个路由器,就查找转发表,得知下一跳应当跳到哪一个路由器。 压缩转发表:转发表中存放(目的网络地址,下一跳地址) 由于互联网上的网络数远远小于主机数,所以这样可以大大压缩转发表的大小 查找转发表的过程就是寻找前缀匹配的过程。 目的地址和转发表中的网络地址的地址掩码进行AND运算,如果匹配,则交付给路由器。 最长前缀匹配: 在采用CIDR编址时,如果一个分组在转发表中可以找到多个匹配的前缀,那么应当选择前缀最长的一个作为匹配的前缀。 网络前缀越长,其地址块越小,路由越具体。 为了加快转发表查找速度,可以按照前缀长短,把前缀最长的排在第一行,然后按前缀长短的顺序往下排列。 两种特殊的路由: (1)主机路由(特定主机路由):目的主机IP/32 对特定目的主机的IP地址专门指明的一个路由。 如果目的主机IP地址为a.b.c.d,那么特定主机路由就是a.b.c.d/32。/32表示子网掩码是32个1,所以目的主机和子网掩码进行AND运算后,得的结果必定是a.b.c.d,所以找到了匹配。这时就把收到的分组转发到转发表的下一跳。 如果有特定主机路由则放在第一行。 理解:如果有特定主机可以指定特定IP目的地址转发使用的路由器。 (2)默认路由:0.0.0.0/0 不管分组最终目的网络在哪,如果没有匹配的前缀,都指定路由器R来处理。 任何目的地址与全0 的掩码AND运算结果都为0,必然匹配,所以把分组交给路由器R处理。 分组转发算法: 目的IP地址为D。 如果有特定主机路由(即有D的特定主机路由),就按照 这条路由的下一跳转发分组; 否则,进行最长前缀匹配; 否则,如果有默认路由,由默认路由转发分组。 使用二叉线索查找转发表: 线性查找复杂度太高,为了进行更加有效的查找,通常把无分类编址的转发表存放在二叉线索树中,然后自上而下按层次进行查找。 可以使用表中IP地址的唯一前缀构造二叉树,叶节点包含该IP地址的网络前缀(网络号)和子网掩码。 当搜索到一个叶节点时,就把目的IP和叶子节点的子网掩码AND运算,看是否和对应的网络前缀匹配,如果不匹配,则丢弃该分组。 为了提高二叉线索的查找速度,广泛使用了各种压缩技术。 如果已知下一跳的路由,怎么找到下一跳的路由? 网络接口软件使用ARP把下一跳的路由器的IP地址转换成MAC地址,放在链路层的MAC帧首部,然后利用MAC地址传送到下一跳路由器的链路层,再取出链路层MAC帧的首部,然后交给网络层。 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 20:46:03- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |