久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1667|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

UDP數(shù)據(jù)報(bào)與TCP傳輸應(yīng)用系統(tǒng)的層間接口設(shè)計(jì)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:107189 發(fā)表于 2016-3-5 17:47 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
  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ā)來(lái)連接;
  ·send發(fā)送;
  ·recelve接收;
  ·close斷開連接。
  總的來(lái)說(shuō),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é)議的接口來(lái)說(shuō),直接在驅(qū)動(dòng)程序的接收中斷處理函數(shù)中處理P頭、TCP頭,然 后把數(shù)據(jù)送給應(yīng)用層。
 。4)實(shí)現(xiàn)隊(duì)列層間接口
  ·中斷處理函數(shù)過(guò)大,可能會(huì)帶來(lái)問(wèn)題;
  ·各個(gè)層的界面不清晰;
  ·越向底層所要發(fā)送的包數(shù)目越多。如果發(fā)送時(shí)也是從應(yīng)用層一直運(yùn)行到網(wǎng)卡驅(qū)動(dòng),
  那么就比較難解決底層的多佘數(shù)據(jù)包發(fā)送的問(wèn)題。
  所以將在層次之間設(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)程。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产目拍亚洲精品99久久精品 | 久久精品视频在线播放 | 久久精品国产免费一区二区三区 | 日本在线免费视频 | 少妇无套高潮一二三区 | 欧美一级黄色网 | 久草久草久草 | 婷婷免费在线 | 偷拍第一页 | 精品一区二区三区在线视频 | 国产大毛片 | 国产国产精品久久久久 | 日本黄色激情视频 | 国产欧美一区二区三区在线看蜜臀 | 欧美啪啪 | 国产精品一级在线观看 | 美女黄色在线观看 | 欧美精品一区二区在线观看 | 久久久青草婷婷精品综合日韩 | 欧美性猛交一区二区三区精品 | 伊人超碰| 玖玖爱365| 亚洲欧美一区二区三区在线 | 精品亚洲一区二区三区 | 精品久久久久久国产 | 视频一区在线观看 | 九九热在线精品视频 | 久久高清亚洲 | 日韩免费看片 | 久久美国 | 成人精品系列 | 久久久久久久国产精品视频 | 噜噜噜噜狠狠狠7777视频 | 国产精品夜色一区二区三区 | 国产黄色大片在线免费观看 | 国产精品美女久久久久久免费 | 国产成人99久久亚洲综合精品 | 一区二区三区免费 | 男人天堂免费在线 | 免费一级黄色录像 | 一级网站|