习络安全技术教程 是协议同其他网络层协议一样,不负责数据报的传送,它尽最大的努力传送数据。而上层 协议可以在P协议的基础上负责数据报的传送服务。IP提供一系列有趣的服务,成为 设计其他协议的基础。IP提出独立于下层的网络逻辑地址(即P地址)来表示。它利用 地址解析协议把这一逻辑地址同两个节点的物理节点地址联系起来。 在运用IP地址和IP协议的时侯,另外·一个有用的是子网掩码。子网掩码的最大的 用途是能让TCP/I协议快速地判断两个IP地址是否属于同一个子网络。 Internet是从 个子网络连接到另一个子网络,TCP/IP协议给予每个子网络…个特定范围的IP地 址,如202.104.81.:从IP地址看,这是一个C类网,前三个字节是网络地址,所以其子 网掩码是255.255.255.0。 TCP/IP协议遇到两个不同的IP地址,就用子网掩码分别与之进行“与”的运算,若 结果相同则属于同一个子网络,否则不是。同理,可得A类网的子网掩码是255.0.0.0,B 类网的子网掩码是255.255.0.0 2.未来的IP协议规格—IPv6 主机或局域网源源不断地连接进来,用户数量以惊人的速度增长,语音通信、视频通 信和实时应用等多媒体业务不断出现—一这些都需要 Internet来承载,所有的这一切对 支撑 nternet的TCP/P协议提出了更高的要求。虽然现在断言全世界用得最为广泛的 网络互联协议—IPv4协议不堪重负还为时过早,但从 Internet极具潜力的发展势头看, 开发下一代版本的协议显得非常迫切。IETF( Internet Engineer Task Force)推出的iPv6 版本就是对 nternet的一剂良药。IPv6又称为 P Next- Generation(Png),即下一代IP 协议,它是 nternet网络互联协议的最新版本。事实上,IP协议版本1~3从来没有被正 式使用过,IP协议版本5则是用来命名 Internet面向连接的STP协议所以IP6是从P 协议第4版本(IPy4)发展而来的,是IPV4的下一代版本 1)为什么需要IPv6 首先是地址危机。当前的IPv4版本采用32位地址方法,也就是说可用的地址总数 有255×255×255×255个,实际使用中,还要去除网络地址、广播地址、划分子网的开销 路由器地址、保留地址等等,最后有效的地址数目比可用的地址总数还要低。虽然,现在 IP地址还能满足用户的需求,但从 Internet强劲的发展趋势来看,IP地址总有一天会匮 乏。特别是随着网络智能设备的出现这种地址增长的需求更加强烈,例如个人数据助理 (PDA)、在IP上传送语音的移动电话流行的We接人和家庭网络( Home area Net work,HAN),所有这些都需要大量的IP地址。 其次是新业务的出现对服务质量(QS)提出更高的要求。随着 Internet发展和普及 在 Internet上跑语音(VoP)、视频要求的呼声越来越高涨,特别是对于那些关键的商务 应用和实时传输的应用,对服务质量更是提出特别的要求。而IPv4由于先天的限制,并 不能很好支持QoS服务 最后, internet网络规模扩人还会引起互联网络由表持续增长和安全性、移动性等问 题,这些都要求下一代的IP协议来解决。 2)IPv6变在哪里 从 IETFIP6工作组发布的IPv6有关标准来看,IPv6修正和改进了IP4的·些限 制和缺陷,具体地说,这两个版本的主要变化有如下几点
第2章TPIP协议基 (1)I!v6将现们的IP地址长度扩大4倍,由当前IPy4的32位扩充到128位。地址 位扩允的直接结果就是有了更大的地址空间,可用地址总数为原来的8倍,可以对地球上 的每个个体禔供成千上力个地址和成倍的基本包头长度,形像地说,对于地球的每平方 米都将有超过1000个1Pv6 (2)E机自动配置P地址和网络参数。为了帮助从IP4到IPy6的巨大升级以及提 供企业和ISP之间的适应性, IETFIPY6丁作组组织设计出企业范围的IP6网络地址 自动配置技术(DHCP.动态地址分配)分配,它能使大量的IP主机和路由器之间简单地 传输不同的地址范围,地址寻址也更为灵活。IP6地址的自动检测将减轻大型网络管理 的负担,增强流动性和灵活性。 (3)IPv6很好支持QoS.P16不仪用于解决 Internet网络地址的危机,而且在解决 nternet网络性能方面有了很大的提高。在IPv6中提供了对QoS的支持。在IP6的包 头中定义了两个重要参数:业务类别( traffic class城和数据流标志( fow labcl)位,业务类 别域将IP包的优先级分为16级.优先级分为两类:0-7用于在网络发生拥塞时通过减 少数据包的发送速度米实现拥塞掉制的业务;8-15用于一些实时性很强的业务,它在网 络拥塞吋不作仟何减少流量的控制·对于那些需要特殊QoS的业务,叮在IP数据包中 设置相应的优先级,路由器根据P包的优先级来处理这些数据。数据流标志位用于定义 任意一个传输的数据流,以便网络屮所有的节点能对这…数据进行识别,并作特殊的处 理。除了在RSⅤP协议中会使用数据流标志外,P6中未对数据流标志的使用作详细的 说明。但有了数据流标志位,就可以使路由器处理些具有特殊业务请求的数据包。 (4)为满足网络安全需要,保证数据完整性和保密性,PV6协议体系支持P安全 (IPec)标准。 3)Py4与IP6的比较 IP蟹等 p4解决方案 lp6解决方案 IP驱动优先 对十通信流量逐个认证 (1)服务质量 对」通信泡量迹个认证 业务类别域和数据流标志 包头校验和包分割 很好支持Qns 支持有限的QoS (2)安全怍 IPSec委托 机提供DHCP 尤需服务器的DHCP (3)自动配置 基丁位置总线型重命名 基于位置重命名 扩展性 次化的路由 层次化的路由 5地址范 32位地址,网络地址传输 128位地址 4)IP6包头 为了深入理解IP6协议,这里简略地说明下1P6的包头内容和作用。实际上 IP6包头分为两部分,基本包头和其后面紧接着的一些特殊的选项包头称之为扩展包 (1)基本包头 先来看一下基本包头的结构。包括
网络安全技术教程 版本(Ⅴ ersion):表示IP包的版本信息,即第6版本。 优先级( Priority):不同数据包提供不同的优先级 流量标志( Flow label):不同的数据包有不同的标志 数据长度( Payload length):记录整个数据包长度大小(不包括IPv6的包头) 下一包头( Next header):记录下一个扩展包头的类别,表示紧接在基本包头后面是 个扩展包头。在IPV4中属于传输层协议的TCP或UDP,在IPy6屮也被看作是一种特 殊的包头 跳数限制( Hop Limit):每经过个传输站,该栏位的值就自动减去1,一直到该值为 零时,就不再传输该数据,跳数限制主要用来避免错误的数据一直在网络中传输,引起死 循环。 起始地址和日的地址:与IPV4基本相同,只是位数扩大到了128位。 (2)扩展包头 IPv6中,在同一个数据包内,可以含有不同的扩展包头,来进行不同的控制。所有包 头都有一定的顺序,除了v6基个包头外,紧接着是扩展包头组合,扩展包头之间还有先 后顺序,卜面是…个数据包内可以包含的所有扩展包头及其顺序 站至站选项包头( Hop-by-Hop Header 月的地选项包头( Destination Option Header):当目的地选项包头需要数据传输过程 的每一站均要处理吋用 路出选项包头( Routing header,); 分割选项包头( Fragment Header); 证选项包头( Authentication Header); 数据加密选项包头( Encapsulating Security Payload Header) 月的地选项包头( Destination Option Header:当目的地选项包头仅需要数据传输过 程的目的地处理时用; 上层协议选项包头( Ui pper-Layer Header)e 上述各个扩展包头中,除了目的地选项包头外,其余的包头最多只能在一个数据包中 出现-次。所以处理完一个扩展包头后,就能够知道是否需要处理下个扩屐包头。 (3)IETF关于IP6的协议标准 有关P√6更深入的知识,可以到hp://wiet.org站点去查阅, ETFIPY6工作 组关于TPv6的标准主要有 RFCl809 Using Flow Label ieldinIPv6 RFC1826IPAuthenticationHeader RFC1853IPinlPTunning RFC1881lPr Address Allocation Management RFCI883Internet Protocol, Version6IP 6): RFC1884IPVersion6Addresing Architecture RFC1885ICM PforlPv sPecification RFC1886DNSExlernsiunstoSupportIPv6;
第2章 TCP/IP协议基础 RFC1887 An ArchileclureforIP 6U nicast A ddress: RFCI897IP 6 Testing address Allocatio RFCI924 A Compact RepresenLalionofIPv6Ardresso 5)IP6的未来 IPv6作为新一代的网络H联协议,其先进性和灵活性正在得到越来越多的人的认 可,许多网络公司已经或正在着予开发支持IP6的网络设备,一些著名的网络厂商已经 有支持IPv6的设备问世。∏前,也有一些组织采用了IPv6,不过主要还是限于研究机 构、有兴趣的企业和政府网络。虽然如此,但由IPv4升级到IPV6还是一个非常庞大的工 程,不仪协议栈要升级,硬件编仍的IP4地址的应用需要被固定到2003年,路由设备也 需要升级,而且这期间还需要大量的实验和进行各方面的细致而周密的安排。 尽管人们仍然在努力地对IP4进行各种改进,如采用虚拟专用网(VPN)、网络地址 翻译(NAT)节省IP地址,进行有限的QoS传输等等,但是IP6已经设计成能和IP4共 存,Iv6将在 Internet上逐渐部署并最终完个替代IPv4 2.23传输控制协议(TCP) 1.TCP协议概述 TCP协议是可靠的某本的传输协议,它用f提供可靠的、全双丁的虚拟线路连接。 连接是在发送和连接的节点端口号之间实施的。TCP协议的数据流是8位数一组的, TCP协议可在TCP协议主机之间提供多个虚拟线路的迕接。 2.TCP报文 在四层网络架构中,有两个协定负责传送及处理资料包。TCP协议负责将信息切割 成一块块资料包,在远端主机重新按顺序组合起资料包,并H要负贲重送遗失的资料包。 为了完成任务,TCP协议必须在每一块资料包的前面加上·个资料头,资料头中包含了 TCP协议所需用来处珥资料包的信息。这就好像将信件装进信封中,而邮递员叮以根据 信封上的住址送信一股。 TCP协议资料头将式:一块被TCP协议加上资料头的资料块,如图2-1所 源端口(16位) 端口(16位) 序号(32位) 确认号(32位) 数据偏移(4位) 保(6位 标志(6位) 校验和(16位 紧急指针(6位) 图2-1TCP协议资料头格式
网络安全技术教程 其中的源端口( Source port)及日的端口( Destination Port)用来指定此资料包对于丰 机的不同联结( conrect jot)。假设有两个人同时在台就地端主机上对另…台远端主机 做文件传输,此时就地端的FTP程序可能指定其中一人的源端口为1001,而另个人的 源端口为1002(这是随机所取的数字,只要能区分不同连结即可)。至远端的主机为 了让世界各地的主机能够和它做档案传输的动作,所以其FTP服务器须有公开的标准 Port(就是Port21)。有了源端口及目的端冂,远端主机的TCP模组就可以把资料包组 合起来给某一连结:譬如,所有源端口=1001及目的端口=21的封包们会被组合成 为完整信息,交给远端的FTP服务器程式(目的端口21所指定的应用程式)。同理也适 用于源端口=1002及目的端=21的资料包们 至于资料头中的序号( Sequence Number),则是指定此资料包在信息中的序号、有 了这些序号,远端的TCP模组才能够依序将资料包组合起来而不弄错顺序。确认号(Ac knowledge Number)则是接收者用来通知发送者(所以此栏位在由远端传川的资料包中 才有效)已成功地接收到的字元数,计发送者在段时间后重新发送未到达的资料包 假设用图2-2米表示待传送的信息。 DAIA 图2-2待传送的信息 首先,发送及接收两端的TCP模组互相对话建立连接,并且根据两端所能处理的资 料包大小,选择较小的那个为标准来切割资料包,结果如图2-3所示。 Duta! 图2-3信息被切割成为资料包 然后,TCP模组在每…块资料包前加上前述的TCP资料头,此时整个待传送的信息 如图2-4所示。 Datagram Datagram·2 Datagram 图2-4资料包加上TCP资料头 为了方便起见,仍将一块被加上TCP资料头的资料包称为资料包( datagram),TCP 模组将这些资料包送给P模组,同时告诉IP模组接收端主机的IP位址。(此IP位址是 个32位元的数字,可以唯一区别网际网络上的每一台主机c我们将在下一节中详细讨 论此位址的定义及相关技术)。P的工作就是负责帮资料包找到一条适当的路径 ( route)以到达接收端主机。为了让各网络的路由器( router)能往前继续传送资料包,P 必须在资料包前加上自已的资料头 被IP加上资料头之后的资料包,如图2-5所示 IP的资料头中最重要的就是来源地址( Source Address及日的地址( Destination Ad dress),来源地址是发出此信息的主机地址,有了这个地址,目的端主机才知道资料包从何