精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

全硬件TCP/IP協(xié)議棧學(xué)習(xí)筆記(第五天:全硬件TCP/IP協(xié)議應(yīng)用層學(xué)習(xí))

學(xué)FPGA,慢慢來 ? 2017-12-18 10:27 ? 次閱讀

繼續(xù)昨天的

設(shè)置端口TX/RX存儲信息,每個端口的基地址和屏蔽地址在這里確定并保存。W5500有一個通用寄存器,8個Socket寄存器去,以及對應(yīng)每個Socket的收/發(fā)緩存區(qū)。每一個Socket的發(fā)送(接收)緩存區(qū)都在一個16KB的物理發(fā)送(接收)內(nèi)存中,初始化分配為2KB。無論給每個Socket分配多大的收/發(fā)緩存,都必須在16位的偏移地址范圍內(nèi)(從0x0000到0xFFFF)W5500有一個16KB發(fā)送內(nèi)存用于Socket_n的發(fā)送緩存區(qū),以及一個16KB的接收內(nèi)存用于Socket_n接收緩存區(qū)。發(fā)送初始緩存被分配給了每個Socket發(fā)送緩存(2KB x 8 = 16KB),初始化分配的2KBSocket發(fā)送緩存,可以通過使用Socket發(fā)送緩存大小寄存器重新分配。一旦所有的Socket發(fā)送緩存大小寄存器配置完成,16KB的發(fā)送內(nèi)存就會按照配置分配給每個Socket的發(fā)送緩存,并按照從Socket0到7順序分配。16KB的發(fā)送內(nèi)存中分配了對應(yīng)的發(fā)送緩沖區(qū),用于為來自主機傳輸?shù)臄?shù)據(jù)做緩存。讀取內(nèi)存同理。

四.應(yīng)用層協(xié)議開發(fā)

以太網(wǎng)的應(yīng)用層包括支撐協(xié)議和應(yīng)用協(xié)議兩部分

支撐協(xié)議:域名服務(wù)系統(tǒng)(DNS),簡單網(wǎng)絡(luò)管理協(xié)議(SNMP)等,典型應(yīng)用包括Web瀏覽,電子郵件,文件傳輸訪問,遠程登陸等。

應(yīng)用協(xié)議:超文本傳輸協(xié)議(HTTP),簡單郵件傳輸協(xié)議(SMTP),文本傳輸協(xié)議(FTP),簡單文件傳輸協(xié)議(TFTP)和遠程登陸(Telnet)。

五.實例開發(fā)

1.TCP是TCP/IP體系中面向連接的傳輸層協(xié)議,他使用IP作為網(wǎng)絡(luò)層,提供全雙工的可靠交付的服務(wù)。(W5500在內(nèi)部利用軟件實現(xiàn)了TCP/IP協(xié)議棧,即內(nèi)部結(jié)構(gòu)包含了物理層,數(shù)據(jù)鏈路層,網(wǎng)絡(luò)層和傳輸層)TCP建立通信的兩端,一段稱為服務(wù)器端,指網(wǎng)絡(luò)中能為用戶提供服務(wù)的計算機系統(tǒng),另一端為客戶端,是與服務(wù)器相對應(yīng)的,接受服務(wù)的一端,為客戶提供本地服務(wù)的程序。

這是一個通過互聯(lián)網(wǎng)進行交互的C/S模型,他是一個最典型最常用的通訊結(jié)構(gòu)。此時服務(wù)器處于守候狀態(tài),并偵聽客戶端的請求。客戶端發(fā)出請求,并請求經(jīng)互聯(lián)網(wǎng)發(fā)送給服務(wù)器,一旦服務(wù)器接收到這個請求,就可以執(zhí)行請求所制定的任務(wù),并將執(zhí)行的結(jié)果經(jīng)互聯(lián)網(wǎng)互聯(lián)網(wǎng)回送給客戶。

TCP協(xié)議通過三個報文段完成連接的建立,這個過程叫做三次握手

第一次握手:建立連接時,客戶端發(fā)送SYN包(TCP/IP建立連接時使用的握手信號客戶機首先發(fā)出一個SYN消息,服務(wù)器使用SYN+ACK應(yīng)答表示接收到了這個消息,最后客戶機再以ACK消息響應(yīng)。)(seq = j)到服務(wù)器,并進入SYN_SEND狀態(tài),等待服務(wù)器確認。

第二次握手:服務(wù)器收到SYN包,必須確認客戶的SYN(ack = j + 1),同時自己也發(fā)送一個SYN包,此時服務(wù)器進入SYN_RECV狀態(tài)。

第三次握手:客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認包ACK(ack = k + 1),此包發(fā)送完畢,客戶端和服務(wù)器進入ESTABLISHED狀態(tài),完成三次握手。

建立一個鏈接需要三次握手,但是終止一個鏈接要四次揮手,這是由于TCP的半關(guān)閉造成的。

1.第一次揮手:主動方發(fā)出了FIN位的報文,表示主動終止從本地到遠端的單向連接;此時,主動方進入FIN_WAIT1狀態(tài),意思就是說他在等著遠端的FIN報文。

2.第二次揮手:遠端收到FIN后,會立即發(fā)送ACK;主動方接收到ACK之后,進入FIN_WAIT2狀態(tài),所以FIN_WAIT1狀態(tài)持續(xù)時間非常短;此時遠端進入CLOSE_WAIT狀態(tài),一條單向連接終止了,但另一條還沒有,處于HALF_CLOSE連接狀態(tài)。

3.第三次揮手:當(dāng)遠端進行了必要的數(shù)據(jù)發(fā)送之后,他會發(fā)送FIN,表示從他出發(fā)的單向連接也要關(guān)閉;同時他進入LAST_ACK狀態(tài)。

4.第四次揮手:主動方收到FIN之后,回應(yīng)一個ACK;遠端進入CLOSED狀態(tài),連接關(guān)閉;主動方進入TIME_WAIT狀態(tài);確保最后一個ACK沒有丟失,防止新連接占用剛剛關(guān)閉的主動方的地址端口,使網(wǎng)絡(luò)中流浪的老連接的分組被誤認為新連接的分組。

由于我們的工程中使用他作為客戶端使用,所以我們先看其作為TCP客戶端的數(shù)據(jù)收發(fā)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA設(shè)計
    +關(guān)注

    關(guān)注

    9

    文章

    428

    瀏覽量

    26485
收藏 人收藏

    評論

    相關(guān)推薦

    什么是socket編程 socket與tcp/ip協(xié)議的關(guān)系

    基于TCP/IP協(xié)議族,這是一組用于網(wǎng)絡(luò)通信的協(xié)議,包括傳輸控制協(xié)議TCP)和互聯(lián)網(wǎng)
    的頭像 發(fā)表于 11-01 16:01 ?165次閱讀

    TCP協(xié)議是什么

    在網(wǎng)絡(luò)通信的廣闊領(lǐng)域中,TCP(Transmission Control Protocol,傳輸控制協(xié)議)扮演著舉足輕重的角色。作為TCP/IP協(xié)議
    的頭像 發(fā)表于 10-09 13:54 ?366次閱讀

    串口服務(wù)器和TCP/IP協(xié)議是什么關(guān)系

    串口服務(wù)器與TCP/IP協(xié)議之間存在著緊密而復(fù)雜的關(guān)系。這種關(guān)系主要體現(xiàn)在串口服務(wù)器如何利用TCP/I
    的頭像 發(fā)表于 08-25 17:35 ?1445次閱讀

    一文了解TCP/IP協(xié)議

    TCP/IP協(xié)議是現(xiàn)代計算機網(wǎng)絡(luò)通信的基礎(chǔ),是互聯(lián)網(wǎng)及局域網(wǎng)廣泛使用的一套協(xié)議TCP/IP
    的頭像 發(fā)表于 08-07 15:38 ?1264次閱讀
    一文了解<b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>協(xié)議</b>

    華納云:TCP IP協(xié)議的發(fā)展和優(yōu)勢

    TCP/IP(Transmission Control Protocol/Internet Protocol,傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議)是互聯(lián)網(wǎng)和現(xiàn)代計算機網(wǎng)絡(luò)的基礎(chǔ)
    的頭像 發(fā)表于 07-25 16:49 ?448次閱讀

    TCP IP協(xié)議屬性設(shè)置中的IP配置

    的分配、子網(wǎng)掩碼的設(shè)置、網(wǎng)關(guān)和DNS的配置等方面,旨在為網(wǎng)絡(luò)工程師和IT專業(yè)人士提供科學(xué)、學(xué)術(shù)且專業(yè)的指導(dǎo)。 1. TCP/IP協(xié)議概述 TCP/I
    的頭像 發(fā)表于 07-23 10:10 ?448次閱讀

    TCP/IP協(xié)議的設(shè)計與實現(xiàn)_中文

    電子發(fā)燒友網(wǎng)站提供《TCP/IP協(xié)議的設(shè)計與實現(xiàn)_中文.pdf》資料免費下載
    發(fā)表于 07-03 11:28 ?4次下載

    LwIP協(xié)議源碼詳解—TCP/IP協(xié)議的實現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《LwIP協(xié)議源碼詳解—TCP/IP協(xié)議的實現(xiàn).pdf》資料免費下載
    發(fā)表于 07-03 11:22 ?3次下載

    無線模塊通過TCP/IP協(xié)議實現(xiàn)與PC端的數(shù)據(jù)傳輸解析

    無線網(wǎng)絡(luò)中進行數(shù)據(jù)傳輸?shù)脑O(shè)備。它通常集成了網(wǎng)絡(luò)接口、傳輸應(yīng)用層等多個功能模塊,以支持TCP/IP等網(wǎng)絡(luò)通信
    的頭像 發(fā)表于 06-15 16:16 ?429次閱讀

    Microchip TCP/IP 協(xié)議應(yīng)用筆記

    電子發(fā)燒友網(wǎng)站提供《Microchip TCP/IP 協(xié)議應(yīng)用筆記.pdf》資料免費下載
    發(fā)表于 04-17 14:16 ?1次下載

    使用LwIP協(xié)議淺析實戰(zhàn)分析(i.MX RT)

    既可以移植到操作系統(tǒng)上運行,也可以在無操作系統(tǒng)的情況下獨立運行。? ? ?TCP/IP協(xié)議的模型結(jié)構(gòu)如下圖所示,由于TCP/
    的頭像 發(fā)表于 02-02 17:05 ?1598次閱讀
    使用LwIP<b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>淺析實戰(zhàn)分析(i.MX RT)

    通信網(wǎng)絡(luò)協(xié)議之UDP協(xié)議技術(shù)解析

    在通常的網(wǎng)絡(luò)協(xié)議中,TCP/IP協(xié)議是一個常見的示例,其中UDP和
    發(fā)表于 02-01 11:00 ?891次閱讀
    通信網(wǎng)絡(luò)<b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>之UDP<b class='flag-5'>協(xié)議</b>技術(shù)解析

    tcpip協(xié)議作用 TCP/IP協(xié)議分為哪幾層

    TCP/IP協(xié)議是互聯(lián)網(wǎng)的基本協(xié)議,它定義了數(shù)據(jù)在網(wǎng)絡(luò)中的傳輸方式和規(guī)則。它的作用是將數(shù)據(jù)從源主機傳輸?shù)侥繕酥鳈C,確保數(shù)據(jù)的可靠性和順序性。 TCP
    的頭像 發(fā)表于 01-25 10:34 ?2203次閱讀

    tcp/ip協(xié)議包含哪幾層 tcp和udp的區(qū)別

    TCP/IP協(xié)議包含四,分別是網(wǎng)絡(luò)接口(也稱物理)、網(wǎng)絡(luò)
    的頭像 發(fā)表于 01-22 10:12 ?1413次閱讀

    tcp/ip協(xié)議包含哪幾層?tcp和udp有什么區(qū)別?

    tcp/ip協(xié)議包含哪幾層?tcp和udp有什么區(qū)別? TCP/IP
    的頭像 發(fā)表于 11-29 17:40 ?1073次閱讀