日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]TCP/IP協(xié)議大致可以分為以下的層次:應(yīng)用層、TCP/IP協(xié)議層、網(wǎng)卡驅(qū)動(dòng)。這些協(xié)議層之間的接口如圖 1所示,其中輸出是數(shù)據(jù)流向?qū)Ψ?,輸入是?shù)據(jù)流向本地應(yīng)用層。(1)應(yīng)用層和

TCP/IP協(xié)議大致可以分為以下的層次:應(yīng)用層、TCP/IP協(xié)議層、網(wǎng)卡驅(qū)動(dòng)。這些協(xié)議層之間的接口如圖 1所示,其中輸出是數(shù)據(jù)流向?qū)Ψ?,輸入是?shù)據(jù)流向本地應(yīng)用層。

(1)應(yīng)用層和rap層的接口

如果是作為客戶端,則包含:

·bind:使用bind綁定本地端口;

·cONnect:需要使用connect進(jìn)行連接,當(dāng)應(yīng)用層調(diào)用connect函數(shù)時(shí),TCP層負(fù)責(zé)建立連接,返回值指 示是否連接成功;

·send:使用send發(fā)送一個(gè)應(yīng)用層的數(shù)據(jù);

·recelve:當(dāng)rap層有數(shù)據(jù)到達(dá)時(shí),rap層將觸發(fā)OnReceive函數(shù),用戶可以在OnReceive函數(shù)中做接收 處理;

·close:需要使用close函數(shù)主動(dòng)和對(duì)方斷開連接,連接斷開以后返回真,如果斷開操作超時(shí),則返回假。

 


圖1 TCP/IP層間接口

如果是作為服務(wù)器,則包含:

·bind綁定;

·listen:在綁定的本地端口監(jiān)聽;

·對(duì)方發(fā)來連接;

·send發(fā)送;

·recelve接收;

·close斷開連接。

總的來說,rap層要提供給應(yīng)用層以上的一些函數(shù)。

(2)協(xié)議和網(wǎng)卡驅(qū)動(dòng)的接口

發(fā)送時(shí),網(wǎng)卡提供send函數(shù),當(dāng)協(xié)議調(diào)用send函數(shù)時(shí),網(wǎng)卡驅(qū)動(dòng)負(fù)責(zé)發(fā)送這個(gè)包。

接收時(shí),當(dāng)網(wǎng)卡接收到一個(gè)數(shù)據(jù)包以后,產(chǎn)生一個(gè)中斷,系統(tǒng)提供一個(gè)中斷處理函數(shù),在這個(gè)中斷函 數(shù)中將這個(gè)包提交給TCP/IP層。

(3)TCP/IP內(nèi)部的層間接口

發(fā)送流程如下:應(yīng)用層調(diào)用send,要求rap層發(fā)送,TOP層填寫好TCP頭部信息以后,要求 IP層發(fā)送,IP 層檢查是否能在ARP緩存中找到IP對(duì)應(yīng)的物理地址,如果沒有則要ARP協(xié)議發(fā)送一個(gè)ARP請(qǐng)求,如果有則填 寫IP頭。再設(shè)置一個(gè)網(wǎng)絡(luò)接口層,這一層負(fù)責(zé)填寫MAC層頭部,這一層的另外一個(gè)功能是將接收網(wǎng)絡(luò)數(shù)據(jù) 流分流(也就是對(duì)IP包和ARP交給不同的函數(shù)處理)。

對(duì)網(wǎng)卡的接收和TCP/IP協(xié)議的接口來說,直接在驅(qū)動(dòng)程序的接收中斷處理函數(shù)中處理P頭、TCP頭,然 后把數(shù)據(jù)送給應(yīng)用層。

(4)實(shí)現(xiàn)隊(duì)列層間接口

·中斷處理函數(shù)過大,可能會(huì)帶來問題;

·各個(gè)層的界面不清晰;

·越向底層所要發(fā)送的包數(shù)目越多。如果發(fā)送時(shí)也是從應(yīng)用層一直運(yùn)行到網(wǎng)卡驅(qū)動(dòng),

那么就比較難解決底層的多佘數(shù)據(jù)包發(fā)送的問題。

所以將在層次之間設(shè)一個(gè)隊(duì)列,程序循環(huán)檢測(cè)各個(gè)層間隊(duì)列中是否有元素,如果有元素則提取后處理 。構(gòu)建的一個(gè)隊(duì)列結(jié)構(gòu)體如下。

 


這個(gè)隊(duì)列提供隊(duì)列的初始化、隊(duì)列的寫入、隊(duì)列的讀出等函數(shù),以及完成隊(duì)列的操作。但是隊(duì)列多也 會(huì)占用資源和查詢時(shí)間,所以在沒有必要設(shè)置隊(duì)列的地方將苴接采用函數(shù)調(diào)用的方法。

(5)模塊和模塊之間的接口

各個(gè)模塊之中有三種類型的子模塊:一般函數(shù)、中斷函數(shù)和進(jìn)程。

·一般函數(shù)只有在被進(jìn)程調(diào)用時(shí)才運(yùn)行。

·中斷函數(shù)一般由中斷觸發(fā)而運(yùn)行,這里主要有網(wǎng)卡驅(qū)動(dòng)的接收處理函數(shù)和定時(shí)器模

塊中的定時(shí)器。

由于這里采用隊(duì)列的方式作為模塊或?qū)娱g的接口,所以必須反復(fù)查詢各個(gè)模塊的輸入隊(duì)列,所有含有 輸入隊(duì)列的模塊都必須有一個(gè)反復(fù)被調(diào)用的函數(shù),稱之為進(jìn)程。在主進(jìn)程maln函數(shù)中反復(fù)地調(diào)用這些進(jìn)程。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

生活不止眼前的茍且,還有詩和遠(yuǎn)方的田野。新的一周又開始了,大白和小林是同事,平時(shí)倆人一起喝酒吃肉打游戲居多,當(dāng)然有時(shí)候也討論下學(xué)術(shù)和前沿技術(shù)。這不,小林聽說了個(gè)新鮮玩意,然后和大白聊了起來。

關(guān)鍵字: tcp udp 互聯(lián)網(wǎng)

  測(cè)試udp端口是否開放   文章概述:怎樣測(cè)試遠(yuǎn)程UDP端口,我們一般情況下,應(yīng)用服務(wù)都使用的TCP端口,但是某些情況下,我們也需要開啟UDP端口。本文簡(jiǎn)要描述怎樣測(cè)試UDP端口是否

關(guān)鍵字: udp

MBB洪流來自哪里? 面對(duì)日新月異的移動(dòng)終端和爆炸式增長(zhǎng)的移動(dòng)應(yīng)用,移動(dòng)互聯(lián)網(wǎng)流量未來10年將迎來數(shù)百倍的增長(zhǎng)。MBB洪流已然來襲,然而,它們主要來自哪里? 答案簡(jiǎn)單到令人難以置

關(guān)鍵字: udp

     UDP簡(jiǎn)介   UDP: User Datagram Protocol的簡(jiǎn)稱, 中文名是用戶數(shù)據(jù)包協(xié)議,是 OSI 參考模型中一種無連接的傳輸層協(xié)

關(guān)鍵字: socket udp

  概述   兩者都是通信協(xié)議, TCP、UDP 是傳輸層協(xié)議,但他們的通信機(jī)制與應(yīng)用場(chǎng)景不同,下面來闡述兩者的區(qū)別以及它們的應(yīng)用場(chǎng)景。   TCP 與 UDP   TC

關(guān)鍵字: tcp udp

  什么是udp攻擊   UDP淹沒攻擊是導(dǎo)致基于主機(jī)的服務(wù)拒絕攻擊的一種。UDP是一種無連接的協(xié)議,而且它不需要用任何程序建立連接來傳輸數(shù)據(jù)。當(dāng)攻擊者隨機(jī)地向受害系統(tǒng)的端口發(fā)送UDP數(shù)

關(guān)鍵字: udp udp攻擊

  TCP協(xié)議與UDP協(xié)議的區(qū)別   首先咱們弄清楚,TCP協(xié)議和UCP協(xié)議與TCP/IP協(xié)議的聯(lián)系,很多人犯糊涂了,一直都是說TCP/IP協(xié)議與UDP協(xié)議的區(qū)別,我覺得這是沒有從本質(zhì)上

關(guān)鍵字: tcp udp

16為UDP長(zhǎng)度,表示整個(gè)數(shù)據(jù)報(bào)(UDP首部+UDP數(shù)據(jù))的最大長(zhǎng)度(64KB)

關(guān)鍵字: Linux udp recvfrom

本文只是為了便于理解,做非常寬泛的描述,措辭不甚嚴(yán)謹(jǐn),不當(dāng)之處還望指正,感謝。 看本文章之前,建議對(duì)OSI模型已經(jīng)TCP/IP不太了解的同學(xué)們,看看我之前寫的 白話解釋 OSI模型,TLS/SS

關(guān)鍵字: tcp udp

1. TCP、UDP & TCP/IP 首先要明確TCP協(xié)議、UDP協(xié)議與TCP/IP體系結(jié)構(gòu)的關(guān)系 TCP/IP體系有應(yīng)用層、傳輸層、網(wǎng)際層和網(wǎng)絡(luò)接口層。四層

關(guān)鍵字: tcp udp
關(guān)閉