【计算机网络】TCP端口
由于進(jìn)程的創(chuàng)建和撤銷都是動(dòng)態(tài)的,發(fā)送方幾乎無法識(shí)別其他機(jī)器上的進(jìn)程。有時(shí)我們會(huì)改換接收?qǐng)?bào)文的進(jìn)程,但并不需要通知所有發(fā)送方。我們往往需要利用目的主機(jī)提供的功能來識(shí)別終點(diǎn),而不需要知道實(shí)現(xiàn)這個(gè)功能的進(jìn)程。
解決這個(gè)問題的方法就是在運(yùn)輸層使用協(xié)議端口號(hào),或通常簡(jiǎn)稱為端口(port)。
雖然通信的終點(diǎn)是應(yīng)用進(jìn)程,但我們可以把端口想象是通信的終點(diǎn),因?yàn)槲覀冎灰岩獋魉偷膱?bào)文交到目的主機(jī)的某一個(gè)合適的目的端口,剩下的工作(即最后交付目的進(jìn)程)就由 TCP 來完成。
端口包含軟件端口和硬件端口。
在協(xié)議棧層間的抽象的協(xié)議端口是軟件端口。
路由器或交換機(jī)上的端口是硬件端口。
硬件端口是不同硬件設(shè)備進(jìn)行交互的接口,而軟件端口是應(yīng)用層的各種協(xié)議進(jìn)程與運(yùn)輸實(shí)體進(jìn)行層間交互的一種地址。
端口用一個(gè) 16 位端口號(hào)進(jìn)行標(biāo)志。
端口號(hào)只具有本地意義,即端口號(hào)只是為了標(biāo)志本計(jì)算機(jī)應(yīng)用層中的各進(jìn)程。在因特網(wǎng)中不同計(jì)算機(jī)的相同端口號(hào)是沒有聯(lián)系的。
熟知端口,數(shù)值一般為 0~1023。
登記端口號(hào),數(shù)值為1024~49151,為沒有熟知端口號(hào)的應(yīng)用程序使用的。使用這個(gè)范圍的端口號(hào)必須在 IANA 登記,以防止重復(fù)。
客戶端口號(hào)或短暫端口號(hào),數(shù)值為49152~65535,留給客戶進(jìn)程選擇暫時(shí)使用。當(dāng)服務(wù)器進(jìn)程收到客戶進(jìn)程的報(bào)文時(shí),就知道了客戶進(jìn)程所使用的動(dòng)態(tài)端口號(hào)。通信結(jié)束后,這個(gè)端口號(hào)可供其他客戶進(jìn)程以后使用。
總結(jié)
以上是生活随笔為你收集整理的【计算机网络】TCP端口的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TAdoquery的Filter
- 下一篇: ARM/THUMB汇编(补丁开发类)基础