線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1696
推到 Plurk!
推到 Facebook!

gigabit Ethernet 的程式設計方式

尚未結案
jackyeh1021
一般會員


發表:7
回覆:13
積分:4
註冊:2004-03-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-09 11:21:59 IP:220.134.xxx.xxx 未訂閱
各位大大: 小弟須要寫一個TCP/IP傳送程式,兩台電腦都裝有gigabit Ethernet card, 如果用舊的TCP/IP程式似乎和傳統的10/100的Ethernet card 傳送速度相同,這是不是意味著gigabit Ethernet card 的TCP/IP傳送程式寫法需要不同,有沒有人有這方面的資料或訊息可以提供,謝謝!!!

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-30 11:22:45 IP:59.113.xxx.xxx 未訂閱
http://www.xilinx.com/xlnx/xweb/xil_publications_display.jsp?sGlobalNavPick=&sSecondaryNavPick=&iLanguageID=3&category=-1211206 這裡有一些gigabit Ethernet 相關的資料可參考. 希望對你有幫助.
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
jackyeh1021
一般會員


發表:7
回覆:13
積分:4
註冊:2004-03-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-02 17:50:38 IP:220.134.xxx.xxx 未訂閱
謝謝您的資料,不過.... 我看了一下,好像沒有我想要的資料 可不可以再提供的詳細一點.
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-02 18:25:59 IP:221.169.xxx.xxx 未訂閱
我在 FreeBSD 上,寫法都是一樣。 差別只在它們用的 driver 不同 (癈話)。 我用
jackyeh1021
一般會員


發表:7
回覆:13
積分:4
註冊:2004-03-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-03 08:11:49 IP:61.220.xxx.xxx 未訂閱
謝謝您的提醒: 我發現如果要發揮 Gigibit Ethernet 的威力,很多東西要更換,從網路線(Cat.6),Hub(要支援Gigibit Ethernet),等這樣才能有效果. 其實我的主要用意是,在Gigibit Ethernet 傳送的過程中,程式的撰寫是不是有不同,還是原本的程式就可以用了, 各位高手,如果沒有其他的答案我將於一個星期後結案,謝謝!!!!
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-05-03 08:29:00 IP:221.169.xxx.xxx 未訂閱
引言: 我發現如果要發揮 Gigibit Ethernet 的威力,很多東西要更換,從網路線(Cat.6),Hub(要支援Gigibit Ethernet),等這樣才能有效果. 其實我的主要用意是,在Gigibit Ethernet 傳送的過程中,程式的撰寫是不是有不同,還是原本的程式就可以用了,
程式沒說要改啊。只有你的外面的設備要變啦。 ^_^ 我還玩過 FreeBSD 是利用兩塊1G的網卡綁在一起,對一個 switch hub.那種速度。可以把雙CPU的主機操到使用率100%。 ^_^
8866
中階會員


發表:27
回覆:147
積分:69
註冊:2002-10-14

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-05-05 10:04:44 IP:59.120.xxx.xxx 未訂閱
程式當然要改 !  像我的作品 > 發表人 -
jackyeh1021
一般會員


發表:7
回覆:13
積分:4
註冊:2004-03-16

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-05-06 08:09:17 IP:220.134.xxx.xxx 未訂閱
8866兄您好: 原來您有Giga Ethernet的程式撰寫經驗,您的TCP/IP是用甚麼方式作出來的呀!! 我現在是用ICS 所提供的WSocketServer元件,是不是不需要修改,還是有甚麼地方需要注意的, 不知您有沒有這方面的Know How可以提供.. 謝謝
8866
中階會員


發表:27
回覆:147
積分:69
註冊:2002-10-14

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-05-06 09:20:06 IP:59.120.xxx.xxx 未訂閱
在 NDIS 5.0 以上的版本有提供 TaskOffload 支援,可以將傳統上由軟體來計算的 TCP/IP 包的 Checksum 的運算( 送 和 收 )以及 TCP 自動分段(發送方向,LargeSend)都交由底層的硬體來完成,這樣可以大大降低 CPU 的負載, 目前的 Gigabit 網卡多都支援此功能 .    此項功能必須透過 Driver 來設定完成 , 所以 NDIS Driver 你必須看  "清楚" !!! 我想以上的做法應可以幫你達到加速的功能 .    至於你所提 "ICS 所提供的WSocketServer" , 抱歉我不熟 Delphi 所以 無法回答 ! 給你良心的建議 , 少用元件 , 多實作 , 多看 Driver 對你的實力有絕對的幫助 . ( 當你想做別人作不到時 , 特別有用 )    最後也請你給分啦 !  沒事多看 >< >< > 發表人 -
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-05-06 09:43:59 IP:221.169.xxx.xxx 未訂閱
引言: 在 NDIS 5.0 以上的版本有提供 TaskOffload 支援,可以將傳統上由軟體來計算的 TCP/IP 包的 Checksum 的運算( 送 和 收 )以及 TCP 自動分段(發送方向,LargeSend)都交由底層的硬體來完成,這樣可以大大降低 CPU 的負載, 目前的 Gigabit 網卡多都支援此功能 . 此項功能必須透過 Driver 來設定完成 , 所以 NDIS Driver 你必須看 "清楚" !!! 我想以上的做法應可以幫你達到加速的功能 .
呵。你的作法應該是 sniffer 的方式。 也就是跟 BSD 下的 bpf 的東西。 在 NDIS Driver 把封包丟給你的同時。它也會把資料往”正常的”管道送。 所以你要加大你的 buffer.....etc 那本來就應該要做的。 因為 NDIS 不會管你那邊的 lose, 因為它不必為那個額外的 flow 做確保。 你如果對 UNIX Like 熟悉的話。你可以去看一下 bandwidthd 這個東西。 它在起動時,會起 4 個 daemon 來做那個部份的處理。它跟你的 sniffer 差不多。 他為了要不流失。它開了4個。我想4個是因為我的 bpf 只給它4個的關係。 所以,我另外看了你上一篇說的要加大BUFFER。而別人的作法是在 NDIS 上面 加上第一個處理。第二個處理。。。。。。這樣他就不用因為 USER 用了 Gaga 就得改程式。 至於你跟發問者要分數。我是沒差啦。 我只希望發問者可以得到正確的觀念。
8866
中階會員


發表:27
回覆:147
積分:69
註冊:2002-10-14

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-05-06 10:05:24 IP:59.120.xxx.xxx 未訂閱
至於你跟發問者要分數。我是沒差啦。    ==> 如果我是為了分數才來答分的話 , 那我寧可去睡覺 !        只是一個玩笑話 , 各位不用當真啦 !!!    我只希望發問者可以得到正確的觀念。       ==> 我的回答中已經說的很清楚            PS: 如果你是用 WinSocket 那就沒差            我並沒有誤導任何人 !!!    再者利用 TaskOffload 將傳統上由軟體來計算的 TCP/IP 包的 Checksum 的運算( 送 和 收 )以及 TCP 自動分段(發送方向,LargeSend)都交由底層的硬體來完成,這樣可以大大降低 CPU 的負載 !       "且加快速度這也是不爭的事實啦" !!!     如有不對還請各位原諒 .    < >< > 發表人 -
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#12 引用回覆 回覆 發表時間:2005-05-06 10:34:56 IP:221.169.xxx.xxx 未訂閱
引言: 再者 "利用 TaskOffload 將傳統上由軟體來計算的 TCP/IP 包的 Checksum 的運算( 送 和 收 )以及 TCP 自動分段(發送方向,LargeSend)都交由底層的硬體來完成,這樣可以大大降低 CPU 的負載 ! "且加快速度這也是不爭的事實啦" !!!
交由底層的”硬體”這句話我是存保留態度。 因為硬體不同時。會不會有不同的指令跟傳輸方式? 畢竟,你只是站在 Driver 層之上。直接使用 Driver 層的東西。 它並不是直接使用硬體。它還是利用 Driver 的軟體來做事。 就像我上一篇所說的。 bpf 也是很忠實的把封包的內容整個丟到 buffer 去。 當 buffer 滿了。它就會把它丟棄。 而你說的方式跟 unix 下的 libcap 很像。 它也沒有去直接使用硬體。 因為我在寫 embed system 的網路通訊。直接跟硬體說話時。並不是像寫 libcap 那樣寫。
8866
中階會員


發表:27
回覆:147
積分:69
註冊:2002-10-14

發送簡訊給我
#13 引用回覆 回覆 發表時間:2005-05-06 10:55:41 IP:59.120.xxx.xxx 未訂閱
因為硬體不同時。會不會有不同的指令跟傳輸方式?    Ans : 我上文中提到 "目前的 Gigabit 網卡多都支援此功能" ,       所以啦 , 還是要網卡支援的啦 !!! 另外 TaskOffload       微軟 NDIS 所提供的一項功能 , 只要網卡的製造商能       "跟隨" 的話 , 那指令跟傳輸方式應該不是問題 .    而你說的方式跟 unix 下的 libcap 很像。    Ans : 我只是看 NDIS 的說明而已且轉述與實作罷了 , 並不了解       微軟的 NDIS 是否如你所懷疑的 !     今天真是一個美麗的一天 , 能與各位高手談論 , 切磋 ,  真是值得高興喔 . 
jackyeh1021
一般會員


發表:7
回覆:13
積分:4
註冊:2004-03-16

發送簡訊給我
#14 引用回覆 回覆 發表時間:2005-05-10 13:45:53 IP:61.221.xxx.xxx 未訂閱
哇!    感謝暗黑破壞神及8866兩位高手的解答,讓我對gigabit ethernet 這個領域有一些瞭解.   看到兩位的回答讓我不知如何給分,因為兩位都有資格拿到這分數.    但我想各位的解答還是沒有真的讓我解惑,不過已經可以提供一些尋找資料的方向,另外㊣兄也謝謝您的幫忙      最後我想給分給8866因為您給我的information 比較多(先強調這跟有沒有跟我要分沒差,開玩笑的)
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#15 引用回覆 回覆 發表時間:2007-04-18 17:33:06 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

------
我是機器人,我不接受簡訊.
系統時間:2024-05-03 11:54:22
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!