freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

嵌入式webserver的設(shè)計(jì)與實(shí)現(xiàn)(編輯修改稿)

2025-07-26 23:39 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 K * 8位的快速閃存,它的結(jié)構(gòu)為256字節(jié)為一頁(yè),每頁(yè)的擦寫(xiě)時(shí)間為5mS,整片擦除時(shí)間為50mS。管腳表如下: W29C040 FLASH ROM 表24 W29C040管腳列表管腳名稱(chēng)功能描述A0A18地址的輸入口DQ0DQ7數(shù)據(jù)的輸入/輸出口CE 片選腳OE讀腳WE寫(xiě)腳Vdd5V腳Vss地 圖25W29C040管腳圖 3.TCP/IP協(xié)議簡(jiǎn)介3.1 分層結(jié)構(gòu)對(duì)于一個(gè)功能齊全以太網(wǎng)WEB服務(wù)器,需要一下幾個(gè)協(xié)議:地址解析協(xié)議(ARP),網(wǎng)際協(xié)議(IP),網(wǎng)際控制消息協(xié)議(ICMP),傳輸控制協(xié)議(TCP),超文本傳輸協(xié)議(HTTP),它們的關(guān)系圖如下:用戶(hù)進(jìn)程用戶(hù)進(jìn)程用戶(hù)進(jìn)程用戶(hù)進(jìn)程TCPUDPIPIGMPICMP硬件接口RARPARP媒 體 應(yīng)用層 運(yùn)輸層 網(wǎng)絡(luò)層 鏈路層 圖31 TCP/IP協(xié)議族中不同層次的協(xié)議TCP/IP協(xié)議最先是在UNIX系統(tǒng)里實(shí)現(xiàn)的,后來(lái)的LINUX、DOS、Windows也實(shí)現(xiàn)了TCP/IP,隨后TCP/IP協(xié)議也被移植到其它嵌入式的處理器上。由于指令的原因,以及資源上的原因,在UNIX上實(shí)現(xiàn)的TCP/IP協(xié)議的源代碼并不能直接移植到8位的單片機(jī)上。并且單片機(jī)根本沒(méi)有足夠的代碼空間實(shí)現(xiàn)全部協(xié)議。一般在單片機(jī)里只實(shí)現(xiàn)與需要有關(guān)的部分,不使用的協(xié)議一概不支持?;谶@一思想,我們?cè)谠O(shè)計(jì)嵌入式Internet時(shí)就可以在TCP/IP協(xié)議的子集中實(shí)現(xiàn),從而降低設(shè)計(jì)的難度。本文僅介紹與嵌入式WEB SERVER編程密切相關(guān)的部分:TCP/IP協(xié)議的分層結(jié)構(gòu)及其報(bào)文格式。TCP/IP協(xié)議采用分層結(jié)構(gòu),它是一個(gè)四層協(xié)議系統(tǒng),每一層負(fù)責(zé)不同的功能,其分層模型及協(xié)議如下表31: 表31分層模型及協(xié)議應(yīng)用層 ApplicationHTTP , Telnet , FTP , SMTP , SNMP傳輸層 TransportTCP , UDP網(wǎng)絡(luò)層 InternetIP (ARP , RARP , ICMP , IGMP )鏈路層 NetworkEthernet , X , SLIP , PPP 封裝當(dāng)應(yīng)用程序用TCP傳送數(shù)據(jù)時(shí),數(shù)據(jù)被送入?yún)f(xié)議棧中,然后逐個(gè)通過(guò)每一層直到被當(dāng)作一串比特流送入網(wǎng)絡(luò)。其中每一層對(duì)收到的數(shù)據(jù)都要增加一些首部信息(有時(shí)還要增加尾部信息),。TCP傳給IP的數(shù)據(jù)單元稱(chēng)作TCP報(bào)文段或簡(jiǎn)稱(chēng)為T(mén)CP段(TCP segment)。IP傳給網(wǎng)絡(luò)接口層的數(shù)據(jù)單元稱(chēng)作IP數(shù)據(jù)報(bào)(IP datagram)。通過(guò)以太網(wǎng)傳輸?shù)谋忍亓鞣Q(chēng)作幀(Frame)。應(yīng)用程序TCPIP以太網(wǎng)驅(qū)動(dòng)程序應(yīng)用數(shù)據(jù)TCP首部IP首部應(yīng)用數(shù)據(jù)TCP首部IP首部以太網(wǎng)首部以太網(wǎng)尾部 用戶(hù)數(shù)據(jù)用戶(hù)數(shù)據(jù)Appl首部應(yīng)用數(shù)據(jù)TCP首部 TCP段IP數(shù)據(jù)報(bào) 14 20 20 4 以太網(wǎng) 以太網(wǎng)幀 46~1500字節(jié)圖32數(shù)據(jù)進(jìn)入?yún)f(xié)議棧時(shí)的封裝過(guò)程圖32中幀頭和幀尾下面所標(biāo)注的數(shù)字是典型以太網(wǎng)幀首部的字節(jié)長(zhǎng)度。本文的后面將詳細(xì)介紹幀頭的含義。以太網(wǎng)數(shù)據(jù)幀的物理特性是其長(zhǎng)度必須在46~1500字節(jié)之間。網(wǎng)絡(luò)接口分別要發(fā)送和接收IP、ARP、和RARP數(shù)據(jù),因此也必須在以太網(wǎng)的幀首部中加入某種形式的標(biāo)識(shí),以指明生成數(shù)據(jù)的網(wǎng)絡(luò)層協(xié)議。為此,以太網(wǎng)的幀首部也有一個(gè)16bit的幀類(lèi)型域。 鏈路層的協(xié)議分析鏈路層(Link Layer):又稱(chēng)數(shù)據(jù)鏈路層或網(wǎng)絡(luò)接口層,這是TCP / IP協(xié)議族的最底層,它負(fù)責(zé)接收IP數(shù)據(jù)包和把數(shù)據(jù)包通過(guò)選定的網(wǎng)絡(luò)發(fā)送出去,或者從網(wǎng)絡(luò)上接收物理幀,抽取出IP數(shù)據(jù)包,交給IP層。鏈路層通常包括計(jì)算機(jī)中對(duì)應(yīng)的網(wǎng)絡(luò)接口卡及其設(shè)備驅(qū)動(dòng)程序,它們一起處理與電纜(或其它任何傳輸媒介)的物理接口細(xì)節(jié),完成網(wǎng)絡(luò)上物理幀的傳輸。除網(wǎng)絡(luò)控制器驅(qū)動(dòng)外,鏈路層典型的協(xié)議就是ARP (Address Resolation Protocol)—地址解析協(xié)議。 ARP協(xié)議概述每個(gè)網(wǎng)絡(luò)接口都有自己的一個(gè)硬件地址,在硬件層次上進(jìn)行的數(shù)據(jù)幀交換必須有正確的接口地址。但是,TCP/IP有自己的地址,即32位的IP地址。知道主機(jī)的IP地址并不能讓以太網(wǎng)驅(qū)動(dòng)程序發(fā)送一幀數(shù)據(jù)給主機(jī),以太網(wǎng)驅(qū)動(dòng)程序必須知道目的端的硬件地址才能發(fā)送數(shù)據(jù)。ARP的功能就是在32位的lP地址和網(wǎng)卡MAC地址之間提供動(dòng)態(tài)映射。 以太網(wǎng)的網(wǎng)絡(luò)接口層支持的是48位以太網(wǎng)地址,而網(wǎng)絡(luò)層支持的是32位的IP地址。ARP協(xié)議的功能是為32位IP地址到對(duì)應(yīng)的48位以太網(wǎng)物理地址之間提供動(dòng)態(tài)映射,將上層的IP地址與底層的物理地址進(jìn)行綁定,它形成了只能使用IP地址的上層協(xié)議軟件與只能使用物理地址的下層設(shè)備驅(qū)動(dòng)程序軟件之間的分界線(xiàn)。當(dāng)某主機(jī)要向以太網(wǎng)中另一臺(tái)主機(jī)發(fā)送IP數(shù)據(jù)時(shí),它首先根據(jù)目的主機(jī)的IP地址在ARP高速緩存中查詢(xún)相應(yīng)的以太網(wǎng)地址,ARP高速緩存是主機(jī)維護(hù)的一個(gè)IP地址到相應(yīng)以太網(wǎng)地址的映射。如果查到匹配結(jié)點(diǎn),則相應(yīng)的以太網(wǎng)地址被寫(xiě)入以太網(wǎng)幀首部,數(shù)據(jù)包被加入輸出隊(duì)列等候發(fā)送。如果查詢(xún)失敗,ARP會(huì)先廣播一個(gè)詢(xún)問(wèn)目的主機(jī)硬件地址的ARP報(bào)文,等到收到回答后再將數(shù)據(jù)包發(fā)送出去。ARP包格式如表所示:表32 ARP請(qǐng)求或應(yīng)答格式0 13 14 416字節(jié)以太網(wǎng)目的地址6字節(jié)以太網(wǎng)源地址2字節(jié)幀類(lèi)型2字節(jié)硬件類(lèi)型2字節(jié)協(xié)議類(lèi)型1字節(jié)硬件地址長(zhǎng)度1字節(jié)協(xié)議字節(jié)長(zhǎng)度2字節(jié)操作字段6字節(jié)發(fā)送端以太網(wǎng)地址4字節(jié)發(fā)送端IP地址6字節(jié)目的以太網(wǎng)地址4字節(jié)目的IP地址 網(wǎng)絡(luò)層的協(xié)議分析網(wǎng)絡(luò)層主要負(fù)責(zé)按網(wǎng)絡(luò)標(biāo)準(zhǔn)形式封裝數(shù)據(jù)報(bào),既從原發(fā)送方到目的地報(bào)文地址和路由信息,以便讓信息可以發(fā)送到相鄰的TCP/IP網(wǎng)絡(luò)上的任意主機(jī)上。網(wǎng)絡(luò)層協(xié)議包括IP(網(wǎng)際協(xié)議),ICMP(控制報(bào)文協(xié)議)和IGMP(Internet組管理協(xié)議)。 IP協(xié)議概述IP協(xié)議使網(wǎng)際之間的通信成為可能,是層中傳輸數(shù)據(jù)的機(jī)制。如果嵌入式Internet需要跨越不同的網(wǎng)絡(luò)通信就必須要實(shí)現(xiàn)IP協(xié)議。所以IP協(xié)議需要完整實(shí)現(xiàn),要特別注意IP包最大可以為65K,可以分段傳輸,而在嵌入式系統(tǒng)中根本無(wú)法容納如此大的數(shù)據(jù)包,因此一般不支持分段。單片機(jī)一般采用發(fā)送小數(shù)據(jù)包的方式,以避免分段。IP協(xié)議是整個(gè)TCP/IP協(xié)議族中最為核心的協(xié)議,所有的TCP、UDP、ICMP等數(shù)據(jù)都以IP數(shù)據(jù)報(bào)格式傳輸。IP協(xié)議是一種不可靠的、盡最大努力交互的、無(wú)連接交互機(jī)制的協(xié)議,它并不保證IP數(shù)據(jù)報(bào)能成功地到達(dá)目的地。因此數(shù)據(jù)報(bào)傳輸?shù)目煽啃员仨氂缮蠈訁f(xié)議來(lái)負(fù)責(zé),如TCP協(xié)議。表33 IP數(shù)據(jù)報(bào)格式及首部中的各個(gè)字段4位版本4位首部長(zhǎng)度8位服務(wù)類(lèi)型(TOS)16位總長(zhǎng)度(字節(jié))16位標(biāo)識(shí)3位標(biāo)志13位片偏移8位生存時(shí)間(TTL)8位協(xié)議16位首部檢驗(yàn)和32位源IP地址32位目的IP地址32位選項(xiàng)(若有)數(shù)據(jù) ICMP協(xié)議概述ICMP協(xié)議主要用來(lái)傳遞差錯(cuò)報(bào)文以及其它需要注意的信息。ICMP協(xié)議中規(guī)定了多種協(xié)議類(lèi)型和代碼,如果完全實(shí)現(xiàn)要浪費(fèi)不少的系統(tǒng)資源,對(duì)于普通的嵌入式Internet的應(yīng)用而言,能夠測(cè)試網(wǎng)絡(luò)的連通情況即可,因此只需要實(shí)現(xiàn)ICMP中類(lèi)型號(hào)為0,代碼為0的Ping應(yīng)答協(xié)議即可。 傳輸層的協(xié)議分析傳輸層主要為兩臺(tái)主機(jī)上的應(yīng)用程序提供端到端的通信。在TCP/IP協(xié)議族中,有兩個(gè)互不相同的傳輸協(xié)議:TCP(傳輸控制協(xié)議)和UDP(用戶(hù)數(shù)據(jù)報(bào)協(xié)議)。TCP是一種面向連接的協(xié)議,TCP為兩臺(tái)主機(jī)提供高可靠性的數(shù)據(jù)通信,通過(guò)使用序列號(hào)和確認(rèn)信息,TCP能夠向發(fā)送方提供到達(dá)接收方的數(shù)據(jù)包的傳送信息。它所做的工作包括把應(yīng)用程序交給它的數(shù)據(jù)分成合適的小塊交給下面的網(wǎng)絡(luò)層,確認(rèn)接收到的分組,設(shè)置發(fā)送最后確認(rèn)分組的超時(shí)時(shí)鐘等。由于運(yùn)輸層提供了高可靠性的端到端的通信,因此應(yīng)用層可以忽略所有這些細(xì)節(jié)。而另一方面,UDP則為應(yīng)用層提供一種非常簡(jiǎn)單的服務(wù)。它只是把稱(chēng)作數(shù)據(jù)報(bào)的分組從一臺(tái)主機(jī)發(fā)送到另一臺(tái)主機(jī),但并不保證該數(shù)據(jù)報(bào)能到達(dá)另一端。任何必需的可靠性必須由應(yīng)用層來(lái)提供。這兩種運(yùn)輸層協(xié)議分別在不同的應(yīng)用程序中有不同的用途。 TCP與UDP的比較傳輸控制協(xié)議(TCP: Transfer Control Protocol)和用戶(hù)數(shù)據(jù)包協(xié)議(UDP: User Datagram Protocol)是因特網(wǎng)上傳輸層的協(xié)議,利用IP協(xié)議,支持應(yīng)用層所委托的數(shù)據(jù)的端對(duì)端通信??梢詮氖澜缟先魏我慌_(tái)計(jì)算機(jī)中找到特定的通信對(duì)象,并向其發(fā)送數(shù)據(jù)。傳輸層的協(xié)議提供的是連接指定在對(duì)方計(jì)算機(jī)上運(yùn)行的特定應(yīng)用程序和希望得到的網(wǎng)絡(luò)服務(wù)。TCP和UDP把端口通信功能提供給應(yīng)用程序,但TCP和UDP在性質(zhì)上具有差別,因此在用途上也存在一定的區(qū)別。UDP數(shù)據(jù)包的可靠性是與IP相當(dāng)?shù)?,所以遠(yuǎn)端主機(jī)收到的數(shù)據(jù)包未能保證其正確的順序。但是由于TCP所傳數(shù)據(jù)流應(yīng)用了順序號(hào)和應(yīng)答措施,可以發(fā)現(xiàn)數(shù)據(jù)的丟失、段的失序和對(duì)傳輸錯(cuò)誤的排除,所以TCP協(xié)議提供的是數(shù)據(jù)流的可靠傳輸。相對(duì)于UDP,TCP所獲得的可靠性是以其復(fù)雜性為代價(jià)的。TCP面向連接,而UDP是無(wú)連接能力的。這意味著,UDP客戶(hù)機(jī)向指定的遠(yuǎn)端主機(jī)發(fā)送數(shù)據(jù)包時(shí),并未事先確知對(duì)方是做好了接收數(shù)據(jù)的準(zhǔn)備的。因此就會(huì)發(fā)生某一客戶(hù)機(jī)發(fā)給一個(gè)主機(jī),而此主機(jī)事先并未把此客戶(hù)機(jī)列入其目標(biāo)端口號(hào)而加以監(jiān)聽(tīng)。這種情況,只要遠(yuǎn)端主機(jī)運(yùn)行的是TCP/IP堆棧,并能夠?qū)⑤斎氲腢DP數(shù)據(jù)包送到ICMP層進(jìn)行處理的話(huà),此主機(jī)將返回一個(gè)ICMP(Internet控制信息協(xié)議)錯(cuò)誤。也就是說(shuō),如果遠(yuǎn)端主機(jī)不能接收發(fā)去的UDP數(shù)據(jù)的話(huà),客戶(hù)機(jī)還可以獲得一定的提示的。但是,這種提示是有限的,因?yàn)榭蛻?hù)機(jī)并不確知數(shù)據(jù)的結(jié)果。然而也正是由于UDP沒(méi)有保證可靠性的機(jī)制,沒(méi)有其他的關(guān)卡機(jī)制,UDP才得以實(shí)現(xiàn)全速發(fā)送(即充分發(fā)揮物理通信設(shè)備的速度)。如果使用低速的處理器,因UDP的開(kāi)銷(xiāo)很小,其傳輸率比TCP高出很多。但對(duì)于高速處理器,二者的差別不會(huì)很大。另外,UDP沒(méi)有點(diǎn)對(duì)點(diǎn)接入的要求,所以可以實(shí)現(xiàn)“一對(duì)多點(diǎn)”,“多對(duì)多點(diǎn)”的廣播和多點(diǎn)播發(fā)信息。一個(gè)使用UDP實(shí)行信息廣播的典型例子,就是在DHCP協(xié)議(動(dòng)態(tài)主機(jī)控制協(xié)議)中,當(dāng)系統(tǒng)引導(dǎo)的時(shí)候,發(fā)出廣播信息,通知所有DHCP服務(wù)器向系統(tǒng)提交網(wǎng)絡(luò)配置信息。 UDP協(xié)議 UDP是一個(gè)簡(jiǎn)單的面向應(yīng)用的運(yùn)輸層協(xié)議,不提供可靠性。不進(jìn)行連接,只是把數(shù)據(jù)發(fā)出去,不管它能不能到目的地,也不進(jìn)行確認(rèn),只管發(fā)送,由于不用建立連接和等待確認(rèn),所以傳輸速度很快。報(bào)文格式見(jiàn)表34所示:表34 UDP數(shù)據(jù)報(bào)首部0 15 16 3116位源端口號(hào)16位目的端口號(hào)16位UDP長(zhǎng)度16位UDP檢驗(yàn)和數(shù)據(jù)(若有)端口號(hào)表示發(fā)送進(jìn)程和接收進(jìn)程,UDP的公認(rèn)端口見(jiàn)表所示:表35 UDP公認(rèn)端口端口號(hào)端口功能7ECHO將收到的數(shù)據(jù)報(bào)回送到發(fā)送端9DISCARD丟棄任何收到的數(shù)據(jù)報(bào)13DAYTIME返回任何日期和時(shí)間69TFTP簡(jiǎn)單文件傳送協(xié)議 總長(zhǎng)度是指UDP首部和數(shù)據(jù)兩個(gè)和的字節(jié)數(shù),如果只有首部沒(méi)有數(shù)據(jù)那么它的值為8字節(jié),是最小值。檢驗(yàn)和覆蓋整個(gè)UDP長(zhǎng)度。包括3部分:偽首部、UDP首部和應(yīng)用層數(shù)據(jù),位于UDP報(bào)頭前12字節(jié)的是偽首部。見(jiàn)表36所示:表36 UDP檢驗(yàn)和32位源IP地址32位目的IP地址全0 8位協(xié)議 16位UDP總長(zhǎng)度源端口號(hào) 目的端口號(hào)UDP總長(zhǎng)度 檢驗(yàn)和數(shù)據(jù)(必須填充使數(shù)據(jù)是16的倍數(shù)) TCP協(xié)議 TCP和UDP不同,它向應(yīng)用層提供一種面向連接的、可靠的字節(jié)流服務(wù)。 TCP數(shù)據(jù)包的結(jié)構(gòu)如表37所示:表37 TCP首部
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1