come from: http://blog.csdn.net/sraing/archive/2009/12/04/4939810.aspx
网络层-数据包的包格式里面有个很重要的字段叫做协议号。比如在传输层如果是tcp连接,那么在网络层ip包里面的协议号就将会有个值是6,如果是udp的话那个值就是17-----传输层
传输层--通过接口关联(端口的字段叫做端口)---应用层
协议号是存在于IP数据报的首部的20字节的固定部分,占有8bit.该字段是指出此数据报所携带的是数据是使用何种协议,以便目的主机的IP层知道将数据部分上交给哪个处理过程。也就是协议字段告诉IP层应当如何交付数据。
而端口,则是运输层服务访问点TSAP,端口的作用是让应用层的各种应用进程都能将其数据通过端口向下交付给运输层,以及让运输层知道应当将其报文段中的数据向上通过端口交付给应用层的进程。
端口号存在于UDP和TCP报文的首部,而IP数据报则是将UDP或者TCP报文做为其数据部分,再加上IP数据报首部,封装成IP数据报。而协议号则是存在这个IP数据报的首部.
比方来说:
端口你在网络上冲浪,别人和你聊天,你发电子邮件,必须要有共同的协议,这个协议就是TCP/IP协议,任何网络软件的通讯都基于TCP/IP协议。如果 把互联网比作公路网,电脑就是路边的房屋, 房屋要有门你才可以进出,TCP/IP协议规定,电脑可以有256乘以256扇门,即从0到65535号“门”,TCP/IP协议把它叫作“端口”。当你 发电子邮件的时候,E-mail软件把信件送到了邮件服务器的25号端口,当你收信的时候,E-mail软件是从邮件服务器的110号端口这扇门进去取信 的,你现在看到的我写的东西,是进入服务器的80端口。新安装好的个人电脑打开的端口号是139端口,你上网的时候,就是通过这个端口与外界联系的。
关于端口,再做一些补充
现在假设我们有一台服务器,别人可以用一种tcp/ip协议的一种如ftp登录上我们的机器上进行文件的上传下载,但是同时我们又希望别人能够浏览我们的 web服务器,如果要是没有端口,那末很显然,我们无法区分这两种不同的服务,同时客户端也无法区分我们给他提供了那种服务。我们现在采用端口来解决这个 问题,在使用tcp/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 代理
所有的ip协议号:
十进制 关键字 协议
======= ======= ==============
0 HOPOPT IPv6 逐跳选项
1 ICMP Internet 控制消息
2 IGMP Internet 组管理
3 GGP 网关对网关
4 IP IP 中的 IP(封装)
5 ST 流
6 TCP 传输控制
7 CBT CBT
8 EGP 外部网关协议
9 IGP 任何专用内部网关
(Cisco 将其用于 IGRP)
10 BBN-RCC-MON BBN RCC 监视
11 NVP-II 网络语音协议
12 PUP PUP
13 ARGUS ARGUS
14 EMCON EMCON
15 XNET 跨网调试器
16 CHAOS Chaos
17 UDP 用户数据报
18 MUX 多路复用
19 DCN-MEAS DCN 测量子系统
20 HMP 主机监视
21 PRM 数据包无线测量
22 XNS-IDP XEROX NS IDP
23 TRUNK-1 第 1 主干
24 TRUNK-2 第 2 主干
25 LEAF-1 第 1 叶
26 LEAF-2 第 2 叶
27 RDP 可靠数据协议
28 IRTP Internet 可靠事务
29 ISO-TP4 ISO 传输协议第 4 类
30 NETBLT 批量数据传输协议
31 MFE-NSP MFE 网络服务协议
32 MERIT-INP MERIT 节点间协议
33 SEP 顺序交换协议
34 3PC 第三方连接协议
35 IDPR 域间策略路由协议
36 XTP XTP
37 DDP 数据报传送协议
38 IDPR-CMTP IDPR 控制消息传输协议
39 TP++ TP++ 传输协议
40 IL IL 传输协议
41 IPv6 Ipv6
42 SDRP 源要求路由协议
43 IPv6-Route IPv6 的路由标头
44 IPv6-Frag IPv6 的片断标头
45 IDRP 域间路由协议
46 RSVP 保留协议
47 GRE 通用路由封装
48 MHRP 移动主机路由协议
49 BNA BNA
50 ESP IPv6 的封装安全负载
51 AH IPv6 的身份验证标头
52 I-NLSP 集成网络层安全性 TUBA
53 SWIPE 采用加密的 IP
54 NARP NBMA 地址解析协议
55 MOBILE IP 移动性
56 TLSP 传输层安全协议
使用 Kryptonet 密钥管理
57 SKIP SKIP
58 IPv6-ICMP 用于 IPv6 的 ICMP
59 IPv6-NoNxt 用于 IPv6 的无下一个标头
60 IPv6-Opts IPv6 的目标选项
61 任意主机内部协议
62 CFTP CFTP
63 任意本地网络
64 SAT-EXPAK SATNET 与后台 EXPAK
65 KRYPTOLAN Kryptolan
66 RVD MIT 远程虚拟磁盘协议
67 IPPC Internet Pluribus 数据包核心
68 任意分布式文件系统
69 SAT-MON SATNET 监视
70 VISA VISA 协议
71 IPCV Internet 数据包核心工具
72 CPNX 计算机协议网络管理
73 CPHB 计算机协议检测信号
74 WSN 王安电脑网络
75 PVP 数据包视频协议
76 BR-SAT-MON 后台 SATNET 监视
77 SUN-ND SUN ND PROTOCOL-Temporary
78 WB-MON WIDEBAND 监视
79 WB-EXPAK WIDEBAND EXPAK
80 ISO-IP ISO Internet 协议
81 VMTP VMTP
82 SECURE-VMTP SECURE-VMTP
83 VINES VINES
84 TTP TTP
85 NSFNET-IGP NSFNET-IGP
86 DGP 异类网关协议
87 TCF TCF
88 EIGRP EIGRP
89 OSPFIGP OSPFIGP
90 Sprite-RPC Sprite RPC 协议
91 LARP 轨迹地址解析协议
92 MTP 多播传输协议
93 AX.25 AX.25 帧
94 IPIP IP 中的 IP 封装协议
95 MICP 移动互联控制协议
96 SCC-SP 信号通讯安全协议
97 ETHERIP IP 中的以太网封装
98 ENCAP 封装标头
99 任意专用加密方案
100 GMTP GMTP
101 IFMP Ipsilon 流量管理协议
102 PNNI IP 上的 PNNI
103 PIM 独立于协议的多播
104 ARIS ARIS
105 SCPS SCPS
106 QNX QNX
107 A/N 活动网络
108 IPComp IP 负载压缩协议
109 SNP Sitara 网络协议
110 Compaq-Peer Compaq 对等协议
111 IPX-in-IP IP 中的 IPX
112 VRRP 虚拟路由器冗余协议
113 PGM PGM 可靠传输协议
114 任意 0 跳协议
115 L2TP 第二层隧道协议
116 DDX D-II 数据交换 (DDX)
117 IATP 交互式代理传输协议
118 STP 计划传输协议
119 SRP SpectraLink 无线协议
120 UTI UTI
121 SMP 简单邮件协议
122 SM SM
123 PTP 性能透明协议
124 ISIS over IPv4
125 FIRE
126 CRTP Combat 无线传输协议
127 CRUDP Combat 无线用户数据报
128 SSCOPMCE
129 IPLT
130 SPS 安全数据包防护
131 PIPE IP 中的专用 IP 封装
132 SCTP 流控制传输协议
133 FC 光纤通道
134-254 未分配
255 保留