開放系統(tǒng)互連(Open System Interconnection,OSI)模型
現(xiàn)在,我們使用許多不同類型的計算機,它們有著不同的操作系統(tǒng)、CPU 和網(wǎng)絡(luò)接口等等。這些不同使得計算機系統(tǒng)間的通信出現(xiàn)問題。在 1997 年,國際標準化組織(ISO)創(chuàng)建了一個小組委員會來開發(fā)數(shù)據(jù)通信標準以促進多供應(yīng)商的互操作性。其結(jié)果就是開放系統(tǒng)互連(OSI)模型。
OSI 模型并未確定任何通信標準或協(xié)議;相反,它只是提供了通信任務(wù)應(yīng)該遵循的一些指導(dǎo)性建議。
注:OSI 模型只是一種模型或框架,它確定了要執(zhí)行的功能,理解這一點很重要。它并未詳細說明如何執(zhí)行這些功能。但是,對于部分 OSI 模型,ISO 也確實接納了某些符合 OSI 標準的具體協(xié)議。例如,ISO 接受 CCITT X.25 協(xié)議,該協(xié)議作為一種實現(xiàn)提供了 OSI 模型中網(wǎng)絡(luò)層的大部分服務(wù)。
7 個 OSI 層
為簡單起見,ISO 小組委員會采用分而治之的方法。將復(fù)雜的通信過程分為較小的子任務(wù),問題就變得更容易處理,每個子任務(wù)可以分別優(yōu)化。OSI 模型由 7 層組成:
· 應(yīng)用層
· 表示層
· 會話層
· 傳輸層
· 網(wǎng)絡(luò)層
· 數(shù)據(jù)鏈路層
· 物理層
給每一層都分配了一組特定的功能。每一層都使用下層的服務(wù)并為其上層提供服務(wù)。例如,網(wǎng)絡(luò)層使用數(shù)據(jù)鏈路層的服務(wù)并為傳輸層提供與網(wǎng)絡(luò)相關(guān)的服務(wù)。
OSI 層,續(xù)
利用相鄰層的服務(wù)和為其相鄰層提供服務(wù),這種層的概念很簡單??紤]公司是如何運做的:秘書寫備忘錄來向總裁(相鄰的上一層)提供秘書服務(wù)。秘書使用信使的服務(wù)(相鄰的下一層)來發(fā)送消息。通過將這些服務(wù)分開,秘書(應(yīng)用程序)就不必知道消息實際上是如何傳遞到接收者手中。秘書只需要求信使(網(wǎng)絡(luò))發(fā)送消息即可。正如許多秘書通過使用這種標準的信使服務(wù)來發(fā)送備忘錄一樣,分層的網(wǎng)絡(luò)可以通過將信息包交給網(wǎng)絡(luò)層來發(fā)送這些信息包。
注:不要將應(yīng)用層與在計算機上執(zhí)行的應(yīng)用程序混淆(在英文中都是一個詞 — application)。請記住,應(yīng)用層是 OSI 模型的一部分,它并未具體指定用戶和通信路徑之間的接口是如何工作的,應(yīng)用程序是這個接口的具體實現(xiàn)。實際的應(yīng)用程序通常執(zhí)行應(yīng)用層、會話層和表示層的服務(wù),而將傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈接層和物理層服務(wù)留給網(wǎng)絡(luò)操作系統(tǒng)來處理。
跨層通信
每一層都與其它計算機中的同一層通信。例如,一個系統(tǒng)中的第 3 層與另一個計算機系統(tǒng)的第 3 層通信。
當信息從一層傳到下一層時,會在數(shù)據(jù)前面加一個頭,以指出該信息的來源和目的地。來自某一層的由數(shù)據(jù)和頭所組成的信息塊又成為下一層的數(shù)據(jù)。例如,當?shù)?4 層將數(shù)據(jù)傳遞到第 3 層時,它會添加自己的頭。當?shù)?3 層將該信息傳遞到第 2 層時,第 3 層會將來自第 4 層的頭加數(shù)據(jù)作為它的數(shù)據(jù),并在該數(shù)據(jù)前添加第 3 層的頭,然后才將這個“頭 + 數(shù)據(jù)”組合傳給下一層。
每一層信息單元的名稱都不同:
應(yīng)用層 --> 消息
傳輸層--> 段
網(wǎng)絡(luò)層 --> 數(shù)據(jù)報
數(shù)據(jù)鏈路層 --> 幀(也稱做信息包)
物理層 --> 位
在 OSI 模型出現(xiàn)前,美國國防部定義了它自己的網(wǎng)絡(luò)模型,即 DOD 模型。DOD 模型與 TCP/IP 協(xié)議套件有緊密的聯(lián)系,這將在下一節(jié)說明。
TCP/IP 協(xié)議棧(TCP)
TCP/IP 協(xié)議棧表示了與 OSI 模型類似的網(wǎng)絡(luò)體系結(jié)構(gòu)。
但 TCP/IP 不象 OSI 模型那樣詳細區(qū)分協(xié)議棧的上面幾層。OSI 最上面的 3 層大致與 TCP/IP 的網(wǎng)際處理協(xié)議相當。處理協(xié)議的一些示例有 Telnet、FTP、SMTP、NFS、SNMP 和 DNS。
OSI 模型的傳輸層負責(zé)可靠數(shù)據(jù)的發(fā)送。在網(wǎng)際協(xié)議棧中,這對應(yīng)于主機到主機協(xié)議。這方面的示例是 TCP 和 UDP。TCP 用來轉(zhuǎn)換來自上層協(xié)議的不定長消息以及提供遠程系統(tǒng)間必要的確認和面向連接的流控制。
UDP 與 TCP 相似,但它不是面向連接的,而且不對數(shù)據(jù)接收進行確認。UDP 僅接收消息并將其傳遞給上層協(xié)議。因為 UDP 沒有與 TCP 有關(guān)的那些開銷,所以它為如遠程磁盤服務(wù)等操作提供更高效的接口。
TCP/IP 協(xié)議棧(IP)
網(wǎng)際協(xié)議(IP)負責(zé)系統(tǒng)間無連接方式的通信。它相當于 OSI 模型中網(wǎng)絡(luò)層的一部分,它負責(zé)網(wǎng)絡(luò)間的信息移動。通過檢查網(wǎng)絡(luò)層地址來完成這種通信,該地址確定了發(fā)送消息的系統(tǒng)和路徑。
IP 提供與網(wǎng)絡(luò)層相同的功能并幫助獲取系統(tǒng)間的消息,但是它不保證這些消息能夠成功傳送。IP 還可以將這些消息分成多個段,然后在目的地重組這些段。另外,每一段可以采用不同的網(wǎng)絡(luò)路徑在系統(tǒng)間傳送。如果這些段到達時亂了次序,IP 則會在目的地將這些信息包重組成正確的序列。
IP 地址
網(wǎng)際協(xié)議要求為網(wǎng)絡(luò)上的每個設(shè)備分配一個地址。這個地址就是 IP 地址,它由 4 個八位元組成。這些八位元每個都定義唯一的地址,這個地址的一部分表示網(wǎng)絡(luò)(有時也可以表示子網(wǎng)),而另一部分則表示網(wǎng)絡(luò)上特定的節(jié)點。
在 TCP/IP 網(wǎng)絡(luò)中有幾個地址具有特殊含義:
· 以零開頭的地址表示當前網(wǎng)絡(luò)中的本地節(jié)點。例如,0.0.0.23 指當前網(wǎng)絡(luò)中的 23 號工作站。地址 0.0.0.0 指當前工作站。
· 在進行故障排除和網(wǎng)絡(luò)診斷時,以 127 開頭的地址非常重要。形式上將網(wǎng)絡(luò)地址塊 127.x.x.x 定義為 A 類地址,保留了該地址塊以用于內(nèi)部回送(loopback)。
· 將地址上所有位全置為 1(也就是值 255)代表"所有"地址。所以,192.18.255.255 意味著將消息發(fā)送給 192.18. 網(wǎng)絡(luò)上的所有節(jié)點;類似的,255.255.255.255 意味著將消息發(fā)送給因特網(wǎng)上的每個節(jié)點。這些地址用于多點廣播消息和服務(wù)公告。
注意:給系統(tǒng)分配節(jié)點號時,不要使用 0 或 255,它們都是保留數(shù)字,具有特殊含義。
IP 地址類型
將 IP 地址按一定范圍分配,稱為將 IP 地址分類,這取決于應(yīng)用和組織的規(guī)模。三種最常見的類型地址是 A 類地址,B 類地址和 C 類地址。這三種分類表示了可為本地網(wǎng)絡(luò)分配的 IP 地址中位的數(shù)目。
A 類地址用于非常大的網(wǎng)絡(luò)或相關(guān)網(wǎng)絡(luò)的集合。B 類地址用于超過 256 個節(jié)點(但少于 65536 個節(jié)點)的大型網(wǎng)絡(luò)。而大多數(shù)組織采用 C 類地址。一個組織采用幾個 C 類地址的做法是一個好主意,因為 B 類地址的數(shù)量是有限的。 D 類地址被保留用于網(wǎng)絡(luò)上消息的多點廣播,E 類地址則被保留用于實驗和開發(fā)。
類 地址
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 地址
如果您的網(wǎng)絡(luò)沒有連接到因特網(wǎng)而且最近也不會連接的話,則可以自由選擇任何合法的網(wǎng)絡(luò)地址。只是要確保您內(nèi)部網(wǎng)絡(luò)信息包不會跑到實際的因特網(wǎng)中即可。要確保即便信息包確實跑出也不會有任何危害,應(yīng)該使用為專用而保留的那些網(wǎng)絡(luò)地址的某個號碼。因特網(wǎng)賦號管理局(Internet Assigned Numbers Authorit,IANA) 已經(jīng)在 A、B 和 C 類地址中保留了一些網(wǎng)絡(luò)號,您無需注冊就可以使用這些地址。這些地址只有在專用網(wǎng)絡(luò)中才有效,而且(理論上)不會路由到實際的因特網(wǎng)站點中。
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 個網(wǎng)絡(luò)。
從這些網(wǎng)絡(luò)號碼中選擇一個地址對于那些完全沒有連接到因特網(wǎng)的網(wǎng)絡(luò)是十分有用的。通過將單個主機用做網(wǎng)關(guān),仍然可以實現(xiàn)訪問另一個網(wǎng)絡(luò)(如因特網(wǎng))。對于本地網(wǎng)絡(luò)而言,可以通過內(nèi)部專用 IP 地址來訪問該網(wǎng)關(guān),而外部世界則通過正式注冊的地址(由帶寬供應(yīng)商分配)知道該網(wǎng)關(guān)。
子網(wǎng)和子網(wǎng)掩碼
劃分子網(wǎng)是將大型的、實際的網(wǎng)絡(luò)分成較小的邏輯網(wǎng)絡(luò)的過程。劃分網(wǎng)絡(luò)的原因有以下幾點:聯(lián)網(wǎng)技術(shù)的電氣(物理層)限制;為簡便起見,希望在建筑物的每一層(或每個部門或針對每個應(yīng)用)放置一個獨立的網(wǎng)絡(luò)而劃分網(wǎng)絡(luò);減少網(wǎng)絡(luò)段負載;或需要用高速線路連接遠程位置。
劃分網(wǎng)段的結(jié)果是使整個網(wǎng)絡(luò)變成由一些小型子網(wǎng)塊組成的網(wǎng)絡(luò),從而易于管理。這些較小的子網(wǎng)之間的通信通過網(wǎng)關(guān)和路由器進行。同樣,一個組織可以有幾個物理上在同一個網(wǎng)絡(luò)中的子網(wǎng),以便將網(wǎng)絡(luò)功能邏輯地分成多個工作組。
單獨的子網(wǎng)是整個網(wǎng)絡(luò)的分支。假使將一個 B 類網(wǎng)絡(luò)分成 64 個單獨的子網(wǎng)。要完成這種子網(wǎng)劃分,需要將 IP 地址視為兩部分:網(wǎng)絡(luò)和主機。網(wǎng)絡(luò)部分由所分配的 IP 地址和子網(wǎng)信息位組成。實際上,這些位是借用主機的地址部分。分配給 B 類網(wǎng)絡(luò)來表示網(wǎng)絡(luò)部分的位數(shù)是 16,再加上子網(wǎng)部分的 6 位,共有 22 位來區(qū)分子網(wǎng)。這種劃分的結(jié)果是有 64 個網(wǎng)絡(luò),每個網(wǎng)絡(luò) 1024 個節(jié)點。IP 地址中的網(wǎng)絡(luò)部分可大可小,這取決于所希望的網(wǎng)絡(luò)數(shù)目或每個網(wǎng)絡(luò)的節(jié)點數(shù)。
子網(wǎng),第二部分
設(shè)置子網(wǎng)掩碼實際上就是確定網(wǎng)絡(luò)地址在何處結(jié)束以及主機地址在何處開始。子網(wǎng)掩碼是由全為 1 的網(wǎng)絡(luò)部分和全為零的主機部信息包成。
假使一個 C 類網(wǎng)由下列部信息包成:
N = 網(wǎng)絡(luò)
H = 主機
NNNNNNNN.NNNNNNNN.NNNNNNNN.HHHHHHHH
每一位置表示 32 位地址空間中的一位。如果將這個 C 類網(wǎng)分成四個 C 類網(wǎng)絡(luò),其表示形式如下:
NNNNNNNN.NNNNNNNN.NNNNNNNN.NNHHHHHH
子網(wǎng)掩碼如下:
11111111.11111111.11111111.11000000
如果用十進制數(shù)和點符號表示(即點分四組(dotted quad))這個地址,則子網(wǎng)掩碼是 255.255.255.192。該掩碼用于這個特定網(wǎng)絡(luò)中所有子網(wǎng)上的節(jié)點之間的通信。
子網(wǎng),示例
相反,如果從 IP 地址的主機部分取出三位,則可以形成八個網(wǎng)絡(luò),其網(wǎng)絡(luò)掩碼如下:
11111111.11111111.11111111.11100000
該子網(wǎng)掩碼是 255.255.255.224。這八個網(wǎng)絡(luò)中的每一個可有 30 個節(jié)點,因為有 5 個地址位可以使用。(本應(yīng)該是 32 個,但由于全為 1 和全為 0 是不合法的主機地址,所以不能使用)。
網(wǎng)絡(luò) 主機地址范圍 廣播
192.168.1.0 192.168.1.0 to 192.168.1.30 192.168.1.30
192.168.1.32 192.168.1.32 to 192.168.1.63 192.168.1.63
192.168.1.64 192.168.1.64 to 192.168.1.95 192.168.1.95
192.168.1.96 192.168.1.96 to 192.168.1.127 192.168.1.127
192.168.1.128 192.168.1.128 to 192.168.1.159 192.168.1.159
192.168.1.160 192.168.1.160 to 192.168.1.191 192.168.1.191
192.168.1.192 192.168.1.192 to 192.168.1.223 192.168.1.223
192.168.1.224 192.168.1.224 to 192.168.1.254 192.168.1.254
提示:如果需要一些計算子網(wǎng)方面的幫助,可以在 www.cotse.com/networkcalculator.html 上查找在線子網(wǎng)計算器。
跨網(wǎng)絡(luò)通信:網(wǎng)關(guān)和路由
由于 IP 尋址具有這種結(jié)構(gòu),所以主機只能與同一網(wǎng)絡(luò)上的其它主機通信。為克服這種限制,我們給網(wǎng)絡(luò)添加了路由和網(wǎng)關(guān)。路由是確定信息包從源到目的地所采用的路徑的機制。通過在路由表中查找目的地的 IP 地址來建立路徑或路由。如果找到該地址,則將信息包發(fā)送到那個網(wǎng)絡(luò);如沒有找到,則將信息包轉(zhuǎn)發(fā)到稱為缺省路由的項,這就是所有“未知”地址的信息包轉(zhuǎn)發(fā)到的機器或設(shè)備的 IP 地址。
執(zhí)行路由和/或轉(zhuǎn)發(fā)功能的機器或設(shè)備稱做網(wǎng)關(guān)或路由器。有時這兩個術(shù)語也可以互換使用。從技術(shù)角度講,網(wǎng)關(guān)描述這樣的系統(tǒng)或設(shè)備,它在不同類型網(wǎng)絡(luò)之間發(fā)送消息;而路由器在相同類型網(wǎng)絡(luò)之間發(fā)送消息。因為我們只討論使用 TCP/IP 協(xié)議的聯(lián)網(wǎng),所以不考慮這點細微差別,但是要意識到二者之間是有區(qū)別的。
還值得注意的是,通過定義,我們知道網(wǎng)關(guān)裝配了不止一個網(wǎng)絡(luò)接口(即 A 和 B),每一個網(wǎng)絡(luò)接口都配置了不同的 IP 或 IP/子網(wǎng)。這就是“網(wǎng)絡(luò)橋接”得以實現(xiàn)的原因。信息包到達接口 A,然后根據(jù)充當網(wǎng)關(guān)的這臺設(shè)備上路由表中的各項,執(zhí)行下列四個操作之一??梢詫⑿畔?
· 發(fā)送到網(wǎng)絡(luò) A 上的主機
· 傳遞到網(wǎng)絡(luò) A 上的“上游”缺省路由設(shè)備
· 發(fā)送到網(wǎng)絡(luò) B 上的主機
· 傳遞到網(wǎng)絡(luò) B 上的“上游”缺省路由設(shè)備
路由配置
有四種常見的路由配置:
· 最小 — 完全與其它所有網(wǎng)絡(luò)隔離開的網(wǎng)絡(luò)僅需要最小的路由。通常在初始化網(wǎng)絡(luò)接口時,建立最小的路由表。如果不需要與其它的 TCP/IP 網(wǎng)絡(luò)通信,而且不用劃分子網(wǎng),則這就是系統(tǒng)所需的所有路由信息。
· 靜態(tài) — 網(wǎng)絡(luò)有一個或兩個網(wǎng)關(guān)時,通常使用靜態(tài)路由來配置網(wǎng)絡(luò)。靜態(tài)路由表由網(wǎng)絡(luò)配置腳本(使用用戶提供的 IP)自動地創(chuàng)建或者由系統(tǒng)管理員手工創(chuàng)建(使用第五節(jié)中討論的 /sbin/route 命令)。該表正如其名稱所指的那樣 — 是靜態(tài)的。它不隨網(wǎng)絡(luò)的變化而做調(diào)整。當網(wǎng)絡(luò)變化時,必須手工重新配置該路由表。
· 動態(tài) — 大型網(wǎng)絡(luò)通常都安裝了多個路由器和/或網(wǎng)關(guān),出于冗余/故障恢復(fù)的目的,它們可能指向同一遠程網(wǎng)絡(luò)。這就是動態(tài)路由的用武之地。動態(tài)路由允許使用一種協(xié)議 — 是的,您猜對了 — 稱作路由協(xié)議,根據(jù)路由設(shè)備之間所交換的信息動態(tài)地構(gòu)造(并不斷地更新)路由表。這種持續(xù)不斷的信息交換提供了一種機制,利用這種機制可以自動調(diào)節(jié)路由來適應(yīng)不斷變化的網(wǎng)絡(luò)條件 — 譬如,通信量過大或運行中斷。動態(tài)路由的最大缺點是設(shè)備間的路由信息交換會消耗相當大的帶寬。
· 第四個選項是使用靜態(tài)和動態(tài)路由的組合。每個子網(wǎng)上的機器都使用靜態(tài)路由以到達緊鄰它們的機器。缺省路由 — 那些沒有由路由表分配特定路由的信息包所使用的路由 — 被設(shè)置通向一臺網(wǎng)關(guān)機器,該機器被配置成可以提供動態(tài)路由,因此也就了解其子網(wǎng)以外的網(wǎng)絡(luò)。
動態(tài)路由是基于這幾個路由協(xié)議(內(nèi)部協(xié)議,如 RIP、Hello 和 OSPF 等等;外部協(xié)議,如 EGP 和 BGP)之一,通過網(wǎng)關(guān)路由守護程序 gated 來啟用動態(tài)路由。動態(tài)路由不是本教程所討論的范圍。想要了解有關(guān)這方面的更多信息,請參閱本教程結(jié)束部分的“結(jié)束語,參考資料和反饋意見”中所列出的 Craig Hunt 的 TCP/IP Network Administration 一書。
繼續(xù)……
現(xiàn)在該將先前所有的理論知識付諸于實踐了。在接下來的章節(jié)中,我們將探討:
· Red Hat 7.0 中負責(zé)網(wǎng)絡(luò)接口的配置文件
· 使用 ifconfig 檢查和配置接口
· 添加和編輯靜態(tài)路由
· 使用 netstat 對網(wǎng)絡(luò)接口進行監(jiān)視/排除故障
關(guān)鍵文件和腳本
網(wǎng)絡(luò)接口初始化的實際過程(有時也稱做“啟動接口”)是由一組配置文件和腳本控制的,這些文件和腳本大多數(shù)在/etc 目錄下。這些配置文件告訴 Linux 它的 IP 地址、主機名和域名;腳本則負責(zé)網(wǎng)絡(luò)接口的初始化。
遺憾的是,不同分發(fā)版(distribution)中文件位置和命名約定至今還沒有統(tǒng)一的標準。為給本文提供具體的示例,將基于廣泛使用的 Red Hat 7.0 包做出描述。請記住,若您的分發(fā)版不是使用 Red Hat 或不是基于 Red Hat 約定(如 Mandrake 分發(fā)版),在此所引用的一些文件會位于別的目錄中或有其它的名稱。然而,網(wǎng)絡(luò)效果和實際效果是一樣的 — 將存儲在一系列配置文件中的網(wǎng)絡(luò)信息傳遞給腳本,然后用腳本初始化接口和網(wǎng)絡(luò)路由。
涉及初始化和配置網(wǎng)絡(luò)接口的關(guān)鍵文件有:
· /etc/hosts (將主機名映射到 IP 地址)
· /etc/networks (將域名映射到網(wǎng)絡(luò)地址)
· /etc/sysconfig/network (打開或關(guān)閉聯(lián)網(wǎng),設(shè)置主機名和網(wǎng)關(guān))
· /etc/resolv.conf (設(shè)置名稱服務(wù)器或 DNS 服務(wù)器的 IP 地址)
· /etc/rc.d/rc3.d/S10network (在引導(dǎo)時激活已配置的以太網(wǎng)接口,由運行級別目錄 /etc/rc.d/rcN.d/ 中的符號鏈接調(diào)用)
· /etc/sysconfig/network-scripts 中一些文件的集合。這些文件包括用于網(wǎng)絡(luò)連接的主要配置,以及提供接口狀態(tài)和控制功能的符號鏈接。
/etc/hosts
/etc/hosts 是將 IP 地址和主機名聯(lián)系起來的簡單文本文件。 TCP/IP 網(wǎng)絡(luò)中的每臺計算機都必須有唯一的 IP 地址。hosts 文件只允許用戶將主機名與 IP 地址聯(lián)系起來,以便當訪問計算機時使用該名稱,而不用輸入一長串數(shù)字。/etc/hosts 中的每一項都依次包含一個 IP 地址、空白和主機名和/或別名。井號(#)表示注釋開始。例如:
# /etc/hosts
# last updated 12/3/2000
127.0.0.1 loopback localhost # loopback (lo0) name/address
192.168.1.5 janus.syroidmanor.com janus
192.168.1.6 thumper.syroidmanor.com thumper
192.168.1.7 donovan.syroidmanor.com donovan
192.168.1.8 raidserver
192.168.1.20 phoenix.syroidmanor.com phoenix
192.168.1.15 hydras.syroidmanor.com hydras
在上面顯示的 Hosts 文件中,IP 地址 192.168.1.5 映射到主機 janus.syroidmanor.com ,并且分配給它一個備用主機名(或別名)janus。盡管 DNS 已經(jīng)取代了這個主機文件,但出于以下原因仍然使用它:
· 大多數(shù)系統(tǒng)都有一個包含本地網(wǎng)絡(luò)上的關(guān)鍵主機的名稱和地址信息的小主機表。當 DNS 未運行時,例如,在最初系統(tǒng)啟動期間,則使用該表。即便本地 DNS 服務(wù)器正在運行,在每個系統(tǒng)上也應(yīng)該有一個小 hosts 文件,該文件包含一個主機本身項、一個 localhost 項以及局域網(wǎng)上任何主要的網(wǎng)關(guān)和服務(wù)器項。
· 未連接到因特網(wǎng)或其他網(wǎng)絡(luò)的小網(wǎng)絡(luò)不需要 DNS 服務(wù)。然而,這些網(wǎng)絡(luò)上的主機也需要知道如何定位同一網(wǎng)絡(luò)上的其它主機。
/etc/networks
就如主機有名稱和地址一樣,為方便起見,也可以為網(wǎng)絡(luò)和子網(wǎng)命名。 /etc/networks 文件在布局上與 /etc/hosts 很相似,只不過名稱和地址互換了一下。
# /etc/networks for syroidmanor.com
localnet 127.0.0.0 #loopback
syroid-C1 192.168.1 #development, class C
syroid-C2 192.168.2 #support, class C
在上面的示例中,可將網(wǎng)絡(luò)名稱 syroid-C1 用于腳本或任何命令行實用程序中來引用 192.168.1 這個 C 類網(wǎng)。
/etc/sysconfig/network
將 /etc/sysconfig/network(注意與 /etc/networks 文件不同,這個 network 是單數(shù)而不是復(fù)數(shù))用于指定所期望的網(wǎng)絡(luò)配置信息;在引導(dǎo)時,有幾個腳本要使用它。該文件可以包含下列所示的一個或多個關(guān)鍵字/值對:
NETWORKING=YESNO -- YES 表示需要配置網(wǎng)絡(luò);NO 表示不需要配置網(wǎng)絡(luò)。
HOSTNAME=hostname — 主機的全限定域名;為與較老的程序兼容,這應(yīng)該與在 /etc/hosts 中的主機項相匹配。
GATEWAY=gw-ip — 網(wǎng)絡(luò)網(wǎng)關(guān)的 IP 地址。
GATEWAYDEV=gw-dev — 網(wǎng)關(guān)設(shè)備的名稱(例如 eth0)。
NISDOMAIN=dom-name — 表示 NIS 域,如果有的話。
下面是 /etc/sysconfig/network 最小配置的示例:
NETWORKING=yes
HOSTNAME=phoenix.syroidmanor.com
GATEWAY=192.168.1.1
/etc/resolv.conf 和 /etc/rc.d/rc3.d/S10network
/etc/resolv.conf 是網(wǎng)絡(luò)用來確定主機解析的關(guān)鍵文件之一。在此可以標識最多三個名稱服務(wù)器;如果列在第一位的服務(wù)器未對查詢做出響應(yīng),則后面兩個起到備用的作用。domain 項定義缺省域名。解析器(順便提一下,該解析器不是一個單獨的進程,而是由網(wǎng)絡(luò)進程調(diào)用的例程庫)將這里所列出的域名附加在任何不包含句點的主機查詢上。
# /etc/resolv.conf
# domain name resolver config file
domain syroidmanor.com
nameserver 192.168.1.7
nameserver 192.168.1.10
nameserver 165.142.268.19
在上面所顯示的示例中,如果提交給解析器的查詢是想要查詢找主機 phoenix(注意,沒有點),則將該域附加到這個請求之后,這會將該查詢擴展為 phoenix.syroidmanor.com。若需要了解更多詳細信息和可以使用的選項,請輸入 man resolv.conf 。
/etc/rc.d/rc3.d/S10network 是指向 /etc/rc.d/init.d/network 腳本的符號鏈接。當系統(tǒng)達到運行級別 3 時,它負責(zé)初始化所有已配置的網(wǎng)絡(luò)接口。在這里我們不想花時間來詳細討論該文件后面的邏輯,因為該文件主要是調(diào)用本節(jié)中所提到的其它腳本和程序。但是,如果您對 S10network 中初始化各種網(wǎng)絡(luò)組件和服務(wù)的順序感興趣的話,則可以使用 less /etc/rc.d/rc3.d/S10network 命令來仔細研讀它。
/etc/sysconfig/network-scripts/ 目錄
最后,通??稍?/etc/sysconfig/network-scripts/ 目錄中查找到下列文件:
· /etc/sysconfig/network-scripts/ifup
· /etc/sysconfig/network-scripts/ifdown
· /etc/sysconfig/network-scripts/network-functions
· /etc/sysconfig/network-scripts/ifcfg-interface-name
· /etc/sysconfig/network-scripts/ifcfg-interface-name:clone-name
· /etc/sysconfig/network-scripts/chat-interface-name
· /etc/sysconfig/network-scripts/dip-interface-name
· /etc/sysconfig/network-scripts/ifup-post
在隨后的幾頁中,我們將簡要地看一下這些關(guān)鍵文件,了解它們做什么和包含什么。
……/network-scripts/,第一部分
/etc/sysconfig/network-scripts 中的 ifup 和 ifdown 項實際是分別指向 /sbin/ifup 和 /sbin/ifdown 的符號鏈接。這兩個腳本是在該目錄下唯一應(yīng)該直接調(diào)用的腳本,并且它們按需要調(diào)用所有其它腳本。
ifup 和 ifdown 通常只帶一個參數(shù):設(shè)備名(例如 eth0)。系統(tǒng)在引導(dǎo)過程期間用參數(shù)“boot”調(diào)用它們,以便于不激活沒有被配置成在系統(tǒng)啟動時初始化的設(shè)備(請參閱下面關(guān)于 interface-name 描述中的 ONBOOT=no)。
network-function 不是公共文件。它包含這個目錄中的幾個腳本所需的函數(shù)。具體地說,它包含了用于處理替代接口配置的大多數(shù)代碼。
……/network-scripts/,第二部分
配置文件 ifcfg-interface-name 和 ifcfg-interface-name:clone-name 包含了初始化接口所需的大部分詳細信息。第一個文件定義接口,而第二個文件僅包含與“別名”(或替代)接口相關(guān)的部分定義。例如,網(wǎng)絡(luò)地址或許不同,但其它可能會一樣。
在 ifcfg 文件中定義的各項目取決于接口類型;下列值很常見:
· DEVICE=name ,其中 name 是物理設(shè)備名
· IPADDR=addr ,其中 addr 是 IP 地址
· NETMASK=mask ,其中 mask 是網(wǎng)絡(luò)掩碼值
· NETWORK=addr ,其中 addr 是網(wǎng)絡(luò)地址
· BROADCAST=addr ,其中 addr 是廣播地址
· GATEWAY=addr ,其中 addr 是網(wǎng)關(guān)地址
· ONBOOT=answer ,其中 answer 是“yes”(引導(dǎo)時激活設(shè)備)或“no”
· USERCTL=answer ,其中 answer 是“yes”(非 root 用戶可以控制該設(shè)備)或“no”
· BOOTPROTO=proto ,其中 proto 取下列值之一:“none”(引導(dǎo)時不使用協(xié)議)“bootp”(使用 BOOTP 協(xié)議)或“dhcp”(使用 DHCP 協(xié)議)
此外,下列值對所有的 SLIP(串行線 IP)文件是公共的:
· PERSIST=answer ,其中 answer 是“yes”(即使調(diào)制解調(diào)器已經(jīng)掛斷連接,也保持設(shè)備處于激活狀態(tài))或“no”(不保持激活狀態(tài))
· MODEMPORT=port ,其中 port 是調(diào)制解調(diào)器端口的設(shè)備名(例如,/dev/modem)
· LINESPEED=baud ,其中 baud 是調(diào)制解調(diào)器的線路速度
· DEFABORT=answer ,其中 answer 是“yes”(當創(chuàng)建/編輯該接口的腳本時,插入缺省的異常終止字符串)或“no”(不插入缺省的異常終止字符串)
…/network-scripts/,第三部分
chat-interface-name 文件是用于 SLIP 連接的交談腳本(chat script)。它的功能是啟動 SLIP 連接。對于 SLIP 設(shè)備,DIP 腳本是根據(jù)這個交談腳本編寫的。
chat-interface-name 是只寫腳本,它由程序 netcfg 根據(jù)交談腳本創(chuàng)建的。不要修改該文件。
當初始化任何網(wǎng)絡(luò)設(shè)備(除了 SLIP 設(shè)備)時,調(diào)用 /etc/sysconfig/network-scripts/ifup-post。它調(diào)用 /etc/sysconfig/network-scripts/ifup-routes 以啟動依賴于該設(shè)備的靜態(tài)路由,它還啟動為該設(shè)備配置的任何別名,并且,如果還沒有設(shè)置主機名,則設(shè)置主機名 — 這樣找到與該設(shè)備 IP 地址匹配的主機名。最后,ifup-post 給請求通知網(wǎng)絡(luò)事件的任何程序發(fā)送信號(SIGIO)。
ifconfig 程序
ifconfig 命令設(shè)置、檢查或監(jiān)控網(wǎng)絡(luò)接口的配置值。它還可以用于設(shè)置接口的“狀態(tài)”— 即“up”(啟動)或“down”(關(guān)閉)。一個對 ifconfig 簡單的調(diào)用是:
ifconfig interface-name ip-address updown
這會激活指定的接口并將所提供的 IP 地址分配給它。
ifconfig 有許多個可用的選項(metric、mtu 以及 pointtopoint 等等;有關(guān)詳細信息,請參閱幫助頁)用于顯式地設(shè)置唯一的接口參數(shù),但一般來說,提供接口名稱(例如, eth0)、IP 地址和網(wǎng)絡(luò)掩碼就足夠了。例如:
ifconfig eth0 192.168.1.5 netmask 255.255.255.0 up
分配給接口 eth0 的 IP 為 192.168.1.5,網(wǎng)絡(luò)掩碼為 255.255.255.0 并“啟動該接口”或?qū)⑵涑跏蓟?。類似的,若將接?#8220;關(guān)閉”,則輸入 ifconfig eth0 down ;不需要指定 IP 和網(wǎng)絡(luò)掩碼。
使用 ifconfig 檢查接口
運行不帶參數(shù)的 ifconfig 會使該程序顯示所有網(wǎng)絡(luò)接口的狀態(tài)。若要檢查特定接口的狀態(tài),則在 ifconfig 后附加這個接口的名稱。例如:
[tom@phoenix tom]$ /sbin/ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:10:5A:00:87:22
inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:9625272 errors:0 dropped:0 overruns:0 frame:0
TX packets:6997276 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:19 Base address:0xc800
以上輸出顯示 MAC 地址(Hwaddr)、所分配的 IP 地址(inet addr)、廣播地址(Bcast)和網(wǎng)絡(luò)掩碼(Mask)。另外可以看出該接口處于 UP 狀態(tài),其 MTU 為 1500 并且 Metric 為 1。接下來的兩行給出有關(guān)接收到(RX)和已發(fā)送的(TX)信息包數(shù),以及錯誤、丟棄和溢出信息包數(shù)的統(tǒng)計。最后兩行顯示沖突信息包的數(shù)目、發(fā)送隊列大?。╰xqueuelen)和 IRQ 以及這塊卡的基址。
配置路由
讓我們通過查看尚未配置網(wǎng)關(guān)的網(wǎng)絡(luò)接口來看一下如何配置路由。正如您所見,使用不帶參數(shù)的 route 命令將顯示內(nèi)核路由表。
[root@phoenix tom]# /sbin/route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
127.0.0.0 127.0.0.1 255.0.0.0 U 0 0 0 lo
192.168.1.0 192.168.1.5 255.255.255.0 U 0 0 0 eth0
第一項是到 localhost 的回送路由,它是在配置 lo 時自動創(chuàng)建的。第二項是通過接口 eth0 到網(wǎng)絡(luò) 192.168.1.0 的路由。地址 192.168.1.5 不是遠程網(wǎng)關(guān)地址。它是分配給 phoenix eth0 的地址。
注意每項的標志。它們都設(shè)置了 U(啟動)標志,這表示準備使用它們,但它們都未設(shè)置 G(網(wǎng)關(guān))標志。不設(shè)置 G 標志是因為這兩個路由都是通過本地接口,而不是通過外部網(wǎng)關(guān)的直接路由。
上述示例僅包含一個網(wǎng)絡(luò)路由 192.168.1.0。因而 phoenix 僅可以與位于 192.168.1.0 網(wǎng)絡(luò)中的主機進行通信。
添加靜態(tài)路由
最小的路由表僅允許在同一網(wǎng)絡(luò)中的主機互相通信。要與遠程主機通信,必須將通過外部網(wǎng)關(guān)的路由添加到路由表中。達到該目的的一種方法是通過使用 /sbin/route 命令。拿上頁中的例子來說,我們現(xiàn)在就將路由 192.168.1.1 添加到網(wǎng)絡(luò)配置中。
[root@phoenix tom]# /sbin/route add default 192.168.1.1 1
在上面這個示例中,route 命令后的第一個參數(shù)是關(guān)鍵字 add 。在 route 命令上的第一個關(guān)鍵字要么是 add 要么是 del (刪除路由)。下一個值是目的地地址,它是通過該路由到達的地址。如果關(guān)鍵字 default 用于目的地地址,則創(chuàng)建缺省路由。只要沒有到目的地的特定路由時,就使用缺省路由;通常,這就是您在路由表中唯一需要的項。如果網(wǎng)絡(luò)中只有一個網(wǎng)關(guān),則使用缺省路由引導(dǎo)所有要到遠程網(wǎng)絡(luò)的數(shù)據(jù)流量通過那個網(wǎng)關(guān)。
這個命令行的下一個參數(shù)是網(wǎng)關(guān)地址。該地址必須是直接連接本機所在網(wǎng)絡(luò)的網(wǎng)關(guān)地址。在到遠程目的地的網(wǎng)絡(luò)路徑中,TCP/IP 路由要指定下一跳(next-hop)。這個下一中繼必須是本機可直接訪問的;因而,它必須是在直接連接在本機所在的網(wǎng)絡(luò)中。
注:因為大多數(shù)的路由都是在系統(tǒng)啟動過程早期時添加的,所以建議用數(shù)字的 IP 地址替代主機名。這樣做就可以確保路由配置不依賴于名稱服務(wù)器的狀態(tài)。而且要確保總是使用完整的數(shù)字地址(共 4 個字節(jié));如果不用完整的 IP 地址,則路由只能猜想部分 IP 地址,這樣可能會導(dǎo)致不正確的配置。
靜態(tài)路由,續(xù)
在上頁的 route 命令中,最后一個參數(shù)是數(shù)字 1,稱之為路由度量(routing metric)。當刪除路由時是不需要此 metric 參數(shù)的,但是在添加路由時許多系統(tǒng)都需要它。盡管需要度量,route 僅使用它來確定路由是通過直接連接的接口還是通過外部的網(wǎng)關(guān)。如果 metric 是 0,建立的這條路由是通過本機接口且不設(shè)置 G 標志;如果 metric 值比 0 大,則建立的這條路由帶 G 標志且網(wǎng)關(guān)地址被認為是外部的。靜態(tài)路由不使用其它 metric 值。需要真正用到多個 metric 值的是動態(tài)路由。
要顯示新的路由表,輸入 /sbin/route 或使用 netstat -rn 命令(我們將再下一節(jié)討論該命令):
[root@phoenix tom]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
最后做一個測試來證明一切都如同我們講到的那樣運行,ping 另一個網(wǎng)絡(luò)上的主機;應(yīng)該可以接收到響應(yīng)。如果沒有接收到響應(yīng),則重新檢查您的配置。
要熟悉 route 其它的選項和參數(shù),請輸入 man route 。
netstat 程序
如果管理任意規(guī)模的 TCP/IP 網(wǎng)絡(luò),則 netstat 程序是一個相當有價值的工具。它可以顯示內(nèi)核路由表,活動網(wǎng)絡(luò)連接的狀態(tài)和每個已安裝網(wǎng)絡(luò)接口的一些有用的統(tǒng)計信息。
象大多數(shù) Linux 管理命令行程序一樣,netstat 可以通過其后面的附加選項或標志來選擇所顯示信息的細節(jié)數(shù)量和/或信息的范圍。一些常用選項有:
-a — 顯示所有連接的信息,包括那些正在偵聽的
-i — 顯示所有已配置網(wǎng)絡(luò)設(shè)備的統(tǒng)計信息
-c — 持續(xù)更新網(wǎng)絡(luò)狀態(tài)(每秒一次)直至被人為中止(^C)
-r — 顯示內(nèi)核路由表
-n — 以數(shù)字(原始)格式而不是已解析的名稱顯示遠程和本地地址
-t — 僅顯示 TCP 套接字信息(不包括任何 UCP 套接字信息)
-v — 顯示 netstat 的版本信息
輸入 man netstat 可獲得所有可用標志的完整列表和詳細說明每個標志的用途。請注意還可以組合這些標志,所以輸入 netstat -rn 將以原始的 IP 地址格式顯示關(guān)于本地和遠程主機(n)的系統(tǒng)路由表(r)。
顯示活動的網(wǎng)絡(luò)連接
netstat 支持一組顯示活動或非活動的套接字的選項:-t、-u、-w 和 -x 分別顯示活動的 TCP、UDP、RAW 或 UNIX 套接字連接。如果加上 -a 標志,還會顯示等待連接的(換句話說,就是偵聽)套接字。這將為您顯示現(xiàn)在正在系統(tǒng)上運行的所有服務(wù)器。
例如:在主機 phoenix 上輸入 netstat -ta 會顯示下列內(nèi)容:
[tom@phoenix tom]$ netstat -ta
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 40 phoenix.syroidmanor:ssh 192.168.1.5:1132 ESTABLISHED
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 phoenix.syroidman1028 hydras.syrnetbios-ssn ESTABLISHED
tcp 0 0 phoenix.syroidman1027 raidserver:netbios-ssn ESTABLISHED
tcp 0 0 *:printer *:* LISTEN
tcp 0 0 *:auth *:* LISTEN
tcp 0 0 *:1024 *:* LISTEN
tcp 0 0 *:sunrpc *:* LISTEN
上述輸出顯示大多數(shù)的服務(wù)器僅僅在等待到來的連接(LISTEN)。但是,第一行顯示主機 phoenix 和 IP 地址為 192.168.1.5 之間的連接;第三和第四行顯示兩個 netbios 連接(Samba SMB 共享)。
用 netstat 查看路由表
當使用 -r 標志時,netstat 顯示內(nèi)核中的路由表,這類似于輸入 /sbin/route :
[tom@phoenix tom]$ netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
-n 選項強制 netstat 以點分四組 IP 數(shù)字的形式,而不是主機和網(wǎng)絡(luò)名稱的形式輸出地址。當您不想通過網(wǎng)絡(luò)(例如,用 DNS 或 NIS 服務(wù)器)進行地址查詢時,這個選項特別有用。
第二列顯示路由項中所指向的網(wǎng)關(guān)。如果沒有使用網(wǎng)關(guān),就會顯示星號。第三列是路由的網(wǎng)絡(luò)掩碼。內(nèi)核在將信息包的 IP 地址與路由的目的地 IP 地址進行比較之前,將 Genmask 值與信息包的 IP 地址逐位進行“與”操作,從而使路由“通用化”。
第四列顯示路由的標志:U 表示處于活動狀態(tài),H 表示主機,G 表示網(wǎng)關(guān),D 表示動態(tài)路由,而 M 表示已經(jīng)修改過。
用 netstat 查看路由表,續(xù)
[tom@phoenix tom]$ netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
接下來的三列顯示 MSS、Window 和 irtt,它們將被應(yīng)用于通過該路由建立的 TCP 連接。MSS(Maximum Segment Size)表示“最大分段尺寸”,也是內(nèi)核所構(gòu)建以通過該路由發(fā)送的數(shù)據(jù)報的最大尺寸。Window 表示系統(tǒng)一次從遠程主機接收突發(fā)的最大量數(shù)據(jù)。
首字母縮寫詞 irtt 代表“初始往返時間(initial round trip tim)”。TCP 協(xié)議確保主機間可靠地發(fā)送數(shù)據(jù),如果數(shù)據(jù)已經(jīng)丟失,則重新發(fā)送。TCP 協(xié)議一直對發(fā)送給遠程端點的數(shù)據(jù)報和接收到的確認所花費的時間進行記數(shù),以便知道假定要重發(fā)數(shù)據(jù)報前需要等待的時間;這個過程稱為往返時間。TCP 協(xié)議將使用第一次建立連接時所用時間作為初始往返時間的值。對于大多數(shù)類型的網(wǎng)絡(luò),用缺省值就夠了,但對某些速度較慢的網(wǎng)絡(luò)(特別是某些業(yè)余的分組無線網(wǎng)絡(luò)),這個時間太短了,會造成不必要的重發(fā)??梢允褂?route 命令設(shè)置 irtt 值。在上面這個路由表中,這些字段均為零值,這表明正在使用缺省值。
最后,最后這個字段表示的是所顯示的路由使用的網(wǎng)絡(luò)接口。
用 netstat 顯示一些網(wǎng)絡(luò)接口使用的統(tǒng)計信息
用 -i 選項調(diào)用 netstat 可以顯示所有已配置接口的一些有用的統(tǒng)計信息 — 這是一個用于排除網(wǎng)絡(luò)故障的非常有用的工具。有了該命令,很容易檢查連接的狀態(tài)以及連接是否“正常”。
[tom@phoenix tom]$ netstat -i
Kernel Interface table
eth0 Link encap:Ethernet HWaddr 00:10:5A:00:87:22
inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:10554374 errors:0 dropped:0 overruns:0 frame:0
TX packets:8528339 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:19 Base address:0xc800
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:5612 errors:0 dropped:0 overruns:0 frame:0
TX packets:5612 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX packets 和 TX packets 行分別顯示了已經(jīng)接收到的信息包或已經(jīng)發(fā)送了的信息包數(shù)目以及出錯的信息包、丟失的信息包以及溢出的 RX/TX 統(tǒng)計信息。最常見的接口錯誤都是源于不正確的配置,所以,如果遇到了某些困難,最好再三檢查所有的設(shè)置來進行診斷。
假使接口已經(jīng)啟動,則應(yīng)該沒有信息包排隊等候發(fā)送(txqueuelen)— 如果有,則可能是由于網(wǎng)絡(luò)電纜或網(wǎng)卡有問題。首先換一根備用電纜,然后重新檢查連接。RX/TX 錯誤應(yīng)該近乎為零。如果 TX 錯誤過多,則表示網(wǎng)絡(luò)已經(jīng)飽和或物理連接有問題;如果 RX 錯誤過多,則表示網(wǎng)絡(luò)已經(jīng)飽和、物理連接有問題或主機過載。如果遇到過高的沖突率(沖突率是輸出信息包(output packet)的百分比,而不是從發(fā)送/接收信息包的總數(shù)中計算得出),它可能也表示網(wǎng)絡(luò)已經(jīng)飽和;通過從同一子網(wǎng)上的另一臺主機執(zhí)行 netstat -i 命令并比較結(jié)果來證實這一點。
要解決網(wǎng)絡(luò)中錯誤,一定要仔細地以及系統(tǒng)地分析接口的所有方面(硬件和軟件),這是必要的。不要匆忙行事,……啊……我們提到了總是要先檢查網(wǎng)絡(luò)電纜。在這一點,相信我。
結(jié)束語
在本教程中,我們已經(jīng)討論了 TCP/IP 的歷史、OSI 模型和它與 TCP/IP 設(shè)計的關(guān)系、IP 尋址、子網(wǎng)劃分和路由 — 所有這些都是從理論角度來闡述的。然后我們著手研究了如何在 Red Hat 7.0 下初始化 TCP/IP 網(wǎng)絡(luò),以及講述了 Red Hat 下的一些文件是做什么用的。接下來,我們探討了如何配置網(wǎng)絡(luò)接口以及如何指定本地局域網(wǎng)和“外部世界”間的路由。最后,本教程探討了 netstat 程序以及如何使用該程序來檢查網(wǎng)絡(luò)是否正常。
確實,需要汲取許多知識,但是 TCP/IP 是一個很大的主題,有數(shù)百條的分支,一個人不可能在兩三天內(nèi)完全掌握它。事實仍然是:TCP/IP 是因特網(wǎng)的主干,路由是將所有主機和網(wǎng)絡(luò)“粘”在一起的“粘合劑”,而 IP 地址代表我們在這個世界里“沖浪”時所要訪問的地方。當您想到這一點,并考慮到過去三、四年人們對計算機領(lǐng)域,特別是因特網(wǎng)的需求飛速增長時,您會覺得這些基礎(chǔ)設(shè)施確實在非常好地支撐這些。
在網(wǎng)上有:
· Linux System Administrator‘s Guide
· 學(xué)習(xí)如何 Easily configure TCP/IP on your AIX system
· IBM 提供了一些用于網(wǎng)絡(luò)監(jiān)控的工具,譬如 Tivoli NetView Performance Monitor for TCP/IP
· 訪問 TCP/IP for OS/40O 的主頁
· 請閱讀關(guān)于實現(xiàn) iSeries 和 AS/400 的 TCP/IP 和因特網(wǎng)訪問
· 如果您可以在線搜索和參考,則我強烈向您推薦 O‘Reilly 新的 Safari 訂閱服務(wù)。您可以完全搜索并選擇一些曾經(jīng)出版過的有關(guān)網(wǎng)絡(luò)方面最好的書籍。
出版的書籍有:
· TCP/IP Network Administration, 2nd Edition,Craig Hunt(O‘Reilly)ISBN:1-56592-322-7
· Linux in a Nutshell, 3rd Edition,Siever, Spainhour, Figgins, and Hekman(O‘Reilly)ISBN:0-596-00025-1
· Running Linux, 3rd Edition, Welsh, Dalheimer, and Kaufman(O‘Reilly)ISBN:1-56592-469-X