简单基于tun实现的用户态NAT64

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

写点感悟吧。

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

效果写在README里:
简单基于tun实现的用户态NAT64_第1张图片

效果是达到了,然而代码很low逼:
简单基于tun实现的用户态NAT64_第2张图片
完全硬编码,看看就好。但是功能却实现了,仅此而已。当然了,这可以作为一个反面教材。

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

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

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

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

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

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


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

你可能感兴趣的:(NAT64)