2010-03-29 路由过程
今天分析linux内核的路由过程。
发送路由从ip_route_output()开始,其过程是先查找路由缓存,如果路由缓存里面有,则直接取出,如果没有,调用ip_route_output_slow()意思是慢查找,查找fib表,如果都没有查到,则数据发送过程无法成功完成。
同样的,接收路由从ip_route_input()开始,先查找路由缓存,如果没有找到,调用ip_route_input_slow()开始查找,不过我比较关心的是那个关于邻居的信息怎么样会进入路由系统,怎样在发送的时候能够找到这个邻居。
想想上次那个代码,它定义了一个邻居,并且给邻居一个配置函数和发送函数,如果在路由的时候选中那个邻居的话,就会启动那个邻居的发送函数发送数据,这样就达到目的了。看了看ip_gre里面的实现,看得不是很懂。上面提到一个一个问题,因为在ip_gre里面的是一个通用的封装,所以可能会出现死循环的问题,就是一个包在被路由的时候进入轨道的函数,然后被封装,然后路由的时候又进入隧道的驱动函数,这样不停地封装,变成死循环,但是6over4好像不会出现这样的问题,因为在封装的时候,是通过ipv4的路由表选择的,但是在封装之后,是通过ipv6的函数发送出去的,所以不会出现这样的情况。
明天看看aftr的代码,看看它的实现,它的实现应该跟内核的关系比较小,容易看懂。
转载于:https://www.cnblogs.com/wudanzy/archive/2010/03/30/1700185.html
2010-03-29 路由过程相关推荐
- SAP UI5 应用开发教程之三十 - SAP UI5 的路由过程中进行参数传递试读版
一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...
- Linux TUN/TAP 虚拟网卡编程入门https://backreference.org/2010/03/26/tuntap-interface-tutorial/...
原文: https://backreference.org/2010/03/26/tuntap-interface-tutorial/ (为防和谐,下文中p=屁) Tun/Tap interface ...
- 斯坦福Dan Boneh密码学——03 匿名路由
斯坦福Dan Boneh密码学--03 匿名路由 这篇笔记的篇幅相对少一些,内容也比较好理解一些.实在不知道为什么Markdown语法写希腊字母本来格式好好的,转移到这边就变了.. 匿名路由 假如Al ...
- 我常去的编程技术网站[最近更新:2010.09.29]
[序言] 其实大家都可以成为一个厉害的软件开发人员,希望大家通过了解我提供的这些网站找到自己的兴趣爱好,以增强自己的信心. [建议] 为了能让更多的朋友看到此链接,如果大家是csdn用户,那么请选 ...
- 2010.9.29 今日问题
1.CDC,如果自己获得了一个CDC,要注意释放.所以最好使用OnDraw传入的DC,由调用者管理 2.重画界面后,要及时Invalidate(); 否则会发现没有变化,只有下次触发时,才能看到结果 ...
- 2010.7.29 模式对话框
为什么点击ONOK后,对话框上的控件资源会被删除?OnOK做了什么事儿? 假如有一个对话框Class CMyDialog 我在CMyDialog中,声明了一个m_button,然后在OnInitDlg ...
- 2010.12.29(2)——— android GridView
2010.12.29(2)--- android 可伸缩的GridView 用 GridView 来实现九宫格布局 并且一个格显示一个图片和一行字 [b]1.ImageAdapter[/b] pack ...
- E.03.29 Afraid of Needles? Don’t Let It Keep You From a Covid-19 Vaccine.
2021.03.29 文章目录 [课程导读] [英文原文] [外刊原文] [课程导读] 疫苗被寄予了战胜新冠疫情的厚望,目前,已开始在世界各地广泛接种.然而,对于"针头恐惧症"或者 ...
- 树莓派3B实现软路由过程记录(无线网络通过网线共享给台式机)
树莓派3B实现软路由过程记录 背景 实验过程 准备openwrt固件 向TF卡里刷入固件 设置路由器 总结 背景 实验室有一台台式机电脑,没有无线网卡,之前一直使用有线网上网,但体验极差.后实际测试时 ...
最新文章
- 机器学习生态全景图3.0
- spark学习-Spark算子Transformations和Action使用大全(Transformations章(二))
- Unity 脚本的生命周期
- [JavaEE] 了解Java连接池
- sqlserver查询最耗时的sql语句和执行过的sql语句
- 数学:深入浅出通信原理(陈爱军)
- 万能视频格式转换器 v 2018 全能版
- 4.凤凰架构:构建可靠的大型分布式系统 --- 透明多级分流系统
- 微信怎样知道经常聊天的人
- Java日期查询:日、周、旬、月、季度、年等时间操作
- zotero+坚果云安装记录
- JavaScript 基础(002_Event Bubbling)
- 身为程序员就算月薪再高,想找女朋友的话这些你千万别做!
- PTA——基础编程题 | 7-27 冒泡法排序 (20分)
- 前端动态数据实现问卷调查
- java.sql.SQLException: Error writing file '/tmp/MY2zYz09' (Errcode: 28 - No space left on device)
- 计算机应用技术专业的大学生职业生涯规划书,计算机应用专业大学生职业生涯规划书范文...
- C++ 五子棋双人对战免费源码----鼠标操作(DEV-CPP)
- Unity3d地形反光
- 虚拟环境命令+linux基本操作(各种版本查看+进程操作+目录+文件)