91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

學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),并偵聽客戶端的請求??蛻舳税l(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.第三次揮手:當遠端進行了必要的數(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)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA設(shè)計
    +關(guān)注

    關(guān)注

    9

    文章

    431

    瀏覽量

    28146
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    TCP/IP(Socket)協(xié)議深度剖析

    TCP/IP協(xié)議作為互聯(lián)網(wǎng)通信的基礎(chǔ)架構(gòu),其核心機制Socket編程承載著全球數(shù)據(jù)交換的使命。本文將深入剖析這一協(xié)議的七架構(gòu)、三次握手與四
    的頭像 發(fā)表于 03-03 17:06 ?492次閱讀

    工業(yè)級4G路由器:TCP/IP與UDP協(xié)議,解鎖工業(yè)物聯(lián)網(wǎng)高效傳輸新范式

    /以太網(wǎng)能力,正重新定義工業(yè)數(shù)據(jù)傳輸?shù)倪吔纭F浜诵膬?yōu)勢,在于對TCP/IP與UDP協(xié)議的深度適配,為不同場景提供精準的通信解決方案。 ?? ?TCP/
    的頭像 發(fā)表于 01-19 18:25 ?193次閱讀
    工業(yè)級4G路由器:<b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b>與UDP<b class='flag-5'>協(xié)議</b>,解鎖工業(yè)物聯(lián)網(wǎng)高效傳輸新范式

    疆鴻智能一鍵打通EtherCAT轉(zhuǎn)Modbus TCP/IP,汽車制造鏈透明

    疆鴻智能一鍵打通EtherCAT轉(zhuǎn)Modbus TCP/IP,汽車制造鏈透明 一、案例背景 在現(xiàn)代汽車制造體系中,各生產(chǎn)環(huán)節(jié)常采用異構(gòu)的工業(yè)網(wǎng)絡(luò)協(xié)議。以某新能源汽車焊裝車間為例,其機
    的頭像 發(fā)表于 01-06 15:37 ?203次閱讀

    如何使用蘇培Ethernet/IP總線網(wǎng)關(guān)與匯川AM400系列PLC通訊

    Ethernet/IP是一個面向工業(yè)自動化應(yīng)用的工業(yè)應(yīng)用層協(xié)議。它建立在標準UDP/IPTCP/IP
    的頭像 發(fā)表于 12-15 17:45 ?1118次閱讀
    如何使用蘇培Ethernet/<b class='flag-5'>IP</b>總線網(wǎng)關(guān)與匯川AM400系列PLC通訊

    為什么會有TCP/IP協(xié)議

    見了面,完全不能交流信息。因而他們需要定義一些共通的東西來進行交流,TCP/IP就是為此而生。TCP/IP不是一個協(xié)議,而是一個
    發(fā)表于 12-03 06:28

    Profinet轉(zhuǎn)TCP/IP工業(yè)智能網(wǎng)關(guān)破解S7-1200與TCP/IP攝像頭視覺通訊壁壘的方案

    某汽車零部件工廠的自動化裝配車間需實現(xiàn)產(chǎn)線流程視覺監(jiān)控與質(zhì)量追溯。車間以西門子S7-1200 PLC作為核心控制器(支持Profinet協(xié)議),負責產(chǎn)線節(jié)拍控制、設(shè)備聯(lián)動及異常響應(yīng);同時部署TCP
    的頭像 發(fā)表于 11-02 13:52 ?1734次閱讀
    Profinet轉(zhuǎn)<b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b>工業(yè)智能網(wǎng)關(guān)破解S7-1200與<b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b>攝像頭視覺通訊壁壘的方案

    快速掌握TCP/IP?LuatOS新手入門指南

    想快速上手TCP/IP通信卻不知從何開始?LuatOS為開發(fā)者提供了簡潔高效的開發(fā)路徑。通過本指南的實操步驟,你將發(fā)現(xiàn),實現(xiàn)網(wǎng)絡(luò)連接其實比想象中更簡單。 提到網(wǎng)絡(luò)應(yīng)用,就繞不開TCP/IP
    的頭像 發(fā)表于 10-15 17:27 ?671次閱讀
    快速掌握<b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b>?LuatOS新手入門指南

    EtherNet/IP轉(zhuǎn)Modbus TCP網(wǎng)關(guān),讓設(shè)備對話更簡單!

    在工業(yè)自動化與物聯(lián)網(wǎng)飛速發(fā)展的今天,不同協(xié)議設(shè)備之間的互聯(lián)互通已成為企業(yè)提升生產(chǎn)效率、實現(xiàn)智能化升級的關(guān)鍵挑戰(zhàn)。如何讓支持EtherNet/IP的PLC、伺服系統(tǒng)與基于Modbus TCP
    的頭像 發(fā)表于 09-19 16:30 ?711次閱讀
    EtherNet/<b class='flag-5'>IP</b>轉(zhuǎn)Modbus <b class='flag-5'>TCP</b>網(wǎng)關(guān),讓設(shè)備對話更簡單!

    rtthread網(wǎng)絡(luò)接口設(shè)備 輕量級tcp/ip 堆棧 這兩個沖突嗎?

    需要使用 lwip 上圖中 網(wǎng)絡(luò)接口設(shè)備 需要使能么? 上圖中 網(wǎng)絡(luò)接口設(shè)備 是干嘛用的?是一個比lwip 功能弱的tcp/ip 協(xié)議么?
    發(fā)表于 09-18 06:16

    GraniStudio : TCP/IP(Socket)協(xié)議深度剖析

    在工業(yè)自動化與物聯(lián)網(wǎng)領(lǐng)域,TCP/IP(Socket)協(xié)議作為應(yīng)用最廣泛的網(wǎng)絡(luò)通信標準,是實現(xiàn)設(shè)備間數(shù)據(jù)交互的核心技術(shù)。GraniStudio 軟件作為工業(yè)級零代碼開發(fā)平臺,其內(nèi)置的 TCP
    的頭像 發(fā)表于 08-03 22:20 ?1198次閱讀
    GraniStudio : <b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b>(Socket)<b class='flag-5'>協(xié)議</b>深度剖析

    什么是Modbus TCP協(xié)議

    TCP/IP協(xié)議,通過以太網(wǎng)進行通信,并支持多個設(shè)備同時訪問同一個Modbus TCP服務(wù)器。 一、
    的頭像 發(fā)表于 07-23 17:18 ?4295次閱讀
    什么是Modbus <b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>

    全網(wǎng)最全學習Zephyr開發(fā)教程資料匯總-從基礎(chǔ)文檔視頻到上手實操示例

    Zephyr作為一款開源且極具靈活性與可擴展性的實時操作系統(tǒng)(RTOS),擁有原生的 BLE 協(xié)議、完整的 Net 協(xié)議,涵蓋 TCP/
    發(fā)表于 07-04 11:13

    生物制藥自動化升級:Modbus TCP與Ethernet/IP協(xié)議轉(zhuǎn)換實踐

    Ethernet/IP),直接通信存在障礙。為此通過穩(wěn)聯(lián)技術(shù)的Modbus TCP與Ethernet/IP網(wǎng)關(guān),實現(xiàn)兩種協(xié)議的無縫轉(zhuǎn)換,確保數(shù)據(jù)實時交互和設(shè)備精準控制。 1、打開RSL
    的頭像 發(fā)表于 06-17 18:34 ?621次閱讀
    生物制藥自動化升級:Modbus <b class='flag-5'>TCP</b>與Ethernet/<b class='flag-5'>IP</b><b class='flag-5'>協(xié)議</b>轉(zhuǎn)換實踐

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

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

    RT-Thread Ethernet/IP 協(xié)議技術(shù)實踐|技術(shù)集結(jié)

    Ethernet/IP(以太網(wǎng)工業(yè)協(xié)議)是一種基于標準以太網(wǎng)架構(gòu)的工業(yè)通信協(xié)議,廣泛應(yīng)用于自動化和控制系統(tǒng)中。它結(jié)合了TCP/IP
    的頭像 發(fā)表于 04-08 18:47 ?2116次閱讀
    RT-Thread Ethernet/<b class='flag-5'>IP</b> <b class='flag-5'>協(xié)議</b>技術(shù)實踐|技術(shù)集結(jié)