Internet Protocol (IP) 是 OSI 第三層協定,將來自第四層 (Transport) 的 data segments 切成 packets 後 encapsulate IP header 傳送。
IP header 欄位:
- Version:Internet Protocol 版本 (e.g. IPv4).
- IHL (Internet Header Length):IP header 長度,沒 options 欄位時是 5 (單位 32-bit),大於 5 表示有 option 欄位。
- DSCP (Differentiated Services Code Point):Type of Service
- ECN (Explicit Congestion Notification):傳送 congestion 資訊
- Total Length:整個 IP Packet (包括 IP header 及 IP Payload) 的長度
- Identification:identify 屬於的原始上層封包,特別是有 fragment 的時候。
- Flags:表示可否 fragmented 等等。
- Fragment Offset:在原始上層封包的位置。
- Time to Live:可經過多少路由器。每經過一個路由器會減一,直到 0 就會丟棄,可避免在網路造成傳送迴圈等。
- Protocol:封包的上層協定,例如 1=ICMP、6=TCP、17=UDP。
- Header Checksum:整個 header 的 checksum,用來檢查封包收到是否無誤。
- Source Address:封包來源的 IP 位址
- Destination Address:封包目的的 IP 位址
- Options (選擇性欄位):IHL 大於 5 時有,可包含 Security、Record Route、Time Stamp 等。
IPv4 位址
自動設定IP的方式
看自己的 IP http://www.ip-adress.com/
TCP/UDP/IP checksum:IP 只算 IP header 部份,UDP 及 TCP 算 pseduo header、header、data 三個部份。UDP 可以填 0,省略 checksum 運算。
UDP Lite
lwIP
uIP