指導老師:溫翔安 組員:溫允中 蕭積遠 陳昕暉 李雅俐 TCP/IP 的網路層相關封包與資料 指導老師:溫翔安 組員:溫允中 蕭積遠 陳昕暉 李雅俐
TCP/IP 的網路層相關封包與資料 ,我們知道 Internet 其實就是 TCP/IP 這個通訊協定的通稱,Internet 是由 InterNIC() 所統一管理的, 但其實他僅是負責分配 Internet 上面的 IP 以及提供相關的 TCP/IP 技術文件而已。不過 Internet 最重要的就是 IP 啊!
IP 封包的封裝 IP 封包可以達到 65535 bytes 這麼大,在比 MAC 大的情況下,我們的作業系統會對 IP 進行拆解的動作。至於 IP 封裝的表頭資料繪製如下: 4 bits 8 bits 3 bits 13 bits Version IHL Type of Service Total Length Identification Flags Fragmentation Offset Time To Live Protocol Header Checksum Source Address Destination Address Options Padding Data
各個表頭的內容分別介紹 1 Version(版本) 宣告這個 IP 封包的版本,例如目前慣用的還是 IPv4 這個版本就在這裡宣告。 IHL(Internet Header Length, IP表頭的長度) 告知這個 IP 封包的表頭長度,使用的單位應該是字組 (word) ,一個字組為 4bytes 大小喔。 Type of Service(服務類型) 這個項目的內容為『PPPDTRUU』,表示這個 IP 封包的服務類型,主要分為: PPP:表示此 IP 封包的優先度,目前很少使用; D:若為 0 表示一般延遲(delay),若為 1 表示為低延遲; T:若為 0 表示為一般傳輸量 (throughput),若為 1 表示為高傳輸量; R:若為 0 表示為一般可靠度(reliability),若為 1 表示高可靠度。 UU:保留尚未被使用。 舉例來說,gigabit 乙太網路的種種相關規格可以讓這個 IP 封包加速且降低延遲,某些特殊的標誌就是在這裡說明的。
各個表頭的內容分別介紹2 Total Length(總長度) 指這個 IP 封包的總容量,包括表頭與內容 (Data) 部分。最大可達 65535 bytes。 Identification(辨別碼) 我們前面提到 IP 袋子必須要放在 MAC 袋子當中。不過,如果 IP 袋子太大的話,就得先要將 IP 再重組成較小的袋子然後再放到 MAC 當中。而當 IP 被重組時,每個來自同一個 IP 的小袋子就得要有個識別碼以告知接收端這些小袋子其實是來自同一個 IP 封包才行。 也就是說,假如 IP 封包其實是 65536 那麼大 (前一個 Total Length 有規定), 那麼這個 IP 就得要再被分成更小的 IP 分段後才能塞進 MAC 訊框中。那麼每個小 IP 分段是否來自同一個 IP 資料,呵呵!那就是這個識別碼的功用啦! Flags(特殊旗標) 這個地方的內容為『0DM』,其意義為: D:若為 0 表示可以分段,若為 1 表示不可分段 M:若為 0 表示此 IP 為最後分段,若為 1 表示非最後分段。
各個表頭的內容分別介紹3 Fragment Offset(分段偏移) 表示目前這個 IP 分段在原始的 IP 封包中所佔的位置。就有點像是序號啦,有這個序號才能將所有的小 IP 分段組合成為原本的 IP 封包大小嘛!透過 Total Length, Identification, Flags 以及這個 Fragment Offset 就能夠將小 IP 分段在收受端組合起來囉! Time To Live(TTL, 存活時間) 表示這個 IP 封包的存活時間,範圍為 0-255。當這個 IP 封包通過一個路由器時, TTL 就會減一,當 TTL 為 0 時,這個封包將會被直接丟棄。說實在的,要讓 IP 封包通過 255 個路由器,還挺難的~ ^_^ Protocol Number(協定代碼) 來自傳輸層與網路層本身的其他資料都是放置在 IP 封包當中的,我們可以在 IP 表頭記載這個 IP 封包內的資料是啥, 在這個欄位就是記載每種資料封包的內容啦!
IP 在同一網域的意義 Net_ID 與 Host_ID 的限制: 在同一個網段內,Net_ID 是不變的,而 Host_ID 則是不可重複,此外,Host_ID 在二進位的表示法當中,不可同時為 0 也不可同時為 1 ,因為全為 0 表示整個網段的位址 (Network IP),而全為 1 則表示為廣播的位址 (Broadcast IP)。例如上面的例子當中,192.168.0.0 (Host_ID 全部為 0)以及 192.168.0.255 (Host_ID 全部為 1) 不可用來作為網段內主機的 IP 設定,也就是說,這個網段內可用來設定主機的 IP 是由 192.168.0.1 到 192.168.0.254; 在區網內透過 IP 廣播傳遞資料 在同物理網段的主機如果設定相同的網域 IP 範圍 (不可重複),則這些主機都可以透過 CSMA/CD 的功能直接在區網內用廣播進行網路的連線,亦即可以直接網卡對網卡傳遞資料 (透過 MAC 訊框)
IP 在同一網域的意義2 設定不同區網在同物理網段的情況 在同一個物理網段之內,如果兩部主機設定成不同的 IP 網段,則由於廣播位址的不同,導致無法透過廣播的方式來進行連線。 此時得要透過路由器 (router) 來進行溝通才能將兩個網域連結在一起。 網域的大小 當 Host_ID 所佔用的位元越大,亦即 Host_ID 數量越多時,表示同一個網域內可用以設定主機的 IP 數量越多。
IP 的分級 IP 管理與發放註冊的方便性,InterNIC 將整個 IP 網段分為五種等級, 每種等級的範圍主要與 IP 那 32 bits 數值的前面幾個位元有關,基本定義如下 以二進位說明 Network 第一個數字的定義: Class A : 0xxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx ==> NetI_D 的開頭是 0 |--net--|---------host------------| Class B : 10xxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx ==> NetI_D 的開頭是 10 |------net-------|------host------| Class C : 110xxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx ==> NetI_D 的開頭是 110 |-----------net-----------|-host--| Class D : 1110xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx ==> NetI_D 的開頭是 1110 Class E : 1111xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx ==> NetI_D 的開頭是 1111 五種分級在十進位的表示: Class A : 0.xx.xx.xx ~ 127.xx.xx.xx Class B : 128.xx.xx.xx ~ 191.xx.xx.xx Class C : 192.xx.xx.xx ~ 223.xx.xx.xx Class D : 224.xx.xx.xx ~ 239.xx.xx.xx Class E : 240.xx.xx.xx ~ 255.xx.xx.xx
特殊的 loopback IP 網段 那就是 lo 這個奇怪的網域啦 (注意:是小寫的 o 而不是零喔)!這個 lo 的網路是當初被用來作為測試作業系統內部迴圈所用的一個網域, 同時也能夠提供給系統內部原本就需要使用網路介面的服務 (daemon) 所使用。如果你沒有安裝網路卡在的機器上面, 但是你又希望可以測試一下在你的機器上面設定的伺服器環境到底可不可以順利運作,這個時候怎麼辦, 嘿嘿!就是利用這個所謂的內部迴圈網路啦!這個網段在 127.0.0.0/8 這個 Class A,而且預設的主機 (localhost) 的 IP 是 127.0.0.1 呦!所以囉,當你啟動了你的 WWW 伺服器,然後在你的主機的 X-Window 上面執行 http://localhost 就可以直接看到你的主頁囉!
IP 的取得方式 直接手動設定(static): 你可以直接向你的網管詢問可用的 IP 相關參數,然後直接編輯設定檔 (或使用某些軟體功能) 來設定你的網路。 常見於校園網路的環境中,以及向 ISP 申請固定 IP 的連線環境;
IP 的取得方式 透過撥接取得: 向你的 ISP 申請註冊,取得帳號密碼後,直接撥接到 ISP ,你的 ISP 會透過他們自己的設定,讓你的作業系統取得正確的網路參數。 此時你並不需要手動去編輯與設定相關的網路參數啦。目前台灣的 ADSL 撥接、光纖到大樓、光纖到府等,大部分都是使用撥接的方式。 為因應用戶的需求,某些 ISP 也提供很多不同的 IP 分配機制。包括 hinet, seednet 等等都有提供 ADSL 撥接後取得固定 IP 的方式喔! 詳情請向你的 ISP 洽詢。
IP 的取得方式 自動取得網路參數 (DHCP): 在區域網路內會有一部主機負責管理所有電腦的網路參數,你的網路啟動時就會主動向該伺服器要求 IP 參數, 若取得網路相關參數後,你的主機就能夠自行設定好所有伺服器給你的網路參數了。最常使用於企業內部、IP 分享器後端、 校園網路與宿舍環境,及纜線寬頻等連線方式。
感謝指導