??端口號---具有網絡功能的應用軟件的標識號。注意,端口號是不固定的,即可以由用戶手工可以分配(當然,一般在軟件編寫時就已經定義)。當然,有很多應用軟件有公認的默認的端口,比如FTP:20和21,HTTP:80,TELNET:23等等,這里就不一一列舉了。
??一個軟件可以擁有多個端口號,這證明這個軟件擁有不止一個網絡功能。0-1023是公認端口號,即已經公認定義或為將要公認定義的軟件保留的,而1024-65535是并沒有公共定義的端口號,用戶可以自己定義這些端口的作用。那么端口號到底有什么作用呢?請大家繼續往下看。
??當一臺電腦啟動了一個可以讓遠程其他電腦訪問的程序,那么它就要開啟至少一個端口號來讓外界訪問。我們可以把沒有開啟端口號的電腦看作是一個密封的房間,密封的房間當然不可能接受外界的訪問,所以當系統開啟了一個可以讓外界訪問的程序后它自然需要在房間上開一個窗口來接受來自外界的訪問,這個窗口就是端口。
??那么為什么要給端口編號來區分它們呢,既然一個程序開了一個端口,那么不是外部信息都可以通過這個開啟的端口來訪問了嗎?答案是不可以。為什么呢?因為數據是用端口號來通知傳輸層協議送給哪個軟件來處理的,數據是沒有智慧的,如果很多的程序共用一個端口來接受數據的話,那么當外界的一個數據包送來后傳輸層就不知道該送給哪一個軟件來處理,這樣勢必將導致混亂。
??上一次提到提到在一個經過OSI第四層傳輸層封裝的數據段的第四層報頭里包含兩個端口號,既源端口號和目的端口號,目的端口號的作用上面已經介紹了,下面讓我們了解一下原端口號吧。源端口號一般是由系統自己動態生成的一個從1024-65535的號碼,當一臺計算機A通過網絡訪問計算機B時,如果它需要對方返回數據的話,它也會隨機創建一個大于1023的端口,告訴B返回數據時把數據送到自己的哪個端口,然后軟件開始偵聽這個端口,等待數據返回。
??而B收到數據后會讀取數據包的源端口號和目的端口號,然后記錄下來,當軟件創建了要返回的數據后就把原來數據包中的原端口號作為目的端口號,而把自己的端口號作為原端口號,也就是說把收到的數據包中的原和目的反過來,然后再送回A,A再重復這個過程如此反復直到數據傳輸完成。
??當數據全部傳輸完A就把源端口釋放出來,所以同一個軟件每次傳輸數據時不一定是同一個源端口號。展開其他相似回答 (1) 隱藏其他相似回答 (1) 舉報 124。128。175。* 2009-1-2 上午11:44:27 [博士生] lt2030投一票僅供參考:端口號 ---具有網絡功能的應用軟件的標識號。
??注意,端口號是不固定的,即可以由用戶手工可以分配(當然,一般在軟件編寫時就已經定義)。當然,有很多應用軟件有公認的默認的端口,比如FTP:20和21,HTTP:80,TELNET:23等等,這里就不一一列舉了。一個軟件可以擁有多個端口號,這證明這個軟件擁有不止一個網絡功能。
??0-1023是公認端口號,即已經公認定義或為將要公認定義的軟件保留的,而1024-65535是并沒有公共定義的端口號,用戶可以自己定義這些端口的作用。那么端口號到底有什么作用呢?請大家繼續往下看。當一臺電腦啟動了一個可以讓遠程其他電腦訪問的程序,那么它就要開啟至少一個端口號來讓外界訪問。
??我們可以把沒有開啟端口號的電腦看作是一個密封的房間,密封的房間當然不可能接受外界的訪問,所以當系統開啟了一個可以讓外界訪問的程序后它自然需要在房間上開一個窗口來接受來自外界的訪問,這個窗口就是端口。那么為什么要給端口編號來區分它們呢,既然一個程序開了一個端口,那么不是外部信息都可以通過這個開啟的端口來訪問了嗎?答案是不可以。
??為什么呢?因為數據是用端口號來通知傳輸層協議送給哪個軟件來處理的,數據是沒有智慧的,如果很多的程序共用一個端口來接受數據的話,那么當外界的一個數據包送來后傳輸層就不知道該送給哪一個軟件來處理,這樣勢必將導致混亂。上一次提到提到在一個經過OSI第四層傳輸層封裝的數據段的第四層報頭里包含兩個端口號,既源端口號和目的端口號,目的端口號的作用上面已經介紹了,下面讓我們了解一下原端口號吧。
??源端口號一般是由系統自己動態生成的一個從1024-65535的號碼,當一臺計算機A通過網絡訪問計算機B時,如果它需要對方返回數據的話,它也會隨機創建一個大于1023的端口,告訴B返回數據時把數據送到自己的哪個端口,然后軟件開始偵聽這個端口,等待數據返回。
??而B收到數據后會讀取數據包的源端口號和目的端口號,然后記錄下來,當軟件創建了要返回的數據后就把原來數據包中的原端口號作為目的端口號,而把自己的端口號作為原端口號,也就是說把收到的數據包中的原和目的反過來,然后再送回A,A再重復這個過程如此反復直到數據傳輸完成。
??當數據全部傳輸完A就把源端口釋放出來,所以同一個軟件每次傳輸數據時不一定是同一個源端口號。]。