uIP協議棧學習(一)

2021-05-01 21:07:49 字數 829 閱讀 3284

uip

源**可以從

uip的原始碼目錄結構:

目錄是一些應用層的協議和例項,

doc目錄是文件,

lib目錄下有記憶體塊管理函式,

uip下

uip協議棧的源**,

unix

下是unix

環境裡的

uip應用例子。

研究unix

下的**可以知道

uip是如何使用的,關鍵是理解

uip協議棧的主控制迴圈。

int main(void) }

//如果收到的是

arp資料,呼叫

uip_arp_arpin

處理else if(buf->type == htons(uip_ethtype_arp))

} }

//檢視0.5s

是否到了,呼叫

uip_periodic

處理tcp

超時程式

else if(timer_expired(&periodic_timer))

} #if uip_udp

//處理

udp超時程式

for(i = 0; i < uip_udp_conns; i++)

} #endif /* uip_udp */

/* 10s

到了就處理

arp*/

if(timer_expired(&arp_timer))

} }

return 0; }

uip協議棧學習(二)

uip的記憶體管理方法 記憶體管理的實現在memb.c memb.h裡。這兩個檔案負責 uip的記憶體塊的管理,記憶體塊是由 memb 巨集宣告。記憶體從宣告的記憶體塊裡用 memb alloc 分配,用 memb free 釋放。因為命名空間的衝突,每個 c模組只能有乙個 memb 巨集宣告。先看...

UIP協議棧筆記 一

uip協議多用於嵌入式產品。結合如cp2200晶元的網絡卡晶元,組成嵌入式網絡卡,硬體提供能力,uip提供的是策略。由上往下逐步封裝使用者的資料,如 應用層 傳輸層 網路層 資料鏈路層 物理層 應用資料 tcp封裝頭部 ip封裝頭部 mac封裝 尾部 傳送 任何的事物需要經過一定的初始階段,在uip...

uIP協議棧分析

uip特性 由於uip協議棧專門為嵌進式系統而設計,因此還具有如下優越功能 1 非常少,其協議棧 不到6k,很方便閱讀和移植。2 占用的記憶體數非常少,ram占用僅幾百位元組。3 其硬體處理層 協議棧層和應用層共用乙個全域性快取區,不存在資料的拷貝,且傳送和接收都是依靠這個快取區,極大的節省空間和時...