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

正文內(nèi)容

基于單片機的tcpip技術(shù)研究及應(yīng)用-資料下載頁

2024-11-08 05:43本頁面

【導(dǎo)讀】今天,嵌入式Inter的應(yīng)用己經(jīng)深入到日常生活的各個方面。論文首先介紹了嵌入式系統(tǒng)的組成及對嵌入式Inter產(chǎn)生。用了一種基于單片自身特點的具體的解決方案:嵌入式TCP/IP協(xié)議。資源有限的微處理器中,實現(xiàn)以電子郵件方式進行遠程數(shù)據(jù)傳輸。

  

【正文】 入式系統(tǒng)對信息進行 TCP/IP協(xié)議處理,使其變成在 Inter上可傳輸?shù)?IP數(shù)據(jù)包。由于 51系列單片機內(nèi)部資源有限, 不可能實現(xiàn)標準的 Inter的 TCP/IP協(xié)議簇,也不需要實現(xiàn)標準的 TCP/IP協(xié)議簇 ??筛鶕?jù)具體應(yīng)用需求對標準的 TCP/IP協(xié)議簇進行適當?shù)牟眉粜薷?, 形成一個真正適用的嵌入式 TCP /IP 協(xié)議子集 。 通過裁減對原協(xié)議進行有選擇地實現(xiàn)。這樣在實現(xiàn)數(shù)據(jù)的遠程傳輸上,我們就可以從 TCP/IP協(xié)議子集上實現(xiàn)。 考慮到 51系列單片機資源有限,在對協(xié)議的選取上我們應(yīng)考慮到系統(tǒng)資源和保證協(xié)議在功能及機制上的完整性。 與 網(wǎng) 絡(luò) 接 口 電 路 網(wǎng)卡芯片 串行 EEPROM MCU (89C51) 鍵盤模塊 LED 顯示模塊 21 鏈路層協(xié)議選擇及分析 鏈路層主要作用是為其上層協(xié)議發(fā)送和接收數(shù)據(jù)包。根據(jù)物理層的不同 , 鏈路層有多種協(xié)議可以選擇。其中主要有以太網(wǎng)、令牌環(huán)網(wǎng)、 FDDI)及 RS 232串行線路 協(xié)議等。 以太網(wǎng)上數(shù)據(jù)的傳輸是采用網(wǎng)絡(luò)的 MAC地址來進行識別的。這就是要求系統(tǒng)有實現(xiàn) IP地址到 MAC地址的轉(zhuǎn)換的功能 , 即 ARP(地址解析 )協(xié)議。 ARP協(xié)議可以細分為 ARP請求協(xié)議和 ARP響應(yīng)協(xié)議兩種 , 系統(tǒng)要同其它計算機通信 , 就必須實現(xiàn) ARP響應(yīng)協(xié)議 , ARP請求協(xié)議在本地建立了一個 IP地址到 MAC地址的映像 , 保證了對外通信的有的放矢。 RARP(逆地址解析 )協(xié)議主要用于解決如何從 MAC 地址得到 IP地址 , 主要用于無盤工作站中 , 可以無需實現(xiàn)。 網(wǎng)絡(luò)層協(xié)議選擇及分析 IP 是 TCP/IP 最 重要的組成部分,是整個協(xié)議的基礎(chǔ)。目前版本號是 4,也稱 IPv4。所有的 TCP、 UDP、 IGMP 及 ICMP 都是以 IP 數(shù)據(jù)報格式傳輸。 IP 提供不可靠的、無連接的、盡最大努力交付的分組傳輸機制。 “不可靠的 ”按是指它不能保證 IP 分組成功地傳送到目的站。 “無連接的 ”指的是 IP 數(shù)據(jù)包可以不按順序收發(fā)。 IP 提供的是 “盡最大努力交付的 ”傳輸服務(wù),就是說 IP 協(xié)議盡量的發(fā)送每一個 IP 數(shù)據(jù)包,不隨意放棄數(shù)據(jù)包,只有在資源用盡或底層網(wǎng)絡(luò)出現(xiàn)錯誤時才有可能出現(xiàn)不可靠性。 在 IP 進行數(shù)據(jù)交付過程中,如果遇到不能正常交付的情況,則需要通 知源站采取措施來補救。由于 IP 自身沒有提供差錯報告和差錯糾正機制,這就需要其他協(xié)議來完成,這就是 ICMP 協(xié)議。 ICMP 配合 IP 使用,提高了數(shù)據(jù)包交付成功的機會。 傳輸層協(xié)議選擇及分析 TCP 協(xié)議是一種提供可靠的端到端、面向字節(jié)流連接的服務(wù)。 UDP 也是 IP之上的一個傳輸協(xié)議。 UDP 是一個簡單的快速的,但也是不可靠和無連接的。但是對于大多數(shù) Inter 應(yīng)用而言,需要的是可靠的、能按序遞交的傳輸層協(xié)議。所以這次設(shè)計選取了 TCP 而不是 UDP。 TCP 為 IP 服務(wù)增加了面向連接和可靠性的特點。 TCP 主要特點如下: 1. 面向連接:使用兩個 TCP 的應(yīng)用在發(fā)生數(shù)據(jù)傳輸之前,必須建立一個連接,而在數(shù)據(jù)傳送完后要終止連接。 22 2.全雙工:一旦建立連接,就支持數(shù)據(jù)的雙向傳輸。 3.字節(jié)流傳輸: TCP 是面向字節(jié)流的。一個 TCP 連接就是一個字節(jié)流。 4.可靠:利用重發(fā)和流控機制來保證通信的可靠。 5.確認: TCP 發(fā)送的每個報文都要被方確認。這樣就知道數(shù)據(jù)是否丟失,是否重傳丟失數(shù)據(jù)。 6.流控制:當發(fā)送方以一定的速率發(fā)送數(shù)據(jù)時,而接收方來不及處理時。TCP 采用滑動窗口協(xié)議來進行流量控制,以防止數(shù)據(jù)發(fā)送過快導(dǎo)致接收方 來不及處理。 7.校驗和計算:校驗和是對是對偽首部、 TCP 首部和、 TCP 靜荷或數(shù)據(jù)的計算結(jié)果。計算是為了提供額外的錯誤監(jiān)測。 應(yīng)用層協(xié)議選擇 電子郵件協(xié)議是最流行的網(wǎng)絡(luò)服務(wù)協(xié)議。 SMTP 協(xié)議是常用的電子郵件傳送協(xié)議。它是基于 TCP/IP 的應(yīng)用層的協(xié)議,作用是:當發(fā)送方與支持 SMTP 協(xié)議的服務(wù)器連接時,將郵件由發(fā)送方準確無誤地傳送到接收方。 SMTP 是一種簡單的基于文本的電子郵件傳輸協(xié)議。 SMTP 支持: ? 文本、聲音、圖像和視頻的報文。 ? 可以郵件發(fā)送個一個或多個收信人。 ? 可以把報文發(fā)送給 Inter 以外的網(wǎng)上用戶。 SMTP 的通信模型是基于 TCP 運輸協(xié)議的。模型如圖 42 所示 圖 42 SMTP 通信模型示意圖 SMTP 協(xié)議是一種請求響應(yīng)協(xié)議,發(fā)送方發(fā)送命令,接收方給予響應(yīng),兩者通過這種方式進行交付,以完成郵件傳輸?shù)娜齻€階段:建立連接、傳輸數(shù)據(jù)和終止連接。 1. 連接建立 用戶 文件系統(tǒng) 發(fā)送 SMTP 接收 SMTP SMTP 命令 郵件內(nèi)容 SMTP 響應(yīng) 用戶文件 23 客戶端主動與服務(wù)器建立一條 TCP 連接。服務(wù)器會返回一個響應(yīng)。若客戶端準備就緒, 客戶端個向服務(wù)器發(fā)送 HELO 報文,以標識發(fā)送方的身份。服務(wù)器給予響應(yīng)。 2. 建立連接 在客戶端與服務(wù)器建立連接后,就可以進行報文傳輸了。 首先,客戶端發(fā)送MAIL 報文標識報文的發(fā)送發(fā),服務(wù)器返回響應(yīng)。若服務(wù)器準備接收,客戶端發(fā)送 RCPT 報文標識報文接收方,服務(wù)器返回響應(yīng)。若服務(wù)器能夠識別接收人,客戶端發(fā)送 DATA 報文,指示將要發(fā)送的郵件數(shù)據(jù),服務(wù)器返回響應(yīng)??蛻舳诉B續(xù)的將郵件按行發(fā)送,服務(wù)器檢測到郵件結(jié)束指示后,給予響應(yīng)。 3. 連接終止 報文傳送成功后,客戶就終止連接。客戶發(fā)送 QUIT 命令終止連接。 24 第五章 TCP/IP 協(xié)議棧的實現(xiàn) ARP 協(xié)議的實現(xiàn) 在網(wǎng)絡(luò)底層的物理傳輸過程中,是通 過 MAC 地址 (硬件地址 )來識別主機的,它一般也是全球唯一的。以太網(wǎng)卡的物理地址是 48bit 地址。所以就需要將 IP 地址轉(zhuǎn)換為 MAC 地址。這個協(xié)議就是地址解析協(xié)議。 ARP 分組格式及數(shù)據(jù)結(jié)構(gòu) 在以太網(wǎng)上解析 IP, ARP 請求和應(yīng)答分組格式如圖 51。 圖 51 用于以太網(wǎng)的 ARP 請求應(yīng)答格式 圖 51 中,以太網(wǎng)報頭中的前兩個字段是以太網(wǎng)的源地址和目的地址,目的地址為全 1 的特殊地址是廣播地址,電纜上的所有以太網(wǎng)接口都要接收廣播的數(shù)據(jù)幀;幀類型字段是用來表示后面數(shù)據(jù)的類型, ARP 請求或應(yīng)達,該字段的值是 0x0806,硬件類型用來表示硬件地址的類型,它的值為 1 時表示的是以太網(wǎng)地址。協(xié)議類型字段表示要映射的協(xié)議地址類型,它的值為 0x0800 時表示的是IP 地址。硬件地址長度和協(xié)議地址長度分別指出硬件地址和協(xié)議地址的長度。對于以太網(wǎng)上 IP 地址的 ARP 請求或應(yīng)答,它們的值分別是 6 和 4。操作字段( OP)指出了 4 種操作類型,分別是 ARP 請求(值 1)、 ARP 應(yīng)答(值 2)、 RARP 請求(值 3)和 RARP 應(yīng)答(值 4),這個字段是不可缺的,因為 ARP 請求和應(yīng)答的幀類型字段值是一樣的。最后面的 4 個字段分別指出源端和目的端的硬件 地址(以太網(wǎng)地址)及協(xié)議地址( IP 地址)。 ARP 協(xié)議軟件實現(xiàn) ARP 協(xié)議用來完成 IP 地址與以太網(wǎng)地址之間的轉(zhuǎn)換,此此次系統(tǒng)設(shè)計中僅響應(yīng) ARP 請求和發(fā)送 ARP 應(yīng)答。 ARP 軟件可劃分為 3 個部分:處理進入的 ARP請求模塊、處理進入的應(yīng)答模塊和一個 ARP 表緩存管理程序。在發(fā)送數(shù)據(jù)報時,上層協(xié)議調(diào)用請求模塊中的一個過程,將 IP 地址與相應(yīng)的物理地址綁定。輸出 25 過程返回一個綁定,上層協(xié)議利用它封裝和發(fā)送分組。響應(yīng)模塊處理來自網(wǎng)絡(luò)的ARP 分組,并通過增加新的綁定來修改 ARP 表中的內(nèi)容。管理程序?qū)崿F(xiàn)了高速緩存替換策略:檢查 ARP 表中的所有表項,并刪除不符合規(guī)定的表項。 在這個模塊里 ARP 協(xié)議將 IP 地址轉(zhuǎn)換為相應(yīng)的物理地址,具體過程如圖 52所示。 根據(jù)輸入的 IP 地址 ,首先檢查 ARP 表是否有有效的地址對記錄與要解析的 IP 地址相對應(yīng)。如果有 ,就可以直接取出硬件地址 ,然后返回硬件地址,并發(fā)送該報文。若沒有就要進行 ARP 操作, ARP 發(fā)送一份稱作 ARP 請求的以太網(wǎng)數(shù)據(jù)幀給以太網(wǎng)上的每個主機。這個過程稱作廣播, ARP 請求數(shù)據(jù)幀中包含目的主機IP 地址,意思就是 “如果你是這個 IP 地址的擁有者, 請回答你的硬件地址 ”。 圖 52 處理進入的 ARP 請求模塊流程圖 2. 應(yīng)答模塊 26 當網(wǎng)上主機的 ARP 層收到這份廣播報文后,會對這份廣播報文進行處理。處理過程如圖 53。就會開始識別發(fā)送端詢問的是不是自己的 IP 地址,如果就給予響應(yīng),否則不給于響應(yīng)。若收到的是 ARP 應(yīng)答幀則會更新緩存表。 圖 53 處理進入的 ARP 應(yīng)答模塊流程圖 3. ARP 表管理程序 為提高 ARP 的解析速度,為了記錄 ARP 協(xié)議解析到的 IP 地址與相應(yīng)的硬件地址對應(yīng)關(guān)系 ,設(shè)計使用 ARP 表。使用 ARP 與 IP 對應(yīng)的 ARP 表 ,記錄 下解析的 MAC 地址 ,以減少在一定時間內(nèi)對同一 IP 地址的多次重復(fù)解析 ,從而加快TCP/IP 協(xié)議棧的運行。當緩存標中增加一個新表項時,函數(shù) aprinit()初始化該表項 ,主要是把 IP 字段清 0,函數(shù) apr 一 timer()設(shè)置最長的等待時間,隨時間的推移,高速緩存管理程序遞減等待時間,并當其值達到零時,丟棄該表項。若緩存表已滿, ARP 表管理程序循環(huán)的方式,刪除一個舊的表項,函數(shù) aprupdate()函數(shù)更新 IP 地址與 MAC 地址的對應(yīng)關(guān)系 ,再將記錄刪除標志指針下移一個表項,以此類推進行替換。 IP 協(xié)議 及其實現(xiàn) 開始 收到 ARP 數(shù)據(jù)幀 是否請求幀? 自己是請求目標? 給予響應(yīng) 結(jié)束 讀取收到的 ARP 數(shù)據(jù)幀 更新緩存表 Y Y N N 27 IP 數(shù)據(jù)報格式 IP 數(shù)據(jù)報是典型的詩句分組的一般格式:報頭和數(shù)據(jù)兩個部分。如圖 54 所示。 圖 54 IP 數(shù)據(jù)報格式 版本號指的是當前使用協(xié)議的版本,當前使用的是 IPv4,下一個協(xié)議版本是 IPv6,這正是當今互聯(lián)網(wǎng)研究熱點。版本號規(guī)定了數(shù)據(jù)報的格式。 IP 數(shù)據(jù)報報頭含有頭標長和總長兩個長度域,頭標長是一個 4 比特域,它給出了 32 比特字長為單位的報頭長度。除了 IP 選項和填充域之外,首部所有字段的長度都是一定的。沒有任何選項的 IP 數(shù)據(jù)報的首部長度是 5;總長域指的是整個 IP 數(shù)據(jù)報的長度,利 用首部長度字段和總長度字段,就可以知道 IP 數(shù)據(jù)報中數(shù)據(jù)內(nèi)容的起始位置和長度。標志字段是用于標識主機發(fā)送每一份數(shù)據(jù)報。最長生存時間確定了數(shù)據(jù)報最多可以經(jīng)過的路由器數(shù)。任何一個 IP 數(shù)據(jù)報都包含源 IP 地址和目的 IP 地址。 IP 軟件實現(xiàn) 為了實現(xiàn)數(shù)據(jù)報的傳輸, IP 協(xié)議采用以下幾個關(guān)鍵技術(shù) : 1. 生存時間: TTL 確立了數(shù)據(jù)報最多可以經(jīng)過的路由器數(shù)。它指定了數(shù)據(jù)報的存留時間。 TTL 的初始值是有源主機設(shè)定的(通常為 32 或是 64),每經(jīng)過一個使用它的路由器,它的值就減少 1,當值為 0 時,數(shù)據(jù)報就被丟棄 ,同時發(fā)送 ICMP 報文通知源主機。 2.任選項: 這些選項包括:安全和處理限制、記錄路由、時間戳等等。 3. 報頭校驗和: IP 報文頭中的檢驗和用于預(yù)防路由中轉(zhuǎn)過程中出錯。在TCP、 IP、 ICMP 協(xié)議中,檢驗和的算法是相同的。在協(xié)議封裝時,需要產(chǎn)生檢 28 驗和 。在收到信包后,需要檢驗。檢驗和算法使用頻率比較高,所以需要使用比較高效的檢驗和算法。校驗和是 IP 報頭部分計算出來的校驗和碼,若傳輸沒出現(xiàn)問題這個值應(yīng)全是 1,由于路由器經(jīng)常僅將 TTL 減少 1,因此當路由器將 TTL減少 1 的同時給它加 1,而不需要對整個 IP 首部進行全 新的計算。 這個部分主要有兩個過程實現(xiàn),即對 IP 數(shù)據(jù)發(fā)送和對 IP 數(shù)據(jù)的處理。對 IP數(shù)據(jù)發(fā)送過程如圖 55 所示。 IP 進程是從數(shù)據(jù)鏈路調(diào)用進程 ip_proces 的執(zhí) 圖 55 IP 對數(shù)據(jù)的發(fā)送過程 行開始,是個無限循環(huán)的過程。遍歷網(wǎng)絡(luò)接口所有的輸入隊列,當輸入隊列為空時, IP 進程被阻塞,一旦有其它進程把數(shù)據(jù)報放進輸入隊列中, IP 進程就恢復(fù)執(zhí)行并立即檢查數(shù)據(jù)報已到達的接口;當輸入隊列不空, IP 進程提取等待處理開始 遍歷網(wǎng)絡(luò)接口輸入隊列 IP 進程阻塞 選取數(shù)據(jù)報,初始化 TTL 是否為空? 其它進程 添加的數(shù)據(jù)報 校驗和正確? 存在路由? TTL=TTL— 1 TTL=0? 丟棄數(shù)據(jù)報報 ICMP 目的站不可達報文 ICMP 超時報文 直接可達目的機? 將數(shù)據(jù)報放入輸出隊列 Y Y Y Y N N N N N Y 29 的數(shù)據(jù)報,
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1