计算机软件及应用TCPIPProtocolSuiteCh课件_第1页
计算机软件及应用TCPIPProtocolSuiteCh课件_第2页
计算机软件及应用TCPIPProtocolSuiteCh课件_第3页
计算机软件及应用TCPIPProtocolSuiteCh课件_第4页
计算机软件及应用TCPIPProtocolSuiteCh课件_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Chapter 8網際網路通訊協定目標本章結束後,您將能夠:了解資料包的格式和欄位了解為什麼需要分段及相關的欄位了解 IP 資料包中可獲得的各種選項可以去執行檢查碼的計算了解 IP 套件中的各模組及其交互運作的情況 8.1 資料包在 IP 層的封包稱為資料包 ( datagram ),為一不固定長度的封包,包括標頭 ( header ) 及資料 ( data ) 這兩個部分。標頭有 20 到 60 個位元組長,包含傳送路徑的重要訊息。 在第四版的 IP 中,優先權欄位並未被使用。 請注意:總長度欄位定義了資料包的總長度,包括標頭。請注意:範例1某一個到達的 IP 封包,其最前面 8 個位元為:

2、 01000010接收者會移除該封包,為什麼? 解答此封包中有錯誤。最左的 4 位元 ( 0100 ) 代表版本,這部分正確。後面 4 位元 ( 0010 ) 代表標頭長度為 2 4 = 8 位元組,這是錯誤的,因為最小的標頭長度,需為 20 位元組,這封包在傳輸過程已經被破壞。 範例2某 IP 封包其 HLEN 為 1000 ( 二進制 ),請問此封包攜帶多少位元組的選項? 解答HLEN 之值為 8,代表標頭的總長為 8 4 = 32 個位元組。最前面的 20 個位元組為主要標頭,剩下的 12 個位元組為選項。 範例3某 IP 封包其 HLEN 之值為 ( 5 )16,總長度欄之值為 ( 0

3、028 )16,請問此封包攜帶多少資料? 解答HLEN 之值為 5,表示標頭為 5 4 = 20 位元組 ( 無其他選項 ),總長度欄位的值為 40 個位元組,代表資料長度為 ( 40 20 ) = 20 個位元組。 範例4某一個到達的 IP 封包,其前面幾個位元組以十六進制表示為:4500 0028 0001 0000 0102 .請問這個封包還可以經過幾個路由器,而不會被移除?其資料屬於哪一種上層通訊協定? 解答要找到 TTL 值,我們要跳 8 個位元組,TTL 在第 9 位元組為01,表示這個封包只能再漫遊一個站台。通訊協定欄為 TTL的下一個位元組,其值為 02 表示上層的協定是 IG

4、MP ( 見表8.4 )。 8.2 分段一個訊框 ( frame ) 的格式與大小取決於該訊框所使用的實體網路通訊協定。一個資料包可能需要被分段 ( fragment ) 來符合該通訊協定的規定。 本節所討論的主題包括: 最大傳輸單元 ( MTU ) 與分段有關的欄位 範例5某個到達的封包,其 M 位元值為 0。請問它是第一個片段,或是最後一個片段,或是中間的片段?我們是否能知道此封包有沒有被分段過? 解答如果 M 位元為 0 ,代表沒有其他片段,這是最後一個片段。但是我們無法判斷原來的封包是否被分段過。 範例6某個到達的封包,其 M 位元值為 1。請問它是第一個片段,或是最後一個片段,或是中

5、間的片段?我們是否能知道此封包有沒有被分段過? 解答如果 M1 表示至少還有 1 個片段,目前這個片段可能是第一或是中間的一個片段,我們不知道這是第一個或是中間的。不過可以肯定的是原來的封包有被分段過,因為 M 為 1。 範例7某個到達的封包,其 M 位元值為 1,分段差量值為 0。請問它是第一個片段,或是最後一個片段,或是中間的片段? 解答因為 M1,所以,不是第一個片段就是中間的片段。因為分段差量值為 0,所以它是第一個片段。 範例8某個到達的封包,其分段差量值為 100。請問它的第一個位元組的編號為何?我們是否能知道最後一個位元組的編號為何? 解答要找到第一個位元組的編號,需將分段差量值

6、乘以 8。所以第一個位元組的編號為 800。我們無法知道最後一個位元組的編號,除非我們知道資料的長度。 範例9某個到達的封包,其分段差量值為 100,HLEN值為 5,長度欄之值為 100。請問它的第一個位元組和最後一個位元組的編號為何? 解答第一個位元組的編號為100 8 800。因為總長度為 100 位元組,而標頭長度為 5 4 = 20 位元組,所以表示資料為 80 個位元組。第一個位元組的編號為 800,因此最後一個位元組的編號為 879。 8.3 選項IP 資料包的標頭可分為兩個部分,分別是固定的部分及可變的部分。可變的部分所包含的選項 ( option ) 可達 40 個位元組長。

7、本節所討論的主題包括: 格式 選項種類 範例10在 IP 標頭的 6 個選項中,有哪些必須拷貝到每一個片段? 解答檢查每個選項之命令碼的第一個位元 ( 最左邊那個位元 )。無動作:命令碼為000000001;不用拷貝。選項結束:命令碼為00000000;不用拷貝。記錄路由:命令碼為00000111;不用拷貝。嚴格受控來源端路由:命令碼為10001001;要拷貝。寬鬆受控來源端路由:命令碼為10000011;要拷貝。時間戳記:命令碼為0100100;不用拷貝。 範例11在 IP 標頭的 6 個選項中,有哪些是作為資料包控制用,有哪些用來作為偵錯及管理用? 解答檢查每個選項之左邊的第二及第三位元。

8、無動作:命令碼為000000001;資料包控制。選項結束:命令碼為00000000;資料包控制。記錄路由:命令碼為00000111;資料包控制。嚴格受控來源端路由:命令碼為10001001;資料包控制。寬鬆受控來源端路由:命令碼為10000011;資料包控制。時間戳記:命令碼為0100100;偵錯及管理。 範例12在 UNIX 的系統工具中,有一個稱為 ping 的指令可以讓我們檢查 IP 封包的漫遊動作。我們會在下一章討論 ping 程式的細節,在這個範例中,我們先說明如何使用 ping 程式來檢查某個主機是否存在網路上。我們 ping 一台位於 De Anza College 的伺服器,名

9、稱為 。結果顯示此主機的 IP 位置為。 結果也顯示了使用的位元組個數。 範例13我們可以在使用 ping 指令時加上 R 的選項,來執行記錄路由。 結果也顯示了介面及 IP 位址。 範例14在 UNIX 的系統工具中,traceroute 程式也可以使用來追溯某個封包的路徑選擇。 結果顯示了所經過的 3 個路由器。 範例15traceroute 程式也可以使用來執行寬鬆受控來源端路由。選項 g 可能讓我們定義從來源端到目的端之間所要經過的路由器。下面說明了我們可以傳送一個封包到 伺服器,並要求此封包要經過 IP 位址為 153.18.25

10、1.4 的路由器。 範例16traceroute 程式也可以使用來執行嚴格受控來源端路由。選項 G 強迫此封包要經過定義在命令列中的路由器。下面說明了我們可以傳送一個封包到 伺服器,並強迫此封包只能經過 IP 位址為 的路由器。 8.4 檢查碼TCP/IP 通訊協定組之中,大部分的通訊協定所使用的錯誤偵測方法稱為檢查碼 ( checksum )。檢查碼是針對封包在傳輸過程中可能遭受破壞所使用的一種保護措施。檢查碼算是封包所加入的一些多餘的訊息。本節所討論的主題包括: 傳送端檢查碼的計算 接收端檢查碼的計算 IP 封包使用的檢查碼傳送端計算檢查碼的步驟: 將封包分成 k 個段落,每個段落有 n 個位元。 將所有的段落以 1 的補數運算的方法加起來。 再求上面結果的補數值即為檢查碼。 請注意:範例17圖8.24 說明 IP 標頭的檢查碼計算過程,這個 IP 標頭沒有選項欄,標頭被分成數個 16 位元的段落,各段落被加總起來,然後再求其補數,最後的結果填入檢查碼的欄位。 接下一張投影片範例18接下一張投影片讓我們以十六進制再做一次。每一列有 4 個十六進制數字,首先我們計算總和的部份。注意如果所加的結果超過一個數字的大小,要進位到左邊的數字。將總和的部份做補數運算以求檢查碼,因為我們是以十六進制計算,所以 E 的補數

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论