Chapter 2 網路概述 4. 範圍不超過 4 公里以上 5. 輕易地支援百個以上的終端設備 6. 高效率的使用 7. 適用於不同的傳輸線路及訊號 2-3 網路的拓樸 (Topology) 拓樸是指網路節點 (node) 實際的或邏輯的連接形式 ; 實際的拓樸 (physical topology): 指真正網路上的實際佈線或各節點分佈情形, 邏輯的拓樸 (Logical Topology) 是形容網路上資料的流通 區域網路上的拓樸一般較流行的有四種形式, 分別是 : 匯流排拓樸 (bus topology) 環狀拓樸 (ring topology) 星狀拓樸 (star topology) 混合的拓樸 (hybrid topology) 1. 匯流排拓樸 (Bus topology) 如下圖 : 2-4
Chapter 2 網路概述 3. 星狀拓樸 (Star topology) 如下圖 : 星狀拓樸是每一台電腦連接到中心點而呈現由中心向外放射狀 其中心處往往是伺服器再加上集線器 (hub), 其他的電腦都連接至集線器上, 集線器原本是用來幫助工程師解決乙太 (Ethernet) 網路的問題, 現在已發展成多功能的設備 使用星狀拓樸的有星狀區域網路 (star network) 和 IEEE 802.3 的 10 base T 網路 4. 混合的拓樸 (Hybrid topology) 混合的拓樸就是由前三種不同的拓樸組合而成或多項組合而成 用來作成多種拓樸的最佳化, 而形成區域網路 LAN 大都會網路 MAN 和廣域區域 WAN 都適用 在現今, 不外乎是上述各種網路拓樸的形態, 了解網路的拓樸有助於我們管理網路, 更能幫助我們達到網路故障排除的目的 2-6
Chapter 4 Network Access Layer( 網路存取層 ) 4-1 網路存取層 Network Access Layer( 網路存取層 ) 是負責資料的連結和傳送, 其所在的位 置和對應的協定如下圖 : 我們可以很清楚看到 DoD 模式的網路存取層 (Network Access) 對應到 ISO/OSI 7 層中的第一層實體層和第二層資料連結層 而對應到 TCP/IP 協定中, 則可以使用的有 Ethernet Token Ring 等等的介面, 而我們最常接觸到的介面是 Ethernet( 乙太網路 ), 最常用的就是乙太網路的介面卡 ( 網路卡的一種 ), 這些常用的介面 ( 建構區域網路用的 ) 所遵循的是電機電子學會 (IEEE) 系統的標準,IEEE(Institute of Electrical & Electronic Engineers) 比 ISO 的 OSI 組織早好幾年成立運作 而 IEEE 系列有很多標準, 對區域網路而言, 所遵循的是 IEEE 802 系列 IEEE 802 委員會成立於 1980 年, 以制定區域網路的介面和協定標準化為努力的方向 由下圖可以十分清楚看到 IEEE 802 系列標準正好對應到 ISO 的 OSI 第一層至第三層, 分別為實體層 資料連結層及網路層 4-2
Chapter 5 Internetwork Layer 網際網路層 ( 含 IP ICMP ARP RARP) 5-1 簡介 Internetwork Layer( 網際網路層 ) 對應到 TCP/IP 協定的有 Internet Protocol (IP) 網際網路協定,Internet Control Message Protocol(ICMP) 網際網路控制訊息協定,Address Resolution Protocol(ARP) 位址解析協定和 Reverse Address Resolution Protocol(RARP) 反向位址解析協定, 我們將一一介紹這些協定 5-2 Internet Protocol(IP) 網際網路協定 網際網路協定的主要功能 Internet Protocol 網際網路協定, 簡稱 IP 協定, 它和 TCP 協定是整個 TCP/IP 協定中最重要的部份, 而 TCP 協定又建構在 IP 協定之上, 由此便可以知道 IP 協定的重要性了 IP 協定主要是將資料流 (Datagram) 切割成適當的封包大小, 然後將這些封包透過選擇路徑, 利用不同的路徑來傳送封包到目的地 IP 協定的特性 IP 協定有二個很重要的特性 非連接性 (connectionless) 以及不可信賴性 (Unreliable) 非連接性 (connectionless) 是指透過 IP 協定處理後的資料封包皆是互相獨立的, 每個封包的傳輸路徑可以是完全不相同, 而且封包抵達的先後順序也沒有一定, 換句話說, 先送的封包不一定會最先到 不可靠性 (Unreliable) 則是指 IP 協定沒有提供對資料流 (Datagram) 在傳輸時的品質控制, 如錯誤偵測 重傳要求 流量控制 等, 也就是說, 封包在傳 5-2
Chapter 5 Internetwork Layer 網際網路層 ( 含 IP ICMP ARP RARP) 我們舉例如下 : <201.66.48.0 255.255.240.0> <195.1.0.0 255.255.0.0>. : 在處理網路位址的方式中,CIDR 與一般的網路位址處理方式最大的不同就是取消了分級的類別, 我們以 <201.66.48.0 255.255.240.0> 的 IP 位址為例子, 在分級的類別中, 是屬於 C 級位址, 所以會轉成處理 <203.66.48.0, 255.255.255.0> 的網路位址 在不分級的類別中, 則是會轉成處理 <201.66.48.0 255.255.240.0> 到 <203.66.48.0 255.255.240.0> 的網路位址, 很明顯地 CIDR 可以指定到較小規模的網路位址了 CIDR 的路徑處理在 CIDR 的位址配置中, 我們已經談過 CIDR 可以指定到較小規模的網路位址, 而 CIDR 的另一個重要目的, 就是要能減少路由表內的路徑數量, 以降低路由表的大小 這就需要路徑的 aggregation( 合計 ) 的功能, 意思是說, 多條路徑可以結合成單一路徑來表示, 以減少路由表內路徑的數量, 我們以下圖為例 : 5-26
5-2 Internet Protocol(IP) 網際網路協定 其中 R10 為骨幹路由器 R20 為連接到分點的路由器 R1~R14 為各分點的路由器我們配置 IP 位址,R1(201.66.49.0) 到 R14(201.66.62.0), 在 R20 的路由表中有 201.66.48.0~201.66.62.0 的路徑, 若是在 R10 和 R20 之間, 不使用 CIDR, 則 R10 也會有一樣多的路徑, 使用 CIDR 後, 則 R10 和 R20 之間可以 aggregate( 合計 ) 成 (201.66.48.0,255.255.240.0) 的單一路徑, 因此在 R10 中就減少 13 條路徑, 若是 R10 連接到 R30,R40 等等的路由器, 也是用相同的處理方式, 則 R10 使用 CIDR 的方式, 在路由表中可以減少路徑的數量就更可觀了 CIDR 的 aggregation( 合計 ) 的功能這麼強, 也這麼好, 但是在使用上還是有相當的限制, 否則就發揮不出應有的功能 CIDR 在使用上的目的是用來解決中型規模的企業網路位址問題, 所以在使用上, 我們建議如下 : 必須使用現在的 C 級 IP 位址 必須使用在連續性的 IP 位址 CIDR 的網路位址範圍一定是 2 的 n 次方之內在這樣的條件下, 才能發揮 CIDR 的最大功效 然而在許多的企業網路環境中, 並無法完全使用 CIDR, 例如 : 一家大型的企業網路是 multi-homed, 簡單地說, 也就是連接到多家的網際網路服務提供者 (ISP), 這時候, 不同的 ISP 之間, 很難有連續性的 IP 位址空間, 再加上彼此之間的商業競爭, 就更難使用 CIDR 的合計功能了 5-27
Chapter 5 Internetwork Layer 網際網路層 ( 含 IP ICMP ARP RARP) ICMP 協定的封包格式 ICMP 協定的封包, 如下圖 : ICMP 封包, 主要包含了以下幾個部份 Type:Message Type Field 訊息型態欄位, 占 8 位元, 用來表示 ICMP 訊息的型態, 共有 13 種型態, 訊息型態和對應的訊息說明, 如表 ICMP 1 表 ICMP 1 Type 值 ICMP 訊息說明 0 Echo Reply( 回聲答覆 ) 3 Destination Unreachable( 目的地無法到達 ) 4 Source Quench( 來源抑制 ) 5 Redrict( 更改方向 ) 8 Echo Request( 回聲要求 ) 11 Time exceeded( 逾時傳輸 ) 12 Parameter Problem message( 參數問題訊息 ) 13 Timestamp Request( 時間標籤要求 ) 14 Timestamp Reply( 時間標籤答覆 ) 15 Information Request( 資訊要求 ) 16 Information Reply( 資訊答覆 ) 17 Address mask Request( 位址遮罩要求 ) 18 Address mask Reply( 位址遮罩答覆 ) 5-42
Chapter 5 Internetwork Layer 網際網路層 ( 含 IP ICMP ARP RARP) Source Quench( 來源抑制 ) 其封包格式, 如下圖 : 變更傳輸路徑 Redirect(Type 5) 當網路上的主機或閘道器有所變動時, 則必須通知來源主機改變資料的傳輸路徑 Redirect( 更改方向 ) 其封包格式, 如下圖 : 其中, 訊息說明欄位是放入新閘道器的 IP 位址 而 Code 欄位, 則說明了更改路徑的原因, 如下所示 : 0: Redirect datagrams for the Net, 由於網路變動而更改資料傳輸路徑 1: Redirect datagrams for the Host, 由於主機變動而更改資料傳輸路徑 2: Redirect datagrams for the Type of Service and Net, 由於網路和服務型態的變動而更改資料傳輸路徑 3: Redirect datagrams for the Type of Service and Host, 由於主機和服務型態的變動而更改資料傳輸路徑 5-46
5-3 Internet Control Message Protocol(ICMP) 網際網路控制訊息協定 逾時傳輸訊息 Time Exceeded(Type 11) 當閘道器內的路徑表有錯誤發生造成迴圈 (cycle) 時, 資料封包會陷入此迴圈之中打轉, 而無法傳到正確的目的地, 為了避免造成這種現象, 須利用某種方式來限制封包的傳輸時間 利用 IP 封包中的 TTL(Time to Live) 存活時間欄位, 即可控制 當某閘道器收一個 IP 封包時, 將其 TTL 值減 1, 當發現某封包其 TTL 值為 0 時, 表示此封包可能因迴圈的問題, 使其在網路上傳送的時間過久, 因此, 閘道器會丟棄此可能陷入迴圈的封包, 並發出一個 ICMP 的 Time exceeded 訊息給來源主機 另外一個可能造成 Time exceeded 的原因是目的主機在組合分割封包 ( 由同一個資料流所分割的 ) 的時間超過 timeout 的時間設定值, 因此也視為傳輸失敗 Time Exceeded( 逾時傳輸 ) 的封包格式, 如下圖 : 其中,Code 欄位, 用來說明 Time Exceeded 的原因, 其值與說明如下 : 0: 表示是因迴圈問題所造成 1: 表示是因封包組合超過設定的時間 傳輸參數錯誤訊息 Parameter Problem(Type 12) 當閘道器發現其傳輸的 IP 封包內的某些欄位值錯誤, 使得無法正常處理此封包時, 閘道器會丟棄此封包, 並送出一個 ICMP 的 Parameter Problem 訊號給來源主機 5-47
Chapter 5 Internetwork Layer 網際網路層 ( 含 IP ICMP ARP RARP) RARP 的訊息格式 以乙太網路為例,RARP 的訊息是包含在其資料欄中, 其大小為 28 個 Bytes RARP_2 格式 5-6 ICMP 在 Wireshark 上的實作 我們以在 MS_DOS 模式下使用 Ping 指令為例, 實作前請先安裝 wireshark ( 請參閱附錄 C), 實作操作步驟如下 : 1. 執行 Wireshark, 並點選 [Capture] / [Options], 如下圖 : 5-56
5-6 ICMP 在 Wireshark 上的實作 2. 將所使用的網路介面卡打勾, 並雙擊所選擇介面進入介面設定, 如下圖 : 3. 接著在 [Capture Filter] 欄位輸入 :icmp( 英文小寫 ), 指定封包抓取的 過濾類型為 ICMP, 並點選 [OK], 如下圖 : 5-57
Chapter 5 Internetwork Layer 網際網路層 ( 含 IP ICMP ARP RARP) 4. 完成後點選 [Start], 開始擷取 ICMP 封包, 如下圖 : 5. 封包擷取畫面, 因還未使用到 ICMP 協定, 因此無封包擷取資料, 如下圖 : 5-58