![單片機(jī)系統(tǒng)的以太網(wǎng)通信接口設(shè)計(jì)_第1頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2021-1/31/142984be-a56e-4f73-8706-e3d0852555d8/142984be-a56e-4f73-8706-e3d0852555d81.gif)
![單片機(jī)系統(tǒng)的以太網(wǎng)通信接口設(shè)計(jì)_第2頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2021-1/31/142984be-a56e-4f73-8706-e3d0852555d8/142984be-a56e-4f73-8706-e3d0852555d82.gif)
![單片機(jī)系統(tǒng)的以太網(wǎng)通信接口設(shè)計(jì)_第3頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2021-1/31/142984be-a56e-4f73-8706-e3d0852555d8/142984be-a56e-4f73-8706-e3d0852555d83.gif)
![單片機(jī)系統(tǒng)的以太網(wǎng)通信接口設(shè)計(jì)_第4頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2021-1/31/142984be-a56e-4f73-8706-e3d0852555d8/142984be-a56e-4f73-8706-e3d0852555d84.gif)
![單片機(jī)系統(tǒng)的以太網(wǎng)通信接口設(shè)計(jì)_第5頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2021-1/31/142984be-a56e-4f73-8706-e3d0852555d8/142984be-a56e-4f73-8706-e3d0852555d85.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、中北大學(xué)2005屆本科畢業(yè)設(shè)計(jì)說(shuō)明書(shū)引言單片機(jī)如何控制以太網(wǎng)網(wǎng)卡進(jìn)行傳輸數(shù)據(jù),如何加載TCP/IP協(xié)議連接到互聯(lián)網(wǎng),這些都是一些令人感興趣的問(wèn)題??梢哉f(shuō)以太網(wǎng)和TCP/IP協(xié)議已經(jīng)成為使用最廣泛的協(xié)議,而其它總線協(xié)議如RS485、RS232,CAN,LANWORKS,都只是一些局部系統(tǒng)的總線。圍繞以太網(wǎng)而制造的集線器,交換機(jī)已進(jìn)入大小公司,企業(yè),家庭。研究的主要是網(wǎng)絡(luò)的底層,如果掌握了很多網(wǎng)絡(luò)分析工具如(SNIFFER),對(duì)以太網(wǎng)和TCP/IP協(xié)議的研究就更加深入了。比較熟悉的網(wǎng)卡是10M的網(wǎng)卡,100M的以太網(wǎng)卡還在研究之中。用單片機(jī)(89C52)控制和驅(qū)動(dòng)10M的NE2000兼容型以太網(wǎng)卡
2、與電腦主機(jī)傳輸數(shù)據(jù)。或用RTL8019AS的SAI總線的以太網(wǎng)的網(wǎng)卡。單片機(jī)控制SAI總線的以太網(wǎng)網(wǎng)卡成為現(xiàn)實(shí),SAI總線也進(jìn)入了嵌入式領(lǐng)域。 在接下來(lái)的文章將大概介紹以太網(wǎng)協(xié)議,網(wǎng)卡驅(qū)動(dòng),IP協(xié)議,TCP協(xié)儀,單片機(jī)。以太網(wǎng)協(xié)議(用于10MBPS的以太網(wǎng),以下所說(shuō)的以太網(wǎng)均指10M以太網(wǎng),而不是100M,1000M的以太網(wǎng)).1以太網(wǎng)技術(shù)簡(jiǎn)介1.1以太網(wǎng)技術(shù)發(fā)展網(wǎng)絡(luò)是基于標(biāo)準(zhǔn)與協(xié)議的,以太網(wǎng)尤其強(qiáng)調(diào)這二者的重要性.IEEE 802委員會(huì)是以太網(wǎng)標(biāo)準(zhǔn)的主要制定.從1997到1982年,由DEC, Intel 和 Xerox三家公司制定了以太網(wǎng)的技術(shù)規(guī)范DIX,以次為基礎(chǔ)形成的IEEE802.3
3、以太網(wǎng)標(biāo)準(zhǔn)在1989年正式成為國(guó)際標(biāo)準(zhǔn).在30年中以太網(wǎng)技術(shù)不斷發(fā)展,成為迄今最廣泛應(yīng)用的局域網(wǎng)技術(shù),產(chǎn)生了多種技術(shù)標(biāo)準(zhǔn).1995年,IEEE正式通過(guò)802.3u快速以太網(wǎng)標(biāo)準(zhǔn),以太網(wǎng)技術(shù)實(shí)現(xiàn)了第一次飛躍.1998年802.3z千兆以太網(wǎng)標(biāo)準(zhǔn),2002年802.3ae萬(wàn)兆以太網(wǎng)標(biāo)準(zhǔn)的正式發(fā)布,是以太網(wǎng)的第二次和第三次飛躍.從上世紀(jì)90年以來(lái),以太網(wǎng)得到了前所未有的規(guī)模應(yīng)用.由于以太網(wǎng)技術(shù)具有共享性,開(kāi)放性,結(jié)構(gòu)簡(jiǎn)單,算法簡(jiǎn)潔,良好的兼容性和平滑升級(jí)功能,并且傳輸帶寬也在大幅提升,它不但在局域網(wǎng)領(lǐng)域取得霸主地位,其疆域還擴(kuò)展到城域網(wǎng)和廣域網(wǎng)范圍. 1.2 IEEE802.3及802.3的電纜IE
4、EE802標(biāo)準(zhǔn)已被ANSI采用為美國(guó)國(guó)家標(biāo)準(zhǔn),被NIST采用為政府標(biāo)準(zhǔn),并且被ISO作為國(guó)家標(biāo)準(zhǔn),稱(chēng)之為ISO8802.這些標(biāo)準(zhǔn)在物理層和MAC子層上有所通,但在數(shù)據(jù)鏈路層上是兼容的.這些標(biāo)準(zhǔn)分成幾個(gè)部分:802.1標(biāo)準(zhǔn)對(duì)這組標(biāo)準(zhǔn)做了介紹并且定義了接口原語(yǔ);802.2標(biāo)準(zhǔn)描述了數(shù)據(jù)鏈路層的上部,它使用了邏輯鏈路控制LLC(logical link control) 協(xié)議.802.3到802.5分別描述了3個(gè)局域網(wǎng)標(biāo)準(zhǔn),分別是CSMA/CD,令牌總線標(biāo)準(zhǔn),令牌環(huán)標(biāo)準(zhǔn),每一個(gè)標(biāo)準(zhǔn)包括物理層和MAC子層協(xié)議.802.3的電纜常用的有三種:第一種是10Base5電纜,它通常被稱(chēng)為”粗以太網(wǎng)(thick
5、 Ethernet)”電纜,802.3標(biāo)準(zhǔn)建議為黃色,每隔2.5m一個(gè)標(biāo)志,標(biāo)明分接頭插入處, 連接處通常采用插入式分按頭(vampire tap),將其處針小心地插入到同軸電纜的內(nèi)芯.名稱(chēng)10Base5表示的意思是:工作速度為10Mb/s,最大支持段長(zhǎng)為500m.第二種電纜是10Base2或稱(chēng)為”細(xì)以太網(wǎng)”電纜,與”粗以太網(wǎng)”相對(duì),并且很容易彎曲.起街頭除采用工業(yè)標(biāo)準(zhǔn)的BNC連接器按組成T型插座,它使用靈活,可靠性高.”細(xì)以太網(wǎng)”電纜價(jià)格低廉,安裝方便,但是適用范圍只有200m,并且每個(gè)電纜段內(nèi)只使用30 臺(tái)機(jī)器.第三種由于尋找電纜故障的麻煩,導(dǎo)致一種新的接線方式的產(chǎn)生,即所有站點(diǎn)均連接到一
6、個(gè)中心集線器上.通常,這些連線是電話(huà)公司的雙絞線,這種方式稱(chēng)為10Base-T的缺點(diǎn)是,其電纜的最大有效長(zhǎng)度為聚集線器100M,即使高質(zhì)量的雙絞線(5類(lèi)線),最大長(zhǎng)度可能也只有150m.另外大集線器的價(jià)格也較高.盡管如此,由于易于維護(hù),10Base-T還是應(yīng)用的越來(lái)越廣泛,在本設(shè)計(jì)中也應(yīng)用這種方式1.3以太網(wǎng)協(xié)議以太網(wǎng)協(xié)議有兩種,一種是IEEE802.2/IEEE802.3,還有一種是以太網(wǎng)的封裝格式?,F(xiàn)代的操作系統(tǒng)均能同時(shí)支持這兩種類(lèi)型的協(xié)議格式。因此對(duì)我們來(lái)說(shuō)只需要了解其中的一種就夠了,特別是對(duì)單片機(jī)來(lái)說(shuō),不可能支持太多的協(xié)議格式。以太網(wǎng)的物理傳輸幀:(僅介紹第二種格式)PRSDDASAT
7、YPEDATAPADFCS56位8位48位48位16位不超過(guò)1500字節(jié)可選32位PR:同步位,用于收發(fā)雙方的時(shí)鐘同步,同時(shí)也指明了傳輸?shù)乃俾剩?0M和100M的時(shí)鐘頻率不一樣,所以100M網(wǎng)卡可以兼容10M網(wǎng)卡),是56位的二進(jìn)制數(shù)101010101010.SD: 分隔位,表示下面跟著的是真正的數(shù)據(jù),而不是同步時(shí)鐘,為8位的10101011,跟同步位不同的是最后2位是11而不是10.DA:目的地址,以太網(wǎng)的地址為48位(6個(gè)字節(jié))二進(jìn)制地址,表明該幀傳輸給哪個(gè)網(wǎng)卡.如果為FFFFFFFFFFFF,則是廣播地址,廣播地址的數(shù)據(jù)可以被任何網(wǎng)卡接收到.SA:源地址,48位,表明該幀的數(shù)據(jù)是哪個(gè)網(wǎng)卡
8、發(fā)的,即發(fā)送端的網(wǎng)卡地址,同樣是6個(gè)字節(jié).-TYPE:類(lèi)型字段,表明該幀的數(shù)據(jù)是什么類(lèi)型的數(shù)據(jù),不同的協(xié)議的類(lèi)型字段不同。如:0800H 表示數(shù)據(jù)為IP包,0806H 表示數(shù)據(jù)為ARP包,814CH是SNMP包,8137H為IPX/SPX包,(小于0600H的值是用于IEEE802的,表示數(shù)據(jù)包的長(zhǎng)度。)-DATA:數(shù)據(jù)段 ,該段數(shù)據(jù)不能超過(guò)1500字節(jié)。因?yàn)橐蕴W(wǎng)規(guī)定整個(gè)傳輸包的最大長(zhǎng)度不能超過(guò)1514字節(jié)。(14字節(jié)為DA,SA,TYPE)-PAD:填充位。由于以太網(wǎng)幀傳輸?shù)臄?shù)據(jù)包最小不能小于60字節(jié), 除去(DA,SA,TYPE 14字節(jié)),還必須傳輸46字節(jié)的數(shù)據(jù),當(dāng)數(shù)據(jù)段的數(shù)據(jù)不足4
9、6字節(jié)時(shí),后面補(bǔ)000000(當(dāng)然也可以補(bǔ)其它值)-FCS:32位數(shù)據(jù)校驗(yàn)位.為32位的CRC校驗(yàn),該校驗(yàn)由網(wǎng)卡自動(dòng)計(jì)算,自動(dòng)生成,自動(dòng)校驗(yàn),自動(dòng)在數(shù)據(jù)段后面填入.對(duì)于數(shù)據(jù)的校驗(yàn)算法,我們無(wú)需了解.-事實(shí)上,PR,SD,PAD,FCS這幾個(gè)數(shù)據(jù)段我們不用理它 ,它是由網(wǎng)卡自動(dòng)產(chǎn)生的,我們要理的是DA,SA,TYPE,DATA四個(gè)段的內(nèi)容.-所有數(shù)據(jù)位的傳輸由低位開(kāi)始(但傳輸?shù)奈涣魇怯寐鼜厮固鼐幋a的) -以太網(wǎng)的沖突退避算法就不介紹了,它是由硬件自動(dòng)執(zhí)行的.DA+SA+TYPE+DATA+PAD最小為60字節(jié),最大為1514字節(jié).-以太網(wǎng)卡可以接收三種地址的數(shù)據(jù),一個(gè)是廣播地位,一個(gè)是多播地址(
10、我們用不上),一個(gè)是它自已的地址.但網(wǎng)卡也可以設(shè)置為接收任何數(shù)據(jù)包(用于網(wǎng)絡(luò)分析和監(jiān)控).1.4以太網(wǎng)的連接 1.4.1拓?fù)浣Y(jié)構(gòu): 總線型:所需的電纜較少、價(jià)格便宜、管理成本高,不易隔離故障點(diǎn)、采用共享的訪問(wèn)機(jī)制,易造成網(wǎng)絡(luò)擁塞。早期以太網(wǎng)多使用總線型的拓?fù)浣Y(jié)構(gòu),采用同軸纜作為傳輸介質(zhì),連接簡(jiǎn)單,通常在小規(guī)模的網(wǎng)絡(luò)中不需要專(zhuān)用的網(wǎng)絡(luò)設(shè)備,但由于它存在的固有缺陷,已經(jīng)逐漸被以集線器和交換機(jī)為核心的星型網(wǎng)絡(luò)所代替。 星型:管理方便、容易擴(kuò)展、需要專(zhuān)用的網(wǎng)絡(luò)設(shè)備作為網(wǎng)絡(luò)的核心節(jié)點(diǎn)、需要更多的網(wǎng)線、對(duì)核心設(shè)備的可靠性要求高。采用專(zhuān)用的網(wǎng)絡(luò)設(shè)備(如集線器或交換機(jī))作為核心節(jié)點(diǎn),通過(guò)雙絞線將局域網(wǎng)中的各臺(tái)
11、主機(jī)連接到核心節(jié)點(diǎn)上,這就形成了星型結(jié)構(gòu)。星型網(wǎng)絡(luò)雖然需要的線纜比總線型多,但布線和連接器比總線型的要便宜。此外,星型拓?fù)淇梢酝ㄟ^(guò)級(jí)聯(lián)的方式很方便的將網(wǎng)絡(luò)擴(kuò)展到很大的規(guī)模,因此得到了廣泛的應(yīng)用,被絕大部分的以太網(wǎng)所采用。 1.4.2傳輸介質(zhì) 以太網(wǎng)可以采用多種連接介質(zhì),包括同軸纜、雙絞線和光纖等。其中雙絞線多用于從主機(jī)到集線器或交換機(jī)的連接,而光纖則主要用于交換機(jī)間的級(jí)聯(lián)和交換機(jī)到路由器間的點(diǎn)到點(diǎn)鏈路上。同軸纜作為早期的主要連接介質(zhì)已經(jīng)逐漸趨于淘汰。 接口的工作模式: 以太網(wǎng)卡可以工作在兩種模式下:半雙工和全雙工。 半雙工:半雙工傳輸模式實(shí)現(xiàn)以太網(wǎng)載波監(jiān)聽(tīng)多路訪問(wèn)沖突檢測(cè)。傳統(tǒng)的共享LAN是在
12、半雙工下工作的,在同一時(shí)間只能傳輸單一方向的數(shù)據(jù)。當(dāng)兩個(gè)方向的數(shù)據(jù)同時(shí)傳輸時(shí),就會(huì)產(chǎn)生沖突,這會(huì)降低以太網(wǎng)的效率。 全雙工:全雙工傳輸是采用點(diǎn)對(duì)點(diǎn)連接,這種安排沒(méi)有沖突,因?yàn)樗鼈兪褂秒p絞線中兩個(gè)獨(dú)立的線路,這等于沒(méi)有安裝新的介質(zhì)就提高了帶寬。例如在上例的車(chē)站間又加了一條并行的鐵軌,同時(shí)可有兩列火車(chē)雙向通行。在雙全工模式下,沖突檢測(cè)電路不可用,因此每個(gè)雙全工連接只用一個(gè)端口,用于點(diǎn)對(duì)點(diǎn)連接。標(biāo)準(zhǔn)以太網(wǎng)的傳輸效率可達(dá)到5060的帶寬,雙全工在兩個(gè)方向上都提供100的效率。 1.5以太網(wǎng)的工作原理 以太網(wǎng)采用帶沖突檢測(cè)的載波幀聽(tīng)多路訪問(wèn)(CSMA/CD)機(jī)制。以太網(wǎng)中節(jié)點(diǎn)都可以看到在網(wǎng)絡(luò)中發(fā)送的所有
13、信息,因此,我們說(shuō)以太網(wǎng)是一種廣播網(wǎng)絡(luò)。以太網(wǎng)的工作過(guò)程如下: 當(dāng)以太網(wǎng)中的一臺(tái)主機(jī)要傳輸數(shù)據(jù)時(shí),它將按如下步驟進(jìn)行: 1、幀聽(tīng)信道上收否有信號(hào)在傳輸。如果有的話(huà),表明信道處于忙狀態(tài),就繼續(xù)幀聽(tīng),直到信道空閑為止。 2、若沒(méi)有幀聽(tīng)到任何信號(hào),就傳輸數(shù)據(jù) 3、傳輸?shù)臅r(shí)候繼續(xù)幀聽(tīng),如發(fā)現(xiàn)沖突則執(zhí)行退避算法,隨機(jī)等待一段時(shí)間后,重新執(zhí)行步驟1(當(dāng)沖突發(fā)生時(shí),涉及沖突的計(jì)算機(jī)會(huì)發(fā)送一個(gè)擁塞序列,以警告所有的節(jié)點(diǎn)) 4、若未發(fā)現(xiàn)沖突則發(fā)送成功,計(jì)算機(jī)會(huì)返回到幀聽(tīng)信道狀態(tài)。 注意:每臺(tái)計(jì)算機(jī)一次只允許發(fā)送一個(gè)包,所有計(jì)算機(jī)在試圖再一次發(fā)送數(shù)據(jù)之前,必須在最近一次發(fā)送后等待9.6微秒(以10Mbps運(yùn)行)。
14、 1.6 幀結(jié)構(gòu) 以太網(wǎng)幀的概述: 以太網(wǎng)的幀是數(shù)據(jù)鏈路層的封裝,網(wǎng)絡(luò)層的數(shù)據(jù)包被加上幀頭和幀尾成為可以被數(shù)據(jù)鏈路層識(shí)別的數(shù)據(jù)幀(成幀)。雖然幀頭和幀尾所用的字節(jié)數(shù)是固定不變的,但依被封裝的數(shù)據(jù)包大小的不同,以太網(wǎng)的長(zhǎng)度也在變化,其范圍是641518字節(jié)(不算8字節(jié)的前導(dǎo)字)。 1.7沖突/沖突域 沖突(Collision):在以太網(wǎng)中,當(dāng)兩個(gè)數(shù)據(jù)幀同時(shí)被發(fā)到物理傳輸介質(zhì)上,并完全或部分重疊時(shí),就發(fā)生了數(shù)據(jù)沖突。當(dāng)沖突發(fā)生時(shí),物理網(wǎng)段上的數(shù)據(jù)都不再有效。 沖突域:在同一個(gè)沖突域中的每一個(gè)節(jié)點(diǎn)都能收到所有被發(fā)送的幀。 影響沖突產(chǎn)生的因素:沖突是影響以太網(wǎng)性能的重要因素,由于沖突的存在使得傳統(tǒng)的以
15、太網(wǎng)在負(fù)載超過(guò)40時(shí),效率將明顯下降。產(chǎn)生沖突的原因有很多,如同一沖突域中節(jié)點(diǎn)的數(shù)量越多,產(chǎn)生沖突的可能性就越大。此外,諸如數(shù)據(jù)分組的長(zhǎng)度(以太網(wǎng)的最大幀長(zhǎng)度為1518字節(jié))、網(wǎng)絡(luò)的直徑等因素也會(huì)影響沖突的產(chǎn)生。因此,當(dāng)以太網(wǎng)的規(guī)模增大時(shí),就必須采取措施來(lái)控制沖突的擴(kuò)散。通常的辦法是使用網(wǎng)橋和交換機(jī)將網(wǎng)絡(luò)分段,將一個(gè)大的沖突域劃分為若干小沖突域。 1.8廣播/廣播域 廣播:在網(wǎng)絡(luò)傳輸中,向所有連通的節(jié)點(diǎn)發(fā)送消息稱(chēng)為廣播。 廣播域:網(wǎng)絡(luò)中能接收任何一設(shè)備發(fā)出的廣播幀的所有設(shè)備的集合。 廣播和廣播域的區(qū)別:廣播網(wǎng)絡(luò)指網(wǎng)絡(luò)中所有的節(jié)點(diǎn)都可以收到傳輸?shù)臄?shù)據(jù)幀,不管該幀是否是發(fā)給這些節(jié)點(diǎn)。非目的節(jié)點(diǎn)的主
16、機(jī)雖然收到該數(shù)據(jù)幀但不做處理。 廣播是指由廣播幀構(gòu)成的數(shù)據(jù)流量,這些廣播幀以廣播地址(地址的每一位都為“1”)為目的地址,告之網(wǎng)絡(luò)中所有的計(jì)算機(jī)接收此幀并處理它。 2 RTL8019AS以太網(wǎng)控制器簡(jiǎn)介2.1 RTL8019AS介紹由臺(tái)灣Realtek公司生產(chǎn)的RTL8019AS以太網(wǎng)控制器,由于其優(yōu)良的性能、低兼的價(jià)格,使其在市場(chǎng)上10Mbps網(wǎng)卡中占有相當(dāng)?shù)谋壤?.1.1 芯片特性100pin PQFPRTL8019AS 軟件兼容支持pnp 自動(dòng)檢方式(RTL8019AS 唯一的)支持以太網(wǎng)II 和IEEE802.3 10Base5,10Base2,10BaseT軟件兼容8 位和16 位
17、的NE2000支持jumper 和jumperless 模式支持微軟jumper 和jumperless 模式的即插即用配置支持fullduples 以太網(wǎng)到兩倍頻帶寬支持三種平下降方式睡眠模式功率下降有內(nèi)部時(shí)鐘運(yùn)行功率下降有內(nèi)部時(shí)鐘停止改善效率的內(nèi)置數(shù)據(jù)先取功能支持UTP,AUI 和BNC 自動(dòng)檢測(cè)(RTL8019AS 唯一的)支持10BaseT 的自動(dòng)極性改正支持8 條IRQ 總線支持16 條I/O 基本地址選項(xiàng)和額外I/O 地址輸入輸出完全解碼方式(RTL8019AS 唯一的)支持到BROM 的16k,32k,64k 和16kpage 方式(到256 頁(yè)有16k 字節(jié)/頁(yè))支持BROM
18、刪除程序后釋放內(nèi)存支持存儲(chǔ)器瞬時(shí)讀寫(xiě)(RTL8019AS 唯一的)16kSRAM(RTL8019AS 唯一的)使用9346(6416bit EEPROM)存儲(chǔ)資源配置和ID 參數(shù)為了制造便利有規(guī)劃空白9346 的能力支持可編程輸出的4診斷 LED2.1.2 芯片概述RTL8019AS 是高度集成以太網(wǎng)控制器,它能夠簡(jiǎn)單的解答即插即用NE2000兼容適配器,這種適配器具有二重和功率下降特性。通過(guò)三電平控制特性,RTL8019AS 是已制的對(duì)網(wǎng)絡(luò)設(shè)備GREEN PC 理想的選擇。全二重功能能夠模擬傳播和接收在雙絞線到全二重以太網(wǎng)交換機(jī)。這個(gè)特性不僅強(qiáng)帶寬從10 到20MBPS,而且避免了由于以太網(wǎng)
19、頻道爭(zhēng)奪特性導(dǎo)致的讀出多路存取協(xié)議的問(wèn)題。微軟公司的即插即用功能能減輕用戶(hù)較差的營(yíng)業(yè)收入而注意適配器資源,如IRQ,輸入輸出,和存儲(chǔ)器地址等等。然而,為了特殊的應(yīng)用而得不到即插即用功能的兼容性,RTL8019AS 支持JUMPER 和JUMPERLESS 選項(xiàng)。為了提供完全解決即插即用方案,RTL8019AS 在集成10BASET 收發(fā)器,BNC,和AUI 接口之間的自動(dòng)檢測(cè)功能。此外,8 條IRQ 總線和16 條基本地址總線為大資源情況下提供了寬松的環(huán)境。RTL8019AS 支持16k,32k,和64k 字節(jié)BROM 和閃存接口。它仍然提供頁(yè)面模式功能,這種功能能支持在僅16k 字節(jié)內(nèi)存系統(tǒng)
20、空間下的4M 字節(jié)的BROM.此外,BROM 的無(wú)用命令被用來(lái)釋放BROM 內(nèi)存空間。RTL8019AS 用16k 字節(jié)SRAM 設(shè)計(jì)在單片芯片上,它的設(shè)計(jì)不僅提供了更多友好的功能,而且節(jié)省了SRAM 存儲(chǔ)資源。2.2 芯片管腳結(jié)構(gòu)RTL8019AS可提供100腳的PQFP封裝(芯片引腳如圖2.1所示),其引腳可分為電源及時(shí)鐘引腳,網(wǎng)絡(luò)介質(zhì)接口引腳,自舉ROM及初始化EEPROM接口引腳,主處理器接口引腳,輸出指示及工作方式配置引腳等. 圖2.1 RTL8019AS芯片引腳圖示說(shuō)明2.2.1,管腳描述(1) 電源腳編號(hào)名稱(chēng)類(lèi)型描述6,17,47,57,70,89VDDP+5V14,28,44,
21、52,83,86GNDPGROUND(2) ISA 總線接口管腳編號(hào)名稱(chēng)類(lèi)型描述34AENI地址使能腳,ISA 信號(hào)對(duì)有效的輸入輸出命令必須是低電平97-100 ,1-4INT7-0O中斷請(qǐng)求總線: 能夠分別映射到IRQ15,IRQ12,IRQ10,IRQ5,IRQ4,IRQ3,IRQ2/9.唯一一條線被選擇在一個(gè)時(shí)間里反映中斷請(qǐng)求。其他的線都是tri-stated.RTL8019AS 仍然用這些腳座位輸入線,從而管理ISA 總線上實(shí)際相應(yīng)的中斷線上的狀態(tài)。結(jié)果記錄在INTR寄存器中,這個(gè)寄存器可用軟件用來(lái)保護(hù)中斷沖突。35IOCHRDYO受低電平作用循環(huán)等待當(dāng)前讀寫(xiě)指令。96IOCS16BS
22、LOT16根據(jù)電源復(fù)位,以SLOT16 作為輸入信號(hào)名稱(chēng)來(lái)檢測(cè)16bit 或者8bit 在使用中。它被連接到一個(gè)電位器上(27kw)。在RSTDRV 的下降沿,RTL8019AS 能判斷它的狀態(tài)。如果為高電平,適配器是放置在16bit 槽中,其腳被連接到主機(jī)的IOCS16B 腳上,這支腳同樣被主板上的300w 電阻拔起。如果是低電平,適配器是放置在8bit 槽中,被27vkw 電阻拔起。通過(guò)鎖住輸入狀態(tài),它被轉(zhuǎn)變作為IOCS16B信號(hào),其是一個(gè)開(kāi)放排水溝型輸出端,而且在16bit 主機(jī)數(shù)據(jù)轉(zhuǎn)變下為低電平。它被解碼為AEN 和SA9-0.29IORBI輸入輸出讀指令端30IOWBI輸入輸出寫(xiě)指令
23、端33RSTDRVIISA 總線上的高效硬件復(fù)位端。少于800ns 的高電平脈沖被忽略。27-18 ,16-15 ,13-17,5SA19-0I地址總線。SA10 用來(lái)實(shí)現(xiàn)PNP 端口的完全解碼,地址為279h 和A79h。在RTL8019AS 中,SA10 未被解碼。SA10 以0 作為可提供的接近pnp 端口。87-88 ,90-95 ,43-3SD15-0I/O數(shù)據(jù)總線31SMEMRBI存儲(chǔ)器讀命令32SMEMWBI存儲(chǔ)器寫(xiě)命令。用來(lái)閃存寫(xiě)命令解碼(3),存儲(chǔ)器接口管腳(包括BROM,EEPROM)76EECSO9346 片選。高電平有效,9346讀/寫(xiě)66-69 , 71-74 ,77
24、-82,84-85BA21-14BD7-0OI/OBROM 地址BROM 數(shù)據(jù)線797877EESKEEDIEEDOOOI9346 串行數(shù)據(jù)時(shí)鐘9346 串行數(shù)據(jù)輸入9346 串行數(shù)據(jù)輸出6672-71,69-6785-84,82-8177,7480-7865PNPBS4-0IOS3-0PL1-0IRQS2-0JPIIIIII下列管腳是為了定義跳躍選項(xiàng)。它們?cè)赗STDRV 下降,沿時(shí)被鎖定,然后它們被用作SRAM 總線。每個(gè)被100KW 的內(nèi)部電阻下拉。因此,當(dāng)左開(kāi)而且為高電平當(dāng)其被10k 電阻上拉時(shí),輸入為低。當(dāng)jplow,TIL8019AS 被強(qiáng)制為即插即用模式下淚各項(xiàng)不需要注意jumpe
25、rless 模式(jplow)1選擇BROM 大小和地址,2選擇I/O 地址,3選擇網(wǎng)絡(luò)媒體類(lèi)型,在IN7-0 中選擇一個(gè)中斷當(dāng)為高電平,將選擇jumper模式。當(dāng)為低, 選擇jumperless 模式當(dāng)RTL8019AS 鎖定所有jumper 狀態(tài),這些管腳在B ROM 頁(yè)面模式下直接反映BPAGE 寄存器的容量。在正常方式下,BA16-21 不用,BA14-15 用作BROM 大小BA14BA1516K高高32KSA14高64kSA14SA15(4),媒體接口管腳編號(hào)名稱(chēng)類(lèi)型描述64AUII用來(lái)檢測(cè)在AUI 接口的外部MAU 的使用情況。輸入對(duì)嵌入的BNC 必須為低電平,對(duì)MAU 必須為高
26、。當(dāng)輸入為高電平,RTL8019AS 設(shè)置AUI 位為CONFIGO并且驅(qū)動(dòng)LEDBNC 為低電平從而使BNC 禁用。當(dāng)這支腳未用時(shí),應(yīng)該接地。54,53CD+,CD-I是從MAU 來(lái)的微分輸入信號(hào)的進(jìn)位。56,55RX+,RX-I這是AUI 接收端對(duì)MAU 接收微分輸入信號(hào)的進(jìn)位49,48TX+,TX-O這是一對(duì)傳輸輸出的包含微分線性的驅(qū)動(dòng)器,它用來(lái)發(fā)送滿(mǎn)切斯特編碼數(shù)據(jù)到MAU。這些輸出是源輸出和需要270 歐姆的下拉電阻到地59,58TPIN+TPINI這對(duì)IP 輸入收到10Mbps 的微分滿(mǎn)切斯特編碼45,46TPOUT+TPOUTO這是一對(duì)進(jìn)位微分的tp 傳輸輸出。輸出滿(mǎn)切斯特編碼信號(hào)
27、有預(yù)扭曲性,以防止在雙絞線媒體的overcharge因此減少資源緊張。50X1I20Mhz 的晶體或者外部振蕩器輸入51X2O晶體反饋輸出。這個(gè)輸出是位移的晶體連接方法。它必須是當(dāng)X1 在受外部振蕩器驅(qū)動(dòng)時(shí)左開(kāi)的。(5),LED 輸出端口編號(hào)名稱(chēng)類(lèi)型描述60LEDBNCO當(dāng)RTL8019AS 媒體類(lèi)型設(shè)置為10BASE2 或者自動(dòng)檢測(cè)模式并且有煉環(huán)測(cè)試失敗時(shí)為高電平。可用來(lái)控制對(duì)CX MAU 的直流轉(zhuǎn)換能量,而且連接到LED以表明所用媒體類(lèi)型。61LED0O當(dāng)LEDS0 位為(在RTL8019AS 第三頁(yè)CONFIG3register ) 0 , 作為L(zhǎng)ED_COL. 當(dāng)LEDS0=1, 作為
28、LED_LINK.62,63LED1,LED2O當(dāng)LEDS1 位(在RTL8019AS 第三頁(yè)CONFIG3register)為0,這兩個(gè)端作為L(zhǎng)ED_RX 和LED_TX。當(dāng)LEDS=1,作為L(zhǎng)ED_CRS 和MCSB。詳細(xì)見(jiàn)6.5中。2.3 內(nèi)部結(jié)構(gòu)RTL8019AS內(nèi)部可分為遠(yuǎn)程DMA接口、本地DMA接口、MAC(介質(zhì)訪問(wèn)控制)邏輯、數(shù)據(jù)編碼解碼邏輯和其他端口。內(nèi)部結(jié)構(gòu)如圖1所示。 MAC(介質(zhì)訪問(wèn)控制)邏輯完成以下功能:當(dāng)單片機(jī)向網(wǎng)上發(fā)送數(shù)據(jù)時(shí),先將一幀數(shù)據(jù)通過(guò)遠(yuǎn)程DMA通道送到RTL8019AS中的發(fā)送緩存區(qū),然后發(fā)出傳送命令;當(dāng)RTL8019AS完成了上幀的發(fā)送后,再開(kāi)始此幀的發(fā)送
29、。RTL8019接收到的數(shù)據(jù)通過(guò)MAC比較、CRC校驗(yàn)后,由FIFO存到接收緩沖區(qū);收滿(mǎn)一幀后,以中斷或寄存器標(biāo)志的方式通知主處理器。FIFO邏輯對(duì)收發(fā)數(shù)據(jù)作16字節(jié)的緩沖,以減少對(duì)本地DMA請(qǐng)求的頻率。2.4 內(nèi)部RAM地址空間分配RTL8019AS內(nèi)部有兩塊RAM區(qū)。一塊16K字節(jié),地址為0x40000x7fff;一塊32字節(jié),地址為0x00000x001f。RAM按頁(yè)存儲(chǔ),每256字節(jié)為一頁(yè)。一般將RAM的前12頁(yè)(即0x40000x4bff)存儲(chǔ)區(qū)作為發(fā)送緩沖區(qū);后52頁(yè)(即0x4c000x7fff)存儲(chǔ)區(qū)作為接收緩沖區(qū)。第0頁(yè)叫Prom頁(yè),只有32字節(jié),地址為0x00000x001f
30、,用于存儲(chǔ)以太網(wǎng)物理地址。要接收和發(fā)送數(shù)據(jù)包就必須通過(guò)DMA讀寫(xiě)RTL8019AS內(nèi)部的16KB RAM。它實(shí)際上是雙端口的RAM,是指有兩套總線連接到該RAM,一套總線RTL8019AS讀或?qū)懺揜AM,即本地DMA;另一套總線是單片機(jī)讀或?qū)懺揜AM,即遠(yuǎn)程DMA。2.5 I/O地址分配RTL8019AS具有32位輸入輸出地址,地址偏移量為00H1FH。其中00H0FH共16個(gè)地址,為寄存器地址。寄存器分為4頁(yè):PAGE0、PAGE1、PAGE2、PAGE3,由RTL8019AS的CR(Command Register命令寄存器)中的PS1、PS0位來(lái)決定要訪問(wèn)的頁(yè)。但與NE2000兼容的寄存
31、器只有前3頁(yè),PAGE3是RTL8019AS自己定義的,對(duì)于其他兼容NE2000的芯片如DM9008無(wú)效。遠(yuǎn)程DMA地址包括10H17H,都可以用來(lái)做遠(yuǎn)程DMA端口,只要用其中的一個(gè)就可以了。復(fù)位端口包括18H1FH共8個(gè)地址,功能一樣,用于RTL8019AS復(fù)位 3設(shè)計(jì)思路及總休設(shè)計(jì)說(shuō)明總體設(shè)計(jì)思路互聯(lián)網(wǎng)絡(luò)硬件,軟件的迅速發(fā)展,使得網(wǎng)絡(luò)用戶(hù)呈指數(shù)增長(zhǎng),在使用計(jì)算機(jī)進(jìn)行網(wǎng)絡(luò)互聯(lián)的同時(shí),儀器儀表以及工業(yè)生產(chǎn)中的數(shù)據(jù)采集與控制設(shè)備在逐步地走向網(wǎng)絡(luò)化,以便共享網(wǎng)絡(luò)中龐大的信息資源.在電子設(shè)備日趨向網(wǎng)絡(luò)化的背景下,利用廉價(jià)51單片機(jī)來(lái)控制RTL8019AS實(shí)現(xiàn)以太網(wǎng)通訊具有十分重要的意義.正如前所述,
32、網(wǎng)絡(luò)是基于標(biāo)準(zhǔn)與協(xié)議的,以太網(wǎng)尤其強(qiáng)調(diào)這二者的重要性.欲實(shí)現(xiàn)以太網(wǎng)接口與局域網(wǎng)進(jìn)行通信,最重要的是利用51單片機(jī)作為主處理器,通過(guò)軟件與硬件設(shè)計(jì)形成一協(xié)議的集合,按TCP/IP網(wǎng)絡(luò)模型中的每層協(xié)議進(jìn)行對(duì)等傳輸,其具體的通信過(guò)程如圖3.1所示IPTCP應(yīng)用程序IPTCP應(yīng)用程序以太網(wǎng)驅(qū)動(dòng)程序以太網(wǎng)驅(qū)動(dòng)程序以太網(wǎng)以太網(wǎng)3.1對(duì)等層協(xié)議進(jìn)行通信框圖本設(shè)計(jì)利用臺(tái)灣Realtek公司生產(chǎn)物RTL8019以太網(wǎng)控制器,正如在前面對(duì)它的詳細(xì)介紹中提到的它支持IEEE802.3;支持8位或16位數(shù)據(jù)總線;內(nèi)置16KB的SRAM,用于收發(fā)緩沖;全雙工,收發(fā)同時(shí)達(dá)到10Mbps;支持10Base2,10base-
33、T, 10Bas e5,并能自動(dòng)檢測(cè)所連接的介質(zhì),RTL8019AS還內(nèi)置了10BASE-T,收發(fā)器,所以網(wǎng)絡(luò)接口的電路比較簡(jiǎn)單,簡(jiǎn)化了設(shè)計(jì). 本設(shè)計(jì)實(shí)現(xiàn)的以太網(wǎng)與互聯(lián)網(wǎng)通信的具體工作過(guò)程如下 ;當(dāng)主機(jī)欲向網(wǎng)絡(luò)中上某一節(jié)點(diǎn)發(fā)送一數(shù)據(jù)時(shí)由應(yīng)用層產(chǎn)生的數(shù)據(jù)經(jīng)過(guò)傳輸層接口傳給傳輸層,在傳輸層上按TCP協(xié)議的報(bào)文格式對(duì)欲傳輸?shù)挠脩?hù)數(shù)據(jù)進(jìn)行封裝,封裝好后傳給網(wǎng)絡(luò)層,網(wǎng)絡(luò)層將數(shù)據(jù)報(bào)按IP協(xié)議的IP包格式分成若干段即IP包再傳給數(shù)據(jù)鏈路層,在這一層將數(shù)據(jù)流按以太網(wǎng)協(xié)議的協(xié)議格式劃成一個(gè)一個(gè)小單元即成幀再將幀轉(zhuǎn)換為比特流在物理網(wǎng)中進(jìn)行實(shí)際傳輸,數(shù)據(jù)進(jìn)入?yún)f(xié)議棧時(shí)的封裝過(guò)程如圖3.2所示. 相反地在接收方,當(dāng)目的
34、主機(jī)收到一個(gè)以太網(wǎng)數(shù)據(jù)幀時(shí),數(shù)據(jù)通信就開(kāi)始從協(xié)議棧中由底層向上傳送,同時(shí)去掉各層協(xié)議加上的報(bào)文首部,每層協(xié)議孝要去檢查報(bào)文首部中的協(xié)議標(biāo)識(shí),以確定接收數(shù)據(jù)的上層協(xié)議,即報(bào)文每向上傳遞一層該層的報(bào)頭就被剝掉,到最高層即對(duì)方的應(yīng)用層接收 到的就上數(shù)據(jù)通信,這個(gè)過(guò)程稱(chēng)作分用,圖3.3顯示了該過(guò)程是如何發(fā)生的. 用戶(hù)數(shù)據(jù)Appl首部TCP首部應(yīng)用數(shù)據(jù)TCP首部IP首部用戶(hù)數(shù)據(jù)應(yīng)用數(shù)據(jù)TCP段IP數(shù)據(jù)報(bào)以太網(wǎng)尾部應(yīng)用數(shù)據(jù)TCP首部IP首部以太網(wǎng)首部1420204以太網(wǎng)幀3.2數(shù)據(jù)進(jìn)入?yún)f(xié)議棧時(shí)的封裝過(guò)程以太網(wǎng)驅(qū)動(dòng)程序UDPICMPIPTCP應(yīng)用程序應(yīng)用程序應(yīng)用程序應(yīng)用程序RARPARP3.3以太網(wǎng)數(shù)據(jù)的分
35、用過(guò)程4 接口電路設(shè)計(jì)4.1設(shè)計(jì)原理圖下面介紹51系列單片機(jī)與RTL8019AS的接口電路,實(shí)現(xiàn)的網(wǎng)絡(luò)接口采用UT(無(wú)屏蔽雙絞線)RJ-45接口 4.2接口電路的具體說(shuō)明 圖4.1給出了89C52單片機(jī)控制RTL8019AS實(shí)現(xiàn)以太網(wǎng)通訊的接口電路框圖。用到的主要芯片有80C52、RTL8019AS、93C46(6416bit的EEPROM)、74HC573(8位鎖存)、62256(32K字節(jié)的RAM)。為分配好地址空間,采用對(duì)93C46進(jìn)行讀(或?qū)懀┎僮鱽?lái)設(shè)置RTL8019AS的端口I/O基地址和以太網(wǎng)物理地址。93C46是采用4線SPI串行接口的Serial EEPROM,容量為1Kbit
36、(6416bit),主要保存RTL8019AS的配置信息。00H03H的地址空間用于存儲(chǔ)RTL8019AS內(nèi)配置寄存器CONFIG14的上電初始化值;地址04H11H存儲(chǔ)網(wǎng)絡(luò)節(jié)點(diǎn)地址即物理地址;地址12H7FH內(nèi)存儲(chǔ)即插即用的配置信息。RTL8019AS通過(guò)引腳EECS、EESK、EEDI控制93C46的CS、SK、DI引腳,通過(guò)EEDO接收93C46的DO引腳的狀態(tài)。RTL8019AS復(fù)位后讀取93C46的內(nèi)容并設(shè)置內(nèi)部寄存器的值,如果93C46中內(nèi)容不正確,RTL8019AS就無(wú)法正常工作。先通過(guò)編程器如ALL07把配置好的數(shù)據(jù)寫(xiě)入93C46,再焊入電路。對(duì)93C46進(jìn)行數(shù)據(jù)配置:數(shù)據(jù)00
37、H寫(xiě)入93C46的地址00H內(nèi);93C46地址04H0AH中存放的是物理地址,可以寫(xiě)入設(shè)置所需的物理地址值,或不修改,采用原始值為物理地址。通過(guò)編程器讀出04H0AH的原始值為52544CC59906,即所采用的物理地址。這樣,RTL8019AS復(fù)位后讀取93C46中配置好的內(nèi)容,對(duì)應(yīng)設(shè)置配置寄存器CONFIG1的值為00H,CONFIG1的低4位IOS30用于選擇I/O基地址。IOS30設(shè)置值均為0時(shí),RTL8019AS選擇的端口I/O基地址為300H。RTL8019AS的地址為20位,那么用到RTL8019AS的地址空間為00300H0031FH,用二進(jìn)制表示00300H0031FH,可以
38、發(fā)現(xiàn)第19位到第5位是固定的:000000000011000。RTL8019 AS的20根地址線SA0SA19如表4.2連接。表4.2 RTL8019AS地址線的連接表SA19SA10接地SA9SA8接單片機(jī)P2口的P2.7,即地址總線ADDR15SA7SA5接地SA4SA0對(duì)應(yīng)為地址總線的ADDR0ADDR4通過(guò)ADDR15、I/OW、I/OR來(lái)劃分RTL8019AS和62256的地址空間。ADDR15接62256的CE腳,低電平時(shí)選擇62256;高電平時(shí)選擇RTL8019AS的地址空間80C52單片機(jī)的地址為16位,按圖2的電路框圖連接RTL8019AS的地址空間。定義reg00reg1f
39、來(lái)對(duì)應(yīng)端口00300H0031FH。#define reg00 XBYTE0x8000/*300H*/#define reg01 XBYTE0x8001/*301H*/#define reg1f XBYTE0x801F/*31FH*/讀寫(xiě)操作、復(fù)位操作對(duì)應(yīng)的引腳按表3連接。表4.3 RTL8019AS的ISA總線接口引腳與單片機(jī)的連接表Pin29IORB讀信號(hào),接到單片機(jī)的WR引腳(P3.6)。Pin30IOWB寫(xiě)信號(hào),接到單片機(jī)的RD引腳(P3.7)。Pin33RSTDRVRESET信號(hào),接單片機(jī)的T0(P3.4)。Pin34AEN地址有效信號(hào),接地。Pin96IOCS16采用電阻下拉該引腳
40、,復(fù)位時(shí)刻腳為低電平,選擇8位模式。Pin36Pin43SD0SD78位數(shù)據(jù)總線,接單片機(jī)的P0口。(只用到8位數(shù)據(jù)總線,SD8SD15不接。)采用10BASE-T布線標(biāo)準(zhǔn)通過(guò)雙絞線進(jìn)行以太網(wǎng)通訊,而RTL8019AS內(nèi)置了10BASE-T收發(fā)器,所以網(wǎng)絡(luò)接口的電路比較簡(jiǎn)單。外接一個(gè)隔離LPF濾波器0132,TPIN為接收線,TPOUT為發(fā)送線,經(jīng)隔離后分別與RJ-45接口的RX、TX端相連。時(shí)鐘電路通過(guò)T1、T2接口一個(gè)20MHz晶振以及2個(gè)電容,實(shí)現(xiàn)全雙工方式。LED0、LED1各接一發(fā)光二極管以反映通訊狀態(tài):LED0表示LED_COL,即通訊有沖突;LED1表示LED_RX,即接收到網(wǎng)上
41、的信息包。5 程序設(shè)計(jì)5.1網(wǎng)絡(luò)模型及各層協(xié)議詳介下面將對(duì)軟件設(shè)計(jì)所依照的網(wǎng)絡(luò)模型及每層協(xié)議進(jìn)行詳細(xì)的介紹5.1.1TCP/IP參考模型在設(shè)計(jì)采用簡(jiǎn)化了的TCP/IP參考模型,它是以?xún)蓚€(gè)主要協(xié)議TCP和IP來(lái)命名的.這兩個(gè)協(xié)議是用20多年,早在1060年,美國(guó)國(guó)防部就進(jìn)行了ARPQNET網(wǎng)絡(luò)的研究. TCP/IP參考模型是以它的兩個(gè)主要的協(xié)議TCP 和IP來(lái)命名的.TCP/IP通常用一種簡(jiǎn)化 的四層模型,分為:應(yīng)用層,傳輸層,網(wǎng)絡(luò)層,鏈路層.1.應(yīng)用層TCP/IP模型的應(yīng)用層包括所有的高層協(xié)議;,這些高層使用傳輸層協(xié)議接受或發(fā)送數(shù)據(jù),可以選擇單個(gè)的數(shù)據(jù)傳輸方式,也可以選擇連續(xù)的數(shù)據(jù)通信流傳輸方
42、式,網(wǎng)絡(luò)應(yīng)用層要有一個(gè)定義清晰的對(duì)話(huà)過(guò)程,如通常所說(shuō)的文件輸協(xié)議(FTP);虛擬終端協(xié)議2.傳輸層在TCP/IP模型中,傳輸層的主要功能是,提供從一個(gè)應(yīng)用程序到另一個(gè)應(yīng)用程序的通信即端到端的會(huì)話(huà)/.所謂端到端的會(huì)話(huà),就是指從源進(jìn)程發(fā)送數(shù)據(jù)到目的進(jìn)程.傳輸層,讓網(wǎng)絡(luò)程序通過(guò)明確定義的通道及某些特性獲取數(shù)據(jù),如定義網(wǎng)絡(luò)連接得端口號(hào)等,實(shí)現(xiàn)該層協(xié)議的傳輸控制TCP和用戶(hù)數(shù)據(jù)報(bào)協(xié)議UDP。3.互聯(lián)網(wǎng)絡(luò)層互聯(lián)網(wǎng)絡(luò)層主要處理從一臺(tái)主機(jī)到另一臺(tái)主機(jī)的通信?;ヂ?lián)網(wǎng)絡(luò)層主要處理相鄰計(jì)算機(jī)之間點(diǎn)到點(diǎn)的通信。該層的核心是IP(Internet Protocol)協(xié)議,又叫網(wǎng)際協(xié)議。IP協(xié)議有兩點(diǎn)非常重要的特點(diǎn):一是
43、提供無(wú)連接的數(shù)據(jù)報(bào)傳輸機(jī)制,二是提供在同一物理網(wǎng)絡(luò)中的點(diǎn)到點(diǎn)的通信。IP協(xié)議的主要功能是IP數(shù)據(jù)報(bào)傳送及其在網(wǎng)間的路由選擇即IP路由選擇。另外,與IP有關(guān)的協(xié)議和內(nèi)容有IP地址、地址解析、差錯(cuò)控制協(xié)議和路由選擇協(xié)議的等。4.網(wǎng)絡(luò)接口協(xié)議 這是TCP/IP參考模型的最底層,這層并沒(méi)有定義特定的協(xié)議,只是指出主機(jī)必須使用某種協(xié)議與互聯(lián)網(wǎng)絡(luò)連接,以便能在其上傳遞IP分組.由控制同一物理網(wǎng)絡(luò)上的不同機(jī)器間傳遞的底層協(xié)議組成,實(shí)現(xiàn)這一層協(xié)議并不屬于TCP/IP協(xié)議組,在本設(shè)計(jì)中采用以太網(wǎng)協(xié)議格式,由RTL8019完成. 5.1.2 網(wǎng)絡(luò)模型各層工作過(guò)程及協(xié)議格式說(shuō)明(一)數(shù)據(jù)鏈路層這一層由RTL8019
44、AS以太網(wǎng)控制,主要完成的工作上將來(lái)自物理層的比特流組合成幀,即將來(lái)自物理網(wǎng)的比特流劃分成一個(gè)一個(gè)的單元,這樣做的目的,是為了出錯(cuò)的時(shí)候,只將有錯(cuò)的幀重傳,而不必將全部的數(shù)據(jù)通信重發(fā),從而可提高傳輸效率,同時(shí)為網(wǎng)絡(luò)層提供服務(wù).以太網(wǎng)協(xié)議及幀格式在前面已經(jīng)詳細(xì)敘述過(guò).(二)互聯(lián)網(wǎng)絡(luò)層這一層完成的主要工作是將數(shù)據(jù)報(bào)從源端送到目的端,其工作:傳輸層從用戶(hù)處獲取數(shù)據(jù)流將其分割成數(shù)據(jù)報(bào),交給網(wǎng)絡(luò)層傳送,網(wǎng)絡(luò)層將其分成更小的單元(稱(chēng)為段)傳遞,到達(dá)目的地后再將段重新組成數(shù)據(jù)報(bào)交給傳輸層,在這一層本這設(shè)計(jì)用到的主要的協(xié)議是IP協(xié)議,其主要功能是完成尋址,數(shù)據(jù)報(bào)的分段,其協(xié)議的IP包格式如下圖所示I04816
45、192431VERINL服務(wù)類(lèi)型總長(zhǎng)度標(biāo)識(shí)DIII段偏移生命期協(xié)議頭校驗(yàn)和源地址目的地址選項(xiàng)數(shù)據(jù)圖5.2 IP包格式IP包以32比特為一計(jì)數(shù)年單位,每組分成若干字段分別表示不同的意義(1) VER(版本)記錄數(shù)據(jù)報(bào)的協(xié)議版本,通過(guò)該字段可以在不同版本的協(xié)議間傳輸:(2) IHL(頭長(zhǎng)度)表示IP包頭的長(zhǎng)度,取值為5-15,缺省為5(3) 服務(wù)類(lèi)型 其格式為PPPDTR00,其中PPP定義了優(yōu)先級(jí),D為延遲,T為吞吐量,R為可靠性(4) 總長(zhǎng)度 指IP包以字節(jié)為單位的總長(zhǎng)度:(5) 標(biāo)識(shí) 數(shù)據(jù)報(bào)的編號(hào),當(dāng)把一個(gè)數(shù)據(jù)報(bào)分成 多個(gè)段時(shí),屬于同一個(gè)數(shù)據(jù)報(bào)的多個(gè)IP包的字段值相同(6) 生命周期用來(lái)限制
46、包的生命周期的計(jì)數(shù)器,一般以秒為單位,每經(jīng)過(guò)一個(gè)節(jié)點(diǎn)都遞減1,當(dāng)該字段值減為0時(shí)就將其丟棄:(7) 協(xié)議 該籽段指明包應(yīng)該傳送給那個(gè)傳輸進(jìn)程,用編號(hào)表示,如TCP為6,UDP為17.設(shè)計(jì)中在這一層除了用于傳送數(shù)據(jù)的IP協(xié)議外,還有一組用于網(wǎng)絡(luò)控制的協(xié)議下面簡(jiǎn)要介紹一下地址解析協(xié)議在因特網(wǎng)上,每一臺(tái)主機(jī)或路由器都有一個(gè)IP地址.網(wǎng)絡(luò)層利用IP地址互相識(shí)別與通信.但I(xiàn)P地址是一個(gè)邏輯地址,一個(gè)IP地址可以分配給這臺(tái)機(jī)器,也可以分配給另一臺(tái)機(jī)器,與機(jī)器硬件并沒(méi)有必然聯(lián)系,網(wǎng)絡(luò)層IP包的傳送最終是靠數(shù)據(jù)鏈路層和物理層實(shí)現(xiàn)的在物理層上,每臺(tái)機(jī)器有一個(gè)唯一的,固化在硬件中的、硬件能自動(dòng)識(shí)別的地址,該地址稱(chēng)
47、為MAC地址,機(jī)器之間最終用MAC地址來(lái)識(shí)別與區(qū)別,通信在MAC地址間進(jìn)行。當(dāng)網(wǎng)絡(luò)層用IP地址傳送信息時(shí),這些信息被交給底層,底層需要知道IP地址所代表的機(jī)器究竟是誰(shuí),在什么地方,這只能通過(guò)MAC地址來(lái)實(shí)現(xiàn)。這樣就需要從IP地址找到對(duì)應(yīng)機(jī)器的MAC地址,這一過(guò)程稱(chēng)為地址解析,ARP(Address Resolution protocol)就完成從IP地址找到MAC地址的協(xié)議。完成地址協(xié)議解析的方法有多種。最簡(jiǎn)單、最直接的辦法就是,建立一個(gè)IP地址與MAC地址的對(duì)照表,并將其存放與每臺(tái)機(jī)器上,當(dāng)需要進(jìn)行地址解析是就查找該表。每當(dāng)一臺(tái)機(jī)器需要進(jìn)行地址解析時(shí),就廣播一個(gè)消息,其內(nèi)容是查找給定IP地址
48、的機(jī)器的MAC地址,收到該消息的每臺(tái)計(jì)算機(jī)根據(jù)自己的IP地址確定是否應(yīng)答該消息,若是被詢(xún)問(wèn)聽(tīng)機(jī)器,則發(fā)送一個(gè)應(yīng)答消息,將自己的MAC地址置于其中,否則不作應(yīng)答。這樣每臺(tái)機(jī)器就只需要記住自身的IP地址,且地址可以動(dòng)態(tài)改變,ARP采用的就是這種方法。ARP的分組格式如 硬件地址長(zhǎng)度幀類(lèi)型 協(xié)議地址長(zhǎng)度 以太網(wǎng)目的地址以太網(wǎng)源地址硬件類(lèi)型協(xié)議類(lèi)型OP發(fā)送端以太網(wǎng)地址發(fā)送端IP地址目的以太網(wǎng)地址目的IP地址以太網(wǎng)首部28字節(jié)ARP請(qǐng)求/應(yīng)答圖5.3 ARP分組格式因特網(wǎng)控制報(bào)文協(xié)議ICMPICMP(Internet control Protocol)是用于監(jiān)視與檢測(cè)網(wǎng)絡(luò)、報(bào)告意外件的協(xié)議。ICMP將檢
49、測(cè)的結(jié)果封裝在IP包中,傳送到給定的目的地,以實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)的監(jiān)視ICMP被認(rèn)為是IP層的一個(gè)組成部分,它傳遞差錯(cuò)報(bào)文的格式如圖5。4所示0781516318位類(lèi)型8位代碼16位校驗(yàn)和不同的類(lèi)型和代碼有不同的內(nèi)容5.4 ICMP報(bào)文格式(三)傳輸層設(shè)計(jì)中在本層完成的功能是將應(yīng)用層產(chǎn)生的數(shù)據(jù)經(jīng)過(guò)傳輸層接口傳給傳輸層,在傳輸上按TCP協(xié)議的報(bào)文格式對(duì)欲傳輸?shù)挠脩?hù)數(shù)據(jù)進(jìn)行封裝,封裝好后傳給網(wǎng)絡(luò)層。TCP是專(zhuān)門(mén)用于在不可靠的因特網(wǎng)上提供可靠的、端到端的字節(jié)流通信的協(xié)議。由于因特網(wǎng)不同于一個(gè)我獨(dú)立的網(wǎng)絡(luò),其各組成網(wǎng)絡(luò)可能具有不同的拓?fù)浣Y(jié)構(gòu)、帶寬、延遲、包長(zhǎng)度,因此TCP必須具有動(dòng)態(tài)適應(yīng)網(wǎng)絡(luò)要求的能力。并且足
50、夠可靠,TCP接收用戶(hù)數(shù)據(jù),當(dāng)數(shù)據(jù)太長(zhǎng)時(shí)將其分成多個(gè)段,然后再進(jìn)行封裝、傳送。所以在TCP內(nèi)部,將傳送的單位稱(chēng)為段,其格式如圖5.5 第一個(gè)16位確認(rèn)了源端口,第二個(gè)16位確認(rèn)了目的端口。端口的劃分 使IP主機(jī)之間可用單個(gè)的IP地址實(shí)現(xiàn)不同類(lèi)型的并發(fā)連接。在絕大多數(shù)現(xiàn)代操作系統(tǒng)中,采用32位IP地址和16位端口地址的組合確認(rèn)一個(gè)接口。源接口和目的接口的組合就定義了一個(gè)連接。最低的1024個(gè)端口是常用的,它們是系統(tǒng)為特定的應(yīng)用層協(xié)議所保留的默認(rèn)設(shè)置。如:默認(rèn)狀態(tài)下,HTTP使用端口80。而POP3使用端口110,其它的應(yīng)用可以使用編號(hào)更高的端口在接下來(lái)的兩個(gè)域中,順序號(hào)和確認(rèn)號(hào)是TCP實(shí)現(xiàn)可靠連
51、接的關(guān)鍵。當(dāng)建立一個(gè)TCP連接時(shí),發(fā)送方主機(jī)發(fā)出一個(gè)隨機(jī)的初始化順序號(hào)給初始化器,初始化器將勘加1后送回確認(rèn)域的起始器,這意味著下一個(gè)字節(jié)可以發(fā)送了。一旦數(shù)據(jù)開(kāi)始流動(dòng),順序號(hào)和確認(rèn)號(hào)將跟蹤已發(fā)送了那些數(shù)據(jù),那些數(shù)據(jù)已被確認(rèn)。4位的偏移量代表TCP頭部一共有多少個(gè)32位的信息。這個(gè)信息必不可少的,因?yàn)橛锌蛇x的頭部區(qū)域。偏移量標(biāo)識(shí)了頭部的結(jié)束和數(shù)據(jù)的開(kāi)始。TCP的設(shè)計(jì)者保留了接下來(lái)的6位,以萬(wàn)一將來(lái)要對(duì)其進(jìn)行擴(kuò)展。隨后的6位每個(gè)都是標(biāo)志,若UNG標(biāo)志位的值1,意味著遠(yuǎn)在頭部緊急指針區(qū)域的數(shù)據(jù)是有效的:一個(gè)SYN包有一個(gè)有意義的序列號(hào),但它的確認(rèn)號(hào)是無(wú)意義的,因?yàn)樗⒉淮_認(rèn)任何事件,PSH標(biāo)志位使數(shù)
52、據(jù)不必等待接收。RST標(biāo)志位將斷開(kāi)一個(gè)連接。SYN(同步)標(biāo)志位意味著順序號(hào)是有效的。FIN(結(jié)束)標(biāo)志位將指出發(fā)送方已經(jīng)發(fā)完發(fā)數(shù)據(jù)。16位長(zhǎng)的窗口區(qū)域表示了滑動(dòng)窗口”的大小,也就是告訴了送方它已經(jīng)準(zhǔn)備好接收多少個(gè)字的數(shù)據(jù).TCP通過(guò)調(diào)整窗口的大小來(lái)控制數(shù)據(jù)的流量.一個(gè)值為0的窗口意味著通告發(fā)送方:如果沒(méi)有進(jìn)一步的通知,接收器已滿(mǎn),不能再接收更多的數(shù)據(jù)了.16位的校驗(yàn)碼區(qū)域保證了數(shù)據(jù)的完整性,保護(hù)了TCP頭部和IP頭部的各個(gè)區(qū)域.發(fā)送方計(jì)算校驗(yàn)值并把它插入這個(gè)區(qū)域,接收方根據(jù)收到的包重新計(jì)算該值并比較二者,如果它們是匹配的,則認(rèn)為數(shù)據(jù)是完整無(wú)損的,當(dāng)設(shè)置緊急標(biāo)志位時(shí),緊急指針是一個(gè)16位的偏移
53、量,它代表必須加快的最后一個(gè)字,選擇區(qū)域可以容納0或多個(gè)32位字.可擴(kuò)展TCP性能.當(dāng)一個(gè)包發(fā)送時(shí),重發(fā)定時(shí)器開(kāi)始計(jì)數(shù);當(dāng)收到確認(rèn)信號(hào)后,重發(fā)定時(shí)器停止計(jì)數(shù).如果超過(guò)設(shè)定時(shí)間段還沒(méi)有收到確認(rèn)信號(hào),就重發(fā)該包.一個(gè)比較棘手的問(wèn)題是如何設(shè)置該時(shí)間段,如果太長(zhǎng),當(dāng)網(wǎng)絡(luò)傳輸錯(cuò)誤增加時(shí)將導(dǎo)致不必要的等待時(shí)間;如果太短,就會(huì)產(chǎn)生過(guò)多的重復(fù)包從而降低網(wǎng)絡(luò)的反應(yīng)時(shí)間,現(xiàn)代TCP協(xié)議根據(jù)實(shí)際情況對(duì)重發(fā)數(shù)據(jù)的確認(rèn),持續(xù)定時(shí)器將超過(guò)并發(fā)送一個(gè)探針.探針的回應(yīng)將指出窗口的大小(也許為0).保持定時(shí)器在本端沒(méi)有任何活動(dòng)后,將檢查在連接的另一端是否還有運(yùn)行的進(jìn)程,如果沒(méi)有任何回應(yīng),該定時(shí)器將斷開(kāi)連接.在數(shù)據(jù)重發(fā)時(shí),接收過(guò)程一直在遞送這些重發(fā)的數(shù)據(jù),這樣就使總體的數(shù)據(jù)傳輸陷于停頓,直到丟失的數(shù)據(jù)被
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國(guó)經(jīng)編干發(fā)巾行業(yè)投資前景及策略咨詢(xún)研究報(bào)告
- 2025年普通婦檢床項(xiàng)目可行性研究報(bào)告
- 2025年急診室設(shè)備項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國(guó)壓力電波黑膠管行業(yè)投資前景及策略咨詢(xún)研究報(bào)告
- 2025年衛(wèi)生間用紡織品項(xiàng)目可行性研究報(bào)告
- 廣西2025年廣西醫(yī)科大學(xué)第二附屬醫(yī)院護(hù)理人員招聘50人筆試歷年參考題庫(kù)附帶答案詳解
- 2025至2030年中國(guó)銀行賬戶(hù)管理系統(tǒng)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)金屬鮑爾環(huán)填料數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年移動(dòng)式電腦絎縫機(jī)項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年中國(guó)胡蘿卜果蔬汁數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 中學(xué)學(xué)校2024-2025學(xué)年教師發(fā)展中心工作計(jì)劃
- app 購(gòu)買(mǎi)合同范例
- 小班期末家長(zhǎng)會(huì)-雙向奔赴 共育花開(kāi)【課件】
- 礦山生態(tài)修復(fù)工程不穩(wěn)定斜坡治理工程設(shè)計(jì)
- 2024年江西省高考物理試卷(含答案解析)
- 頸部瘢痕攣縮畸形治療
- 貴州省貴陽(yáng)市2023-2024學(xué)年五年級(jí)上學(xué)期語(yǔ)文期末試卷(含答案)
- 規(guī)劃課題申報(bào)范例:俄羅斯教育改革研究(附可修改技術(shù)路線圖)
- 運(yùn)輸企業(yè)安全事故報(bào)告調(diào)查處理制度(簡(jiǎn)單版5篇)
- 倉(cāng)庫(kù)貨物安全管理
- 端午做香囊課件
評(píng)論
0/150
提交評(píng)論