协议号与端口号详解
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模块的报文根据端口号确定送给哪个应用程序处理。
协议号和端口号的区别
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 代理《木马的常用连接端口》