亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        TCP/IP網(wǎng)絡(luò)通信協(xié)議的實(shí)現(xiàn)與探討

        2008-12-31 00:00:00
        網(wǎng)絡(luò)與信息 2008年9期

        摘要:TCP/IP協(xié)議(Transmission Control Protocol/Internet Protocol)是目前最成功的網(wǎng)絡(luò)通信協(xié)議,它被用于當(dāng)今所構(gòu)筑的最大的開(kāi)放式網(wǎng)絡(luò)系統(tǒng)Internet之上就是其成功的證明。TCP/IP協(xié)議具有廣泛的兼容性和可伸縮性,可連接不同的計(jì)算機(jī)網(wǎng)絡(luò)協(xié)議、不同的網(wǎng)絡(luò)設(shè)備。TCP/IP事實(shí)上己成為網(wǎng)絡(luò)互聯(lián)的標(biāo)準(zhǔn),并成為支持Internet/Intranet的協(xié)議標(biāo)淮。本文就是針對(duì)當(dāng)前流行的TCP/IP網(wǎng)絡(luò)通信協(xié)議的實(shí)現(xiàn)進(jìn)行了具體的研究和探討。

        關(guān)鍵詞:TCP/IP協(xié)議;Internet;網(wǎng)絡(luò)通信

        1 前言

        TCP/IP初步架構(gòu)的出現(xiàn)源于1964年,冷戰(zhàn)時(shí)期美國(guó)國(guó)防部高級(jí)研究計(jì)劃局DARPA提出ARPANET研究計(jì)劃,目的是希望美國(guó)國(guó)防部的很多主機(jī)、通信控制處理機(jī)和通信線路在戰(zhàn)爭(zhēng)中,如部分遭到攻擊而損壞時(shí),其它部分還能正常工作,同時(shí)它希望適應(yīng)從文件傳送到實(shí)時(shí)數(shù)據(jù)傳輸?shù)母鞣N應(yīng)用需求,因此它要求的是一種靈活的網(wǎng)絡(luò)體系結(jié)構(gòu),實(shí)現(xiàn)異型網(wǎng)的互聯(lián)(Interconection)與互通(Intercomunication)。

        最初ARPANET使用的是租用線路。當(dāng)衛(wèi)星通信系統(tǒng)與通信網(wǎng)發(fā)展起來(lái)之后,ARPANET最初開(kāi)發(fā)的網(wǎng)絡(luò)協(xié)議NCP (Net Control Protocol,網(wǎng)絡(luò)控制協(xié)議)因其在通信可靠性較差的通信子網(wǎng)中出現(xiàn)了不少問(wèn)題,導(dǎo)致了新的網(wǎng)絡(luò)協(xié)議TCP/IP的出現(xiàn)。雖然TCP協(xié)議和IP協(xié)議都不是OSI標(biāo)準(zhǔn),但它們是目前最流行的商業(yè)化的協(xié)議,并被公認(rèn)為當(dāng)前的工業(yè)標(biāo)準(zhǔn)或“事實(shí)上的標(biāo)準(zhǔn)”。1974年,Kahn最早定義出了的TCP/IP參考模型(TCP/IP Reference Model ); 1985年由Leiner等人對(duì)該模型做了進(jìn)一步的研究;1988年Clark對(duì)該模型的設(shè)計(jì)思想進(jìn)行了討論。

        今天,Internet己經(jīng)發(fā)展得更加商業(yè)化,更加面向消費(fèi)者,盡管基本目的發(fā)生了改變,但其最初的質(zhì)量標(biāo)準(zhǔn)(也就是開(kāi)放式、抗毀性和可靠性)依然是必需的。這些特性包括可靠傳輸數(shù)據(jù)、自動(dòng)檢測(cè)、避免網(wǎng)絡(luò)發(fā)生錯(cuò)誤等。更重要的就是TCP/IP是一個(gè)開(kāi)放式的通信協(xié)議,開(kāi)放性就意味著在任何組合間,不管這些設(shè)備的物理特征有多大差異,都可以進(jìn)行通信。

        2 標(biāo)準(zhǔn)TCP/IP協(xié)議

        如同OSI參考模型一樣,TCP/IP也是一種分層模型。與OSI參考模型不同的是,TCP/IP參考模型更側(cè)重于互聯(lián)設(shè)備間的數(shù)據(jù)傳送,而不是嚴(yán)格的功能層次劃分。TCP/IP通過(guò)解釋功能層次分布的重要性來(lái)做到這一點(diǎn),但它仍為設(shè)計(jì)者具體實(shí)現(xiàn)協(xié)議留下很大的余地。因此,OSI參考模型適用于解釋互聯(lián)網(wǎng)絡(luò)的通信機(jī)制,而TCP/IP更適合做互聯(lián)網(wǎng)絡(luò)協(xié)議的市場(chǎng)標(biāo)準(zhǔn)。

        TCP/IP協(xié)議是一套把因特網(wǎng)上的各種系統(tǒng)互聯(lián)起來(lái)的協(xié)議組,可以保證因特網(wǎng)上數(shù)據(jù)準(zhǔn)確又快速地傳輸。TCP/IP協(xié)議是一個(gè)很大的協(xié)議族,通常表示為一個(gè)簡(jiǎn)化的四層模型。這四層分別是應(yīng)用層、傳輸層、網(wǎng)絡(luò)層和鏈路層。其中一些常用協(xié)議在TCP/IP分層模型中所處的位置如圖1所示。

        圖1TCP/IP層次結(jié)構(gòu)圖

        3IP協(xié)議的實(shí)現(xiàn)

        3.1 IP數(shù)據(jù)報(bào)格式

        IP ( Internet Protocol,互聯(lián)網(wǎng)協(xié)議)是TCP/IP協(xié)議中一個(gè)最重要的協(xié)議。IP數(shù)據(jù)報(bào)以32比特為一個(gè)計(jì)數(shù)單位(組),其格式如圖2所示。

        圖21P數(shù)據(jù)報(bào)格式

        3.2IP協(xié)議的軟件實(shí)現(xiàn)

        IP是TCP/IP協(xié)議中最為核心的協(xié)議。所有的數(shù)據(jù)都以IP數(shù)據(jù)報(bào)格式傳輸。IP協(xié)議可以實(shí)現(xiàn)無(wú)連接數(shù)據(jù)報(bào)傳送、數(shù)據(jù)報(bào)路由選擇和差錯(cuò)控制的功能。在本課題中,由于單片機(jī)資源有限,結(jié)合實(shí)際需要只實(shí)現(xiàn)了IP數(shù)據(jù)報(bào)傳送和接收,沒(méi)有實(shí)現(xiàn)路由選擇算法和差錯(cuò)控制,同時(shí)也不支持IP數(shù)據(jù)報(bào)的分片和重組。

        IP協(xié)議主要通過(guò)IP接收函數(shù)和IP發(fā)送函數(shù)兩個(gè)函數(shù)實(shí)現(xiàn)。

        ①IP發(fā)送函數(shù)

        void ip_send對(duì)來(lái)自上層的數(shù)據(jù),按照IP數(shù)據(jù)報(bào)的結(jié)構(gòu)構(gòu)造數(shù)據(jù)報(bào)。通過(guò)調(diào)用ARP處理程序解析對(duì)應(yīng)IP的物理地址。若返回NULL值,則將數(shù)據(jù)存入一個(gè)已定義的結(jié)構(gòu)體WAITE中,并發(fā)送ARP請(qǐng)求。若返回對(duì)應(yīng)IP的物理地址,則將數(shù)據(jù)交給底層以太網(wǎng)驅(qū)動(dòng)程序處理。

        ②IP接收函數(shù)

        void ip rcve (UCHAR xdata*inbuf)單片機(jī)收到數(shù)據(jù)包之后,應(yīng)先對(duì)數(shù)據(jù)包的類型進(jìn)行判斷。如果是IP數(shù)據(jù)報(bào),則調(diào)用該程序。接著再判斷其數(shù)據(jù)域中所使用的協(xié)議類型,是ICMP協(xié)議調(diào)用ICMP處理子程序,是UDP協(xié)議調(diào)用UDP處理子程序,是TCP協(xié)議調(diào)用TCP處理子程序,其它返回。程序流程圖如圖3所示:

        圖3IP接收過(guò)程流程圖

        3.3 校驗(yàn)和算法

        在大多數(shù)TCP/IP協(xié)議中采用的差錯(cuò)檢驗(yàn)方法是校驗(yàn)和,校驗(yàn)和是在分組上附加的信息。校驗(yàn)和能夠防止分組在傳輸時(shí)所受到的損傷。在發(fā)送端先計(jì)算檢驗(yàn)和并將得到的結(jié)果與分組一起發(fā)送過(guò)去。接收端對(duì)包括校驗(yàn)和的整個(gè)分組重復(fù)進(jìn)行同樣的計(jì)算。若得到的結(jié)果正確則接收此分組,否則就將其丟棄。發(fā)送端和接收端的校驗(yàn)和計(jì)算方法分別如下:

        ①發(fā)送端按以下步驟產(chǎn)生校驗(yàn)和

        ②接收端按以下步驟產(chǎn)生校驗(yàn)和

        下面給出校驗(yàn)和算法的源程序:

        UINT Checksum (UCHAR xdata *checks UINT length)//計(jì)算校驗(yàn)和

        {LONG sum=0; UINT i:UINT xdata *ptr: ptr=(UINT xdata *)check;

        for (i=0:i<(length)/2;i++)

        {sum+=*ptr++;}

        if (length0x01)//表示長(zhǎng)度為單數(shù)

        {sum=sum+((*ptr)Oxff00);}

        sum=(sumOxffff)+((sum;16)Oxffff);//高16位和低16位相加

        if(sumOxffffU000){sum++;}//表示有進(jìn)位

        return((UINT)((sum)Oxf});}

        4TCP協(xié)議的實(shí)現(xiàn)

        4.1 TCP數(shù)據(jù)報(bào)格式

        TCP(Transfer Control Protocol,傳輸控制協(xié)議)是傳輸層最常用的協(xié)議,是一個(gè)比較復(fù)雜的協(xié)議。TCP和IP一樣,也是TCP/IP協(xié)議族中最重要的協(xié)議。它可以提供面向連接的、可靠的數(shù)據(jù)傳輸服務(wù)。TCP數(shù)據(jù)報(bào)文段格式如圖4所示:

        圖4TCP報(bào)文段的格式

        4.2 TCP協(xié)議的實(shí)現(xiàn)

        TCP協(xié)議的實(shí)現(xiàn)是整個(gè)TCP/IP協(xié)議棧中最復(fù)雜的一個(gè)。TCP協(xié)議是面向連接的、端對(duì)端的可靠通信協(xié)議。TCP采取了很多機(jī)制來(lái)保證它的可靠性,比如TCP連接的建立與關(guān)閉機(jī)制、超時(shí)重傳機(jī)制、數(shù)據(jù)包確認(rèn)機(jī)制、流量控制機(jī)制等等。在嵌入式系統(tǒng)中實(shí)現(xiàn)TCP協(xié)議所要做的就是實(shí)現(xiàn)這些機(jī)制,當(dāng)然要在不影響協(xié)議棧功能的前提下適當(dāng)做一下簡(jiǎn)化。

        4.3TCP的超時(shí)重傳與流量控制機(jī)制的實(shí)現(xiàn)

        當(dāng)一個(gè)TCP連接順利建立起來(lái)后,TCP連接的雙方可以互相傳遞數(shù)據(jù)了。TCP的可靠傳輸是靠確認(rèn)機(jī)制來(lái)實(shí)現(xiàn)的,也就是每發(fā)送一個(gè)數(shù)據(jù)包后,只有接收到對(duì)方發(fā)送確認(rèn)包后,才能確定該數(shù)據(jù)包已經(jīng)成功發(fā)送,否則就要重發(fā)。

        TCP的流量控制是為了協(xié)調(diào)通信雙方的收發(fā)速率不均衡而設(shè)計(jì)的。遠(yuǎn)端的客戶機(jī)一般是通用計(jì)算機(jī),相對(duì)與本地的嵌入式Web Server來(lái)說(shuō)運(yùn)行速度要快得多。因此,當(dāng)遠(yuǎn)端快的發(fā)送方向本地慢的接收方發(fā)送數(shù)據(jù)的時(shí)候,如果發(fā)送速度很快,則會(huì)導(dǎo)致本端來(lái)不及處理,甚至導(dǎo)致死機(jī)。TCP連接建立時(shí),雙方會(huì)利用TCP首部中的Window窗口字段通報(bào)雙方的可用窗口。實(shí)際上,接收方通報(bào)的窗口大小是根據(jù)其接收緩存的大小而定,考慮到本系統(tǒng)在使用TCP協(xié)議時(shí),只設(shè)置了一個(gè)中等IP包大小接收緩存,因此接收窗口設(shè)為1024。同時(shí),每次接收包的ACK確認(rèn)時(shí),窗口大小不再動(dòng)態(tài)改變,恒定設(shè)置為1024。這樣遠(yuǎn)端主機(jī)就會(huì)以較慢的傳輸速率與本端的Web Server進(jìn)行通信。

        5 結(jié)論

        本文主要針對(duì)目前流行的TCP/IP網(wǎng)絡(luò)通信協(xié)議的實(shí)現(xiàn)進(jìn)行研究和探索,由于時(shí)間倉(cāng)促,加上本人對(duì)該領(lǐng)域的研究才剛剛起步,所以還存在一些問(wèn)題值得進(jìn)一步研究探討,主要有:

        (1) 對(duì)于TCP/IP協(xié)議,時(shí)間的控制非常重要。包括TCP的超時(shí)重傳,TCP狀態(tài)的?;畹?。如果時(shí)間處理不當(dāng),將影響整個(gè)系統(tǒng)的通訊性能。

        (2)如何進(jìn)一步實(shí)現(xiàn)TCP/IP對(duì)于多點(diǎn)通信以及完整協(xié)議棧的實(shí)現(xiàn)還有待于進(jìn)一步研究。

        (3) IPv6作為下一代互聯(lián)網(wǎng)的核心協(xié)議,能夠提供幾乎無(wú)限的地址空間,從根本上克服了IPv4中地址空間不足的問(wèn)題。因此,下一步可增加對(duì)IPv6協(xié)議的研究與實(shí)現(xiàn)。

        參考文獻(xiàn)

        [1] 胡海.嵌入式TCP/IP協(xié)議棧研究與實(shí)現(xiàn)[D].西南交通大學(xué),2005.8.

        [2] 袁曉莉,徐愛(ài)均.基于OS-II和TCP/IP的遠(yuǎn)程溫度監(jiān)測(cè)系統(tǒng).2005.5.

        [3] 吳艷光.嵌入式TCP/IP協(xié)議棧設(shè)計(jì)方法的研究 [D].太原理工大學(xué),2004.

        [4] 馬永力. 基于SX52BD的嵌入式Web服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn).山東大學(xué),2005.

        [5]路英娟.TCP/IP協(xié)議小議[J].科技情報(bào)開(kāi)發(fā)與經(jīng)濟(jì),2004(6).

        [6]葛志輝,李陶深.TCP/IP協(xié)議的脆弱性與相應(yīng)的對(duì)策.2004.

        ---------

        作者簡(jiǎn)介:張凱(1980-),男,湖南益陽(yáng)人,廣東省湛江師范學(xué)院,助教,主要研究方向:計(jì)算機(jī)網(wǎng)絡(luò)工程。(廣東 湛江 524300)

        聯(lián)系地址:廣東省湛江市遂溪城遂海路182號(hào), 電話:13590059258。

        日本av一级视频在线观看| 97精品伊人久久大香线蕉app| 欧美视频九九一区二区| 偷拍av一区二区三区| 亚洲av男人的天堂一区| 亚洲欧美乱日韩乱国产| a一区二区三区乱码在线 | 欧洲| 制服丝袜人妻中出第一页| 中文字幕日韩高清乱码| 亚洲性久久久影院| 成人亚洲性情网站www在线观看| 亚洲精品成人网线在线播放va| 成人自拍三级在线观看| 亚洲av香蕉一区区二区三区| 亚洲日本va午夜在线电影| 亚洲乱在线播放| 中文字幕一区二区黄色| 中文字幕中文有码在线| 996久久国产精品线观看| 国产一区二区三区观看视频| 91精品国产综合久久久蜜| 九色九九九老阿姨| 亞洲綜合一區二區三區無碼| 一本色道久久88综合| 欧美亅性猛交内射| 国产精品国产成人国产三级| 久久熟女五十路| 亚洲视频一区二区免费看| 在线观看视频播放| 99视频一区| 日本精品熟妇一区二区三区 | 我要看免费久久99片黄色 | 亚洲国产av一区二区三区天堂| 性色av免费网站| 四虎影视亚洲精品| 亚洲精品在线观看自拍| 伊人久久大香线蕉午夜av| 国产高潮国产高潮久久久| 久久精品国产亚洲AV高清wy| 中文字幕精品人妻在线| 人人妻人人妻人人片av|