關於端口的定義, 為什么要有端口


轉自:http://blog.csdn.net/u010772673/article/details/58027943

ip能鎖定一台物理機器,對應着一張網卡,外界發來的數據包網卡都會接收。網卡給程序提供了接口,你監聽一下我,要是有消息來了,我就轉發給你。這樣應用程序就能收到數據了。但是問題來了,程序A和程序B都需要監聽網卡接發數據,網卡說那我把接到的數據都發給你兩,
你們自己看着辦吧。好,小A小B都接受了。但是又來了CDEF......,不行了,每個包都被發到了所有應用程序,每個應用程序都累得不行,最終垮了。 好,那網卡說我給你們加個表示吧,我們之間可以用一個號碼來作為標識,我和小A之間就用1來標識,如果外界發給1號標識的數據我就轉發給你,你監聽我的時候得告訴我你監聽的時1,我就轉發1的數據包給你。好了其他的BCD...都自己弄一個標識號,只要不重復就行。這樣大家都省事了。 最后設計到安全,一個標識號只能被一個應用程序監聽,因為如果小A程序和小B同時監聽一個標識號號,那就壞了,我傳的數據都被AB接到,這樣數據安全性就沒辦法保證了。 這個標識號就是端口,最初設計網絡數據交換的設計者不知道是怎么想的。這是我的理解。 其實網卡都是被系統層封裝了,端口和進程之間的關系也是系統封裝好的。我們只需要用socket就行,給定一個端口號就行了。其他的事都交給操作系統去做

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM