一 關於本教程
這個教程適合我嗎?
本教程首先回顧 TCP/IP 的起源
然後闡述 TCP/IP 發展所依據的模型
最後還討論 TCP/IP 是如何工作的 — 包括 IP 地址
子網以及路由
打好這些理論基礎之後
我們將討論 Linux 所需要的各種網絡配置文件以及如何初始化網絡接口和如何編輯系統路由表
在本教程的最後
我們將簡要看一下如何分析網絡以及如何確保數據准確無誤地到達應到之處
關於作者
Tom Syroid 是個技術冒險主義者
他現在是一家領先的作家機構的一名職業作家
他與其他人合著了 Outlook
in a Nutshell(O
Reilly)和 OpenLinux Secrets(IDG)
同時他還擅長於 *NIX 系統管理
系統安全性
Apache 部署和配置以及跨不同平台的文件共享
可以通過 向他查詢或提出您的意見
二 理解 TCP/IP 協議
TCP/IP 簡史
近年來
隨著
傳輸控制協議/網際協議(TCP/IP)
套件的廣泛使用
它已經成為網絡通信中事實上的標准
這絕大部分要歸功於因特網的迅猛發展以及對在不同平台
設備和操作系統中以它們都理解的
語言
來共享數據的需要
讓我們首先了解 TCP/IP 的歷史
在
世紀
年代後期
美國國防部(DOD)意識到其內部日漸突出的通信問題
在 DOD 工作人員
研究實驗室
大學以及承包商之間日益增長的電子信息通信量遇到了嚴重的障礙
組成 DOD 的不同實體和組織擁有來自不同計算機制造商的計算機系統
這些計算機系統運行不同的操作系統並使用不同網絡拓撲結構和協議
高級研究項目局(Advanced Research Projects Agency
ARPA)被授命提出一種解決這個問題的方案
ARPA 與各大學和計算機制造商結盟來開發一組通信標准
該聯盟確定並構建了
節點的網絡
這就成為當今因特網的基礎
在
世紀
年代
該網絡移植到一個新的
核心的協議設計中
這個協議就成為 TCP/IP 的基礎
開放系統互連(Open System Interconnection
OSI)模型
現在
我們使用許多不同類型的計算機
它們有著不同的操作系統
CPU 和網絡接口等等
這些不同使得計算機系統間的通信出現問題
在
年
國際標准化組織(ISO)創建了一個小組委員會來開發數據通信標准以促進多供應商的互操作性
其結果就是開放系統互連(OSI)模型
OSI 模型並未確定任何通信標准或協議
相反
它只是提供了通信任務應該遵循的一些指導性建議
注
OSI 模型只是一種模型或框架
它確定了要執行的功能
理解這一點很重要
它並未詳細說明如何執行這些功能
但是
對於部分 OSI 模型
ISO 也確實接納了某些符合 OSI 標准的具體協議
例如
ISO 接受 CCITT X
協議
該協議作為一種實現提供了 OSI 模型中網絡層的大部分服務
個 OSI 層
為簡單起見
ISO 小組委員會采用分而治之的方法
將復雜的通信過程分為較小的子任務
問題就變得更容易處理
每個子任務可以分別優化
OSI 模型由
層組成
; 應用層
; 表示層
; 會話層
; 傳輸層
; 網絡層
; 數據鏈路層
; 物理層
給每一層都分配了一組特定的功能
每一層都使用下層的服務並為其上層提供服務
例如
網絡層使用數據鏈路層的服務並為傳輸層提供與網絡相關的服務
利用相鄰層的服務和為其相鄰層提供服務
這種層的概念很簡單
考慮公司是如何運做的
秘書寫備忘錄來向總裁(相鄰的上一層)提供秘書服務
秘書使用信使的服務(相鄰的下一層)來發送消息
通過將這些服務分開
秘書(應用程序)就不必知道消息實際上是如何傳遞到接收者手中
秘書只需要求信使(網絡)發送消息即可
正如許多秘書通過使用這種標准的信使服務來發送備忘錄一樣
分層的網絡可以通過將信息包交給網絡層來發送這些信息包
注
不要將應用層與在計算機上執行的應用程序混淆(在英文中都是一個詞 — application)
請記住
應用層是 OSI 模型的一部分
它並未具體指定用戶和通信路徑之間的接口是如何工作的
應用程序是這個接口的具體實現
實際的應用程序通常執行應用層
會話層和表示層的服務
而將傳輸層
網絡層
數據鏈接層和物理層服務留給網絡操作系統來處理
跨層通信
每一層都與其它計算機中的同一層通信
例如
一個系統中的第
層與另一個計算機系統的第
層通信
當信息從一層傳到下一層時
會在數據前面加一個頭
以指出該信息的來源和目的地
來自某一層的由數據和頭所組成的信息塊又成為下一層的數據
例如
當第
層將數據傳遞到第
層時
它會添加自己的頭
當第
層將該信息傳遞到第
層時
第
層會將來自第
層的頭加數據作為它的數據
並在該數據前添加第
層的頭
然後才將這個
頭 + 數據
組合傳給下一層
每一層信息單元的名稱都不同
應用層
> 消息
傳輸層
> 段
網絡層
> 數據報
數據鏈路層
> 幀(也稱做信息包)
物理層
> 位
在 OSI 模型出現前
美國國防部定義了它自己的網絡模型
即 DOD 模型
DOD 模型與 TCP/IP 協議套件有緊密的聯系
這將在下一節說明
TCP/IP 協議棧(TCP)
TCP/IP 協議棧表示了與 OSI 模型類似的網絡體系結構
但 TCP/IP 不象 OSI 模型那樣詳細區分協議棧的上面幾層
OSI 最上面的
層大致與 TCP/IP 的網際處理協議相當
處理協議的一些示例有 Telnet
FTP
SMTP
NFS
SNMP 和 DNS
OSI 模型的傳輸層負責可靠數據的發送
在網際協議棧中
這對應於主機到主機協議
這方面的示例是 TCP 和 UDP
TCP 用來轉換來自上層協議的不定長消息以及提供遠程系統間必要的確認和面向連接的流控制
UDP 與 TCP 相似
但它不是面向連接的
而且不對數據接收進行確認
UDP 僅接收消息並將其傳遞給上層協議
因為 UDP 沒有與 TCP 有關的那些開銷
所以它為如遠程磁盤服務等操作提供更高效的接口
網際協議(IP)負責系統間無連接方式的通信
它相當於 OSI 模型中網絡層的一部分
它負責網絡間的信息移動
通過檢查網絡層地址來完成這種通信
該地址確定了發送消息的系統和路徑
IP 提供與網絡層相同的功能並幫助獲取系統間的消息
但是它不保證這些消息能夠成功傳送
IP 還可以將這些消息分成多個段
然後在目的地重組這些段
另外
每一段可以采用不同的網絡路徑在系統間傳送
如果這些段到達時亂了次序
IP 則會在目的地將這些信息包重組成正確的序列
三 IP 尋址
子網和路由
IP 地址
網際協議要求為網絡上的每個設備分配一個地址
這個地址就是 IP 地址
它由
個八位元組成
這些八位元每個都定義唯一的地址
這個地址的一部分表示網絡(有時也可以表示子網)
而另一部分則表示網絡上特定的節點
在 TCP/IP 網絡中有幾個地址具有特殊含義
; 以零開頭的地址表示當前網絡中的本地節點
例如
指當前網絡中的
號工作站
地址
指當前工作站
; 在進行故障排除和網絡診斷時
以
開頭的地址非常重要
形式上將網絡地址塊
x
x
x 定義為 A 類地址
保留了該地址塊以用於內部回送(loopback)
; 將地址上所有位全置為
(也就是值
)代表
所有
地址
所以
意味著將消息發送給
網絡上的所有節點
類似的
意味著將消息發送給因特網上的每個節點
這些地址用於多點廣播消息和服務公告
注意
給系統分配節點號時
不要使用
或
它們都是保留數字
具有特殊含義
IP 地址類型
將 IP 地址按一定范圍分配
稱為將 IP 地址分類
這取決於應用和組織的規模
三種最常見的類型地址是 A 類地址
B 類地址和 C 類地址
這三種分類表示了可為本地網絡分配的 IP 地址中位的數目
A 類地址用於非常大的網絡或相關網絡的集合
B 類地址用於超過
個節點(但少於
個節點)的大型網絡
而大多數組織采用 C 類地址
一個組織采用幾個 C 類地址的做法是一個好主意
因為 B 類地址的數量是有限的
D 類地址被保留用於網絡上消息的多點廣播
E 類地址則被保留用於實驗和開發
類 地址
A 從
x
x
x 到
x
x
x
B 從
x
x 到
x
x
C 從
x 到
x
D 從
到
E 從
x
x
x 到
專用
IP 地址
如果您的網絡沒有連接到因特網而且最近也不會連接的話
則可以自由選擇任何合法的網絡地址
只是要確保您內部網絡信息包不會跑到實際的因特網中即可
要確保即便信息包確實跑出也不會有任何危害
應該使用為專用而保留的那些網絡地址的某個號碼
因特網賦號管理局(Internet Assigned Numbers Authorit
IANA) 已經在 A
B 和 C 類地址中保留了一些網絡號
您無需注冊就可以使用這些地址
這些地址只有在專用網絡中才有效
而且(理論上)不會路由到實際的因特網站點中
A
B
C
請注意第二塊和第三塊分別包含
個和
個網絡
從這些網絡號碼中選擇一個地址對於那些完全沒有連接到因特網的網絡是十分有用的
通過將單個主機用做網關
仍然可以實現訪問另一個網絡(如因特網)
對於本地網絡而言
可以通過內部專用 IP 地址來訪問該網關
而外部世界則通過正式注冊的地址(由帶寬供應商分配)知道該網關
子網和子網掩碼
劃分子網是將大型的
實際的網絡分成較小的邏輯網
From:http://tw.wingwit.com/Article/program/Oracle/201311/18421.html