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

大型檔案傳輸,使用哪一種通訊方式效率最高?(區域網路)

答題得分者是:Stallion
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-06-07 17:37:46 IP:61.222.xxx.xxx 訂閱
請教各位:
在區域網路情況下,用何種通訊協定用來傳送大型檔案(500MB 以上)效率最高並且可靠?
(A) 網路芳鄰 (B)FTP (C)TCP (D) HTTP .....

SERVER 部分偏好於自己寫,所以會考慮到:..
1. 在傳輸部分使用 P2P 還是用 C/S 方式,感覺前者可集思廣益,後者較偏向牢靠。
若同時使用這兩種方法,實作上會不會很困難。亦是多此一舉。
2. 如何處理續傳?
3. 如何檢查所傳輸的資料是否正確。(CRC or MD5) 會不會拖垮傳輸效率。
4. 每次傳送資料以多少個Bytes。效率會最好。
5. 需要能夠自訂命令,SERVER 接受到命令作對應的處理。(這點FTP可以做到嗎?)

在這方面有經驗的同好,可否提供一些建議及想法。

感謝。
暗黑破壞神
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-06-07 19:21:38 IP:125.231.xxx.xxx 未訂閱
談”自訂命令”就是不依現有的 protocol 來運作了。
所以只考慮兩種 TCP UDP 這兩種方式了。
而 TCP 會保證送達之正確性。所以你要用 TCP 的話,就是在最後做檔案的 check sum or md5 的動作就好了。
不用每個封包去做。因為每個封包本身就有這種行為。

===================引 用 wameng 文 章===================

在區域網路情況下,用何種通訊協定用來傳送大型檔案(500MB 以上)效率最高並且可靠?
(A) 網路芳鄰 (B)FTP (C)TCP (D) HTTP .....

SERVER 部分偏好於自己寫,所以會考慮到:..
1. 在傳輸部分使用 P2P還是用 C/S 方式,感覺前者可集思廣益,後者較偏向牢靠。
若同時使用這兩種方法,實作上會不會很困難。亦是多此一舉。
2. 如何處理續傳?
3. 如何檢查所傳輸的資料是否正確。(CRC or MD5) 會不會拖垮傳輸效率。
4. 每次傳送資料以多少個Bytes。效率會最好。
5. 需要能夠自訂命令,SERVER 接受到命令作對應的處理。(這點FTP可以做到嗎?)
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-06-07 22:11:17 IP:61.31.xxx.xxx 訂閱
感恩. 這樣範圍就縮小。還有好的建議嗎!

1. 在傳輸部分使用 P2P 還是用 C/S 方式,感覺前者可集思廣益,後者較偏向牢靠。
若同時使用這兩種方法,實作上會不會很困難。亦是多此一舉。
2. 如何處理續傳?
3. 如何檢查所傳輸的資料是否正確。(CRC or MD5) 會不會拖垮傳輸效率。
4. 每次傳送資料以多少個Bytes。效率會最好。
5. 需要能夠自訂命令,SERVER 接受到命令作對應的處理。(這點FTP可以做到嗎?)

有誰瞭解 像是 BT or EMULE 的原理嗎?感謝。
暗黑破壞神
版主


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-06-08 00:13:35 IP:125.231.xxx.xxx 未訂閱
還是兩個。一個  TCP, 一個 UDP
看你要怎麼用而已。
至於怎麼續傳?那是你的 protocol 自己要訂,當然看你怎麼訂了。
每次傳送多少個 Bytes?這個倒是可以交給底層去幫你分包。
你的資料量那麼大。丟下底層,給底層解決就好吧。
不必自己去 care 它。
===================引 用 wameng 文 章===================
感恩. 這樣範圍就縮小。還有好的建議嗎!

1. 在傳輸部分使用 P2P還是用 C/S 方式,感覺前者可集思廣益,後者較偏向牢靠。
若同時使用這兩種方法,實作上會不會很困難。亦是多此一舉。
2. 如何處理續傳?
3. 如何檢查所傳輸的資料是否正確。(CRC or MD5) 會不會拖垮傳輸效率。
4. 每次傳送資料以多少個Bytes。效率會最好。
5. 需要能夠自訂命令,SERVER 接受到命令作對應的處理。(這點FTP可以做到嗎?)

有誰瞭解 像是 BT or EMULE 的原理嗎?感謝。
00156
高階會員


發表:45
回覆:195
積分:112
註冊:2002-06-01

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-06-09 11:55:02 IP:61.56.xxx.xxx 訂閱
UDP提供優於TCP的傳輸速度,對於某些訊息量較大、時效性大於可靠性的傳輸來說(比方說語音 / 影像),UDP 的確是個不錯的選擇。但如果你需要可靠無誤的傳輸內容,檔案又這麼大,錯誤的機率應該不小,或許還是TCP比較方便,省掉自己寫驗證資料的程序。
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-06-10 02:20:23 IP:211.22.xxx.xxx 未訂閱
這邊有個 http file server,支援檔案下載與上傳,連Source都有(Delphi 6 personal寫的),可以下載來參考。祝順利!
http://www.rejetto.com/hfs/?f=dl
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-06-11 16:03:04 IP:61.222.xxx.xxx 訂閱
我進行一整天的測試後,得到結果:
網路芳鄰 > FTP SERVER > HTTP SERVER

感覺上使用 TCP SERVER 因該是不錯的。
但是要自己處理的部分太多。暫時就這樣。

Stallion 兄提供的 Http File Server 傳檔效率似乎頗差。比一般的WebServer 多出 1/4 時間。
提供各位做參考。

附記:
# 每次傳送 Buffer Size 以 1024*1024 Bytes最佳。
# ICS 的HTTPSERVER 不支援續傳。

syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-06-11 17:33:50 IP:61.64.xxx.xxx 訂閱
呵呵,第一次看到網芳比 FTP 快

每次開網芳都慢得要死,所以我小檔都用 FTP ,大檔都用 USB
網芳,用來玩玩而已

不知先進有何密招?教大家一下


===================引 用 wameng 文 章===================
我進行一整天的測試後,得到結果:
網路芳鄰 > FTP SERVER > HTTP SERVER

感覺上使用 TCP SERVER因該是不錯的。
但是要自己處理的部分太多。暫時就這樣。

Stallion 兄提供的 Http File Server 傳檔效率似乎頗差。比一般的WebServer 多出 1/4 時間。
提供各位做參考。

附記:
# 每次傳送 Buffer Size 以 1024*1024 Bytes最佳。
# ICS 的HTTPSERVER 不支援續傳。

暗黑破壞神
版主


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

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-06-11 17:38:30 IP:220.131.xxx.xxx 未訂閱
可能是用 sftp 吧。 sftp 是會比較慢沒錯
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#10 引用回覆 回覆 發表時間:2007-06-12 10:16:01 IP:61.222.xxx.xxx 訂閱
在區域網路來說 網芳 還是最快的,跟FTP 差距只有幾秒之差。
如果又透過 Multi-Thread 拷貝,速度那真是快的沒話說。(底層傳輸,應該比應用層快吧)。

反之,在區域網路中使用Flashget 傳檔,會比一般傳檔慢上兩倍以上。

傑克,這真是太神奇了。
mypigbaby
高階會員


發表:11
回覆:168
積分:155
註冊:2006-07-20

發送簡訊給我
#11 引用回覆 回覆 發表時間:2007-06-12 11:10:03 IP:203.73.xxx.xxx 訂閱
奇怪
為什麼豬寶寶測的結果跟您的相反
FTP -> 網芳->HTTP SERVER
豬寶寶個人是建議
如果要自己寫的話
D7的INDY好像就有FTP現成的範例
拿來改一下應該就能用
至於CRC CHECK的話
這個豬寶寶的做法是
在傳送前 對整個檔案產生一個CRC FILE (多傳一個CRC FILE過去SERVER)
而在SERVER端接受完後,再行產生一組CRC FILE
二者相互比對來驗證是否完整



PS.如果是用外面人家寫的FTP SERVER,效能差異極大
IOFTPD 在100 LAN的環境,可以跑到9~11M/S左右
RAIDENFTPD 可以跑到9~10M/S左右
SERV-U 只能跑到5~6M




===================引 用 wameng 文 章===================
我進行一整天的測試後,得到結果:
網路芳鄰 > FTP SERVER > HTTP SERVER?

感覺上使用 TCP SERVER?因該是不錯的。
但是要自己處理的部分太多。暫時就這樣。

Stallion 兄提供的 Http File Server 傳檔效率似乎頗差。比一般的WebServer 多出 1/4 時間。
提供各位做參考。

附記:
?# 每次傳送 Buffer Size 以 1024*1024 Bytes最佳。
?# ICS 的HTTPSERVER 不支援續傳。

暗黑破壞神
版主


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

發送簡訊給我
#12 引用回覆 回覆 發表時間:2007-06-12 11:20:25 IP:125.231.xxx.xxx 未訂閱
其實,除去我說的 sftp, 這種情況不說。
在 local net 來測這種的差異無法很明確的測出來。
以我的環境來說,網路是1G。線也都是1G的線材。
在做 ftp, samba.....等等時。
我可以直接去看 iostate 的狀況。
它的速度是卡在我的 server 的 hd io 上。
因為我做了 raid 5 用了個老一點的 raid card.^^
所以整個的評估,應該是要全面性的。
看看封包被動了多少動作。在 cpu 吃多少資源。
硬碟的反應,以及網路的狀況。

網路狀況又會談到同時有多少人在吃這條線。用那個 switch?
這個說起來,就不像 internet 這麼好量測了。
因為 internet 上面,可以知道頻寬夠,主機死,就是加主機。
主機沒操死,頻寬卡死,就是加頻寬。
這樣的判斷很容易處理。
但是 local net, 很難這樣一拍兩瞪眼。^_^
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#13 引用回覆 回覆 發表時間:2007-06-12 11:53:07 IP:61.222.xxx.xxx 訂閱
暗黑兄說的中肯。

只不過Internet 以外的不在我考量範圍。
事實上大抵是差不了多少。
這個評估不是很嚴謹的,大致上隨手一撈粗略比對。
所謂FTP HTTP SERVER 也是ICS 附帶範例。
以Local Net 進行比對前者比後者快約5 秒。
因為我只需要我要的進行測試部分。

至於網路芳鄰透過某種方法,可以快到....
如果透過Internet 那會慢慢地勒搓。

另外感謝 豬寶寶 所提供的數據。

***做為本地資料比對使用 CRC 或MD5判斷,是否有其必要性!!?
無論是CRC或MD5 都需要將兩者進行編碼後得到的資料進行比對。
但編碼難道不需要花費時間嗎?

如果用CompareMem 兩者Block 不是會比較快嗎?
很疑惑?尚未查書,待瞭解?





===================引 用 暗黑破壞神 文 章===================
其實,除去我說的 sftp, 這種情況不說。
在 local net 來測這種的差異無法很明確的測出來。
以我的環境來說,網路是1G。線也都是1G的線材。
在做 ftp, samba.....等等時。
我可以直接去看 iostate 的狀況。
它的速度是卡在我的 server 的 hd io 上。
因為我做了 raid 5 用了個老一點的 raid card.^^
所以整個的評估,應該是要全面性的。
看看封包被動了多少動作。在 cpu 吃多少資源。
硬碟的反應,以及網路的狀況。

網路狀況又會談到同時有多少人在吃這條線。用那個 switch?
這個說起來,就不像 internet 這麼好量測了。
因為 internet 上面,可以知道頻寬夠,主機死,就是加主機。
主機沒操死,頻寬卡死,就是加頻寬。
這樣的判斷很容易處理。
但是 local net, 很難這樣一拍兩瞪眼。^_^
編輯記錄
wameng 重新編輯於 2007-06-12 11:54:41, 註解 無‧
wameng 重新編輯於 2007-06-12 11:55:33, 註解 無‧
wameng 重新編輯於 2007-06-12 11:58:37, 註解 無‧
系統時間:2024-04-20 14:50:37
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!