最近學習了有關網絡管理的有關知識,所以給也在學習這些知識的童鞋分享一下我的一些經驗。
聽了這幾天課,總結了幾個前提。
有關網絡的通信均是基于數據傳輸的,且數據均是二進制格式的流式數據。
在網絡中需要把大包分成小包,
每傳一個包都需要有三個地址,由內向外為端口號、IP地址、MAC地址。端口號確定應用,IP確定網段,MAC確定廣播域中的某個網卡。
OSI模型
-
應用層
- 為應用程序進程提供網絡服務(例如,電子郵件、文件傳輸、視頻語音聊天)
- 提供用戶身份驗證
-
表示層
- 確保接受系統可以讀出該數據
- 格式化數據
- 構建數據
- 協商用于應用層的數據傳輸語法
- 提供加密
-
會話層
- 建立、管理和終止在應用程序之間的會話
-
傳輸層
- 確保數據傳輸的可靠性
- 建立、維護和終止虛擬電路
- 通過錯誤檢測和恢復
- 信息流控制來保障可靠性
-
網絡層
- 路由數據包
- 選擇傳遞數據的最佳路徑
- 支持邏輯尋址和路徑選擇
-
數據鏈路層
- 訪問介質,訪問接口接收數據,進行格式化判斷,并進行錯誤檢測
- 定義如何格式或數據以便進行傳輸以及如何控制對網絡的訪問
- 支持錯誤檢測
-
物理層
- 二進制傳輸
- 為啟動、維護以及關閉物理鏈路定義了電氣規范、機械規范、過程規范和功能規范
-
應用層 PDU 消 息 message
- 應用層
- 表示層
- 會話層
-
傳輸層 PDU 數據 段 segment
- TCP協議
- UDP協議
-
網絡層 PDU 數據 包 packet
- IP協議
-
網絡訪問層
- 數據鏈路層 PDU 數據 幀 frame
- 物理層 PDU 數據 位 bit
-
TCP協議
- 工作在傳輸層的面向連接協議
- 全雙工協議
- 半關閉
- 錯誤檢查
- 將數據打包成段,排序
- 確認機制
- 數據恢復,重傳
- 流量控制,滑動窗口
- 擁塞控制,慢啟動和擁塞避免算法

- TCP包頭
-
- 數據偏移 4位 一位為4字節
- 保留位 6位
-
校驗位 6位
-
URG 緊急校驗位
- 表示該報文段中發送的數據是否包含緊急數據,后面的緊急指針字段只有當URG=1時才有效
-
ACK 確認校驗位
- 表示前面的確認號字段是否有效,TCP規定,建議鏈接后,ACK必須為1,且為1的TCP報文段稱為確認報文段。
-
PSH 立即從緩存區讀取數據為位
- 校驗位為1表示立即對方應當立即把數據提交給上層應用,不為1則是通常情況
-
RST 錯誤校驗位
- 校驗位為1表示鏈接出現嚴重錯誤,必須釋放鏈接,然后重新建立鏈接。或者說明上次發給主機的數據有問題,主機拒絕響應,帶RST標志的TCP報文段稱為復位報文段
-
SYN 鏈接請求校驗位
- 校驗位為1表示請求時使用,用來同步序號。帶SYN標志的TCP報文段稱為同步報文段
-
FIN 斷開請求校驗位
- 校驗位為1表示通知對方本端要關閉鏈接了,標記數據是否發送完畢。帶FIN標志的TCP報文段稱為結束報文段。
-
URG 緊急校驗位
- 窗口 16位 表示現在允許對方發送的數據量
- 校驗和 提供額外的可靠性
- 緊急指針 標記緊急數據在數據字段中的位置
-
選項(長度可變) 常見選項
- 最大報文長度
- 窗口擴大
- 時間戳
- 填充 無實意 補齊偏移量位

有限狀態機制

客戶端








- 工作在網絡層,偏上層。
ARP協議 address resolution protocol 地址分辨協議
- 網絡層協議
- 一般查看網絡是否聯通。
- 一般為廣播的散播方式

- 運行于OSI網絡層
- 面向無連接的協議
- 獨立處理數據包
- 分層編址
- 盡力而為傳輸
- 無數據恢復功能


- 版本 4字節 是IP協議的版本
- 首部長度 4字節 是說明報頭長度的
- 區分服務 8字節
- 總長度 16字節 本數據包的總長度
- 標識 16字節
- 標志 3字節 只有后兩字節有用
- 片偏移 13字節 顯示該數據包的最后一個字節在整個大包中是哪個字節。
- 生存時間 8字節 顯示該包在網絡中生存多少個路由節點
- 協議 8字節 顯示上層協議編號
- 首部校驗和 16字節 首部校驗
mac目的地址 | mac源地址 | IP源地址 | IP目標地址 | 源端口號 | 目標端口號 | 正文數據 | 校驗 |


原創文章,作者:何必呢,如若轉載,請注明出處:http://www.www58058.com/85854