協議號與端口號詳解

IP是網絡層協議,IP頭中的協議號用來講明IP報文中承載的是哪一種協議(通常是傳輸層協議,好比6 TCP,17 UDP;但也多是網絡層協議,好比1 ICMP;也多是應用層協議,好比89 OSPF)。
TCP/UDP是傳輸層協議,TCP/UDP的端口號用來講明是哪一種上層應用,好比TCP 80表明WWW,TCP 23表明Telnet,UDP 69表明TFTP。
目的主機收到IP包後,根據IP協議號肯定送給哪一個模塊(TCP/UDP/ICMP...)處理,送給TCP/UDP模塊的報文根據端口號肯定送給哪一個應用程序處理。ios

協議號和端口號的區別sql

ip協議是網絡層協議,三層的,協議號標識上層是什麼協議,eg:17號表示是上層即傳輸層是udp協議,6號表示上層即傳輸層是tcp協議,89標識上層是ospf協議等等
tcp端口號表示是什麼應用,eg:80 http服務,23 telnet服務,53 dns服務
udp端口原理和tcp是同樣的。數據庫

網絡層-數據包的包格式裏面有個很重要的字段叫作協議號。好比在傳輸層若是是TCP鏈接,那麼在網絡層IP包裏面的協議號就將會有個值是6,若是是UDP的話那個值就是17。傳輸層經過接口關聯(這一接口字段叫作端口)應用層,詳見RFC 1700。協議號是存在於IP數據報首部的20字節的固定部分,佔有8bit,該字段是指出此數據報所攜帶的數據使用了何種協議,以便目的主機的IP層知道將數據部分上交給哪一個處理過程。也就是協議字段告訴IP層應當如何交付數據。

       端口是傳輸層服務訪問點TSAP,端口的做用是讓應用層的各類應用進程都能將其數據經過端口向下交付給傳輸層,以及讓傳輸層知道應當將其報文段中的數據向上經過端口交付給應用層的進程。
   端口號存在於UDP和TCP報文的首部,而IP數據報則是將UDP或者TCP報文作爲其數據部分,再加上IP數據報首部,封裝成IP數據報。而協議號則是存在這個IP數據報的首部。

        好比,客戶端發送一個數據包給IP,而後IP將進來的數據發送給傳輸協議(tcp或者udp),而後傳輸協議再根據數據包的第一個報頭中的協議號和端口號來決定將此數據包給哪一個應用程序(也叫網絡服務)。也就是說,協議號+端口號惟一地肯定了接收數據包的網絡進程。因爲標誌數據發送進程的「源端口號」和標誌數據接受進程的「目的端口號」都包含在每一個TCP段和UDP段的第一個分組中,系統能夠知道究竟是哪一個客戶應用程序同哪一個服務器應用程序在通信,而不會將數據發送到別的進程中。

       可是要注意的一點是一樣的一個端口在不一樣的協議中的意義是不一樣的,好比TCP和UDP中的端口31指的並非同一個端口。可是對於同一個協議,端口號倒是惟一的。

       在端口中分爲兩種,一是「知名端口」,也即小於256的端口號。另外一種是「動態分配的端口」,也就是在須要時再將其賦給特定的進程。這相似於NT服務器或者163撥號上網,也就是動態的分配給用戶一個目前沒有用到的標誌。動態分配的端口號都是高於標準端口號範圍的。服務器

端口號的做用及常見端口號用途說明

IP協議是由TCP、UDP、ARP、ICMP等一系列子協議組成的。其中,主要用來作傳輸數據使用的是TCP和UDP協議。在TCP和UDP協議中,都有端口號的概念存在。端口號的做用,主要是區分服務類別和在同一時間進行多個會話。
 舉例來講,有主機A須要對外提供FTP和WWW兩種服務,若是沒有端口號存在的話,這兩種服務是沒法區分的。實際上,當網絡上某主機B須要訪問A的FTP服務時,就要指定目的端口號爲21;當須要訪問A的WWW服務時,則須要將目的端口號設爲80,這時A根據B訪問的端口號,就能夠區分B的兩種不一樣請求。這就是端口號區分服務類別的做用。
 再舉個例子:主機A須要同時下載網絡上某FTP服務器B上的兩個文件,那麼A須要與B同時創建兩個會話,而這兩個傳輸會話就是靠源端口號來區分的。在這種狀況下若是沒有源端口號的概念,那麼A就沒法區分B傳回的數據到底是屬於哪一個會話,屬於哪一個文件。而實際上的通訊過程是,A使用本機的1025號端口請求B的21號端口上的文件1,同時又使用1026號端口請求文件2。對於返回的數據,發現是傳回給1025號端口的,就認爲是屬於文件1;傳回給1026號端口的,則認爲是屬於文件2。這就是端口號區分多個會話的做用。
  若是說IP地址讓網絡上的兩個節點之間能夠創建點對點的鏈接,那麼端口號則爲端到端的鏈接提供了可能。理解端口號的概念,對於理解TCP/IP協議的通訊過程有着相當重要的做用。
  端口號的範圍是從1~65535。其中1~1024是被RFC 3232規定好了的,被稱做「衆所周知的端口」(Well Known Ports);從1025~65535的端口被稱爲動態端口(Dynamic Ports),可用來創建與其它主機的會話,也可由用戶自定義用途。
一些常見的端口號及其用途以下:
TCP 21端口:FTP 文件傳輸服務
TCP 23端口:TELNET 終端仿真服務
TCP 25端口:SMTP 簡單郵件傳輸服務
UDP 53端口:DNS 域名解析服務
TCP 80端口:HTTP 超文本傳輸服務
TCP 110端口:POP3 「郵局協議版本3」使用的端口
TCP 443端口:HTTPS 加密的超文本傳輸服務
TCP 1521端口:Oracle數據庫服務
TCP 1863端口:MSN Messenger的文件傳輸功能所使用的端口
TCP 3389端口:Microsoft RDP 微軟遠程桌面使用的端口
TCP 5631端口:Symantec pcAnywhere 遠程控制數據傳輸時使用的端口
UDP 5632端口:Symantec pcAnywhere 主控端掃描被控端時使用的端口
TCP 5000端口:MS SQL Server使用的端口
UDP 8000端口:騰訊QQ

網絡服務經常使用的應用協議和對應的標準端口號:網絡

應用協議           端口號/協議             說明

ftp-data          20/tcp               FTP, data

ftp               21/tcp              FTP. control

telnet            23/tcp 

smtp              25/tcp               Simple Mail Transfer Protocol

time              37/tcp               timserver 

time              37/udp               timserver 

domain            53/tcp              Domain Name Server

domain            53/udp              Domain Name Server

tftp              69/udp              Trivial File Transfer

gopher            70/tcp 

http              80/tcp               www-http World Wide Web

pop3              110/tcp              Post Office Protocol-Version 3

nntp              119/tcp              Network News Transfer Protocol

netbios-ns        137/tcp              NETBIOS Name Service

netbios-ns        137/udp              NETBIOS Name Service

netbios-dgm       138/udp              NETBIOS Datagram Service

netbios-ssn       139/tcp              NETBIOS Session Service

imap              143/tcp              Internet Message Access Protocol

snmp              161/udp              SNMP

snmptrap          162/udp           SNMP trap

irc               194/tcp           Internet Relay Chat Protocol

ipx               213/udp           IPX over IP

ldap              389/tcp           Lightweight Directory Access Protocol

https             443/tcp 

https             443/udp 

uucp              540/tcp 

ldaps             636/tcp           LDAP over TLS/SSL

doom              666/tcp           Doom Id Software

doom              666/udp           Doom Id Software

phone             1167/udp          Conference calling

ms-sql-s          1433/tcp          Microsoft-SQL-Server

ms-sql-s          1433/udp          Microsoft-SQL-Server

ms-sql-m          1434/tcp           Microsoft-SQL-Monitor

ms-sql-m          1434/udp          Microsoft-SQL-Monitor

wins              1512/tcp          Microsoft Windows Internet Name Service

wins              1512/udp          Microsoft Windows Internet Name Service

l2tp              1701/udp          Layer Two Tunneling Protocol

                  1720/tcp

QICQ              4000/udp

QICQ              8000/udp

QQ                1080/UDP            Socks 代理《木馬的經常使用鏈接端口》
相關文章
相關標籤/搜索