`
soardragon
  • 浏览: 317916 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

第三层IP协议和路由功能的介绍上

阅读更多

在过去的20多年的时间里,网络技术不断发展,从最初的X.25、帧中继,到以太网、FDDI,再到目前流行的ATM,不同的技术提供了多样化的网络选择。为了能够在众多不同类型的局域网和广域网之间实现网络的互操作性,就需要使用网络协议。

Internet所采用的网络协议栈不仅具有低层次的协议规范,如TCP和IP协议等,而且还对象电子邮件、模拟终端和文件传输这样的高层次应用也制定了相应的规范。下图中显示了较为重要的Internet协议和OSI参考模型之间的对应关系。


本文将主要讲述TCP、IP协议,以及其它一些相关协议和协议使用环境。本文的重点将放在对第三层IP协议和路由功能的介绍上,而对于第四层的TCP协议只做简单说明。


TCP协议

TCP,即传输控制协议,是一种面向连接的传输层协议。通过使用序列号和确认信息,TCP协议能够向发送方提供到达接收方的数据包的传送信息。当传送过程中出现数据包丢失情况时,TCP协议可以重新发送丢失的数据包直到数据成功到达接收方或者出现网络超时。TCP协议还可以识别重复信息,丢弃不需要的多余信息,使网络环境得到优化。如果发送方传送数据的速度大大快于接收方接收数据的速度,TCP协议可以采用数据流控制机制减慢数据的传送速度,协调发送和接收方的数据响应。TCP协议能够把数据传送信息传递给所支持的更高层次的协议或应用使用。


IP协议

IP协议位于Internet协议栈的第三层,最早于1970年在UNIX系统平台上开发成功。今天,IP协议已经发展成为网络操作系统相互之间进行通讯的标准机制,是HTTP和TCP等高层协议的基础。除了可以提供网络路由之外,IP协议还具有错误控制以及网络分段等众多功能,是整个Internet协议栈的核心。

一个完整的IP地址由4字节,即32位数字组成,为了方便人们的使用,IP地址经常被写成10进制的形式,中间使用符号“.”分开不同的字节。例如采用32位形式的IP地址如下:

00001010000000000000000000000001

如果使用十进制的形式则为:

10.0.0.1

IP地址可以被划分成不同的类,根据最左边4个地址位的值决定具体的网络类型。例如,所有的A类网络的地址最左边一位的值均为0,而其它剩余31位的值既可以取0也可以取1。即:

0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

(x代表0或1)

根据A类网络地址的规定,我们可以推算出该类型网络的有效地址范围是从0.0.0.0到127.255.255.255。

B类网络地址从左向右第一位必须为1,第二为必须为0,其它30位则可以自由取值。例如:

10xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

因此,B类型网络地址的有效取值范围是从128.0.0.0到191.255.255.255。同样的,除第一位必须为1之外,C、D和E类网络地址的第二、三和四位都应当分别为1。我们在下表中对不同网络类型IP地址的划分进行了总结:


域名

域名是一种更加方便,更易于记忆的可以唯一标识网络上任何一台计算机的方法。Internet使用域名系统(即DNS)给IP地址指定名称,并且可以根据不同的命令在域名和IP地址之间进行映射和转换。域名系统采用类似目录树的等级结构,所有的域名和地址信息都被保存在遍布Internet的分布式数据库中。

作为公用网络的Internet,所有的域名和地址都必须在使用前向授权域名注册商注册,然后才能使用。象.com,.net,和.org这样的顶级域名只有那些具有顶级域名注册权的注册商才能够注册。


IPv4和IPv6

目前所普遍采用的IP协议又被成为IPv4,即版本4。更高版本的IPv6已经开始在小范围的网络环境内开始试用,将在今后的几年内逐步取代IPv4。IPv6对整个地址分配系统进行了改进,支持128位(32字节)的地址长度,在性能和安全性上有所增强。

我们已经知道IPv4只能支持32位(8字节)的地址长度,因此所能分配的地址数目也是有限的,大致相当于4,294,967,296,即2的32次方。当然,在IP协议最早开始使用的时候,这个数字还是相当可观的,但是随着近几年全球范围内计算机网络的爆炸性增长,可以使用的IPv4地址空间已经越来越有限。虽然目前可以暂时采用类似操作系统虚拟内存的虚拟地址技术,但是还是不能缓解日益增长的压力。因此,为了从根本上解决IP地址空间不足的问题,提供更加广阔的网络发展空间,人们对IPv4进行改进,推出功能更加完善和可靠的IPv6。


网络地址

由于受到网线电气性能上的局限,计算机网络一般都是由一些单独的网段组成。路由器和网桥等网络设备则被用来连接不同的网段。除了使用网线在物理上划分网络之外,还可以使用更高层次的软件协议来划分子网。子网不仅可以与物理网段一一对应,还可以跨网段划分。

即使不划分子网,任何IP网络上的主机都属于一个由网络地址决定的对等网络(多宿主主机因为具有多块网卡可以同时属于多个对等网络)。具有相同网络地址上的主机既可以位于同一个物理网段也可以分散在不同的地方,通过网络地址组合在一起,可以方便相互之间进行通讯。

网络地址和IP地址非常相似,但是我们不能把两者混为一谈。网络地址由主机的IP地址和网络类型决定。例如,对于10.0.0.1这个主机地址,默认情况下最左边的8位代表网络地址,其它各位为0,即网络地址为10.0.0.0。

我们在下表中给出了A、B和C类网络的网络地址划分方法。因为D和E类网络只用于网络管理目的,我们在这里就不进行说明了。


子网

除了由主机地址和网络类型决定的网络地址之外,IP协议还支持用户根据自己网络的实际需要,创建子网络。子网与网络地址相结合,不仅可以把位于不同物理位置的主机组合在一起,还可以通过分离关键设备或者优化数据传送等措施提高网络安全性能,降低网络流量。


子网掩码

子网一个最显著的特征就是具有子网掩码。与IP地址相同,子网掩码的长度也是32位,也可以使用十进制的形式。例如,以下二进制形式的子网掩码

11111111111111111111111100000000

采用十进制的形式为:255.255.255.0


掩码规则

子网掩码既不能作为IP地址使用,也不同单独存在,必须结合IP地址一起使用。子网掩码的作用就是对IP地址进行划分,形成扩展网络地址和主机地址两部分。

一个有效的子网掩码由两部分组成,分别是左边的扩展网络地址位(用数字1表示)和右边的主机地址位(用数字0表示)。象下面这两个子网掩码都是无效的。

00000000000000000000000000000000

11111111111111111111111111111111

扩展网络地址由我们上文所讲的基本网络地址和多出的子网地址组成。通过使用子网地址可以在主机地址空间内划分出一部分地址位作为子网络的地址。举例来说,一个小型企业计划使用192.168.1.0网络建立企业内部网,并且希望为不同的部门分配不同的网段,这就需要使用子网掩码对网络进行划分。我们已经知道这是一个C类网络,网络地址为24位,如果要对其进行分段,必须要求扩展网络地址的位数超过24。例如,如果我们决定使用25位的子网掩码255.255.255.128,就会创建两个新的子网络,而原先用于主机的地址位则会相应减少。具体可见下表:



如果我们在主机地址中取两位作为子网掩码,可以创建4个子网;如果取三位作为子网掩码,可以建立8个子网,按此类推。用户可以根据需要创建子网数和每个子网上可以连接的主机数权衡决定设置多少位的子网掩码。


ARP和RARP

在一些象以太网这样的网络结构中,可以使用Internet协议栈中的两个子协议ARP(地址解析协议)和RARP(逆向地址解析协议)动态的获得网络主机的IP地址。ARP协议可以通过发送网络广播信息的方式,确定与某个网络层IP地址相对应的物理层地址(即MAC地址)。RARP是ARP的反向协议,同样通过网络广播的方式决定与某个硬件地址相对应的网络层IP地址。RARP协议对于无盘工作站尤为重要,因为无盘工作站系统启动时不知道本机的网络层地址,但是可以通过RARP协议找到与本机硬件层地址相对应的IP地址。


路由

Internet是由遍布全球的无数个大大小小的网络相互连接而成,可以在不同的网络之间进行数据的传送。作为连接不同网络的接口设备,路由器已经得到了非常广泛的应用,其主要功能就是连接多个独立的网络或子网,实现互联网间的最佳寻径及数据传送。根据路由器作用范围的不同,我们可以将其分为内部路由器和外部路由器两种。其中,内部路由器主要用于网络内部(又称自主系统)信息的交换,而外部路由器则主要用于网络之间的信息传送。

IP路由协议是一种动态协议,要求路由设备能够根据网络环境计算路由,并且当网络发生变化时可以自动选择最佳路径。与动态路由不同,静态路由则要求网络管理人员手动配置路由信息,当网络环境改变时,除非网管人员更改路由,否则静态路由保持不变。

路由信息一般被保存在路由表中,其中每一条都包含目标接收方地址和下一个路由器的地址等信息。因为网络环境的状况随时随地都在发生变化,数据在传送过程中所经过的完整路径很难事先预知,所以不可能在路由表中罗列出所有的路径信息。因此,路由表一般只给出可以到达数据接收方的下一台路由器的路径,这样就可以通过网络上每一台路由器之间形成的连续关系,为数据传送提供最终的最佳完整路径。

当路由过程中出现异常情况时,IP协议本身并不提供任何的错误监控措施,而主要由ICMP(Internet控制信息协议)负责错误情况的报告和处理。ICMP协议具有多项功能,除了可以向数据发送方传回路由错误信息之外,还可以检测网络节点的可达性(使用ICMPEcho和Reply信息),提高路由效率(使用ICMPRedirect信息),以及提醒发送方数据包超出存活时间(使用ICMPTimeExceeded信息)等。总之,ICMP协议是整个IP网络必不可少的组成部分,尤其对那些运行路由器的网络环境来说作用更为重要。

最后,我们来简单介绍一下各种路由协议。


内部路由协议

内部路由协议又称IGP(内部网关协议),主要在自主系统内部使用。目前,TCP/IP网络中较为常用的IGP主要有以下几种:

RIP

如果要谈到IP网络的路由协议,就不能不提到RIP(路由信息协议)。RIP协议最早是由施乐公司在80年代推出,当时主要用于施乐公司自己开发的一种网络系统。如今,RIP协议已经被众多的计算机网络所采用,成为一种基本的路由协议。

RIP主要适用于小规模的网络环境,如果应当到大型网络中则存在很多限制。例如,RIP协议规定任何两台网络主机之间的路由跳跃次数(每通过一台路由器定为跳跃一次)不得超过16。此外,RIP的聚敛速度很慢,这就意味着当网络发生变化时,变动信息需要经过很长时间才能传送到所有的路由器。最后,RIP是通过查看两个节点之间的路由跳数来确定最佳路由,而不考虑线路速度、使用率等其它因素,从而导致结果往往不是最佳路径。正是基于上述原因,许多原先采用RIP协议的大型网络已经逐步转向其它功能更加完善的路由协议。

IGRP

IGRP(内部网关路由协议)是由Cisco公司在80年代开发的一种内部路由协议,对RIP协议中存在的一些问题进行了改进。IGRP可以通过查看路由器之间的网络带宽和延迟来确定最佳路径。IGRP的聚敛速度要明显快于RIP,因而可以有效的避免由于路由信息的不一致而导致的路由回路。此外,IGRP不存在RIP对路由长度的限制,更加适合那些大型、复杂的网络拓扑结构。

为了更好的满足运行关键任务的大型网络的需要,Cisco对IGRP协议的功能进行了加强,将传统距离向量路由协议易于使用的特点和链路状态路由协议的高速度结合在一起,优化了路由信息的传送,降低了网络带宽的占用量。此外,除了IP路由之外,增强型IGRP协议还可以支持AppleTalk和NovellIPX路由信息。

OSPF

OSPF即最短路径优先协议由Internet工程任务组(IETF)推出以取代RIP。OSPF是一种基于链路状态,采用分级结构的域间路由协议,支持自主系统内部的分级路由。自主系统可以被划分成多个路由区域,其中每一个路由区域都是由相互连接的一个或多个子网组成,并且都与主干区域连接。此外,OSPF协议支持可变长度子网延码(VLSM),提供网络地址空间转换和基于带宽的量的计算。


外部路由协议

外部路由协议提供了自主系统之间的路由,在TCP/IP网络中最为常用的主要有以下两种:

EGP

第一代广为使用的外部路由协议就是EGP(外部网关协议)。EGP可以提供动态连通性,但是要求所有连接的自主系统都必须采用树形结构,这在Internet发展的初期还是可以使用的。

虽然EGP是一种动态路由协议,但是其设计原理非常简单,没有采用任何形式的度量标准,因而也就无法真正做出智能化的路由决定。由于EGP协议已经无法满足当今复杂网络的需要,因此正逐渐被另一种协议�BGP所替代。

BGP

BGP协议对EGP中的很多关键性问题进行了改进。与EGP一样,BGP也是一种域间路由协议,主要用于网络核心路由器。但是与EGP不同,BGP被设计成可以在任何网络拓扑结构工作,对网络结构的支持更加灵活。
分享到:
评论

相关推荐

    TCP/IP协议栈及其各个层次的内容

    网络层是TCP/IP协议栈的第三层,也是OSI参考模型的第三层。网络层的主要功能是实现端到端通信系统中中间节点的路由选择。它提供了两种类型的服务:面向连接的网络服务和无连接的网络服务。 * 面向连接服务:在数据...

    cip协议 ab

    此章节讨论了如何将CIP协议中的显式消息和I/O消息映射到TCP/IP协议栈上,以便能够在以太网上进行传输。这对于实现不同设备之间的数据交换至关重要。 #### 第四章:对象模型 本章将介绍EtherNet/IP的对象模型,这是...

    TCP/IP路由协议第一卷 第二版 中文

    第三部分介绍了如路由重新分配、缺省路由/按需路由选择、路由过滤、路由映射等多种重要而有效的路由控制工具,用来创建和管理多个ip路由选择协议的协调和互操作。附录部分讲述了二进制、十六进制转换、访问列表、...

    三层技术-IP路由命令参考-整本手册

    IP路由命令参考手册针对的是H3C CE3000-32F-EI以太网交换机软件版本Release1211,详细介绍了设备支持的路由协议命令,包括IPv4和IPv6网络的路由命令,以及影响路由选择和路由表生成策略的命令。 本手册为网络规划...

    CIP协议第一卷

    总的来说,CIP协议第一卷详细介绍了CIP协议的基本原理和实现机制,为工业自动化领域提供了一种标准化的通信协议。通过理解和掌握CIP协议的对象、分层和数据包等内容,可以帮助工程师更好地实现不同设备之间的通信和...

    IP路由协议疑难解析(中文).pdf

    IP路由协议的主要功能包括寻址、路由选择、流量控制和错误处理等。 IP路由协议的工作过程可以分为三个阶段:路由选择、数据包传输和错误处理。第一阶段,路由器根据路由表和距离矢量算法选择最优的路由路径。第二...

    三层交换和路由的区别

    三层交换机和路由器工作在第三层,处理IP地址。 2. **转发方式**:交换机基于ASIC硬件实现快速交换,路由器基于CPU进行路由决策。 3. **性能与成本**:三层交换机通常提供更快的转发速度,成本较低,适合大型局域网...

    TCP/IP协议族(第四版)习题答案

    网际层,也称IP层,是TCP/IP协议族的核心部分,主要功能是实现网络间的路由选择和数据包传输。习题可能涵盖IP地址、子网掩码、CIDR表示法、IP分片与重组、ICMP协议以及路由协议如RIP、OSPF等知识点。 传输层则是...

    IP地址分类以及路由查找算法

    在TCP/IP协议栈中,网络层扮演着至关重要的角色,主要负责数据包在网络中的传输路径选择,这涉及到IP地址的分类和路由查找算法。本文将深入探讨这些关键知识点。 首先,IP地址是互联网上的每一个设备(如计算机、...

    三层交换机作VLAN间路由配置

    三层交换机是具有路由功能的交换机,它不仅具备二层交换机的高速数据交换能力,还能执行第三层的IP路由功能。在VLAN间路由配置中,三层交换机作为VLAN间的“桥梁”,负责转发不同VLAN的数据包。 配置三层交换机进行...

    TCP-IP协议详解(第二卷)-part1

    在《TCP/IP协议详解》第二卷中,作者可能详细探讨了网络层和传输层的协议,特别是IP协议和TCP协议的工作原理,如IP地址的分配、子网划分、路由选择,以及TCP的三次握手、四次挥手、滑动窗口、拥塞控制等机制。...

    IP路由协议课件 英文版

    我们还将探讨网络层的功能,尤其是IP协议如何在不同网络间传递数据。 2. **第二章:静态路由** 静态路由是网络管理员手动配置的固定路由,这一章会讲解静态路由的工作原理,设置方法,以及其优缺点。同时,我们会...

    TCP-IP协议族(第4版)中文高清带标签目录.PDF

    这本书深入浅出地介绍了TCP/IP协议族的基本原理、结构和工作流程,对于理解网络通信机制有着极其重要的价值。以下是根据书中的内容提取的一些关键知识点: **第一部分 引言和底层技术** 1. **引言**:这部分首先...

    TCP/IP协议族(第三版)的答案

    《TCP/IP协议族(第三版)的答案》是针对TCP/IP协议族进行深入解析的重要参考资料,主要面向学习者提供详尽的解答,以帮助理解和掌握这一网络通信的基础。这份内部资料来源于中国科学技术大学,其权威性和专业性...

    tcp_ip路由技术(第一卷)(第二版)

    1. IP协议:IP(Internet Protocol)协议是网络层的核心,它为每个数据包分配一个唯一的源IP地址和目的IP地址,确保数据能够正确地从源主机发送到目标主机。IP协议不保证数据的可靠传输,但提供了无连接的服务,允许...

    TCP/IP路由协议

    在《TCP/IP路由协议》这本书中,作者首先从网络的基本概念入手,系统性地介绍了互联网的核心协议——TCP/IP模型,尤其是其第四层(传输层)和第三层(网络层)。其中,IP v4与IP v6作为当前及未来互联网的基石,被...

    TCP IP路由技术(第二卷)

    在TCP/IP协议族中,路由是网络层的核心功能,负责确定数据包在网络中的传输路径。本卷内容可能涵盖了以下几个关键知识点: 1. **IP路由基础**:解释了IP路由的基本概念,包括IP地址、子网掩码、默认路由和静态路由...

    华为3comTCP/IP协议

    - **网络层**:使用IP协议,负责寻址和路由选择。 - **数据链路层**:如Ethernet、PPP等,处理数据帧的封装和解封。 - **物理层**:负责数据的二进制传输,包括信号的编码和解码。 #### 1.2 应用层 应用层协议包括...

Global site tag (gtag.js) - Google Analytics