【求助】問一個FTP port的問題..困擾已久.. - 第2頁 - PCZONE 討論區

返回   PCZONE 討論區 > ▲ ADSL_CABLE_FTTH 寬 頻 上 網 討 論 > -- 網站架設 / 免費空間 / 虛擬主機 專區 > ☉ -- 架 站 DIY 討 論 版


PCZONE 討論區



通知

☉ -- 架 站 DIY 討 論 版 有了寬頻後,可利用來架設 WWW / FTP / MAIL 等各種 SERVER,請在此版跟大家一起討論各種 SERVER 架設心得。

Passion

看起來似乎是 CesarFTP Server 的問題...

CesarFTP Server 似乎沒有乖乖地用 TCP Port 20 連接到主動模式的 Client 端

你要不要改用其他 FTP Server 看看...

回覆
風来坊

引用:
作者: nopy
看起來似乎是 CesarFTP Server 的問題...

CesarFTP Server 似乎沒有乖乖地用 TCP Port 20 連接到主動模式的 Client 端

你要不要改用其他 FTP Server 看看...
嗚嗚…我錯了!
之前老師教的時候是以 client 來教 port#
結果現在小弟把 client 與 server 給搞混了…
主動模式的 FTP 的確是用 命令埠 21 通訊埠 20
而裡頭對每個使用者則是靠 FTP server 程式實作 multi-thread 或 fork() process
不過使用 multi-thread 效率會比較好!

想請教一下大哥!
為什麼主動式 FTP 通訊埠預設只有一個port:20
而被動式 FTP 通訊埠卻是可以設一個範圍內的port#呢?
小弟有設過連上自己架的被動式FTP
傳送資料過程中,port#會一直跳說…
是為了什麼考量?那可以自己設把通訊埠固定在一個port#嗎?
謝謝嘍!!
回覆
會員

挖哩勒...原來是ftp server cesar搞鬼..
不聽話,叫他主動,她偏用被動~改ftp server
server-u~就出現20 port了...>_<
謝謝 nopy和 lenbo、 hpo14囉
制於 lenbo 你問的問題~不就是因應nat環境下的一般模式及被動模式的問題囉~
nopy在上面有說明了喔...
回覆
Passion

引用:
作者: lenbo
想請教一下大哥!
為什麼主動式 FTP 通訊埠預設只有一個port:20
而被動式 FTP 通訊埠卻是可以設一個範圍內的port#呢?
小弟有設過連上自己架的被動式FTP
傳送資料過程中,port#會一直跳說…
是為了什麼考量?那可以自己設把通訊埠固定在一個port#嗎?
謝謝嘍!!
其實你仔細想想應該會知道為什麼的

Passive Mode 被動模式下,當 Client 要求傳送一個檔案,
Server 會告訴 Client 他把檔案放在那個 Port 上面,
等待 Client 自己建立連線過來把檔案傳輸回去

也就是 Server 會準備好檔案資料放在某個 Port 上面,
然後去聽 (Listen) 這個 Port 的連線狀況,
第一個連線進來的用戶,就把資料傳送給對方

如果每個 Passive Mode 都用同一個 Port,
當兩個用戶同時要求傳送檔案時,如果 Client 連線進來時,
Server 就不知道要傳送哪份檔案的資料了

而且,如果某個 Port 已經被某一個 Process 註冊要負責處理該 Port 的新進連線 (Listen),
則該 Port 就無法再被其他 Process 重複 Listen
否則作業系統會不曉得把該 Port 新進的連線丟給誰處理

不同的 Process 是可以共用同一個 Port 傳輸資料,
但是不能同時註冊負責同一個 Port 的新連線需求

FTP 的通訊協定有點複雜,有興趣的人可以仔細研究一下 RFC,

FTP 通訊協定由於把命令與資料分開,
因此你甚至可以在 A 機器上面,命令 X 機器把檔案傳輸給 Y 機器
回覆
會員
回覆: 【求助】問一個FTP port的問題..困擾已久..
引用:
作者: nopy
如果某個 Port 已經被某一個 Process 註冊要負責處理該 Port 的新進連線 (Listen),
則該 Port 就無法再被其他 Process 重複 Listen
否則作業系統會不曉得把該 Port 新進的連線丟給誰處理

不同的 Process 是可以共用同一個 Port 傳輸資料,
但是不能同時註冊負責同一個 Port 的新連線需求
nopy兄 打擾了!!
想請教 網路的觀念

web server 是使用 port:80 來服務client端

client端 使用 隨機的port 跟 server的80 port 溝通
所以 server 從頭到尾 就只使用 port 80 回應給 client 端

也就是說 : 使用 同一個port 是可以服務 n 個 client 嗎?
好奇的是 80 port 在 listen中 接受 client的詢問, 還可以同時用同一個port 回應client嗎 ?

請 nopy 指教一下
回覆
Passion
回覆: 【求助】問一個FTP port的問題..困擾已久..
引用:
作者: cappella
nopy兄 打擾了!!
想請教 網路的觀念

web server 是使用 port:80 來服務client端

client端 使用 隨機的port 跟 server的80 port 溝通
所以 server 從頭到尾 就只使用 port 80 回應給 client 端

也就是說 : 使用 同一個port 是可以服務 n 個 client 嗎?
好奇的是 80 port 在 listen中 接受 client的詢問, 還可以同時用同一個port 回應client嗎 ?
你的問題答案都是 "YES",我在前面回覆中有提到:

區別每個連線的是五個數值(5-tuple),包含
  • 通訊協定 (TCP or UDP)
  • 本地端 IP
  • 本地端 Port Number
  • 遠端 IP
  • 遠端 Port Number

只要上面任一個數值不一樣,就是不同的 connection (連線),
系統就有辦法辨別出來讓不同的程式去處理、同時分別收送資料

不過同一個 IP/Port 只能有一個程式去 Listen 而已,因為這時連線還沒建立

如果會寫程式,請參考 Richard Stevens 的 UNIX Network Programming


此篇文章於 2006-11-16 01:09 AM 被 nopy 編輯。.
回覆


類似的主題
主題 主題作者 討論版 回覆 最後發表
詢問關於UDP port的問題 無名 -- 網 路 技 術 版 6 2008-01-13 01:23 AM
FTP PORT的問題 licheng -- 網 路 技 術 版 1 2004-05-10 01:27 AM
Port的問題 -Hero- -- 網 路 技 術 版 15 2002-04-01 07:14 PM






 XML   RSS 2.0   RSS 
本站使用 vBulletin 合法版權程式
站務信箱 : [email protected]

本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。