## IP首部
> 先來一張圖~

* 版本
* 指IP協議的版本。通信雙方使用的IP協議版本必須一致。IPv4是0100,IPv6是0110,也就是二進制的4和6。
* 首部長度
* 用于標識首部的長度
* 區分服務
* 用于標識IP包的優先級,但現在并未使用。
* 總長度
* 總長度指首部和數據之和的長度。
* 標識
* 用于標識IP數據報,如果因為數據鏈路層幀數據段長度限制,IP數據報需要進行分片發送,則每個分片的IP數據報標識都是一致的。
* 標志
* 目前只有2位有意義;最低位為MF,MF=1代表后面還有分片的數據報,MF=0代表當前數據報已是最后的數據報。次低位為DF,DF=1代表不能分片,DF=0代表可以分片。
* 片偏移
* 較長的分組在分片后,某片在原分組中的相對位置。也就是說,相對用戶數據字段的起點,該片從何處開始。
* 生存時間
* 以前代表IP數據報最大的生存時間,現在標識IP數據報可以經過的路由器數。
* 協議
* 代表上層傳輸層協議的類型,1代表ICMP,2代表IGMP,6代表TCP,17代表UDP。
* 首部檢驗和
* 用于驗證數據完整性
* 源地址
* 包含發送數據報的程序所使用IP地址
* 目的地址
* 接收數據報的程序所使用IP地址
* 可選字段
* IP首部的可變部分就是一個可選字段。選項字段用來支持排錯、測量以及安全等措施,內容很豐富。
* 填充
* 有些選項需要多個字節,這些選項一個個拼接起來,中間不需要有分隔符,最后用全0的填充字段補齊成為4字節的整數倍。
* 數據部分
#### 通信識別

[具體詳細信息](https://blog.csdn.net/Wu000999/article/details/88617237)
- 版本控制之Git簡介
- Git工作流程
- Git工作區、暫存區、版本庫
- Git 指令匯總
- Git 忽略文件規則 .gitignore
- pull request
- HTTP簡介
- HTTP - Keep-Alive
- HTTP緩存
- XMLHttpRequest
- Fetch
- 跨域
- HTTP 消息頭
- TCP/IP
- TCP首部
- IP首部
- IP 協議
- TCP/IP漫畫
- 前端開發規范
- 前端開發規范整理
- 前端未來規劃
- HTML思維導圖
- CSS思維導圖
- 布局
- position,float,display的關系和優先級
- line-height、height、font-size
- 移動端適配
- JS 對象
- JS 原型模式 - 創建對象
- JS 預編譯
- 探索JS引擎
- ES