嗯,但还是想实现一个完整的用户态NAT64,今天上班,所以没多少时间,下班到家正好家人还没睡,在看殷墟考古(参与殷墟挖掘的尹焕章是我老婆的外婆的爸爸…鲜卑人的后裔…我老婆也是继承祖业,然而也仅仅是爱好,整天研究盗墓之类的把戏…),我也就可以再折腾一会儿了。

写点感悟吧。

昨天下午实现了一个NAT64简版,只是一个ICMP单流的NAT64转换,验证一下可信性而已。代码如下:
https://github.com/marywangran/simpletun/blob/main/tunnat64.c

效果写在README里:

效果是达到了,然而代码很low逼:

完全硬编码,看看就好。但是功能却实现了,仅此而已。当然了,这可以作为一个反面教材。

就在昨晚,我发现我的这种NAT64实现思路其实早就是一个正规思路了,它就是 TAYGA!!
https://github.com/openthread/tayga
http://www.litech.org/tayga/

它的基本思路就是用tun网卡搭建积木!看来,正确的思路总是一致。

我不是想说NAT的实现,我是想说:

看来NAT64将成为又一个“将要长久存在的’临时’方案”了,哈哈,同时为IPv4再做一次化疗续段命。。。技术的复杂化和trick化就是这么来的,用一个把戏揭穿另一个把戏,有点儿意思…

然而另一方面,我偶然觉得IPv6本身就不对,它其实并没有所宣扬的那样完美,它只是在解决IPv4面临的诸多问题的时候提出了自己还算完美的方案,但是一旦这些问题被解决之后,IPv6会带来更大的问题。

IPv4其实也没有那么糟糕,如果能用协议解决问题,何必对地址动刀子呢?比如LISP我就觉得挺好…


浙江温州皮鞋湿,下雨进水不会胖!

简单基于tun实现的用户态NAT64相关推荐

  1. Linux glibc内存管理:用户态内存分配器——ptmalloc实现原理

    文章目录 ptmalloc 设计假设 Arena Chunk Bins 内存分配.释放流程 总结 C++ STL : SGI-STL空间配置器源码剖析 Linux 内存管理 | 物理内存管理:物理内存 ...

  2. NFV、DPDK以及部分用户态协议研究

    NFV.DPDK以及部分用户态协议研究 本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 对笔者而言,这是一个挺新的领域,比较有意思. 一.解释 ...

  3. 用户态和内核态的简单理解

    文章目录 linux基础 系统调用和库函数的区别 为什么要区分用户态和内核态? 用户态和内核态的切换耗费时间的原因 哪些情况会出出现用户态和内核态的切换 用户态切换到内核态的三种方式 linux基础 ...

  4. Linux 2.6 下通过 ptrace 和 plt 实现用户态 API Hook

    (转载兼整理)Linux 2.6 下通过 ptrace 和 plt 实现用户态 API Hook 这厮此文写的相当实用,不知道为啥不好好整理一下,得,我代劳了吧.作者:l04m33@gmail.com ...

  5. linux 内核信号量与用户态信号量(system v,信号量在Linux多线程机制中的应用

    [摘 要]本文以信号量原理为基础,重点阐述信号量在Linux多线程同步机制中的实现特色. [关键词]信号量:Linux:多线程:同步 1 信号量 1965年E. W. Dijkstra首次提出信号量的 ...

  6. (转载兼整理)Linux 2.6 下通过 ptrace 和 plt 实现用户态 API Hook

    这厮此文写的相当实用,不知道为啥不好好整理一下,得,我代劳了吧.作者:l04m33@gmail.com,原文.去看一眼就知道我干嘛干这个脏活儿了... 感觉这篇文章有上首页的素质,可惜不是我自己写的, ...

  7. linux用户态驱动--VFIO(一)

    序言 设备驱动可以运行在内核态,也可以运行在用户态,不管用户态驱动还是内核态驱动,他们都有各自的缺点.内核态驱动的问题是:系统调用开销大:学习曲线陡峭:接口稳定性差:调试困难:bug致命:编程语言选择 ...

  8. 【项目介绍】协程——C语言实现的用户态非抢占式轻量级线程

    文章目录 项目介绍 开发语言 开发环境 项目简介 项目特点 适用场景 发布链接 使用介绍 上下文环境 宏 协程状态 协程与调度器结构体 接口 示范用例 使用协程实现一个TCP服务器 项目介绍 开发语言 ...

  9. TCP/IP协议栈到底是内核态好还是用户态好?

    "TCP/IP协议栈到底是内核态的好还是用户态的好?" 问题的根源在于,干嘛非要这么刻意地去区分什么内核态和用户态. 引子 为了不让本文成为干巴巴的说教,在文章开头,我以一个实例分 ...

  10. Linux内核笔记--内存管理之用户态进程内存分配

    内核版本:linux-2.6.11 Linux在加载一个可执行程序的时候做了种种复杂的工作,内存分配是其中非常重要的一环,作为一个linux程序员必然会想要知道这个过程到底是怎么样的,内核源码会告诉你 ...

最新文章

  1. css区块定位之浮动与清除属性
  2. 尚学python课程---11、linux环境下安装python注意
  3. Linux基本命令-1
  4. Np计算机领域,我国数学家证明NP=P
  5. 【CSS】font样式简写(转)- 不是很建议简写
  6. discuz 环境安装
  7. 思科3560交换机端口限速
  8. 235.二叉搜索树的最近公共祖先
  9. Photoshop抠图笔记
  10. java 股票交易系统_JAVA程序实现股票交易系统设计
  11. MMC子系统调用过程浅析(Core层)
  12. zju网页的自动登录和认证
  13. 什么是人工智能,它是如何使用的?
  14. 余文乐结婚,杜蕾斯文案炸了!
  15. 图书管理系统设计类图
  16. [copy-webpack-plugin] unable to locate的错误解决
  17. 图片批量压缩工具软件免费版 Caesium Image Compressor
  18. discuz论坛配置
  19. c语言课程设计 水电系统,广东工业大学水电费系统c语言设计(文件操作部分)
  20. 微型计算机内存储器的总称为,微型计算机的内存储器是

热门文章

  1. SVM + HOG实现图像分类
  2. JavaSE基础(8)——Java内部类
  3. 【ACWing】1402. 星空之夜
  4. vue3.0 studay(一) 汇总
  5. OPTEE学习笔记 - IPC
  6. linux命令之文件和目录操作
  7. 【iPhone资料】历代iPhone参数
  8. 腾讯元老、上市公司CTO逃离北上广,赚够钱后他在安徽建了一片200亩的农场
  9. hive清空外部表的三种方式
  10. 使用PMT和IPMT在Excel中显示贷款付款