中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于SX單片機(jī)實(shí)現(xiàn)WebServer和網(wǎng)絡(luò)協(xié)議棧

        基于SX單片機(jī)實(shí)現(xiàn)WebServer和網(wǎng)絡(luò)協(xié)議棧

        作者: 時(shí)間:2012-03-14 來源:網(wǎng)絡(luò) 收藏

        首部長度指的是首部占32bit字的數(shù)目。由于它是一個(gè)4位字段,因此首部最長為60個(gè)字節(jié)。在這里,IP數(shù)據(jù)報(bào)字段的值是5。

        服務(wù)類型字段包括一個(gè)3位的優(yōu)先權(quán)子字段(現(xiàn)在已被忽略)、4位的TOS子字段和1位未用位但必須置0。4bit的TOS分別代表:最小時(shí)延、最大吞吐量、最高可靠性和最小費(fèi)用。4bit中只能置其中1bit 。如果所有4bit 均為0,那么就意味著是一般服務(wù)。

        總長度字段是指整個(gè)I P 數(shù)據(jù)報(bào)的長度,以字節(jié)為單位。利用首部長度字段和總長度字段,就可以知道I P 數(shù)據(jù)報(bào)中數(shù)據(jù)內(nèi)容的起始位置和長度。

        標(biāo)識(shí)字段唯一地標(biāo)識(shí)主機(jī)發(fā)送的每一份數(shù)據(jù)報(bào)。

        標(biāo)志字段用來指定目的地址是一個(gè)完整的主機(jī)地址還是一個(gè)地址。

        生存時(shí)間字段設(shè)置了數(shù)據(jù)報(bào)可以經(jīng)過的最多路由器數(shù)。

        首部檢驗(yàn)和字段是根據(jù)IP首部計(jì)算的檢驗(yàn)和碼。

        源地址和目的地址都是32位的數(shù)據(jù)。

        可選項(xiàng)定義安全和處理限制、記錄路徑、時(shí)間戳、寬松的源站選路、嚴(yán)格的源站選路等信息。

        (2)棧對(duì)IP層的

        52BD100的棧中,IP層的就是把要發(fā)送出去的消息進(jìn)行IP打包,即加上IP包頭,使之符合IP數(shù)據(jù)包的格式發(fā)送到物理層;將接收到的來自物理層的數(shù)據(jù)包進(jìn)行IP解包,即去掉包頭,送到TCP層。應(yīng)注意,棧不接收分片的IP包,因?yàn)樗⒉粚?duì)接收到的數(shù)據(jù)進(jìn)行重新打包。

        2. 傳輸層

        (1)TCP 協(xié)議

        TCP提供一種面向連接的、可靠的字節(jié)流傳送服務(wù)。TCP數(shù)據(jù)包的結(jié)構(gòu)如圖5所示。

        37.jpg

        每個(gè)TCP段都包含源端和目的端的端口號(hào),用于尋找發(fā)端和收端應(yīng)用進(jìn)程。這兩個(gè)值加上IP包頭中的源端IP地址和目的端IP地址,唯一確定一個(gè)TCP連接。

        序號(hào)用來標(biāo)識(shí)從T C P 發(fā)端向T C P 收端發(fā)送的數(shù)據(jù)字節(jié)流。它表示在這個(gè)報(bào)文段中的第一個(gè)數(shù)據(jù)字節(jié)。

        確認(rèn)序號(hào)包含發(fā)送確認(rèn)的一端所期望收到的下一個(gè)序號(hào)。

        首部長度給出首部中32bit字的數(shù)目。

        緊急指針是一個(gè)正的偏移量,與序號(hào)字段中的值相加表示緊急數(shù)據(jù)最后一個(gè)字節(jié)的序號(hào)。其余字段的意義和IP包中的差不多。

        為了保證TCP層的數(shù)據(jù)能有效地傳輸,在建立TCP連接時(shí),用到了三向握手機(jī)制。具體過程如下(假設(shè)在A、B間通信,A、B的初始化序號(hào)為X、Y):

         ?、?由A向B發(fā)出SYN信號(hào),告訴B,A的初始化序號(hào)為X。

          ② 由B向A發(fā)出ACK和SYN信號(hào),告訴A,B知道A的初始化序號(hào)為X,B的是Y。

         ?、?由A向B發(fā)出ACK信號(hào),告訴B,A知道B的初始化序號(hào)是Y。

        經(jīng)過這樣的初始化后,TCP連接的建立就完成了,A與B之間的數(shù)據(jù)傳輸也可靠了。

        (2) 協(xié)議棧對(duì)TCP層的

        在SX52BD100的協(xié)議棧中,對(duì)TCP層的實(shí)現(xiàn)是通過提供的TCP API(應(yīng)用程序接口)來實(shí)現(xiàn)。TCP的API主要包括下面的函數(shù)和變量:

        TCPApp1Init():建立第一個(gè)TCP連接的初始化函數(shù);
        TCPApp2Init():建立第二個(gè)TCP連接的初始化函數(shù);
        TCPAppTxBytes():TCP連接中發(fā)送數(shù)據(jù)的字節(jié)數(shù);
        TCPAppRxBytes():TCP連接中接收數(shù)據(jù)的字節(jié)數(shù);
        TCPAppTxData():發(fā)送數(shù)據(jù);
        TCPAppRxData():接收數(shù)據(jù);
        TCPAppTxDone():發(fā)送完畢;
        TCPAppRxDone():接收完畢;
        TCPAppPassiveOpen():被動(dòng)TCP連接;
        TCPAppActiveOpen():主動(dòng)TCP連接;
        Sock1RomoteIP、Sock2RomoteIP:TCP連接的遠(yuǎn)程主機(jī)的IP地址;
        MyIP:本機(jī)的IP地址;
        tcb1LocalPortMSB、tcb1LocalPortLSB、tcb2LocalPortMSB、tcb2LocalPortLSB:本機(jī)的TCP連接端口;
        tcb1RemotePortMSB、tcb1RemotePortLSB、tcb2RemotePortMSB、tcb2RemotePortLSB:遠(yuǎn)程主機(jī)的TCP連接端口;



        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉