《深入理解Linux网络技术内幕》阅读笔记(三十二)

来源:互联网 发布:互联港湾 知乎 编辑:程序博客网 时间:2024/06/06 00:11

这里写图片描述
LPM算法从表示最长网络掩码的区域开始循环遍历路由。这是因为网络掩码越长,就意味着路由越具体,也就意味着封包可能得到更接近最终的目的地。
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
接收封包:
1.如果分包被转发,函数将dst->input初始化为ip_forward,将dst->output初始化为ip_output。
2.如果封包被送往本地,函数将dst->input初始化为ip_local_deliver。此时,不需要初始化dst->output,但它还是被初始化为ip_rt_error。
3.如果根据路由表得出目的地不可达,dst->input被初始化为ip_errro.因为ip_error将skb缓冲区释放,所以不需要初始化dst->output。
发送封包:
1.如果目的地是远程主机,函数将dst->output初始化为ip_output。
2.如果目的地是本地系统,函数将dst->output初始化为ip_output,将dst->input初始化为ip_local_deliver.
3..如果目的地是本地配置的一个多播IP地址,函数将dst->output初始化为ip_mc_output,接下来多播代码处理该封包。
4.当内核编译为支持多播路由时,在上述相同的多播情况下,仍然将dst->output初始化为ip_mc_output,但是同时将dst->input初始化为ip_mr_input函数。
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
受限广播:
一个由全1:255.255.255.255组成的地址。受限广播被传递给链路上所有主机,与主机所配置的子网无关,不需要查找路由表。
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

0 0
原创粉丝点击