你知道PORT嗎?
在TCP協議中,有端口(PORT)的概念,很多人都不知道端口到底是什麽。之前介紹過物理地址,也就是網卡地址,做個不恰當的比喻,物理地址(MAC)地址,相當於身份證(唯一),家庭地址是幾幢幾單元相當於IP地址,那麽如果送快遞的話,還是不能夠得知你的具體地址,無法將快遞送達,因為一幢樓的一個單元裏的住戶很多,只有知道你是哪層樓哪個房間的住戶,才能送達,比如405室,那麽405就相當於TCP協議的端口了。
ip能鎖定一臺物理機器,對應著一張網卡,外界發來的數據包網卡都會接收。但是問題來了,網卡給程序提供了接口,你監聽一下我,要是有消息來了,我就轉發給你。這樣應用程序就能收到數據了。但是問題來了,程序A和程序B都需要監聽網卡接發數據,網卡說那我把接到的數據都發給你兩,你們自己看著辦吧。好,小A小B都接受了。但是又來了CDEF......,不行了,每個包都被發到了所有應用程序,每個應用程序都累得不行,最終垮了。
好,那網卡說我給你們加個表示吧,我們之間可以用一個號碼來作為標識,我和小A之間就用1來標識,如果外界發給1號標識的數據我就轉發給你,你監聽我的時候得告訴我你監聽的時1,我就轉發1的數據包給你。好了其他的BCD...都自己弄一個標識號,只要不重復就行。這樣大家都省事了。
最後設計到安全,一個標識號只能被一個應用程序監聽,因為如果小A程序和小B同時監聽一個標識號號,那就壞了,我傳的數據都被AB接到,這樣數據安全性就沒辦法保證了。
在應用層,多個應用層程序同時運行,如A,B,C,D。
舉個例子,A應用程序高層協議用的是FTP,如果接收到以太網數據E後,MAC地址與IP地址都驗證,那麽如果沒有端口,A,B,C,D 四個應用層程序會監聽E數據。如果加上端口,而且E的端口是FTP的端口,那麽只有A會接收此數據。
常用端口如下:
版權所有權歸卿萃科技,轉載請註明出處
作者:卿萃科技ALIFPGA
原文地址:卿萃科技FPGA極客空間 微信公眾號
掃描二維碼關註卿萃科技FPGA極客空間
你知道PORT嗎?