2014年9月10日 星期三

Mapping of Address and Port (MAP)

最近在研究MAP這個東東,
這個東西主要是用來做什麼的呢?

眾所皆知, IPv4 address都已經發完了。
IPv6絕對是未來的方向。

可以想像的,
IPv4未來會成為IPv6網路的孤島。

可能會有總總因素,會讓使用者(client)或服務提供者(server)只能使用IPv4 network的情況,
而如何透過IPv6的網路來傳送IPv4的封包,
就是MAP要做的事情。

而要在IPv6的網路上傳輸,必需要有IPv6 address。
問題是如何把IPv4轉換成IPv6 address。

通常有兩個主要的方式,
stateful, stateless

什麼是stateful呢?
就是在每一個IPv4與IPv6轉換的設備上會有轉換的記錄,
例如:
292.11.45.1→2001:34:55:99:ac::2
292.45.11.3→2001:34:55:99:ac::3
也就是說每當要轉換時,必需由讀取這一個記錄,
才能了解要怎麼轉換。

而stateless則是會有一個演算法,
使得IPv4與IPv6可以直接透過這一個演算法來互相轉換。
一般來說都會比較推薦stateless的方式(原因是什麼我目前還不太清楚)。

而MAP主要分為
Mapping of Address and Port with Encapsulation (MAP-E)

Mapping of Address and Port with Translation (MAP-T).

這兩個主要的差別在於MAP-E是用封裝的方式,
直接在IPv4的封包外再加上IPv6的header,
這樣的好處是可以完整保存IPv4的封包。
但是,要傳送的封包是會比較大一點,因為額外加了IPv6的封包了嘛。

而MAP-T則是把IPv4的header轉換成IPv6的header,
缺點是額外做轉換的動作,
效能來說可能會比較慢一點。

先暫時寫到這裡,
最近一直在研究這個東西,
應該還會持續一段時間。

參考資料:
【自由谈】城域网IPv6过渡技术——MAP技术(1)

2014年9月1日 星期一

linux下停用IPv6

直接寫入1到
/proc/sys/net/ipv6/conf/all/disable_ipv6
就可以關掉整個IPv6的支援。

可以填到
/usr/etc/rcS裡面寫入
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6

其它方式可以參考
Linux 下關閉支援 IPv6 提升效能