本軟體是用C語言寫的聊天工具,裡頭的檔案已經編譯,可以運行,運作的客戶端在Debug裡頭,先運行伺服器,再運行客戶端,輸入主機IP位址(為該台電腦的IP位址) ,可以運行多個客戶端進行聊天測試。
NAT(Network Address Translators),網路位址轉換:網路位址轉換是在IP位址日益缺乏的情況下產生的,它的主要目的就是為了能夠位址重複使用。 NAT分為兩大類,基本的NAT和NAPT(Network Address/Port Translator)。
最開始NAT是運作在路由器上的功能模組。
最先提出的是基本的NAT,它的產生是基於以下事實:一個私有網路(域)中的節點中只有很少的節點需要與外網連接(呵呵,這是在上世紀90年代中期提出的) 。那麼這個子網路其實只有少數的節點需要全球唯一的IP位址,其他的節點的IP位址應該是可以重複使用的。
因此,基本的NAT實現的功能很簡單,在子網路內使用一個保留的IP子網段,這些IP對外是不可見的。子網路內只有少數一些IP位址可以對應到真正全球唯一的IP位址。如果這些節點需要存取外部網絡,那麼基本NAT就負責將這個節點的子網內IP轉換為一個全球唯一的IP然後發送出去。 (基本的NAT會改變IP包中的原IP位址,但是不會改變IP包中的連接埠)
關於基本的NAT可以參考RFC 1631
另外一種NAT叫做NAPT,從名稱上我們也可以看得出,NAPT不但會改變經過這個NAT設備的IP資料封包的IP位址,還會改變IP資料封包的TCP/UDP埠。基本NAT的設備可能我們見的不多(呵呵,我沒有見過),NAPT才是我們真正討論的主角。
展開