IP地址与MAC地址的对应关系。之前说明MAC地址对于一个网关来说它是唯一的,那么当一台电脑的网卡发生损坏,更换网卡时,是否需要更换IP呢?答案是否定的。如果一个网卡坏了,可以被更换,而无须取得一个新的IP地址。将网络类比于人类社会,就可以发现物理地址功能还有很多,举例说明:计算机之间的通信,最终都表现为将数据包从某种形式的链路上的初始节点出发,从一个网络中端发送到另一个中端,最终传送到目的终端。数据包在这些节点之间的移动都是由地址解析协议ARP(Address Resolution Protocol)负责将IP地址映射到MAC地址上来完成的[7]。
2.2.2 TCP/IP体系
TCP/IP(传输控制/网关协议)是一种通用的网络协议,所谓协议是指用一种规范性的术语来规定某种行为。由于网络中存在成千上万的终端与网关,如果没有一个统一而且固定的协议,各客户端之间将会因为协议不同而无法正常通信,因此提出网络协议这一通用概念。网络协议则是指网络上进行数据通信时所有网络终端都要遵守的规则,尤其规定两个终端之间的数据往来格式以及传送方式。TCP/IP在互联网中几乎可以无差错地传送数据[8]。
开放系统互连(OSI)模型将网络划分为七层模型,分别用以在各层上实现不同的功能,这七层分别为:应用层、表示层、会话层、传输层、网络层、数据链路层及物理层。而TCP/IP体系也同样遵循这七层标准,将互联网分为四层,加上最底层的硬件层一共是五层。如图2-1所示;
2-1 TCP/IP协议分层结构图
网络上的分层结构决定了在各层上的协议分布及功能实现,从而决定了各层上网络设备的使用。实际上很多成功的系统都是基于OSI模型的,如:如帧中继、ATM、ISDN等[9]。
TCP/IP协议有三个关键点:(1) TCP/IP是一组协议,用来把不同的网络联在一起构成广域网的协议。TCP/IP联接独立的网络形成一个虚拟的网,这就是IP地址。(2) TCP/IP使用多层体系结构,每层体系清晰的表明各层的主要职责。TCP和UDP向网络应用程序提供了更为复杂的数据传输协议,以满足更多的需求,但都需要IP来传输数据包。IP则为数据确定的具体传输地址。(3) 在同一网关中,两个运行着的应用程序之间传送要通过主机的TCP/IP堆栈上下移动。TCP/IP系统结构如表2-1所示:
表2-1 TCP/IP系统表
TCP/IP的网络体系结构(部分)
应用层 SMTP、DNS、HTTP、FTP、TELNET
传输层 TCP、UDP
网络层 IP、ICMP、ARP/RARP
数据链路层 IEEE 802、以太网
物理层 网卡、电缆、双绞线
2.2.3 TCP/IP与以太网
TCP/IP和广域网可以说是相辅相成的,可以说两者的是密不可分,以太网负责提供一二层物理上的联系,而TCP/IP工作在上层,使用32位的IP地址[10],以太网则使用48位的MAC地址,两者间使用ARP和RARP协议进行相互转换。
载波监听/冲突检测(CSMA/CD)在以太网中被广泛运用的技术,所谓载波监听是指对于各个网关是等价的,每个网关要接受或发送数据的时候,要先检测相应的端口是否有数据正在处理,如果有则等待,如果没有则发送。冲突检测则是为了防止发生两个站点同时监测到网络没有被使用时而产生冲突[11]。以太网采用广播方式传播数据,所终端将要发送的消息以广播的方式将信息传播,相应的终端根据需要截获信息,其他终端不获取数据。
2.2.4 端口号
在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535[12],比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。我们这里将要介绍的就是逻辑意义上的端口。 WinPcap基于MFC的局域网监控程序的设计与实现(4):http://www.751com.cn/zidonghua/lunwen_11507.html