TCP/IP協議簇學習篇五及部分網絡知識

(1)NAT的定義,特點,工作流程,NAT幾種類型以及NAT的侷限性

(2)初步瞭解Telnet,SSH的概念以及工作方式,還有二者之間的區別

NAT

網絡地址轉換(NAT,Network Address Translation)屬接入廣域網(WAN)技術,是一種將私有(保留)地址轉化爲合法IP地址的轉換技術,它被廣泛應用於各種類型Internet接入方式和各種類型的網絡中。NAT不僅完美地解決了lP地址不足的問題,而且還能夠有效地避免來自網絡外部的攻擊,隱藏並保護網絡內部的計算機。

IP地址私網分佈

10.0.0.0-10.255.255.255
172.16.0.0-172.31.255.255
192.168.0.0-192.168.255.255

工作流程

在這裏插入圖片描述
①如上圖,這個 client 的 gateway 設定爲 NAT 主機,所以當要連上 Internet 的時候,該封包就會被送到 NAT 主機,這個時候的封包 Header 之 source IP 爲 192.168.1.100 ;

②而透過這個 NAT 主機,它會將 client 的對外聯機封包的 source IP ( 192.168.1.100 ) 僞裝成OPP2( 假設爲撥接情況 )這個接口所具有的公共 IP ,因爲是公共 IP 了,所以這個封包就可以連上 Internet 了!同時 NAT 主機並且會記憶這個聯機的封包是由哪一個 ( 192.168.1.100 ) client 端傳送來的;

③由 Internet 傳送回來的封包,當然由 NAT 主機來接收了,這個時候, NAT 主機會去查詢原本記錄的路由信息,並將目標 IP 由 ppp0 上面的公共 IP 改回原來的 192.168.1.100 ;

④最後則由 NAT 主機將該封包傳送給原先發送封包的 Client

NAT類型

靜態NAT

如果一個內部主機唯一佔用一個公網IP,這種方式被稱爲一對一模型。此種方式下,轉換上層協議就是不必要的,因爲一個公網IP就能唯一對應一個內部主機。顯然,這種方式對節約公網IP沒有太大意義,主要是爲了實現一些特殊的組網需求。比如用戶希望隱藏內部主機的真實IP,或者實現兩個IP地址重疊網絡的通信

動態NAT

它能夠將未註冊的IP地址映射到註冊IP地址池中的一個地址。不像使用靜態NAT那樣,你無需靜態地配置路由器,使其將每個內部地址映射到一個外部地址,但必須有足夠的公有因特網IP地址,讓連接到因特網的主機都能夠同時發送和接收分組

NAT重載(經常應用到實際中)

這是最常用的NAT類型。NAT重載也是動態NAT,它利用源端口將多個私網ip地址映射到一個公網ip地址(多對一)。它也被稱爲端口地址特換(PAT)。通過使用PAT(NAT重載),只需使用一個公網ip地址,就可將數千名用戶連接到因特網。其核心之處就在於利用端口號實現公網和私網的轉換。
面對私網內部數量龐大的主機,如果NAT只進行IP地址的簡單替換,就會產生一個問題:當有多個內部主機去訪問同一個服務器時,從返回的信息不足以區分響應應該轉發到哪個內部主機。此時,需要NAT設備根據傳輸層信息或其他上層協議去區分不同的會話,並且可能要對上層協議的標識進行轉換,比如TCP或UDP端口號。這樣NAT網關就可以將不同的內部連接訪問映射到同一公網IP的不同傳輸層端口,通過這種方式實現公網IP的複用和解複用。這種方式也被稱爲端口轉換PAT、NAPT或IP僞裝,但更多時候直接被稱爲NAT,因爲它是最典型的一種應用模式。

NAT的侷限性

(1)NAT違反了IP地址結構模型的設計原則。IP地址結構模型的基礎是每個IP地址均標識了一個網絡的連接。Internet的軟件設計就是建立在這個前提之上,而NAT使得有很多主機可能在使用相同的地址,如10.0.0.1。
(2)NAT使得IP協議從面向無連接變成立面向連接。NAT必須維護專用IP地址與公用IP地址以及端口號的映射關係。在TCP/IP協議體系中,如果一個路由器出現故障,不會影響到TCP協議的執行。因爲只要幾秒收不到應答,發送進程就會進入超時重傳處理。而當存在NAT時,最初設計的TCP/IP協議過程將發生變化,Internet可能變得非常脆弱。
(3)NAT違反了基本的網絡分層結構模型的設計原則。因爲在傳統的網絡分層結構模型中,第N層是不能修改第N+1層的報頭內容的。NAT破壞了這種各層獨立的原則。
(4)有些應用是將IP地址插入到正文的內容中,例如標準的FTP協議與IP Phone協議H.323。如果NAT與這一類協議一起工作,那麼NAT協議一定要做適當地修正。同時,網絡的傳輸層也可能使用TCP與UDP協議之外的其他協議,那麼NAT協議必須知道並且做相應的修改。由於NAT的存在,使得P2P應用實現出現困難,因爲P2P的文件共享與語音共享都是建立在IP協議的基礎上的。
(5)NAT同時存在對高層協議和安全性的影響問題。RFC對NAT存在的問題進行了討論。NAT的反對者認爲這種臨時性的緩解IP地址短缺的方案推遲了Ipv6遷移的進程,而並沒有解決深層次的問題,他們認爲是不可取的。

Telnet

Telnet協議是TCP/IP協議族中的一員,是Internet遠程登陸服務的標準協議和主要方式。它爲用戶提供了在本地計算機上完成遠程主機工作的能力。在終端使用者的電腦上使用telnet程序,用它連接到服務器。終端使用者可以在telnet程序中輸入命令,這些命令會在服務器上運行,就像直接在服務器的控制檯上輸入一樣。可以在本地就能控制服務器。要開始一個telnet會話,必須輸入用戶名和密碼來登錄服務器。Telnet是常用的遠程控制Web服務器的方法。
在這裏插入圖片描述

Telnet遠程登錄服務分爲以下4個過程:

1)本地與遠程主機建立連接。該過程實際上是建立一個TCP連接,用戶必須知道遠程主機的Ip地址或域名;
2)將本地終端上輸入的用戶名和口令及以後輸入的任何命令或字符以NVT(Net Virtual Terminal)格式傳送到遠程主機。該過程實際上是從本地主機向遠程主機發送一個IP數據包;
3)將遠程主機輸出的NVT格式的數據轉化爲本地所接受的格式送回本地終端,包括輸入命令回顯和命令執行結果;
4)最後,本地終端對遠程主機進行撤消連接。該過程是撤銷一個TCP連接。
在這裏插入圖片描述

ssh

SSH 爲 Secure Shell 的縮寫,由 IETF 的網絡工作小組(Network Working Group)所制定;SSH 爲建立在應用層和傳輸層基礎上的安全協議。SSH 是目前較可靠,專爲遠程登錄會話和其他網絡服務提供安全性的協議。利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題。。SSH在正確使用時可彌補網絡中的漏洞。SSH客戶端適用於多種平臺。
傳統的網絡傳輸協議,如ftp、pop和telnet在本質上都是不安全的,因爲它們在網絡上用明文傳送口令和數據,別有用心的人非常容易就可以截獲這些口令和數據。而且,這些服務程序的安全驗證方式也是有其弱點的, 就是很容易受到"中間人"(man-in-the-middle)這種方式的攻擊。所謂"中間人"的攻擊方式, 就是"中間人"冒充真正的服務器接收你傳給服務器的數據,然後再冒充你把數據傳給真正的服務器。服務器和你之間的數據傳送被"中間人"一轉手做了手腳之後,就會出現很嚴重的問題。通過使用SSH,可以把所有傳輸的數據進行加密,這樣"中間人"這種攻擊方式就不可能實現了,而且也能夠防止DNS欺騙和IP欺騙。
使用SSH,還有一個額外的好處就是傳輸的數據是經過壓縮的,所以可以加快傳輸的速度。SSH有很多功能,它既可以代替Telnet,又可以爲FTP、PoP、甚至爲PPP提供一個安全的"通道"

層次

SSH 主要由三部分組成:

傳輸層協議 [SSH-TRANS]

提供了服務器認證,保密性及完整性。此外它有時還提供壓縮功能。 SSH-TRANS 通常運行在TCP/IP連接上,也可能用於其它可靠數據流上。 SSH-TRANS 提供了強力的加密技術、密碼主機認證及完整性保護。該協議中的認證基於主機,並且該協議不執行用戶認證。更高層的用戶認證協議可以設計爲在此協議之上。

用戶認證協議 [SSH-USERAUTH]

用於向服務器提供客戶端用戶鑑別功能。它運行在傳輸層協議 SSH-TRANS 上面。當SSH-USERAUTH 開始後,它從低層協議那裏接收會話標識符(從第一次密鑰交換中的交換哈希H )。會話標識符唯一標識此會話並且適用於標記以證明私鑰的所有權。 SSH-USERAUTH 也需要知道低層協議是否提供保密性保護。

連接協議 [SSH-CONNECT]

將多個加密隧道分成邏輯通道。它運行在用戶認證協議上。它提供了交互式登錄話路、遠程命令執行、轉發 TCP/IP 連接和轉發 X11 連接。

Telnet 和 SSH的區別

telnet是明文傳送, ssh是加密的且支持壓縮
此外ssh服務一般都提供sftp支持,支持文件傳送。telnet一般只能通過zmodem等協議傳送文件。ssh還可以藉助ssh連接建立tcp通道,映射遠端或本地的端口,以及轉發X到本地X Server等

1 使用Telnet這個用來訪問遠程計算機的TCP/IP協議以控制你的網絡設備相當於在離開某個建築時大喊你的用戶名和口令。很快會有人進行監聽,並且他們會利用你安全意識的缺乏。傳統的網絡服務程序如:ftp、pop和telnet在本質上都是不安全的,因爲它們在網絡上用明文傳送口令和數據,別有用心的人非常容易就可以截獲這些口令和數據。而且,這些服務程序的安全驗證方式也是有其弱點的,就是很容易受到“中間人”(man-in-the-middle)這種方式的攻擊。所謂“中間人”的攻擊方式,就是“中間人”冒充真正的服務器接收你的傳給服務器的數據,然後再冒充你把數據傳給真正的服務器。服務器和你之間的數據傳送被“中間人”一轉手做了手腳之後,就會出現很嚴重的問題。

2 SSH是替代Telnet和其他遠程控制檯管理應用程序的行業標準。SSH命令是加密的並以幾種方式進行保密。
  在使用SSH的時候,一個數字證書將認證客戶端(你的工作站)和服務器(你的網絡設備)之間的連接,並加密受保護的口令。SSH1使用RSA加密密鑰,SSH2使用數字簽名算法(DSA)密鑰保護連接和認證。加密算法包括Blowfish,數據加密標準(DES),以及三重DES(3DES)。SSH保護並且有助於防止欺騙,“中間人”攻擊,以及數據包監聽。
通過使用SSH把所有傳輸的數據進行加密,這樣“中間人”這種攻擊方式就不可能實現了,而且也能夠防止DNS和IP欺騙。還有一個額外的好處就是傳輸的數據是經過壓縮的,所以可以加快傳輸的速度。SSH有很多功能,它既可以代替telnet,又可以爲ftp、pop、甚至ppp提供一個安全的“通道”。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章