一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

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

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

五.實(shí)例開發(fā)

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

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

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

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

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

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

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

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

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

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

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    51+單片機(jī)TCP-IP+協(xié)議ZLIP源碼

    概述 單片機(jī)上網(wǎng)技術(shù),是當(dāng)前的一個(gè)熱門技術(shù)。單片機(jī)上網(wǎng)技術(shù)中的一個(gè)重要部分是在單片上實(shí)現(xiàn) TCP/IP 協(xié)議?,F(xiàn)在可獲得的 TCP/
    發(fā)表于 04-22 15:11

    EtherNet/IP轉(zhuǎn)Modbus TCP:新能源風(fēng)電監(jiān)控與分析實(shí)用案例

    的控制系統(tǒng)、變流器等采用 MODBUS TCP 協(xié)議的設(shè)備以及基于 EtherNet/IP 協(xié)議的遠(yuǎn)程監(jiān)控系統(tǒng)和數(shù)據(jù)分析系統(tǒng)均已正常運(yùn)行且網(wǎng)絡(luò)連接正常。 二、
    的頭像 發(fā)表于 02-17 15:54 ?395次閱讀
    EtherNet/<b class='flag-5'>IP</b>轉(zhuǎn)Modbus <b class='flag-5'>TCP</b>:新能源風(fēng)電監(jiān)控與分析實(shí)用案例

    以太網(wǎng)和TCP/IP的關(guān)系解析

    在現(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)中,以太網(wǎng)和TCP/IP協(xié)議是構(gòu)建網(wǎng)絡(luò)通信的基礎(chǔ)。以太網(wǎng)定義了局域網(wǎng)(LAN)中的數(shù)據(jù)鏈路層和物理的技術(shù)標(biāo)準(zhǔn),而
    的頭像 發(fā)表于 11-08 09:21 ?2351次閱讀

    什么是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 ?1196次閱讀

    芯驛電子 ALINX 推出全新 IP 核產(chǎn)品線,覆蓋 TCP/UDP/NVMe AXI IP

    10GBe/40GBe UDP 協(xié)議 IP 核、10GbE TCP/IP 協(xié)議
    的頭像 發(fā)表于 10-30 17:39 ?891次閱讀
     芯驛電子 ALINX 推出全新 <b class='flag-5'>IP</b> 核產(chǎn)品線,覆蓋 <b class='flag-5'>TCP</b>/UDP/NVMe AXI <b class='flag-5'>IP</b> 核

    Modbus RTU協(xié)議與Modbus TCP/IP協(xié)議的區(qū)別

    Modbus RTU和Modbus TCP/IP的本質(zhì)都是Modbus協(xié)議,都是通過Modbus寄存器地址來交換數(shù)據(jù)的,那么它們之間有什么區(qū)別呢?今天我們從以下幾個(gè)方面來探討一下。
    的頭像 發(fā)表于 10-18 17:44 ?1935次閱讀

    TCP協(xié)議是什么

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

    EtherNet/IP主站轉(zhuǎn)Modbus-TCP協(xié)議網(wǎng)關(guān)

    捷米特JM-EIPM-TCP網(wǎng)關(guān)實(shí)現(xiàn)連接EtherNet/IP設(shè)備和網(wǎng)絡(luò)到Modbus TCP網(wǎng)絡(luò)系統(tǒng)。該網(wǎng)關(guān)可實(shí)現(xiàn)雙向數(shù)據(jù)交換,既允許現(xiàn)有的、低成本的EtherNet/IP設(shè)備集成到
    的頭像 發(fā)表于 09-25 11:49 ?508次閱讀
    EtherNet/<b class='flag-5'>IP</b>主站轉(zhuǎn)Modbus-<b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)

    EtherNet/IP轉(zhuǎn)Modbus-TCP協(xié)議轉(zhuǎn)換網(wǎng)關(guān)

    在工業(yè)自動(dòng)化領(lǐng)域中,EtherNet/IP轉(zhuǎn)Modbus-TCP這兩種網(wǎng)絡(luò)協(xié)議的互通互聯(lián)非常重要。有一款優(yōu)秀的設(shè)備——遠(yuǎn)創(chuàng)智控YC-EIP-TCP,能夠出色地解決這一難題。此設(shè)備性能優(yōu)
    的頭像 發(fā)表于 09-06 16:54 ?561次閱讀
    EtherNet/<b class='flag-5'>IP</b>轉(zhuǎn)Modbus-<b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>轉(zhuǎn)換網(wǎng)關(guān)

    深入了解 Windows 系統(tǒng) TCP/IP 參數(shù)配置

    概述 TCP/IP是一組用于實(shí)現(xiàn)計(jì)算機(jī)網(wǎng)絡(luò)互聯(lián)的通信協(xié)議。它包括了多個(gè)層次的協(xié)議,如網(wǎng)絡(luò)接口、網(wǎng)際
    的頭像 發(fā)表于 09-04 17:24 ?815次閱讀

    EtherNet/IP轉(zhuǎn)Modbus-TCP協(xié)議網(wǎng)關(guān)(EtherNet/IP轉(zhuǎn)Modbus-TCP

    /IP轉(zhuǎn)Modbus TCP從站協(xié)議網(wǎng)關(guān),可以實(shí)現(xiàn)對(duì)這些設(shè)備的集中管理和控制。 二,典型應(yīng)用拓?fù)鋱D 三,設(shè)備技術(shù)參數(shù) 捷米特JM-EIP-TCP設(shè)備在Et
    的頭像 發(fā)表于 09-04 11:09 ?856次閱讀
    EtherNet/<b class='flag-5'>IP</b>轉(zhuǎn)Modbus-<b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)(EtherNet/<b class='flag-5'>IP</b>轉(zhuǎn)Modbus-<b class='flag-5'>TCP</b>)

    串口服務(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 ?2121次閱讀

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

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

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

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

    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 ?1017次閱讀