溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

IP協(xié)議和TCP協(xié)議的分析

發(fā)布時(shí)間:2020-07-11 16:45:10 來源:網(wǎng)絡(luò) 閱讀:634 作者:欽之雙翼 欄目:網(wǎng)絡(luò)安全


一,TCP/IP協(xié)議棧的概述

    TCP/IP協(xié)議棧是由美國國防部(DoD)在20世紀(jì)60年代創(chuàng)建的(比OSI模型還早),是一種具體實(shí)現(xiàn)標(biāo)準(zhǔn)。

    分為4層:網(wǎng)絡(luò)接入層(鏈路層),Internet層(網(wǎng)絡(luò)層),主機(jī)到主機(jī)層(傳輸層),應(yīng)用層

    IP協(xié)議和TCP協(xié)議的分析

    由于TCP/IP協(xié)議棧涉及的知識點(diǎn)很多,而其中最主要的協(xié)議是IP協(xié)議和TCP協(xié)議,故本文主要是針對IP和TCP協(xié)議來分析,其他的知識點(diǎn)后續(xù)補(bǔ)上。

二,IP協(xié)議

    IP(Internet Protocol,網(wǎng)際協(xié)議)是TCP/IP協(xié)議棧中最重要的協(xié)議(位于網(wǎng)絡(luò)層),用于實(shí)現(xiàn)數(shù)據(jù)的不可靠面向無連接通信,實(shí)現(xiàn)三層數(shù)據(jù)封裝與IP尋址。

    什么是不可靠?

      不可靠的意思就是它不能保證IP數(shù)據(jù)包能百分百到達(dá)目的地

    什么是面向無連接?

      意思是I P并不維護(hù)任何關(guān)于后續(xù)數(shù)據(jù)報(bào)的狀態(tài)信息。每個(gè)數(shù)據(jù)報(bào)的處理是相互獨(dú)立的。IP數(shù)據(jù)報(bào)可以不按發(fā)送順序接收。如果一信源向相同的信宿發(fā)送兩個(gè)連續(xù)的數(shù)據(jù)報(bào)(先是 A,然后是B) ,每個(gè)數(shù)據(jù)報(bào)都是獨(dú)立地進(jìn)行路由選擇,可能選擇不同的路線,因此B可能在A到達(dá)之前先到達(dá)。

1.IP頭部格式

 IP協(xié)議和TCP協(xié)議的分析

  (1)版本

       4bit,用于標(biāo)記IP協(xié)議的版本。IPv4---->4;IPv6--->6.

  (2)首部長度

       4bit,可表示的最大十進(jìn)制為15.指示IP報(bào)頭長度,指出IP報(bào)頭的結(jié)束位置或數(shù)據(jù)的開始位置

       接收方可知道如何根據(jù)首部長度來解封裝

  (3)服務(wù)類型

       ToS,8bit,提供QoS服務(wù)質(zhì)量技術(shù)用于實(shí)現(xiàn)流量標(biāo)記

  (4)總長度

       總長度指首部和數(shù)據(jù)之和的長度,單位為字節(jié)。字段16bit。

  (5)標(biāo)識符

       16bit,用于標(biāo)志分片的進(jìn)程

  (6)標(biāo)志符

       3bit,第一個(gè)比特位0:表示保留或未使用;第二個(gè)比特DF位:DF=1,表示該數(shù)據(jù)包不應(yīng)該被分段;DF=0,表示可以根據(jù)需要對數(shù)據(jù)包進(jìn)行分段。第三個(gè)比特位MF位:表示該分段是最后一個(gè)分段(比特為0)或者后面更多的分段(比特為1)。

  (7)片偏移量

       13bit,用于告知接收方每個(gè)分片距離IP頭部的位置,才能實(shí)現(xiàn)有序的重新組裝

  (8)生存時(shí)間

       8bit,TTL最大值為255;標(biāo)記路徑和防環(huán)。

  (9)協(xié)議

       8bit,標(biāo)記上層協(xié)議

  (10)首部檢驗(yàn)和

       16bit,校驗(yàn)數(shù)據(jù)包的完整性

  (11)源IP地址

        32bit,發(fā)送者的IP地址

  (12)目的IP地址  

        32bit,接收者的IP地址 

  (13)選項(xiàng)

        options,可變長度該字段為可選字段

        常見:記錄路由選項(xiàng),時(shí)間戳選項(xiàng)以及用來增強(qiáng)traceroute程序的路由選項(xiàng)

  (14)填充

        Padding,可變長度,如果IP報(bào)頭大小不是32比特的整數(shù)倍,則會(huì)在報(bào)頭填充0直至32比特

  (15)數(shù)據(jù)

        可變長度,是在IP包中進(jìn)行傳輸并通過協(xié)議字段進(jìn)行標(biāo)識的數(shù)據(jù)



三,TCP協(xié)議

    TCP(Transmission Control Protocol,傳輸控制協(xié)議)是TCP/IP協(xié)議棧中算法最多,功能最繁雜的重要的協(xié)議(位于傳輸層)。

  1. TCP提供的功能

    面向連接(三次握手,四次揮手)

    可靠傳輸(超時(shí)重傳,快速重傳)

    流量控制(滑動(dòng)窗口,擁塞控制)

    多路復(fù)用(套接字,Socket)

2.原理

 2.1 面向連接(三次握手,四次揮手)

   三次握手:(下圖所示)

     IP協(xié)議和TCP協(xié)議的分析

注:三次握手是一個(gè)會(huì)話的建立過程,此過程沒有正式的數(shù)據(jù)包的傳送。

    SYN(同步位)用于實(shí)現(xiàn)端口請求,ACK(確認(rèn)位)用于實(shí)現(xiàn)端口回復(fù)


  四次揮手(見下圖):

   IP協(xié)議和TCP協(xié)議的分析


問題:為什么關(guān)閉時(shí)要四次,而不是三次呢?

      因?yàn)樵谝环絺鬏敂?shù)據(jù)結(jié)束的時(shí)候,可能另一方還在傳輸數(shù)據(jù),所以需要四次。


 2.2 可靠傳輸

   見下圖:

    IP協(xié)議和TCP協(xié)議的分析利用Seq(序列號)和ACK(確認(rèn)號)來保證可靠傳輸。


 2.3 流量控制

    利用滑動(dòng)窗口來達(dá)到流量控制

 2.4 多路復(fù)用

    利用套接字socket來實(shí)現(xiàn)多路復(fù)用,socket=ip+port。比如多個(gè)客戶端要連接同一個(gè)服務(wù)器,就需要多路復(fù)用。

 





















向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI