490 likes | 746 Views
TCP/IP 簡介. 靜宜大學資工系 蔡奇偉 2006. 大綱. 網際網路管理機構 網際網路標準 TCP/IP 協定組 定址方式 (Addressing) TCP/IP 版本 連接裝置. 網際網路管理機構. ISOC 官方網站: http://www.isoc.org/. 網際網路協會 (ISOC). 全名是 Internet Society 1992 成立 提供網際網路規範的標準化及技術支援 鼓勵從事與網際網路相關的學術研究. 網際網路架構委員會 (IAB). 全名是 Internet Architecture Board
E N D
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)
應用層 傳輸層 網路層 鍵結層 Telnet, FPT, e-mail 等等 TCP, UDP IP, ICMP, IGMP 網路介面卡和驅動程式 階層式架構 TCP/IP 由數個分屬於不同層級之協定所組成。TCP/IP 一般都認為是具有四個層次的系統:
鍵結層 (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