您现在的位置: 四联自学考试网 >> 网络学院 >> 网络原理 >> IPv6协议 >> 基础教程 >> 学院正文
今天是:

  没有公告

交换机的基础知识
怎样选择交换机
交换机和路由器的区别
三层交换技术解析
第三层交换机的选择
交换机性价比基准测试
交换机如何工作
交换机如何工作
交换机如何工作
Windows2000+网卡+交换机…
[组图]TCP/IP网络互联简介
          ★★★★
TCP/IP网络互联简介
作者:4Lzx.com 文章来源:bbs.4Lzx.com 点击数: 更新时间:2005-9-13


    本章简单介绍了TCP/IP网络互联,总结了TCP/IP的基本理论和实践基础。主要侧重于当前的IP版本—IPv4及其工作方式,其中包括IP寻址和IP头。对于不熟悉TCP/IP的读者,本章可作为对TCP/IP的浓缩介绍;而对于那些有这方面经验的读者,本章可作为一个整理思路的过程。
2.1 网络互联问题
    简单的网络把两个或更多的计算机用同一网络媒体连接在一起,网络媒体可以是线路、无线频率或任何其他通信媒体。对此网络中的每个系统都必须唯一标识,否则一个系统无法与另一系统通信:除下面的注释所提到的传输之外,所有传输都必须明确地寻址到一个特定
系统,且所有传输都必须含有可识别的源地址以便其响应(或出错报文)能够正确地返回发送者。
    广播和组播
    有时候某些传输可以一次寻址到多个目的系统。这种传输可能是网络中所有系统均可接收的广播(broadcast),通常用于管理目的。广播报文使用特殊的广播地址作为其目的地址,而网络中的所有主机都要侦听来自广播地址的报文。
    另一种可以被多个系统接收的地址类型称为组播(multicast)。如果某个系统预订了某个组播地址,该系统将侦听发给该组播地址的传输数据。对于有多个系统感兴趣且只有这些系统感兴趣的信息,就可以使用组播地址作为其目的地址。换句话说,那些没有预订组播地址的系统将不会注意这些组播传输。
    在一个简单网络中可以用以下几种方法为主机设定地址:
    • 从1(或其他数字)开始,对所有主机连续编号。
    • 为每台主机随机指派地址。
    • 每台主机使用一个全球唯一值。
    以上每种方法均有其缺点。如果该网络不与其他网络合并,则为主机连续编号的方法没有问题。但实际上,各部门间的网络经常需要合并,整个机构也是如此。而使用随机地址的方法则带来了特定网络中或合并的网络间的唯一性问题。最后,每台主机使用全球唯一值的
方法解决了各种环境中的地址重复问题,但需要一个中央授权机构来发放地址。
    主机、节点和路由器
    不同的硬件系统可以通过IP网络连接起来,这些硬件系统包括:
    • 节点:即实现IP的任何设备。
    • 路由器:即可以转发并非寻址到自己的数据的设备。换句话说,路由器可以接收发往其他地址的包并进行转发,这主要是由于路由器连接着不止一个物理网络。
    • 主机:即非路由器的任何节点。
    实际上,对于绝大部分网络接口设备,有一个授权机构来确保每个接口设备制造商使用自己的地址范围,从而可以保证每个设备具备一个唯一号码。这意味着网络中的数据可以直接定向到与网络中每个系统使用的网络硬件接口关联的地址。
    这就从根本上解决了简单网络中的问题:如果一个系统欲向其他系统发送数据,它只需要将目的主机与目的主机的网络地址关联,创建包含待发数据的网络传输单元,然后通过自己的网络接口传送。不论网络媒体使用什么机制来交付数据,目的主机都能接收到。
    增加复杂性
    上述网络类型—局域网(LAN)在本地网络中可以很好地工作。换句话说,只要所有主机都连接在同一网络媒体上,LAN将工作得很好。在实践中,这意味着单个网络中能够连接的主机数量有一个上限。这个上限通常与媒体的一些物理特性有关,例如:网络中能够承载的数据容量的最大值(带宽)、物理电缆两端间的最大传输距离等。总之,局域网通常局限于连接同一建筑物或小型校园中的数百台主机,无线网络或一些使用卫星技术的网络可以有更大的范围但仍将受限于其带宽。
    随着个人计算机在许多企业内的普及,那些超过数百名员工的机构或者人数很少但不只一个建筑物或有多个分支部门的机构,发现局域网并不足以解决其连网问题。将网络(例如部门或分支机构网络)链接为一个机构互联网络的方法成为必不可少。
    如果企业中的所有网络都是同一种类型,如以太局域网,则网络互联的实现很容易。连接局域网的方法之一是使用网桥:网桥将侦听两个网络上的业务流,如果发现有数据欲从一个网络传送到另一网络,它将该数据重传至目的网络。但是,链接较多局域网的复杂的互联
网络很难处理:要求链接LAN的设备能够了解每个系统的地址和网络位置。即便是同一地点和同一网络上的系统,随着系统数量的增加,也将导致对业务流进行跟踪和选路的任务变得非常艰难。
    当然,这种情况要求指定地点的所有网络都使用相同的媒体。实际上,其部门已长期使用网络的机构往往发现其网络上不止一种网络媒体,通常包括以太网、令牌环和其他媒体。各种网络媒体上传输的数据在格式上很可能有这样或那样的不同,这就意味着如果连接在不
同网络上的系统要进行互操作,则在发送之前要了解目的地的网络类型并按照对方要求的格式来构造数据。此外,还需要一些中间系统对数据进行正确选路,并在必要时把数据转换为正确的物理格式,以适于在可能差别很大的网络媒体上传输。
    试想一下一个具有许多不同分部、分支机构和部门的大企业的情形。每个LAN都需要了解企业中任何地方的结构变化,从而正确地为数据选路。试想一下如果不是企业而是政府机关遇到这种问题将会是多么地难以处理,而当网络互联扩展至企业之间以及成为众所周知的全球Internet后问题则变得更加严重。
    上述解决方案过于简单,不足以解决任意大型网络上的选路问题,更不用说解决Internet的问题。人们很需要一个不同的解决办法:它必须能够使连接在不同网络上的不同系统,彼此之间只需知道对方的互联网地址就可以进行无缝互操作。下一节将介绍这种解决方案。
2.2 分层网络互联模型
    上述连网模型假定所有网络通信发生在连接到网络的系统之间,但并没有指出这些系统间是如何通信的。换句话说,它假定所有数据简单地按照本地网络的格式在接口上传送,而并没有讨论这些数据的格式如何。通过详细说明数据如何在使用它的个人或程序间进行转移,可以把无缝互操作的问题分解为更易于管理的部分。
    当数据从一个系统传输至另一系统时,其分离的过程模型通常称为协议栈。该协议栈被用在不同层中。协议的实现也称为协议栈,它表示数据将在哪一层处理以及数据如何在相邻上下层间传递。
2.2.1 OSI模型
    开放系统互连(OSI)通常作为基本参考模型,最初用于表示网络互联的通用模型。如图2 - 1所示,它的七个层表示互操作系统间通信的不同级别。自下而上,这些层包括:

    • 物理层。代表数据转移时的真正媒体。系统通过物理层彼此间发送原始电脉冲或其他合适的信号。在这一层,系统间的通信通过与物理媒体的连接得以实现。
    • 数据链路层。增加了协议,用于解释物理媒体上传输的数据,其中包括可靠性和重传等功能。在这一层,系统间的通信通过直接连接到网络的实际网络接口来实现。
    • 网络层。提供协议使得系统之间可以通信,它把系统而不仅仅是网络接口连接到一起。正是在这一层,通信被认为发生在系统间而不只是在网络接口间。这一层需要考虑如何在位于两个不同网络的两个不同节点间传送数据。
    • 传输层。提供协议使得一个系统的进程连接到另一个系统的进程成为可能。换句话说,这一层,运行在一台主机上的两个不同程序可以各自连接到不同主机上运行的不同程序。
    • 会话层。处理连接的流和定时。正是在这一层,管理连接的实际结构——不论发送方是否在发送数据而接收方是否在接收数据。
    • 表示层。在这一层,不同的系统将自己的数据翻译为彼此都能接受和理解的格式。在完全不同的系统上运行的程序必须使用所有系统都能理解的标准格式,而这种翻译就发生在这一层。
    • 应用层。定义实际程序如何使用网络交互。例如,某个网络程序的应用协议可以定义来自用户的输入类型或远端设备响应的输出类型。
2.2.2 Internet模型
    那些构造实际网络的网络互联研究者们发现可以使用只有四层的网络模型来提供所有功能。如图2 - 2所示,Internet模型把网络的层进行了压缩,使网络互联更简单,因为层越少就意味着交互越少,自然也就意味着连网实现更加高效。

    虽然在某些情况下这些层看来与O S I分层模型类似,但其中确实有一些差异。从最底层开始,主要的差异首先在于, Internet模型中把物理层作为独立的一层舍弃了。这可能是由于实现者假定在数据链路层发送和接收的数据是由物理媒体传递的。其次,网络层变成了网际层,使得通过网络把系统链接在一起的需求变得更加明显。传输层中包含了会话层的大部分功能,而应用层中则包含了表示层的大部分功能。
    理解这些层如何工作将帮助我们理解IP连网是如何工作的,因为在Internet模型中通信系统在哪一层交互更加清晰:
    • 数据链路层(又称为网络接口层)。连接在同一网络上的系统彼此之间可以通信。在这一层上通信的系统不一定相同,因为两个不同网络上的系统不能直接在这一层通信,而在其他层通信的系统则要保持一致。
    • 网际层(又称为网络层)。系统通信的层次。这一层的数据传输单元在地址信息之后包含一些净荷数据。换句话说,数据可视为仅仅是从源系统发送到目的系统。两个系统可以用多种不同的方法交互,但是至少在这一层,可将来自不同的应用层交互的数据仅仅视为具备相同的源地址和目的地址,而无需立即进行区分。
    • 传输层。进程间通信的层次。正是在这一层,两个通信系统间可以具有多个业务流(参见上一段)。
    • 应用层。用户(无论是个人还是程序)间通过网络应用进行交互的层次。
    本书主要考虑发生在网际层的事情,而对于其他层只考虑在修改网际层协议后会受到影响的部分。
2.2.3 封装
    要理解Internet中各层间的交互方法并实现无缝互操作,有必要先理解“封装”的概念。在某种意义上,如果一块数据以某种方式打包以便传输,这时就发生了连网中的封装。理解封装在Internet模型中工作方式的最好办法是简单地跟踪协议栈中的流程。
    考虑如下示例,一个应用允许一台主机上的客户可以向位于另一主机上的服务器发出查询。从客户端应用开始,用户输入一个查询。在应用层进行封装的第一步是将该应用层的协议数据单元(见注释)中的查询打包。该PDU中包含了数据,并用有关如何处理数据的信息将该数据“包起来”。这些信息包括:远端主机上的目的应用的逻辑名、地址或其他指针,以及下一层(传输层)正确处理该包所需的必要信息。
    协议数据单元( PDU )特指协议对一块数据打包的方式。不同的协议以不同的名字来指称这一块数据。例如,以太网和其他数据链路层协议称之为帧;IP称之为IP数据报或包。对于通常协议或未知协议,PDU主要指的就是这些数据包。PDU中通常包括头(通常位于PDU的开始有时也可能位于最后)和净荷数据,数据可以在头被去掉后使用。PDU指的是一块数据的命名方式,而不是真正的数据块,该数据块通常被称为报文。
    在传输层,简单地将从应用层传递来的包作为位串,并在加上头后交给网际层。进程使用端口来发送和接收数据, TCP/IP的传输层在头中加入了目的端口号和源端口号(与其他项一起),并把新打包的数据交给协议栈的下一层—网际层的协议。
    网际层软件从传输层接收该报文,查看目的IP地址,然后决定对该数据如何操作。但不管怎样都将加上包含实际源主机和目的地主机网络地址的网际层头,然后将整个包交给协议栈中的下一层——数据链路层的协议。这一步比较棘手:如果IP网络软件确定数据的目的地是在同一网络上的另一系统,则在数据链路层将包寻址到目的地。但是,目的地在其他网络的数据仍必须以与源主机在同一物理网络上的某个系统为目的地,该数据没有其他的出路。
    上面忽略的一个因素是称为路由器的系统。这是一个多宿主机,它同时连接在两个或多个物理网络上,并通过程序设计为可以将包转发到远端网络上。这意味着当有数据发往远端网络时, IP软件会指定数据链路层以与源主机在同一物理网络的路由器地址作为该数据的目的地址。网际层的源地址和目的地址保持不变,但是如果目的主机在外部网络上,数据链路层的目的地址将与目的主机不同。
    现在继续跟踪数据在协议栈中向上传递的过程。当数据链路层报文到达其目的地时,接收系统将去掉其数据链路层头并检查其网际层头。如果该头中的地址与接收主机地址相同,将继续去掉该头并将数据上交传输层。但是,如果目的地址与接收主机地址不同,或者接收
主机是一个路由器,将重新对该报文打包并转发至适当的网络。
    当传输层获得该消息时,它将去掉头并将净荷上交给适当的应用。应用层在去掉头后对数据进行处理。在数据离开发送方之后直至到达接收方之前,低层操作的协议不对数据中的净荷进行处理。虽然可能有这样那样的完整性检查,除了高层提供的头之外,低层协议无需
查看其他部分的数据。这种机制使得连接在不同网络上的不同主机可以进行无缝互操作。只要所有的中间系统能正常操作,且只要两个端系统使用的应用软件可以互操作,系统类型、网络体系结构或系统的物理输出与此无关。
2.3 IP
    1 9 8 1年完成的RFC 791定义了当前使用的IP。但是,从那时起又有许多R F C阐明并定义了IPv4寻址议题、在某种特定网络媒体上运行的IP以及IPv4的服务类型位( TO S )。感兴趣的读者如果想了解2 0年前定义的IP协议,可以参考RFC 791。该协议的工作主要是定义了在处理数据时可以应用的简单规则、帮助处理数据的一组头以及寻址机制。在此进行一些扼要解释。
2.3.1 IP寻址
    IP地址体系结构依靠高度结构化的地址,地址空间由其长度( 32位)决定。所有IP地址均包括3 2位或4个字节, IP领域也常使用术语八位组(octet)。这些地址被分为不同类,其中定义了如何对地址进行处理。还有一些地址具有特殊含义。
    1. IP地址结构
    IP地址是等级地址,通常从左到右读,高阶位/字节即是最高有效位/字节。举例说明,地址前几位说明地址所属的地址类;前几个字节说明该地址所属的网络。最低有效字节(或位)将地址限定为特定的主机。这种结构意味着向网络外选路时可以忽略单个主机而只需跟踪整个网络的位置。
    3 2位地址被分为两部分:第一部分是网络地址,第二部分是本地地址。在本地网络外,只有网络地址是重要的;而在本地网络内,因为所有主机都连接在同一个本地网络上,只有本地地址是重要的而网络地址则无关紧要。
    IP网络地址分发给多个机构,由机构自己为机构内部主机分配本地地址。这意味着某个特定网络内的本地地址可能没有全部分配出去。这样就削减了总数为2 3 2的地址空间的可用地址数。
    2. IP 地址分类
    最初IP地址分为三类: A、B和C,用于为不同类别网络上的主机编号。后来在IP组播成为标准后又加入了第四类地址,称为D类,但该地址即不能用于单个主机也不能用于特定网络。A、B、C类地址渐渐被称作单播(unicast),意味着其中每个地址只标识单个主机,且来自/发往某个单播地址的数据是从一个主机发往另一个主机的。D类地址用于组播传输,意味着可以有多于一台的主机接收发给某组播地址的数据,但组播传输仍然是由单个主机发起。
    检查IP地址的前几位将有助于对地址进行分类。IP地址的分类如下:
    • A类地址第一(高阶)位为0,网络由后续的七位定义。故第一个八位组用于网络地址而其余的三个八位组用于每个网络中的主机地址。这意味着最多有27即128个网络地址组合,而地址中剩余的2 4位可用于主机地址,这意味着可以有22 4即16 777 216个唯一主机标识符(真正的最大值会有一点减少,参见后续讨论)。这意味着A类地址可以由第一个八位组的值来确定。任何一个0到1 2 7间的网络地址均是一个A类地址。
    • B类地址前两位为10,网络由后续1 4位定义。故前两个八位组用于网络地址而其余的两个八位组用于每个网络中的主机地址。这意味着最多有214即16384个网络地址组合,而每个网络中的主机数不能超过216即65536(真正的最大值会有一点减少,参见后续讨论)。
这意味着B类地址可以由第一个八位组的值来确定。任何一个128到191间的网络地址是一个B类地址。
    • C类地址前三位为11 0,网络由后面的2 1位定义。故前三个八位组用于网络地址而其余的一个八位组用于每个网络中的主机地址。这意味着最多有22 1即2 097 152个网络地址组合,而每个网络中的主机数不能超过28即256(真正的最大值会有一点减少,参见后续讨论)。这意味着C类地址可以由第一个八位组的值来确定。任何一个1 9 2到2 2 3间的网络地址是一个C类地址。
    • D类地址前四位为111 0。组播中不使用网络地址的概念,因为任何网络上的主机无论是否在同一网络上均可接收组播。这意味着最多有22 8即268 435 456个组播地址组合,而所有组播地址可以由第一个八位组的值来确定。任何一个第一个八位组在2 2 4到2 3 9间的网
络地址是一个组播地址。
    • E类地址前五位为1111 0。在IPv4地址中保留该地址。
    3. 特殊地址
    由于有一些网络地址有特殊含义,导致可分配的网络地址的总数进一步减少。下列地址不能分配给实际的网络:
    • 第一个八位组是1 2 7的地址(如1 2 7 . 0 . 0 . 1 )定义为回返地址。这个约定是必要的。对于所有发往回返地址的数据,网络栈将视为传输给自己的数据,尽管数据沿网络栈向下传递,并没有真正发送到网络媒体上。这种方法允许主机通过其网络接口与自己通信,这对于测试很有用。
    • 地址中的主机部分为全1的地址是广播地址。网络上的所有主机都将接收以广播地址为目的地址的数据(参见后续关于广播的更详细的讨论)。
    • 全0的地址表示本网络或本主机。换句话说,一个表示特定网络的A类地址若主机部分为全0表示在此特定网络上的本主机。同样,网络地址为全0 (如0 . 0 . 1 2 1 . 1 )表示在本网络上的特定主机。
    这些限制减少了可用的网络和主机地址。回返地址占用了一个A类网络地址,否则1 2 7将是最高阶的A类地址。同样,对于全0地址( 0 . 0 . 0 . 0 )的保留又减少了一个A类地址。因此,有效的A类网络局限于第一个八位组为1 ~ 1 2 6,而不是0 ~ 1 2 7,即只有1 2 6个可能的A类地址。
    保留地址也影响到每个网络上的唯一主机地址的数量。网络上的最大主机数变成了2n- 2,而不是2n,对于A类,n = 2 4;B类,n = 1 6;C类,n = 8。全0或全1地址分别保留下来,以用于本主机或广播地址。虽然这并没有显著的减少A类和B类地址的数量,但却把C类地址的数量从2

[1] [2] 下一页  

学院录入:4Lzx.com    责任编辑:4Lzx.com 
  • 上一篇学院:

  • 下一篇学院:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口