萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> 在Linux下配置TCP/IP

在Linux下配置TCP/IP

class="21626">

TCP/IP 簡史
近年來,隨著“傳輸控制協議/網際協議(TCP/IP)”套件的廣泛使用,它已經成為網絡通信中事實上的標准。這絕大部分要歸功於因特網的迅猛發展以及對在不同平台、設備和操作系統中以它們都理解的“語言”來共享數據的需要。讓我們首先了解 TCP/IP 的歷史。
在 20 世紀 60 年代後期,美國國防部(DOD)意識到其內部日漸突出的通信問題。在 DOD 工作人員、研究實驗室、大學以及承包商之間日益增長的電子信息通信量遇到了嚴重的障礙。組成 DOD 的不同實體和組織擁有來自不同計算機制造商的計算機系統,這些計算機系統運行不同的操作系統並使用不同網絡拓撲結構和協議。
高級研究項目局(Advanced Research Projects Agency,ARPA)被授命提出一種解決這個問題的方案。ARPA 與各大學和計算機制造商結盟來開發一組通信標准。該聯盟確定並構建了 4 節點的網絡,這就成為當今因特網的基礎。在 20 世紀 70 年代,該網絡移植到一個新的、核心的協議設計中,這個協議就成為 TCP/IP 的基礎。

開放系統互連(Open System Interconnection,OSI)模型
現在,我們使用許多不同類型的計算機,它們有著不同的操作系統、CPU 和網絡接口等等。這些不同使得計算機系統間的通信出現問題。在 1997 年,國際標准化組織(ISO)創建了一個小組委員會來開發數據通信標准以促進多供應商的互操作性。其結果就是開放系統互連(OSI)模型。
OSI 模型並未確定任何通信標准或協議;相反,它只是提供了通信任務應該遵循的一些指導性建議。
注:OSI 模型只是一種模型或框架,它確定了要執行的功能,理解這一點很重要。它並未詳細說明如何執行這些功能。但是,對於部分 OSI 模型,ISO 也確實接納了某些符合 OSI 標准的具體協議。例如,ISO 接受 CCITT X.25 協議,該協議作為一種實現提供了 OSI 模型中網絡層的大部分服務。
7 個 OSI 層
為簡單起見,ISO 小組委員會采用分而治之的方法。將復雜的通信過程分為較小的子任務,問題就變得更容易處理,每個子任務可以分別優化。OSI 模型由 7 層組成:
· 應用層
· 表示層
· 會話層
· 傳輸層
· 網絡層
· 數據鏈路層
· 物理層
給每一層都分配了一組特定的功能。每一層都使用下層的服務並為其上層提供服務。例如,網絡層使用數據鏈路層的服務並為傳輸層提供與網絡相關的服務。
OSI 層,續
利用相鄰層的服務和為其相鄰層提供服務,這種層的概念很簡單。考慮公司是如何運做的:秘書寫備忘錄來向總裁(相鄰的上一層)提供秘書服務。秘書使用信使的服務(相鄰的下一層)來發送消息。通過將這些服務分開,秘書(應用程序)就不必知道消息實際上是如何傳遞到接收者手中。秘書只需要求信使(網絡)發送消息即可。正如許多秘書通過使用這種標准的信使服務來發送備忘錄一樣,分層的網絡可以通過將信息包交給網絡層來發送這些信息包。
注:不要將應用層與在計算機上執行的應用程序混淆(在英文中都是一個詞 — application)。請記住,應用層是 OSI 模型的一部分,它並未具體指定用戶和通信路徑之間的接口是如何工作的,應用程序是這個接口的具體實現。實際的應用程序通常執行應用層、會話層和表示層的服務,而將傳輸層、網絡層、數據鏈接層和物理層服務留給網絡操作系統來處理。
跨層通信
每一層都與其它計算機中的同一層通信。例如,一個系統中的第 3 層與另一個計算機系統的第 3 層通信。
當信息從一層傳到下一層時,會在數據前面加一個頭,以指出該信息的來源和目的地。來自某一層的由數據和頭所組成的信息塊又成為下一層的數據。例如,當第 4 層將數據傳遞到第 3 層時,它會添加自己的頭。當第 3 層將該信息傳遞到第 2 層時,第 3 層會將來自第 4 層的頭加數據作為它的數據,並在該數據前添加第 3 層的頭,然後才將這個“頭 + 數據”組合傳給下一層。
每一層信息單元的名稱都不同:
應用層 --> 消息
傳輸層--> 段
網絡層 --> 數據報
數據鏈路層 --> 幀(也稱做信息包)
物理層 --> 位
在 OSI 模型出現前,美國國防部定義了它自己的網絡模型,即 DOD 模型。DOD 模型與 TCP/IP 協議套件有緊密的聯系,這將在下一節說明。
TCP/IP 協議棧(TCP)
TCP/IP 協議棧表示了與 OSI 模型類似的網絡體系結構。
但 TCP/IP 不象 OSI 模型那樣詳細區分協議棧的上面幾層。OSI 最上面的 3 層大致與 TCP/IP 的網際處理協議相當。處理協議的一些示例有 Telnet、FTP、SMTP、NFS、SNMP 和 DNS。
OSI 模型的傳輸層負責可靠數據的發送。在網際協議棧中,這對應於主機到主機協議。這方面的示例是 TCP 和 UDP。TCP 用來轉換來自上層協議的不定長消息以及提供遠程系統間必要的確認和面向連接的流控制。
UDP 與 TCP 相似,但它不是面向連接的,而且不對數據接收進行確認。UDP 僅接收消息並將其傳遞給上層協議。因為 UDP 沒有與 TCP 有關的那些開銷,所以它為如遠程磁盤服務等操作提供更高效的接口。

TCP/IP 協議棧(IP)
網際協議(IP)負責系統間無連接方式的通信。它相當於 OSI 模型中網絡層的一部分,它負責網絡間的信息移動。通過檢查網絡層地址來完成這種通信,該地址確定了發送消息的系統和路徑。
IP 提供與網絡層相同的功能並幫助獲取系統間的消息,但是它不保證這些消息能夠成功傳送。IP 還可以將這些消息分成多個段,然後在目的地重組這些段。另外,每一段可以采用不同的網絡路徑在系統間傳送。如果這些段到達時亂了次序,IP 則會在目的地將這些信息包重組成正確的序列。
IP 地址
網際協議要求為網絡上的每個設備分配一個地址。這個地址就是 IP 地址,它由 4 個八位元組成。這些八位元每個都定義唯一的地址,這個地址的一部分表示網絡(有時也可以表示子網),而另一部分則表示網絡上特定的節點。
在 TCP/IP 網絡中有幾個地址具有特殊含義:
· 以零開頭的地址表示當前網絡中的本地節點。例如,0.0.0.23 指當前網絡中的 23 號工作站。地址 0.0.0.0 指當前工作站。
· 在進行故障排除和網絡診斷時,以 127 開頭的地址非常重要。形式上將網絡地址塊 127.x.x.x 定義為 A 類地址,保留了該地址塊以用於內部回送(loopback)。
· 將地址上所有位全置為 1(也就是值 255)代表"所有"地址。所以,192.18.255.255 意味著將消息發送給 192.18. 網絡上的所有節點;類似的,255.255.255.255 意味著將消息發送給因特網上的每個節點。這些地址用於多點廣播消息和服務公告。
注意:給系統分配節點號時,不要使用 0 或 255,它們都是保留數字,具有特殊含義。
IP 地址類型
將 IP 地址按一定范圍分配,稱為將 IP 地址分類,這取決於應用和組織的規模。三種最常見的類型地址是 A 類地址,B 類地址和 C 類地址。這三種分類表示了可為本地網絡分配的 IP 地址中位的數目。
A 類地址用於非常大的網絡或相關網絡的集合。B 類地址用於超過 256 個節點(但少於 65536 個節點)的大型網絡。而大多數組織采用 C 類地址。一個組織采用幾個 C 類地址的做法是一個好主意,因為 B 類地址的數量是有限的。 D 類地址被保留用於網絡上消息的多點廣播,E 類地址則被保留用於實驗和開發。

類 地址
A 從 0.x.x.x 到 126.x.x.x
B 從 128.0.x.x 到 191.255.x.x
C 從 192.0.0.x 到 223.255.255.x
D 從 224.0.0.1 到 239.255.255.255
E 從 240.x.x.x 到 255.255.255.255

“專用”IP 地址
如果您的網絡沒有連接到因特網而且最近也不會連接的話,則可以自由選擇任何合法的網絡地址。只是要確保您內部網絡信息包不會跑到實際的因特網中即可。要確保即便信息包確實跑出也不會有任何危害,應該使用為專用而保留的那些網絡地址的某個號碼。因特網賦號管理局(Internet Assigned Numbers Authorit,IANA) 已經在 A、B 和 C 類地址中保留了一些網絡號,您無需注冊就可以使用這些地址。這些地址只有在專用網絡中才有效,而且(理論上)不會路由到實際的因特網站點中。

A 10.0.0.0
B 172.16.0.0 - 172.31.0.0
C 192.168.0.0 - 192.168.255.0
請注意第二塊和第三塊分別包含 16 個和 256 個網絡。
從這些網絡號碼中選擇一個地址對於那些完全沒有連接到因特網的網絡是十分有用的。通過將單個主機用做網關,仍然可以實現訪問另一個網絡(如因特網)。對於本地網絡而言,可以通過內部專用 IP 地址來訪問該網關,而外部世界則通過正式注冊的地址(由帶寬供應商分配)知道該網關。

子網和子網掩碼
劃分子網是將大型的、實際的網絡分成較小的邏輯網絡的過程。劃分網絡的原因有以下幾點:聯網技術的電氣(物理層)限制;為簡便起見,希望在建築物的每一層(或每個部門或針對每個應用)放置一個獨立的網絡而劃分網絡;減少網絡段負載;或需要用高速線路連接遠程位置。
劃分網段的結果是使整個網絡變成由一些小型子網塊組成的網絡,從而易於管理。這些較小的子網之間的通信通過網關和路由器進行。同樣,一個組織可以有幾個物理上在同一個網絡中的子網,以便將網絡功能邏輯地分成多個工作組。
單獨的子網是整個網絡的分支。假使將一個 B 類網絡分成 64 個單獨的子網。要完成這種子網劃分,需要將 IP 地址視為兩部分:網絡和主機。網絡部分由所分配的 IP 地址和子網信息位組成。實際上,這些位是借用主機的地址部分。分配給 B 類網絡來表示網絡部分的位數是 16,再加上子網部分的 6 位,共有 22 位來區分子網。這種劃分的結果是有 64 個網絡,每個網絡 1024 個節點。IP 地址中的網絡部分可大可小,這取決於所希望的網絡數目或每個網絡的節點數。


子網,第二部分
設置子網掩碼實際上就是確定網絡地址在何處結束以及主機地址在何

copyright © 萬盛學電腦網 all rights reserved