1 / 51

第 8 章

第 8 章. IP 基礎與定址. IP 的基礎. IP (Internet protocol 網際網路協定 ) 位於 DoD 模型的網路層。 對上可載送傳輸層各種協定的資訊,例如: TCP 、 UDP 等等。 對下可將 IP 封包放到鏈結層,透過乙太網路、訊標環等各種技術來傳送。 提供之服務歸納成兩項 IP 封包的傳送 IP 封包的切割與重組. 傳送 IP 封包 --IP 定址. IP 負責網路之間訊息傳送之協定,將 IP 封包從來源裝置傳送到目的裝置,依賴以下兩種機制: IP 定址 IP 位址如同現實生活中的地址。

Download Presentation

第 8 章

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第 8 章 IP基礎與定址

  2. IP的基礎 • IP (Internet protocol網際網路協定)位於DoD模型的網路層。 • 對上可載送傳輸層各種協定的資訊,例如:TCP、UDP等等。 • 對下可將IP封包放到鏈結層,透過乙太網路、訊標環等各種技術來傳送。 • 提供之服務歸納成兩項 • IP封包的傳送 • IP封包的切割與重組

  3. 傳送IP封包--IP定址 • IP負責網路之間訊息傳送之協定,將IP封包從來源裝置傳送到目的裝置,依賴以下兩種機制: • IP定址 • IP位址如同現實生活中的地址。 • 所有使用IP的裝置,至少都必須有一個獨一無二的IP位址,IP封包才能正確送達目的裝置。 • 負責分派IP位址的最高機構為Internet Corporation for Assigned Names and Numbers (ICANN, http://www.icann.org/)。 • ICANN依地區與國家,授權給公正的單位來執行IP位址分派的工作。 • 台灣是由財團法人臺灣網路資訊中心(TWNIC, http://www.twnic.net/)負責。

  4. 傳送IP封包—IP路由(1/2) • IP路由:Internet可視為由許多個網路連結起來所形成的大型網路。必須透過IP路由(IP Routing)的轉送,才能將IP封包經過一個個的網路,送達目的地

  5. 傳送IP封包—IP路由(2/2) • 路由器(Router) • 在實體上,每個網路是透過路由器來相互連接。 • 路由器的功能是為IP封包選擇傳送的路徑。 • IP封包必須靠沿途各路由器合作才能到達目的地。 • IP路由的過程中,是由路由器負責選擇路徑,而IP封包則是處於被動的狀態。 • 非連接式(Connectionless)的傳送特性 • IP封包使用Connectionless傳送方式。 • Connectionless:傳送封包前不用事先知會接收端,如寫信 • Connection-Oriented:傳送封包前需與接收端先建立連線 • 來源裝置不必理會目的裝置是否已準備好,只管將IP封包逐一送出即可。 • 目的裝置是否正確收到每個封包,則是由上層的協定(例如:TCP)來負責檢查

  6. 切割與重組IP封包 • 路由器必須將過長的封包加以切割,以便能在MTU較小的網路上傳輸。 • 切割後的IP封包,會由目的裝置重組,恢復成原來IP封包的模樣。(不在中間的路由器重組) • 每一種Data Link層的技術,都有其所能傳輸的最大封包長度(MTU, Maximum Transmission Unit)

  7. IP封包 • IP表頭: • 記錄有關IP位址、路由、封包識別等資訊。長度為4 Bytes的倍數,最短為20 Bytes,最長可達60 Bytes。 • IP Payload: • 載送上層協定的封包。長度最短為8 Bytes,最長可達65515 Bytes。

  8. IP封包的包裝 • IP對上可接受Transport層協定所交付的封包,形成IP Payload: • 對下則將整個IP封包交付給Data Link層的協定,包裝後直接在介質上傳送:

  9. IP表頭內容

  10. IP封包表頭中的重要資訊(1/2) • Destination Address (目的位址) • 記錄目的端的IP位址,路由時需用 • Source Address (來源位址) • 若目的端要回覆需用到這個資訊 • Protocol (協定) • 記錄上層所使用的協定。 • Identification (識別碼) • 識別碼由來源裝置決定,按照IP封包發出的順序遞增1。 • 每個IP封包到達目的裝置的先後順序可能與出發時的順序不同。目的裝置可利用此欄位,判斷IP封包原來的順序,並予以重組。

  11. IP封包表頭中的重要資訊(2/2) • 切割與重組相關資訊 • 因傳送過程IP封包可能被切割,到終端再重組,而相關資訊即存在表頭的這些欄位 • 存活時間(Time to Live,TTL) • 記錄IP封包的存活時間,以限制IP封包在路由器之間轉送的次數。 • 當IP封包每經過一部路由器時,路由器便會將Time to Live欄位值減1。 • 當路由器收到此欄位值為1的IP封包時,便直接將之丟棄,不再轉送 • 一般不會收到TTL=0的封包,除非發生錯誤,若有收到以錯誤處理,所以會丟棄

  12. 擷取IP封包(1/4) • 以一個FTP協定的封包作為範例:

  13. 擷取IP封包(2/4) 1. Version:4代表此IP封包的版本為IPv4。 2. Header Length:IP表頭的長度為20 Bytes。 3. Precedence:優先等級為Routine,即最低的等級。 4. Type of Service:Normal Service代表Delay、Throughput、Reliability、Cost等欄位皆設為Normal。 5. Total Length:IP封包的長度。因為此例是在乙太網路上傳送的IP封包,因此長度為1500 Bytes。

  14. 擷取IP封包(3/4) 6. Identification:此IP封包的識別碼。 7.此為More Fragments欄位。因為是未經切割的IP封包,因此為0。 8.此為Don‘t Fragments欄位。1代表傳送過程中不可切割。 9.因為未經切割,所以Fragment Offset為0。 10. Windows 2000預設的Time to Live為128。當IP封包通過路由器時,Time to Live欄位值會遞減1。

  15. 擷取IP封包(4/4) 11.記錄Transport層所用的協定。FTP使用的是TCP協定。 12.這是錯誤檢查碼。每個IP封包可能會有不同的錯誤檢查碼。 13. IP封包來源裝置的IP位址。 14. IP封包目的裝置的位址。 15.這並非IP表頭的欄位,而是網路監視器自行計算所得的IP Payload長度。

  16. IP封包的3種傳遞模式(1/3) • 依據目的裝置的不同,IP總共有3種傳遞模式 • Unicast • 一對一的傳遞模式,主要在Internet使用。 • 只有目的裝置會收到此IP封包。

  17. IP封包的3種傳遞模式(2/3) • Broadcast • 一對多的傳遞,稱為『廣播』封包。 • 該網路內的所有裝置都會收到

  18. IP封包的3種傳遞模式(3/3) • Multicast群播 • 介於Unicast與Broadcast間的傳送方式。 • 可將封包傳送給『一群』指定的裝置。 • 沿途路由器需支援相關協定才行

  19. IP位址表示法 • 本質上是一個長度為32 Bits的二進位數值,看起來就是一長串的0或1 • 一般表成帶點之十進制以利閱讀 • 以8 Bits為單位,將IP位址分成4段 • 將各段的二進位數值轉換成十進位,再以『.』隔開

  20. IPv4與IPv6 • IPv4位址由32 Bits組成,理論上會有232 = 4294967296 (約43億)種組合,但目前已快不夠用了。 • 下一版的IP規格─IPv6,其IP位址由128 Bits所組成,2128可說是天文數字,提供了非常充裕的IP位址空間。

  21. IP位址的結構 • 網路位址(Network ID) • 位於IP位址的前端,用來識別所屬的網路。 • 同一網路上的裝置,都會有相同的網路位址 • IP路由便是依據IP位址的網路位址決定要將IP封包送至哪個網路。 • 主機位址(Host ID) • 位於IP位址的後端用來識別網路上個別裝置。 • 同一網路上的裝置是以主機位址來做區別。

  22. IP位址的等級(Class) • 為了符合不同網路規模的需求,便依據Network ID的長度,劃分IP位址等級。 • 由第一個0所出現的位置可知何種類別(等級) • 共分為5種等級(Class)。一般用到的是Class A、B、C這三種等級的IP位址。

  23. Class A • Network ID長度為8 Bits。 • 可用的Host ID有224 = 16777216個。 • 只有國家或特殊單位,會分配到Class A的IP位址。

  24. Class B • Network ID的長度為16 Bits。 • IP位址介於128.x.y.z與191.x.y.z之間。 • 可用的Host ID有216 = 65536個。 • 通常分配給一些跨國企業或ISP使用。

  25. Class C • Network ID的長度為24 Bits。 • IP位址介於192.x.y.z與223.x.y.z之間。 • 可運用的Host ID有28 = 256個。 • 通常用來分配給一些小型企業。

  26. 特殊的IP位址 • Network ID全為0代表『本網路』。 • Host ID全為0用來識別網路。 • Network ID與Host ID皆為0代表裝置本身。皆為1則稱為Local廣播封包。 • Host ID全為1代表網路中全部裝置。 • 除前導位元外,其餘的Network ID位元皆設為1,代表『Loopback』位址 • 有些網路雖然使用TCP/IP的協定組合,但不會與Internet相連。因此設計了Private (私人) IP位址,讓這些網路使用 • Class A: 10.0.0.0—10.255.255.255 • Class B: 172.16.0.0—172.31.255.255 • Class C: 192.168.0.0—192.168.255.255

  27. Loopback位址 • 表示繞回來、不得出去的IP位址。 • 主要用來測試本機電腦上的TCP/IP。 • 此時IP封包不送到實體的網路上,而是送給系統的Loopback Driver來處理。 • 例如127.0.0.1。

  28. 子網路(Subnet) • 將同一個IP位址等級的網路再切割成數個子網路,如此網路規模較小,避免降低網路效能。 • 切割後的子網路可正常與其他網路互相連接。

  29. 切割子網路的原理 • 讓每個Subnet擁有一個獨一無二的Subnet ID,以便路由器能識別這些切割出來的Subnet。 • 從Host ID『借用』前面幾個Bit,作為Subnet ID。 • 一般習慣與建議是用前面幾個位元,但原標準並未規定

  30. 子網路的切割範例

  31. Class B可能切割的子網路

  32. Class C可能切割的子網路

  33. 子網路遮罩 • 切割子網路後,路由器無法從前導位元來識別Network ID。 • 子網路遮罩(Subnet Mask)讓路由器能判斷IP位址中哪幾個位元為Network ID,哪幾個位元為Host ID。

  34. 子網路遮罩的特性(1/2) • 子網路遮罩(Subnet Mask)長度為32 Bits,與IP位址的長度相同。 • 必須由連續的1,加上連續的0所組成。 • 會轉成十進位以方便閱讀。

  35. 子網路遮罩的特性(2/2) • 必須與IP位址配對使用才有意義。 亦可這樣表示 『/』前面是正常的IP表示法,『/』後面的數字21則代表Subnet Mask中1的數目。

  36. Class A、B、C 對應的子網路遮罩

  37. 子網路切割實例 • 可用的IP位址範圍,要切成4個子網路 • 計算得子網路遮罩 • 一般子網路IP不使用全0或全1,除了一些可辦識全0的特殊路由器外

  38. 子網路注意事項 • 內部網路的路由器上要設定子網路的路由記錄(路由表),以便路由器轉送。 • 子網路可再切割成更小的子網路。 • 子網路切割時所作的設定,都是在內部網路。遠端的網路或路由器並不需知道您的網路是如何切割子網路。

  39. 無等級的IP位址 • Classless Inter-Domain Routing (CIDR),即Classless (無等級)的IP位址劃分方式 • 超網路(Supernet)的原理。 • 合併Class C的IP位址,挪給Class B使用 • 超網路與子網路的異同 • 異:子網路將較大之網路分成數個較小之網路,超網路則是將數個較小網路合成一個較大網路。 • 同:皆使用mask來區分Network ID與Host ID。

  40. CIDR實例

  41. 網路位址轉譯的架構(1/3) • 網際網路的裝置需有唯一獨特的位址,因裝置日漸增多而使IP位址不足 • 網路位址轉譯(NAT, Network Address Translation)讓多個裝置共用一個合法之IP位址 • 內部網路使用私人IP位址,透過一個合法的IP位址經專線或撥接(只要是對外連線皆可,乙太網路亦可)與外界連線

  42. 網路位址轉譯的架構(2/3)

  43. 網路位址轉譯的架構(3/3)

  44. 網路位址轉譯的原理(1/2) 送出封包時 收入封包時

  45. 網路位址轉譯的原理(2/2) • 送出封包時 • 使用私人IP的電腦送到NAT伺服器 • NAT伺服器將來源位址轉為合法位址 • 為區別不同之內部主機(與應用程式),給定不同TCP/UDP之連接埠,然後送出 • 收入封包時 • 根據埠號找出對應之私人位址(及埠號)取代收入封包之目的位址 • 送至區域網路,則原送出之主機便會收入

  46. NAT的運作方式(1/3) • 以向某一Web伺服器要求資料為例

  47. NAT的運作方式(2/3) • 用戶端向Web伺服器要求網頁,封包含 • 目的位址= 203.74.253.1 (Web伺服器) • 來源位址= 192.168.0.200 (NAT用戶端) • 目的連接埠= 80 (Web伺服器預設連接埠) • 來源連接埠= 5000 (由應用程式自行決定) • NAT伺服器收到用戶端要求用本機的某個連接埠來對應用戶端的IP位址與來源連接埠,然後產生新封包含 • 目的位址= 203.74.253.1 (Web伺服器) • 來源位址= 63.192.168.1 (NAT主機) • 目的連接埠= 80 (Web伺服器預設連接埠) • 來源連接埠= 6000 (由NAT主機自行決定)

  48. NAT的運作方式(3/3) • Web傳回網頁資料,封包含 • 目的位址= 63.192.168.1 (NAT主機) • 來源位址= 203.74.253.1 (Web伺服器) • 目的連接埠= 6000 • 來源連接埠= 80 • NAT主機收到封包發現目的連接埠6000對應到192.168.0.200這個位址及5000這個連接埠,於是產生新封包含 • 目的位址= 192.168.0.200 (NAT用戶端) • 來源位址= 203.74.253.1(Web伺服器) • 目的連接埠= 5000 (用戶端應用程式的連接埠) • 來源連接埠= 80

  49. 網路位址轉譯的注意事項 • 無法使用某些加密協定 • 因某些加密協定會改變表頭,使NAT伺服器無法正確做轉換 • 增加伺服器的運算負擔 • 因需要持續紀錄埠號與位址對應關係,多個私人位址的電腦同時使用時很耗資源 • 外界主動存取時,設定較為複雜 • 剛才運作是以內部往外部送為例,但若外部網際網路主機要存取內部網路主機,因無紀錄可查詢,NAT伺服器便不知該送給誰

  50. 在NAT環境架設Web伺服器 • 若要外部可存取內部需手動設定轉譯機制 • 以Web server為例,可在主機設定80對應192.168.0.100:8080,指定收到特定連接埠80的封包,一律轉送到Web伺服器(192.168.0.100)的指定連接埠(8080)

More Related