欢迎大家光临【无师自通-教程网】您的到来是我们的荣幸。本站提供photoshop教程,ps教程,flash教程,cad教程,网页制作教程,excel教程,asp教程,vb教程,3d教程,c语言教程,html教程,coreldraw教程,dreamweaver教程,java教程,3dmax教程 等各种教程为主题的内容和服务,相信您会在这里找到您所需要的东东。无师自通伴您一生-谢谢您的光临!!
网站地图 设为首页
简繁切换 加入收藏
栏目待定 留言本站
您现在的位置: 无师自通-教程网 >> 网络原理 >> IPv6 >> 教程正文

  没有公告

教程: IPV6教程-基础-TCP/IP网络互联简介 更多...
教程: IPV6教程-基础-TCP/IP网络互联简介

舜酥渲恍柚蓝苑降幕チ刂肪涂梢越形薹旎ゲ僮鳌O乱唤诮樯苷庵纸饩龇桨浮?br> 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的地址是广播地址。网络上的所有主机都将接收以广播地?br />

上一页  [1] [2] [3] [4] [5] [6] 下一页

教程录入:admin    责任编辑:admin 
  • 上一篇教程:

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

    教程: IPV6教程-基础-TCP/IP网络…

    教程: IPV6教程-基础-IPv6解决方…

    教程: HUB-基础教程-集线器(HUB)…

    教程: VLAN-基础教程-经典配置 V…

    教程: TCP/IP教程-基础-广播和多…

    教程: TCP/IP教程-基础-IGMP(Int…
    免责声明!本站资料大部分来自于互联网,其版权归原作者或其他合法者所有.如内容涉及或侵犯了您的权益,请通知本人,我将尽快处理!.欢迎您的光临。
    辽ICP备07003958号
    无师自通,伴你一生-教程网