TCP/IP頭

IP頭格式: 

    版本號 (4位) 
    IP頭長度 (4位) 
    服務類型 (8位) 
    數據包長度 (16位) 
    標識段 (16位) 
    標誌段 (16位) 
    生存時間 (8位) 
    傳輸協議 (8位) 
    頭校驗和 (16位) 
    發送地址 (16位) 
    目標地址 (16位) 
    選項 
    填充 
    簡單說明 
    ============ 
    1. IP頭長度計算所用單位爲32位字, 常用來計算數據開始偏移量 
    2. 數據包長度用字節表示, 包括頭的長度, 因此最大長度爲65535字節 
    3. 生存時間表示數據被丟失前保存在網絡上的時間, 以秒計. 
    4. 頭校驗和的算法爲取所有16位字的16位和的補碼. 
    5. 選項長度是可變的, 填充區域隨選項長度變化, 用於確保長度爲整字節的倍數. 
    描述 
    ============ 
    struct iphdr { 
    BYTE versionihl; 
    BYTE tos; 
    WORD tot_len; 
    WORD id; 
    WORD frag_off; 
    BYTE ttl; 
    BYTE protocol; 
    WORD check; 
    DWORD saddr; 
    DWORD daddr; 
    /* Put options here. */ 
    }; 




二、TCP頭格式 
    TCP頭格式: 
    源端口 (16位) 
    目的端口 (16位) 
    序號 (32位) 
    確認號 (32位) 
    數據偏移 (4位) 
    保留 (6位) 
    標誌 (6位) 
    窗口 (16位) 
    校驗和 (16位) 
    緊急指針 (16位) 
    選項 
    填充 
    簡單說明 
    ============ 
    1. 數據偏移用於標識數據段的開始 
    2. 保留段6位必須爲0 
    3. 標誌包括緊急標誌、確認標誌、入棧標誌、重置標誌、同步標誌等。 
    4. 校驗和計算方式爲將頭與16位二進制反碼和中的16位二進制反碼加在一起。 
    5. 選項長度是可變的, 填充區域隨選項長度變化, 用於確保長度爲整字節的倍數. 
    6. 更詳細的說明請參閱有關資料。 
    描述 
    ============ 
    struct tcphdr { 
    WORD SourPort; 
    WORD DestPort; 
    DWORD SeqNo; 
    DWORD AckNo; 
    BYTE HLen; 
    BYTE Flag; 
    WORD Window; 
    WORD ChkSum; 
    WORD UrgPtr; 
    /* Put options here. */ 
    }; 




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章