1. 程式人生 > >關於端口的定義, 為什麽要有端口

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

定義 .... 交換 安全性 soc 進程 就是 spa 物理

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

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

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