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

正文內容

嵌入式tcpip協議的分析與研究(編輯修改稿)

2025-06-11 04:22 本頁面
 

【文章內容簡介】 器的專用芯片,通過其標準的輸入輸出口,可與絕大多數單片機相連。軟件方式是把TCP/IP協議以軟件方式嵌入到ROM中。在軟件方式具體實現時,又有以下兩種不同設計思想:第一種設計是針對高檔MCU片上系統(tǒng),如ARM7或386EX等,可運行嵌入式實時操作系統(tǒng),實現較完整的TCP/IP協議。采用這種方式最靈活,能按用戶需求實現很多復雜的功能,但是采用這種方式對開發(fā)人員的要求比較高,開發(fā)周期也較長。第二種設計是針對低檔的8/16位MCU的嵌入式系統(tǒng),考慮到其系統(tǒng)速度和內存的限制,不可能實現完整的TCP/IP協議,只能實現精簡的TCP/IP協議。5 TCP協議的機制裁減在傳統(tǒng)傳感器中嵌入式WEB服務器,遠程用戶就可以對傳感器實現遠程監(jiān)控,這就是通常所說的基于Internet的網絡傳感器,通常數據傳輸量很小。作為一種嵌入式Internet技術應用,在TCP之上實現有限的WEB服務,只需要一部分TCP服務機制,或者并不對TCP所有機制都有很高的要求。針對這個這個特點,我們可以從前面討論的四個方面對TCP協議進行裁減:確認與超時重傳機制、流量和擁塞控制、TCP連接狀態(tài)和TCP運行狀態(tài)機。 確認與超時重傳 捎帶確認機制通信過程中,通信雙方都必須對對方上一次發(fā)送來的數據給予確認。這是保證傳輸可靠性的基本方法。但是,如果接收方對每一個數據報文都返回獨立的應答報文,會在很大程度上浪費帶寬,造成通信效率的降低。我們可以讓發(fā)送方發(fā)送數據時捎帶對上一次接收到的數據確認。這樣只需要在發(fā)送的TCP頭部中設置一個應答標志位和一個確認序列號。這樣做不會額外增加網絡上的數據報流量,可以有效提高通信質量。 應用層參與重傳如果發(fā)出的數據包在一定時間(RTT,Round Trip Time,發(fā)出數據到收到確認所需的往返時間)內沒有收到確認,發(fā)送方由TCP執(zhí)行重傳。如果存儲空間允許,可以定義分配兩個緩沖區(qū),一個存放待發(fā)送數據,另一個存放已發(fā)送數據,這樣重發(fā)就變得很方便了。但是,為了節(jié)省存儲空間,TCP對已發(fā)送的數據不進行任何緩存,由應用程序重新生成數據,重復上一次發(fā)送過程。當周期計時器減至0時,激活TCP重傳事務,然后調用HTTP回調函數HTTP_Appcall(),檢測重傳標志位,進行重傳工作。如果在連接已經建立階段,就重新生成重傳數據,如果在連接建立或關閉過程中,說明丟失的是確認或應答包,根據不同的TCP連接狀態(tài),重發(fā)不同類型的數據包。這樣并不會增加應用程序的復雜性,因為確認重傳的時機是TCP的責任,而應用程序只需要重發(fā)時使應用層數據指針重新指向上一次發(fā)送的數據即可。應用層參與重傳機制的實現,有效降低了對微處理器存儲能力的要求。 流量控制和擁塞控制由于網絡傳感器傳輸數據量很小,我們沒有必要犧牲大量的存儲空間實現滑動窗口機制換取對流量和擁塞的控制。我們可以采用停等協議,它是滑動取窗口協議的一個極限情況,只使用一個窗口。發(fā)送方每發(fā)送一個分組,都等待確認。收到確認后再發(fā)送下一個分組。這樣做即能夠保證傳輸的絕對可靠,在數據量不大的情況下,傳輸的實時性也不會有明顯的折扣。更重要的是,化解了流量和擁塞問題。當然,如果只是用一個窗口,還要求對方也使用簡單的確認機制。這可以通過設置TCP頭部Windows字段來通知對方自己的接收緩沖區(qū)大小,避免對方連續(xù)發(fā)送大量數據造成接收緩沖區(qū)溢出,以至丟包。 同時支持少數TCP連接每個TCP連接由套接字唯一標識。TCP初始化后處于端口偵聽狀態(tài),當接到客戶機建立TCP連接的請求時,除了發(fā)送“請求+應答”報文以外,還要記錄該TCP的狀態(tài),包括源端IP地址、源端口號、目的IP地址、目的端口號、序列號等大量連接信息,以便對接收和發(fā)送的TCP段進行跟蹤。經過簡化TCP機制,去除滑動窗口協議,我們盡量使用較少的TCP狀態(tài)數據,這樣可以節(jié)省存儲開銷。另外,遠程檢測需要多用戶同時訪問檢測頁面,所以,應該同時支持多個TCP連接。但是,如果同時處理多個連接的請求和應答,除了記錄各個連接的狀態(tài)信息之外,還要在不同狀態(tài)之間切換,無疑會增加RAM的使用。所以,可以僅支持十個TCP連接同時存在,即最多有10個用戶同時訪問服務器。對于8位單片機來講,這是合適的選擇。 TCP狀態(tài)機TCP的面向連接和可靠性傳輸等特性決定了每一個標準的TCP協議連接都要經過三次握手建立和拆除連接,這個過程可以用狀態(tài)圖機描述。為了狀態(tài)機的正常工作,即各種狀態(tài)之間的正確切換,必須存儲每種狀態(tài)的相關信息。因此,狀態(tài)機越復雜,TCP協議實現的規(guī)模越大,維護狀態(tài)機的開銷就越多,對處理器存儲能力的要求也越高。一個標準的狀態(tài)機可以分為服務器和客戶機兩部分,服務器狀態(tài)機又分為被動建立連接和主動拆除連接兩部分,而拆除和客戶機之間的連接過程很復雜。但是,服務器發(fā)送完數據,向客戶機發(fā)送關閉連接請求后,客戶機一般沒有多余的數據要發(fā)送,所以當接收到服務器的關閉連接請求后客戶機會直接發(fā)送FIN+ACK,服務器接到應答后,回應ACK,并直接進入“計時等待”狀態(tài),等待關閉。這樣服務器關閉TCP連接的過程就大大簡化了。通過以上分析可以,作為一種嵌入式Internet技術,我們可以根據特定的應用不失一般性的裁減掉復雜和冗余的機制。這樣,除去標準狀態(tài)機中的客戶端部分,簡化服務器關閉連接過程(不失一般性)。圖中CLOSED、LISTEN、SYN_RCVD、ESTABLISHED、FIN_WAIT、TIME_WAIT分
點擊復制文檔內容
規(guī)章制度相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1