引言
很多不同的廠家生產各種型號的計算機,它們運行完全不同的作業系統,但 T C P / I P 協議
族允許它們互相進行通信,這一點很讓人感到吃驚,因為它的作用已遠遠超出了起初的設想,
T C P / I P 起源于 6 0 年代末美國政府資助的一個分組交換網路研究專案,到 9 0 年代已發展成為計
算機之間最常應用的組網形式,它是一個真正的開放系統,因為協議族的定義及其多種實作
可以不用花錢或花很少的錢就可以公開地得到,它成為被稱作“全球互聯網”或“因特網
( I n t e r n e t )”的基礎,該廣域網(WA N)已包含超過 1 0 0 萬臺遍布世界各地的計算機
分層
網路協議通常分不同層次進行開發,每一層分別
負責不同的通信功能,一個協議族,比如 T C P / I P,是
一組不同層次上的多個協議的組合, T C P / I P 通常被認
為是一個四層協議系統,如圖 1 - 1 所示,
每一層負責不同的功能:
-
鏈路層,有時也稱作資料鏈路層或網路介面層,
通常包括作業系統中的設備驅動程式和計算機
中對應的網路介面卡,它們一起處理與電纜(或其他任何傳輸媒介)的物理介面細節, -
網路層,有時也稱作互聯網層,處理分組在網路中的活動,例如分組的選路,在
T C P / I P 協議族中,網路層協議包括 I P 協議(網際協議),I C M P 協議(I n t e r n e t 互聯網控
制報文協議),以及 I G M P 協議(I n t e r n e t 組管理協議),
3 ) 運輸層主要為兩臺主機上的應用程式提供端到端的通信,在 T C P / I P 協議族中,有兩個
互不相同的傳輸協議:T C P(傳輸控制協議)和 U D P(用戶資料報協議),
T C P 為兩臺主機提供高可靠性的資料通信,它所做的作業包括把應用程式交給它的資料分
成合適的小塊交給下面的網路層,確認接收到的分組,設定發送最后確認分組的超時時鐘
等,由于運輸層提供了高可靠性的端到端的通信,因此應用層可以忽略所有這些細節,
而另一方面,U D P 則為應用層提供一種非常簡單的服務,它只是把稱作資料報的分組
從一臺主機發送到另一臺主機,但并不保證該資料報能到達另一端,任何必需的可靠
性必須由應用層來提供,
這兩種運輸層協議分別在不同的應用程式中有不同的用途,這一點將在后面看到,
4 ) 應用層負責處理特定的應用程式細節,幾乎各種不同的 T C P / I P 實作都會提供下面這些
通用的應用程式:
圖 1-1 TCP/IP 協議族的四個層次
應用層
運輸層
網路層
鏈路層 設備驅動程式及介面卡
Telnet、FTP 和 e-mail 等
TCP 和 UDP
IP、ICMP 和 IGMP
? Telnet 遠程登錄,
? FTP 檔案傳輸協議,
? SMTP 簡單郵件傳送協議,
? SNMP 簡單網路管理協議,
在 8 0 年代,網路不斷增長的原因之一是大家都意識到只有一臺孤立的計算機構成的“孤
島”沒有太大意義,于是就把這些孤立的系統組在一起形成網路,隨著這樣的發展,到了 9 0
年代,我們又逐漸認識到這種由單個網路構成的新的更大的“島嶼”同樣沒有太大的意義,
于是,人們又把多個網路連在一起形成一個網路的網路,或稱作互連網 ( i n t e r n e t ),一個互連
網就是一組通過相同協議族互連在一起的網路,
構造互連網最簡單的方法是把兩個或多個網路通過路由器進行連接,它是一種特殊的用
于網路互連的硬體盒,路由器的好處是為不同型別的物理網路提供連接:以太網、令牌環網、
點對點的鏈接和 F D D I(光纖分布式資料介面)等等
TCP/IP 的分層

互聯網的地址

域名系統
盡管通過 I P 地址可以識別主機上的網路介面,進而訪問主機,但是人們最喜歡使用的還
是主機名,在 T C P / I P 領域中,域名系統( D N S)是一個分布的資料庫,由它來提供 I P 地址和
主機名之間的映射資訊,
現在,我們必須理解,任何應用程式都可以呼叫一個標準的庫函式來查看給定名字的主機
的 I P 地址,類似地,系統還提供一個逆函式 — 給定主機的 I P 地址,查看它所對應的主機名,
大多數使用主機名作為引數的應用程式也可以把 I P 地址作為引數,例如,
封裝
當應用程式用 T C P 傳送資料時,資料被送入協議堆疊中,然后逐個通過每一層直到被當作
一串位元流送入網路,其中每一層對收到的資料都要增加一些首部資訊(有時還要增加尾部
資訊),該程序如圖 1 - 7 所示,T C P 傳給 I P 的資料單元稱作 T C P 報文段或簡稱為 T C P 段(T C P
s e g m e n t),I P 傳給網路介面層的資料單元稱作 I P 資料報(IP datagram),通過以太網傳輸的位元
流稱作幀(Fr a m e ),

分用
當目的主機收到一個以太網資料幀時,資料就開始從協議堆疊中由底向上升,同時去掉各
層協議加上的報文首部,每層協議盒都要去檢查報文首部中的協議標識,以確定接收資料的
上層協議,這個程序稱作分用(D e m u l t i p l e x i n g),圖 1 - 8 顯示了該程序是如何發生的,

客戶-服務器模型
大部分網路應用程式在撰寫時都假設一端是客戶,另一端是服務器,其目的是為了讓服
務器為客戶提供一些特定的服務,
埠號
前面已經指出過,T C P 和 U D P 采用 16 bit 的埠號來識別應用程式,那么這些埠號是如
何選擇的呢?
服務器一般都是通過知名埠號來識別的,例如,對于每個 T C P / I P 實作來說,F T P 服務
器的 T C P 埠號都是 2 1,每個 Te l n e t 服務器的 T C P 埠號都是 2 3,每個 T F T P (簡單檔案傳送協
議)服務器的 U D P 埠號都是 6 9,任何 T C P / I P 實作所提供的服務都用知名的 1 ~ 1 0 2 3 之間的端
口號,這些知名埠號由 I n t e r n e t 號分配機構(Internet Assigned Numbers Authority, IANA)
來管理,
標準化程序
究竟是誰控制著 T C P / I P 協議族,又是誰在定義新的標準以及其他類似的事情?事實上,
有四個小組在負責 I n t e r n e t 技術,
- Internet 協會(I S O C,Internet Society)是一個推動、支持和促進 I n t e r n e t 不斷增長和發
展的專業組織,它把 I n t e r n e t 作為全球研究通信的基礎設施, - Internet 體系結構委員會(I A B,Internet Architecture Board)是一個技術監督和協調的
機構,它由國際上來自不同專業的 1 5 個志愿者組成,其職能是負責 I n t e r n e t 標準的最后編輯和
技術審核,I A B 隸屬于 I S O C, - Internet 工程專門小組(I E T F,Internet Engineering Task Force)是一個面向近期標準的組
織,它分為 9 個領域(應用、尋徑和尋址、安全等等),I E T F 開發成為 I n t e r n e t 標準的規范,為幫
助 IETF 主席,又成立了 Internet 工程指導小組(IESG, Internet Engineering Steering Group), - Internet 研究專門小組(IR I F,Internet Research Task Force)主要對長遠的專案進行研究,
I RT F 和 I E T F 都隸屬于 I A B,文獻[Crocker 1993]提供了關于 I n t e r n e t 內部標準化行程更為詳
細的資訊,同時還介紹了它的早期歷史,
RFC
所有關于 I n t e r n e t 的正式標準都以 R F C(Request for Comment)檔案出版,另外,大量的
R F C 并不是正式的標準,出版的目的只是為了提供資訊, R F C 的篇幅從 1 頁到 2 0 0 頁不等,每
一項都用一個數字來標識,如 RFC 11 2 2,數字越大說明 R F C 的內容越新,
互聯網
在圖 1 - 3 中,我們列舉了一個由兩個網路組成的互聯網 — 一個以太網和一個令牌環網,
在 1 . 4 節和 1 . 9 節中,我們討論了世界范圍內的互聯網 — I n t e r n e t,以及集中分配 I P 地址的需要
(I n t e r N I C),還討論了知名埠號( I A N A),i n t e r n e t 這個詞第一個字母是否大寫決定了它具
有不同的含義,
i n t e r n e t 意思是用一個共同的協議族把多個網路連接在一起,而 I n t e r n e t 指的是世界范圍內
通過 T C P / I P 互相通信的所有主機集合(超過 1 0 0 萬臺),I n t e r n e t 是一個 i n t e r n e t,但 i n t e r n e t 不等
于 I n t e r n e t,
實作
既成事實標準的 T C P / I P 軟體實作來
自于位于伯克利的加利福尼亞大學的計
算機系統研究小組,從歷史上看,軟體
是隨同 4.x BSD 系統(Berkeley Software
D i s t r i b u t i o n)的網路版一起發布的,它
的源代碼是許多其他實作的基礎
應用編程介面
使用 T C P / I P 協議的應用程式通常采用兩種應用編程介面( A P I):s o c k e t 和 T L I(運輸層接
口:Transport Layer Interface),前者有時稱作“Berkeley socket”,表明它是從伯克利版發展
而來的,后者起初是由 AT & T 開發的,有時稱作 X T I(X / O p e n 運輸層介面),以承認 X / O p e n 這
個自己定義標準的國際計算機生產商所做的作業, X T I 實際上是 T L I 的一個超集,
小結
T C P / I P 協議族分為四層:鏈路層、網路層、運輸層和應用層,每一層各有不同的責任,
在 T C P / I P 中,網路層和運輸層之間的區別是最為關鍵的:網路層( I P)提供點到點的服務,
而運輸層(T C P 和 U D P)提供端到端的服務,
一個互聯網是網路的網路,構造互聯網的共同基石是路由器,它們在 I P 層把網路連在一
起,第一個字母大寫的 I n t e r n e t 是指分布在世界各地的大型互聯網,其中包括 1 萬多個網路和超
過 1 0 0 萬臺主機,
在一個互聯網上,每個介面都用 I P 地址來標識,盡管用戶習慣使用主機名而不是 I P 地址,
域名系統為主機名和 I P 地址之間提供動態的映射,埠號用來標識互相通信的應用程式,服
務器使用知名埠號,而客戶使用臨時設定的埠號,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/93538.html
標籤:其他
