W3150A應用筆記 如何使用多播傳輸

2021-06-16 10:09:30 字數 1612 閱讀 1770

w3150a是以大規模積體電路方式全硬體tcpip協議棧, 提供一種簡單、經濟的高速連線網際網路上各種數字裝置的解決方案。是wiznet一款較早的產品。

今天給大家介紹一下w3150是如何使用多播傳輸的。

ip多播

目的地屬於相同群組時,ip多播提供向多個目的地交付報文的功能。多播位址只能用於目的位址值。

多播群組的位址範圍是從224.0.0.0到239.255.255.255.(d類)

與ip多播相關的多播硬體(乙太網mac)位址範圍是從01:00:5e:00:00:00到01:00:5e:7f:ff:ff。此配置使得乙太網mac中的23位與ip多播群組位址一致。該對映將多播群組位址的低23位放置到與乙太網mac對應的23位上

下圖顯示了多播位址與多播硬體位址。

例如,假設多播群組位址是224.1.1.11並且多播群組埠號是3000。在這種情況下,多播硬體位址是01:00:5e:01:01:0b。

下圖依此舉了乙個例子。

1. 階段 0

- igmp 埠初始化

為了實現多播通訊,在多播資料通訊開始之前,每乙個目的地都要傳送igmp(網際網路組播管理協議)資訊到閘道器以加入多播群組。

在w3150a埠n的指令暫存器設定open指令之前,請將多播群組位址,多播硬體位址和多口號寫到s0_dipr(目的ip暫存器),s0_dha(目的硬體位址暫存器)和s0_dport(目的埠號暫存器)。

2. 階段 1

- 資料通訊

多播接收過程與一般的udp接收過程相同。

在接收到的含有多播群組位址和多播硬體位址的資料報中,唯一的不同就是目的位址欄位和目的硬體位址欄位的值不同。在正常的udp接收過程中,當接收到的資料報中的目的地資訊與w3150a的源資訊相同時,w3150a將會接收資料報。但是在多播資料通訊時,接收到的資料報中的目的地資訊是多播資訊。在w3150操作方面,接收過程與tcp接收過程相同,引文因為遠端位址和遠端埠號已經作為多播群組位址和多模埠號而被固定下來了。

多播傳送過程與多播接收過程相同,而且多播傳送操作也與多播接收操作相同。

2.1 接收過程

接收資料過程如下。在udp情況下,在接收資料中附加了8位元組的報頭。該報頭的結構體如下。

多播過程不需要目的ip位址和埠號。

所以,部分目的地ip位址和埠號在udp過程中不需要。

因此這個過程說明在多播傳輸過程中目的ip位址和埠號可以刪除。

即使寫入了目的ip位址和埠號,w3150a也能正常工作,因為w3150a使用它自己的多播位址和埠號。

下面的接收過程是正常的udp過程。去掉處理ip位址和埠號的那部分之後,下面的部分就變成了多播過程。

2.2 傳送過程

傳送過程與接收過程相同。去掉正常udp傳送過程中處理目的位址和埠號的那部分。

資料傳送過程如下。

感謝關注!

W3150A應用筆記 如何使用多播傳輸

分類 tcp ip晶元 2013 01 06 09 55 184人閱讀收藏 舉報w3150a wiznet wiznet 全硬體tcpip協議棧 全硬體tcpip協議棧 多播傳輸 應用筆記 w3150a是以大規模積體電路方式全硬體tcpip協議棧,提供一種簡單 經濟的高速連線網際網路上各種數字裝置的...

W5100 應用筆記 網路氣象顯示器

在此介紹乙個新的應用,網路氣象資訊顯示器,09年7月發布於美國雜誌circuit cellar.在此簡介一下,這是美國乙個客戶自己開發的網路氣象資訊顯示,美國幅員遼闊,各地氣候差異巨大,人們出行經商等非常關注氣象預報資訊。現在網上有不少公用免費的氣象資訊頻道,比如yahoo或者其他專業 用html或...

iOS應用筆記之git的本地使用

1 什麼是 git git是乙個 分布式 的版本控制工具 git 的作者是 linux 之父 linus benedict torvalds,當初開發 git僅僅是為了輔助 linux 核心的開發 管理源 git在國外已經很普及,在國內已經慢慢普及了。2 git 與 svn 對比1 結構 svn是 ...