[Linux]运输层的端口
生活随笔
收集整理的這篇文章主要介紹了
[Linux]运输层的端口
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
既然提到端口,我們就來分析一下為什么要使用端口的緣由吧。我們首先要知道的是,運輸層有復用和分用的功能。應用層所有的應用進程都可以通過運輸層再傳送到IP層,這就是復用。運輸層從IP層收到數據后必須交付到指明的應用進程,這就是分用。我們知道,單個進程是用進程標識符來標志的,但在計算機操作系統指派的進程標識符標志運行在應用層的進程是不行的,因為不同的操作系統使用不同的進程標識符。為了讓不同操作系統間也實現進程間通信,因此得用一種方法對TCP/IP體系的應用進程進行標志。同時,我們在進行通信的時候,必須知道起點和終點,即通信的一方和另一方,那么我們如何識別終點呢,這里就要使用到協議端口號(端口)。雖然通信的終點是應用進程,但我們要傳送的報文交到目的主機的某一個合適的目的端口,剩下的工作就由TCP來完成。
關于端口,分為軟件端口和硬件端口。
軟件端口:在協議棧層間的抽象的協議端口,應用層的各種協議進程與運輸實體進行層間交互的一種地址
硬件端口:不同硬件設備進行交互的接口
在TCP/UDP的首部格式中,都有源端口和目的端口。當運輸層收到IP層交上來的運輸層報文時,就能根據其首部中的目的端口把數據交付應用層的目的應用進程。
TCP/IP的運輸層用一個16位端口號來標志一個端口,端口號只具有本地的意義。
注:不同的計算機具有相同的端口是沒有關聯的
16位的端口號可允許有65535個不同的端口號。
端口號的分類:
服務器端使用的端口號:分為兩類,(1)熟知端口號(系統端口號):數值為0-1023;這些數值在www.iana.org中可查到。常用的熟知端口號為:
(2)登記端口號,數值為1024-49151,這類端口號是為沒有熟知端口號的應用程序使用的。使用這類端口號需在IANA按照規定的手續登記,防止重復。
客戶端使用的端口號:數值為49152-65535,這類端口號在客戶進程運行時動態選擇,因此稱為短暫端口號。當服務器進程收到客戶進程的請求報文時,就知道客戶進程的端口號,因而把數據發送給客戶進程。通信結束后,客戶端口號就不存在,此端口號也可以分配給其他客戶進程使用。
總結
以上是生活随笔為你收集整理的[Linux]运输层的端口的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 成都大熊猫繁育基地学生票怎么买
- 下一篇: [Linux]ARP协议