TCP/IP 簡介

Post on 12-Jan-2016

73 views 3 download

description

TCP/IP 簡介. 靜宜大學資工系 蔡奇偉 2006. 大綱. 網際網路管理機構 網際網路標準 TCP/IP 協定組 定址方式 (Addressing) TCP/IP 版本 連接裝置. 網際網路管理機構. ISOC 官方網站: http://www.isoc.org/. 網際網路協會 (ISOC). 全名是 Internet Society 1992 成立 提供網際網路規範的標準化及技術支援 鼓勵從事與網際網路相關的學術研究. 網際網路架構委員會 (IAB). 全名是 Internet Architecture Board - PowerPoint PPT Presentation

Transcript of TCP/IP 簡介

TCP/IP 簡介

靜宜大學資工系蔡奇偉2006

大綱 網際網路管理機構 網際網路標準 TCP/IP 協定組 定址方式 (Addressing) TCP/IP 版本 連接裝置

網際網路管理機構

ISOC 官方網站: http://www.isoc.org/

網際網路協會 (ISOC)

全名是 Internet Society

1992 成立 提供網際網路規範的標準化及技術支援 鼓勵從事與網際網路相關的學術研究

網際網路架構委員會 (IAB)

全名是 Internet Architecture Board

是 ISOC 的技術顧問團 管理 TCP/IP 的持續發展,為網際網路研

究成員提供技術諮詢。 編輯與管理 RFC

和其他訂定標準的組織或論壇的溝通橋樑

網際網路工程工作群 (IETF)

全名是 Internet Engineering Task Force

網際網路工程主控組 (Internet Engineering

Steering Group, IESG) 所管理的工作群。 找出網際網路運作上的問題且提出解決方案。 制定和審查可能成為網際網路標準的各種規範。

際網路研究工作群 (IRTF)

全名是 Internet Research Task Force

由網際網路研究主控組 (Internet Research

Steering Group, IRSG) 管理。 致力於長期性的研究工作,如有關於網際

網路的協定、應用、架構及相關科技。

網際網路標準際網路所使用的標準經過仔細的測試,網路上的作業必須遵守。一個規範要成為網際網路 的標準需要經過相當嚴謹的審查過程。一開始規範是以網際網路草約 (Internet drafts)

的身份存在。一個網際網路草約為一進行中的文件,不具有官方身份且僅有六個月的效力。經由網際網路管理當局的推薦,草約以「要求建議」 (Request for comment, RFQ) 的形式發表。每份 RFC 都被分配一個號碼,任何有興趣的人都可以免費取得。

網站: http://www.rfc.net 或 http://

www.faqs.org/rfcs/

RFC 的成熟層級一份 RFC 在其有效期問內,可在建議標準 (proposed standard) 、準標準 (draft standard) 、網際網路標準 (Intemet standard) 、已成歷史 (historic) 、實驗性 (experimental) 及資訊性 (informational) 六種成熟層 (maturity levels) 中的一層 ( 如下圖 ) 。

See: RFC 2026

建議標準

是一份穩定且廣為人知的規範,網際網路使用者對它有很大的興趣。在這個層次,通常有很多團體實現及測試這個規範。

準標準

一份建議標準要經過至少兩個不一樣的實現,成功後升為準標準。準標準在解決問題後,通常就可成為網際網路的標準。

網際網路標準

標準在成功驗證後即成為網際網路標準。

歷史文件

具有歷史性的意義。它可能是被後來的標準所取代,或者根本無法成為網際網路標準。

實驗性

一份實驗性的 RFC 主要描述一些實驗,這些實驗不會影響到網際網路的運作。不可以將實驗性的 RFC 做到任何網際網路的服務內。

資訊性

一份資訊性的 RFC 通常描述網際網路的概況、歷史或與教學相關的訊息。通 常為非網際網路組織的人(或廠商)所撰寫。

RFC 的需求層級 需要 (required)

被實現在所有的網際網路系統內才能達到最低的符合條件。例如 IP 及 ICMP 等。

推薦 (recommended) 需要實現在所有系統內,但是它有些特定用途, 所以被推薦使用。

例如 FTP 及 TELNET 等。 選擇 (elective)

非需要也非推薦,不過系統可以自己使用它。 有限度使用 (limited use)

只用在測試。大多實驗性的 RFC 屬於這個分類。 不推薦 (not recommended)

不適合一般用途,如一個已成歷史不用的 RFC 就屬於這個分類。

TCP/IP 協定組 階層式架構

鍵結層 (Link Layer)網路層 (Network Layer)傳輸層 (Transport Layer)應用層 (Application Layer)

分層架構 封裝 (Encapsulation) 解多工 (Demultiplexing)

階層式架構TCP/IP 由數個分屬於不同層級之協定所組成。 TCP/IP

一般都認為是具有四個層次的系統:

應用層

傳輸層

網路層

鍵結層

Telnet, FPT, e-mail 等等

TCP, UDP

IP, ICMP, IGMP

網路介面卡和驅動程式

鍵結層 (Link Layer)

又稱為資料鏈結層 (Data-Link Layer) 或網路介面層 (Network Interface Layer) 。

包含了作業系統內的裝置驅動程式,以及在電腦中相對應的網路介面卡。

處理由傳輸媒介(如纜線或無線電波)連接的所有硬體問題。

網路層 (Network Layer)

又稱為網際網路層。 處理封包在網路中的傳送。例如,封包的路

由 (Routing) 。 包含下列協定:

IP (Internet Protocol)

ARP (Address Resolution Protocol)

RARP (Reverse Address Resolution Protocol)

ICMP (Internet Control Message Protocol)

IGMP (Internet Group Manage Protocol)

網際網路協定 (lP)

• 是 TCP/IP 使用的傳輸機制。以資料包 (datagram) 方式傳遞。• 非可靠性、非預接式的資料包協定。• 不提供錯誤檢查或追縱,也不一定保證傳到。• 各別的資料包被分別傅送。• 資料包可能經過不同的路徑、不按順序到達,或被重複傳送。• 不負責把接收到的資料包組合成原本的順序。

然而 IP 上述的限制不應被視為缺點,而是讓使用者自由加入所 要的功能,並獲得較高的效率。

位址解析協定 (ARP)

用來找 出與 IP 位址搭配的實體位址。在一個 LAN 般的實體網路上,網路上的電腦用一個實體位址來認定,這個位址通常在網路卡上。當只知道 IP 位址時, ARP 是用來找出使用這個 IP 位址的電腦的實體位址。

反向位址解析協定 (RARP)

以讓一台只知道自已實體位址的主機去找到它的 IP 位址。此協定用於電腦第一次接到網路上時或無硬碟電腦開機時。

網際網路控制訊息協定 (ICMP)

一台電腦或是閘道器 (gateway) 可以用 ICMP 協定將資料包傳送問題回報給其送出者。 ICMP 傳送詢問及錯誤報告訊息。

際網路群組訊息協定 (lGMP)

將一個訊息伺時傳送給一群接收者。

傳輸層 (Transport Layer)

提供應用層級的主機 (Host) 間資料流。 包含兩個協定:

TCP (Transmission Control Protocol 傳輸控制協定 )

UDP (User Datagram Protocol 使用者資料報協定 )

TCP

提供了兩個主機間可靠的資料流。如將應用程式傳過來的資料分割成適當的大小,再傳給網路層;收到封包時發出確認收到的信號;設定逾時時間 (Time out) ,以確定另一端已送出確認收到的信號等。因為這些可靠的資料流是由傳輸層所提供,所以應用層可以忽略這些細節。

UDP

以另一種方式來對應用層提供較簡單的服務。它僅由一台主機送出稱為資料報 (datagram) 的資料封包到另一台主機,但是並不保證送出的資料報能夠到達目標主機。如果需要較高的可靠度,則必須由應用層的程式負責處理。

應用層 (Application Layer)

處理特殊應用程式的細節。例如:Telnet ,遠端登入 (Remote Login)

FTP ,檔案傳輸協定 (File Transfer Protocol)

SMTP ,簡易郵件傳輸協定 (Simple Mail

Transfer Protocol)

SNMP ,簡易網路管理協定 (Simple Network

Management Protocol)

範例: FTP 應用程式

(Textbook p. 4)

TCP/IP 的分層架構 TCP/IP 是一種階層式的協定,由提供特定功能的互動模組 (interactive module)

組成,不過這些模組並不是互有關聯。可依系統需求加以混合搭配使用。所謂的階層式 (hierarchical) 是指每一個較高階層的協定是由一個或多個較低分層的協定所支援。

封裝 (Encapsulation)

一個應用程式以 TCP 送出資料時,在協定堆疊中資料會往下送,通過每一層,直到資料以位元流 (stream of bits) 的型式透過網路傅送出去。每一層都會把一些資訊加入它所收到之資料的標頭裏(有時候會將資訊加到資料的最後面)。如此疊加標頭的方式稱之為封裝。

解多工 (Demultiplexing)

目的主機接收到傳送過來的乙太網路框架時,立即進入協定堆疊,所有的標頭即由適當的協定方塊 (protocol box)

取走。而每個協定方塊即在其擁有的標頭中尋找特定的辨識元,以決定接著要將資料傳送給上層中的哪個協定方塊。此即稱為解多工。

定址方式 (Addressing)

用 TCP/IP 協定的網路位址分為以下三個層次:• 實體位址 (physical address)

• 網際網路位址 (internet address)

• 通訊埠位址 (port address)

實體位址

連接層位址,是在 LAN 或 WAN 裡一個節點 ( 電腦 )

的位址。 實體位址的長度與格式依實體網路的不同而不同。例如:

乙太網路使用 48 bits 的固定位址。 LocalTalk 使用 8 bits 的浮動位址。

實體位址可以是單點型 (unicast) 、群播型 (multicast) 或廣播型 (broadcast) 。

網際網路位址 (IP位址 )

實體位址並不適用於網際網路的環境,因為其中不同實體網路會有不同的位址格式,所以需要一種通用的位址系統來辨認網路上的主機,且不用管其下的實體網路位址是什麼。

IP 位址就是為了這個目的而設計的。一個 IP 位址目前是 32位元,可以用來代表一台連到網際網路上的電腦。在網際網路上不可以有兩台電腦使用相同的 IP 位址。

IP 位址可以是單點型(只有一個接收者)、群播型(一群接收者)或是廣播型(網路上所有 系統)。

通訊埠位址

在網際網路上,資料通訊的最終目的並不止於目的端主機,而是目的端主機執行的程序 (procedures) 。

現在的電腦允許多個程序在同一時間內執行。譬如,電腦 A

與電腦 C 使用 Telnet 通訊,同時電腦 A 和電腦 B 用 FTP 傳輸協定通訊。因此,我們得找出一種方法來標示不同的程序,換句話說,要給程序一個位址,稱之為通訊埠位址。TCP 和 UDP 都用 16 位元的通訊埠位址。

IANA (Internet Assigned Numbers Authority) 將埠號分成三個範圍,分別是:

公認埠 (Well-known ports)

範圍從 0 到 1,023 ,都由 IANA 指定與管理這些公認埠號。

註冊埠 (Registered ports)

範圍由 1,024 到 49,151 須向 IANA 註冊以避免被重複使用。

動態埠 (Dynamic ports)

範圍由 49,152 到 65,535 不受 lANA 控制也不用註冊,任何程序都可使用,這些號碼為短暫埠號。

在大多數 Unix 系統中,公認埠存在檔案 /etc/services 裡。要得知提供給 Telnet 伺服器及網域名稱伺服器的連接埠號, 可以執行指令:

sun % grep telnet /etc/services

telnet 23/tcp 說明它使用 TCP 連接埠 23

sun % grep domian /etc/services

domain 53/udp 說明它使用 UDP 連接埠 53

domain 53/tcp 以及使用 TCP 連接埠 53

您或許注意到,這些標準的服務以及其他標準 TCP/IP 服務 (Telnet,FTP,SMTP 等 ) 的連接埠號,大多是奇數。這是約定俗成的,因為這些連接埠號都是由 NCP 連接埠號所發展出來 的。 NCP 網路控制協定 (the Network Control Protocol) 是在TCP 之前發展出來的,為 ARPANET 的傳輸層協定。 NCP

是單向的, 不是雙向的,所以每一個應用程式需要有兩個連接,而且要為 一個應用程式保留一個偶 -奇對的連接埠號。當 TCP

及 UDP 成標準的傳輸層時,每一個應用程式只需保留一個連接埠號, 所以就採用 NCP 的奇數連接埠號。

TCP/IP 版本TCP/IP 在 1983 年成為網際網路的官方協定。隨著網際網路的演變, TCP/IP 出現過六個版本。目前最流行的是第四版,而第六版將成為下一世代的新標準。

第四版

網際網路上現在大都使用第 4 版,然而這個版本有一些嚴重的缺點。最大的間題在於 IP 位址只有 32 位元,這個位址被分成很多等級。隨著網際網路的快速發展, 32 位元已無法應付未來的使用者人數。另外,位址空間被分成不同等緞,進一步限制了能用的位址數。

第 6 版

IETF 設計的新版稱第 6 版。這個版本改變了網路層的協定,IPv4 變成 lPv6、 lCMPv4 變成 ICMPv6, IGMP及 ARP 合併到 ICMPv6 ,而 RARP 被刪除掉。 IPv6 也稱一 IPng ( 下一代 IP) 用了 128 位元位址。相對於目前的 32 位元, IPv6 可以容納更多的使用者。 IPv6 的封包被簡化,然而同時也更具彈性,允許未來加入新的功能。

新版在網路層支援認證、資料完整性、及保密性。新版支援即時的資料傳輸,包括聲音、 影像,而且可以傳送來自其它協定的資料, IPv6 在處理擁塞及尋找路徑的問題上比目前來得好。

連接裝置網際網路是由很多 LANs 和 WANs 組成,因此要有方法,將 LANs 和 WANs 連接在一起。這些連接工具稱為連接裝置 (connecting devices) 。我們討論五種連接裝置:

• 再生器 (Repeater)

• 集線器 (Hub)

• 橋接器 (Bridge)

• 路由器 (Router)

• 交換器 (Switch)

再生器再生器只運作在實體層。在網路內,訊號攜帶傳輸訊息,在旅行一段固定距離後會衰減,進而影響到資料的完整性。再生器在訊號變得太弱或損壞掉之前收到訊號,接著重新產生原來的位元。之後,再生器送出這些被更新的訊號。再生器能夠延伸網路的實際有效範圍。

集線器集線器 (Hub) 事實上為多埠的再生器,通常以星型方式連接各個站台。例如: 10BASE-T 乙太網路用集線器線的方式實現。集線器可以用來建立階層的架構。以集線器做階層式安排,可以移除 10BASE-T 的長度限制。

注意,整個網路依然只是一條單一的 LAN 。這個網路依舊被視為匯流排,因為如果某站送出封包,其他各站都收得到。

橋接器橋接器 (Bridge) 運作在實體層與資料連接層。就實體層而言,橋接器重新產生它收到的訊號。就資料連接層而言,橋接器可以檢查封包內的實體位址 ( 來源及目的地 ) 。注意,橋接器跟再生器一樣,沒有實體位址 (physical address) 。橋接器的功能如同一個過濾器,而不僅僅是原來訊息的送出者。

橋接器有過濾 (Filtering) 的功能。它可以檢查封包的目的位址,並決定封包要被前送或丟棄。如果封包是要被前送,這個決定要設定在介面裡。橋接器有一張表,紀錄位址與介面的對應關係。

路由器路由器 (Router) 是一個三層裝置,運作在實體層、資料連接層、與網路層。在實體層,路由器重新產生收到的訊號。在資料連接層,路由器檢查封包內的實體位址。在網路層,路由器檢查網路層的位址 ( 即 IP 層位址 ) 。

一個路由器可以將數個 LAN 連接在一起:路由器也可以將數個 WAN 連接在一起。換言之,路由器是一種互連裝置,它將獨立的網路連接在一起,以形成一個互連網路。依照這個定義,兩個網路 (LANs 或 WANs) 用路由器連接後,形成一個互連網路。

路由器與再生器或橋接器間有很多不同點 :

1. 路由器的每個介面,都有其實體位址與邏輯位址 (IP 位址 ) 。

2. 路由器只處理封包的目的位址與封包到達的介面位址相同 的封包。這對單點傳送、群播、或廣播位址都適用。

3. 路由器轉送封包之時,會改變封包的實體位址,包括來源 及目的位址。

交換器第二層交換器 (Two-Layer Switch) 是具有很多介面的橋接器,可以有較好的效能。只有幾個介面的橋接器,可以將LAN 的分段連接在一起。若是橋接器有多個介面,就可以每站分到一個介面,如此好比一個站台獨立成為一個分段,這樣子,就沒有競爭性的交通。

第三層交換器 (Three-Layer Switch) 是一種路由器,使用了更好的設計方案以提昇效能。第三層交換器在封包接收、處理、送出介面的能力,比功能性相同的傳統路由器快很多。

相關網站http://zh.wikipedia.org/wiki/RFC

http://en.wikipedia.org/wiki/Request_for_Comments