網際網路協定(Internet Protocol, IP)
IP 層的四個特性:
IP 層的下一層是 資料鏈結層,所以 IP 層在封裝封包時,必須封裝成資料鏈結層所能承載的 MTU 大小。
不同型態的資料鏈結層所能承載資料的最大長度稱為 Maximum Transmission Unit, MTU,常見的網路型能及其 MTU 為:
在 IP 封包傳送的過程,可能會遇到比當初封包的 MTU 還小的網路類型,此時,就必須對該 IP 封包進行分割(Fragmentation)。
IP 封包在傳送的過程中,所經過的 Router 只會決定與負責對 IP 封包作分割(Fragmentation),而不負責重新組合(Reassemble),將分割段(Fragments)重新組合的工作,是由最終的目的主機所負責。
舉例來說,一個資料長度為 5,000 byte 的封包,透過 IP 傳送,經過一個 MTU 為 1,500 bytes 的 Ethernet 時,它的分割情況是這樣的:
原始的封包總長度為: IP header (20 bytes) + data (5,000 bytes) = 5,020 bytes
MTU 為 1,500 bytes 的封包為: IP header (20 bytes) + data (1,480 bytes) = 1,500 bytes
所以分割後的封包為:
IP header (20 bytes) + data (1,480 bytes) = 1,500 bytes,Offset = 0, More Fragment = 1
IP header (20 bytes) + data (1,480 bytes) = 1,500 bytes,Offset = 1480/8 = 185, More Fragment = 1
IP header (20 bytes) + data (1,480 bytes) = 1,500 bytes,Offset = 2960/8 = 370, More Fragment = 1
IP header (20 bytes) + data (560 bytes) = 580 bytes,Offset = 4440/8 = 555, More Fragment = 0
IP 的 Time to Live(TTL) 欄位是一個 counter,可設定的最大值為 255,目的是為了避免 IP 封包因為某些因素找不到目的地,而在網路上不斷繞行。
每 IP 封包在網路上繞行時,每經過一個 Router,其 TTL 就會被該 Router 減 1 後,再傳送出去,如果 IP 封包到達 Router 時,其 TTL 為 1,則該 Router 會直接丟棄(discard)此封包,不再繼續往下傳遞。
Reference
TCP/IP網路通訊協定(第二版)
文字內容 或 影像內容 部份參考、引用自網路,如有侵權,請告知,謝謝。
IP 層的四個特性:
- Connectionless
- Asynchronous Communication
- Unreliable
- Efficient
IP 層的下一層是 資料鏈結層,所以 IP 層在封裝封包時,必須封裝成資料鏈結層所能承載的 MTU 大小。
不同型態的資料鏈結層所能承載資料的最大長度稱為 Maximum Transmission Unit, MTU,常見的網路型能及其 MTU 為:
網路型態 | MTU |
Ethernet | 1,500 Bytes |
X.25 | 1,600 Bytes |
FDDI | 576 Bytes |
ATM | 9,180 Bytes |
在 IP 封包傳送的過程,可能會遇到比當初封包的 MTU 還小的網路類型,此時,就必須對該 IP 封包進行分割(Fragmentation)。
IP 封包在傳送的過程中,所經過的 Router 只會決定與負責對 IP 封包作分割(Fragmentation),而不負責重新組合(Reassemble),將分割段(Fragments)重新組合的工作,是由最終的目的主機所負責。
舉例來說,一個資料長度為 5,000 byte 的封包,透過 IP 傳送,經過一個 MTU 為 1,500 bytes 的 Ethernet 時,它的分割情況是這樣的:
原始的封包總長度為: IP header (20 bytes) + data (5,000 bytes) = 5,020 bytes
MTU 為 1,500 bytes 的封包為: IP header (20 bytes) + data (1,480 bytes) = 1,500 bytes
所以分割後的封包為:
IP header (20 bytes) + data (1,480 bytes) = 1,500 bytes,Offset = 0, More Fragment = 1
IP header (20 bytes) + data (1,480 bytes) = 1,500 bytes,Offset = 1480/8 = 185, More Fragment = 1
IP header (20 bytes) + data (1,480 bytes) = 1,500 bytes,Offset = 2960/8 = 370, More Fragment = 1
IP header (20 bytes) + data (560 bytes) = 580 bytes,Offset = 4440/8 = 555, More Fragment = 0
IP 的 Time to Live(TTL) 欄位是一個 counter,可設定的最大值為 255,目的是為了避免 IP 封包因為某些因素找不到目的地,而在網路上不斷繞行。
每 IP 封包在網路上繞行時,每經過一個 Router,其 TTL 就會被該 Router 減 1 後,再傳送出去,如果 IP 封包到達 Router 時,其 TTL 為 1,則該 Router 會直接丟棄(discard)此封包,不再繼續往下傳遞。
Reference
TCP/IP網路通訊協定(第二版)
文字內容 或 影像內容 部份參考、引用自網路,如有侵權,請告知,謝謝。
全站熱搜