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撥號上網,也就是動態的分配給用戶一個目前沒有用到的標誌。動態分配的端口號都是高於標準端口號範圍的。服務器
網絡服務經常使用的應用協議和對應的標準端口號:網絡
應用協議 端口號/協議 說明 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 代理《木馬的經常使用鏈接端口》