网络层

网络层

网络层提供的两种服务

由于计算机有很强的差错处理能力,比电话机智能许多,所以互联网的设计思路是:网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务,不提供服务质量的承诺,所传送的分组可能出错、丢失、重复、失序,也不保证分组交付的时限。如果主机中的进程之间的通信需要是可靠的,那么就由主机中的运输层负责(包括差错处理、流量控制等)。

网际协议IP

由于网际协议IP是用来使互连起来的许多计算机网络能够进行通信的 ,因此TCP/IP体系中的网络层也常常被称为网际层或者IP层

  • 虚拟互联网络

    将网络互相连接起来要使用一些中间设备,从网络层看就是路由器,路由器就是一台专用计算机,用来在互联网中进行路由选择。许多计算机网络通过一些路由器进行互连,由于参加互连的计算机网络都使用相同的网际协议IP,因此可以把互连以后的计算机网络看成一个虚拟互联网络,也就是逻辑互联网络,互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用IP协议就可以使这些性能各异的网络在网络层上看起来像是一个统一的网络,主机之间进行通信看不见互连各网络的例如编址方案、路由选择协议等具体异构细节。

  • 分类的IP地址

    IP地址就是给互联网上的每一台主机或者路由器的每一个接口分配一个在全世界范围内是唯一的32位标识符

    IP地址的编址经过三个阶段:分类的IP地址、子网的划分、构成超网。

    分类的IP地址:IP地址::= {<网络号>,<主机号>}

    A类:0网络号(8位)

    B类:10网络号(16位)

    C类:110网络号(24位)

    D类:1110多播地址

    E类:1111保留

  • IP地址与硬件地址

    物理地址是数据链路层和物理层使用的地址,物理地址就是硬件地址,已经固化在网卡的ROM上,因为局域网的MAC帧中的源地址和目的地址都是硬件地址,所以又称为MAC地址,路由器收到MAC帧以后会丢弃掉原来的首部和尾部,转发时重新添加新的首部和尾部。而IP地址是网络层和以上各层使用的地址,是一种逻辑地址,IP数据报首部的源地址和目的地址始终不变。

  • 地址解析协议ARP

    网络层使用IP地址,但是在实际网络的链路上传送数据最终还是必须使用该网络的硬件地址。地址解析协议可以根据IP地址得出硬件地址,在主机ARP高速缓存中存放了本局域网上的各主机和路由器的IP地址到硬件地址的映射表,并且这个映射表会经常动态更新。所以ARP是解决同一个局域网上的主机或者路由器的IP地址和硬件地址的映射问题,如果两个主机不在同一个局域网上是无法解析出另一个主机的硬件地址的。

    某台主机A向另外一台主机B发送IP数据报。

    如果AB在同一个局域网中:首先在ARP高速缓存中查看主机B的IP地址,如果有就可以直接查出硬件地址;如果没有查询到IP地址(可能B刚接入网或者A刚通电,ARP高速缓存还是空),ARP进程在本局域网上广播发送一个包含自己IP地址和硬件地址的ARP请求分组,得到B的ARP响应,A与B都更新ARP高速缓存,添加对方的IP地址到硬件地址的映射。

    如果AB不在同一个局域网中:在ARP高速缓存中不会查询到,通过广播也不可能会有响应,那就把IP数据报通过和A连接在同一局域网的路由器来转发,这个转发的过程要先把路由器的IP地址解析为硬件地址,然后路由器收到IP数据报以后从转发表中找到下一跳路由器(路由器连接了不同的网络),由这个路由器继续转发。

    网络链路上传送的帧最终是按照硬件地址找到目的主机的,但是由于世界上存在各式各样复杂的网络,如果是这些异构网络能够仅适用硬件地址进行通信就必须进行非常复杂的硬件地址转换工作,所以通过IP编址是简化了这个问题,连接到互联网的主机只要拥有一个唯一的IP地址,他们之间的通信就像连接在同一个网络上一样简便,ARP的复杂过程都是由计算机软件自动进行,对上层屏蔽。

  • IP数据报的格式

    首部+数据部分。其中首部固定长度20字节,加上可选字段不超过60字节,4字节整数倍。

    • 版本(4):通信双方使用的IP协议版本需要一致。
    • 首部长度(4):单位是4字节。
    • 区分服务(8):使用区分服务时才会使用到。
    • 总长度(16):首部+数据之和的长度,单位是字节;当一个IP数据报封装成数据链路帧时,此数据报的长度不能超过下面数据链路层所规定的MTU最大传送单元,如果超过就把过长的数据进行分片处理。
    • 标识(16):具有相同标识字段的值使分片后各数据报片最后能正确重装成原来的数据报
    • 标志(3):最低位MF=1表示后面还有分片;中位DF=1表示不能分片。
    • 片偏移(13):指出在原分组中相对于用户数据字段的的起点,以8字节为偏移单位,也就是说每个分片的长度都是8字节的整数倍。
    • 生存时间(8):表明数据报在网络中的寿命,防止无法交付的数据报无限制地在互联网中兜圈子,消耗网络资源。这个TTL字段的单位为跳数,指明在互联网中最多可以经过多少个路由器
    • 协议(8):指出此数据报携带的数据是使用何种协议,能够将数据部分上交给哪个协议处理。
    • 首部检验和(16):只检验数据报首部。
    • 源地址(32)
    • 目的地址(32)
    • 可变部分+填充:可用于支持排错、测量及安全等措施,内容比较丰富,是为了增加IP数据报的功能。(IPv6已经将IP数据报首部长度做成固定了)
  • IP层转发分组的流程

    互联网上转发分组时,是从一个路由器转发到下一个路由器。路由表中最重要的信息:目的网络地址,下一跳地址,于是就可以根据目的地址确定下一跳路由器,到达最后一个路由器时就可以试图向目的主机进行直接交付。

    当路由器收到一个待转发的数据报,在从路由表得出下一跳路由器的IP地址以后,不是把这个地址填入IP数据报,而是送交数据链路层的网络接口软件。网络接口软件负责把下一跳路由器的IP地址通过ARP地址解析协议转换成硬件地址,并将这个硬件地址放在链路层的MAC帧的首部,然后根据这个硬件地址找到下一跳路由器。(整个过程包含直接交付或者间接交付,还有选择特定主机路由或者默认主机路由,以及转发分组出错的情况)

划分子网和构造超网

  • 划分子网

    两级IP地址的设计上出现了IP地址空间的利用率有时很低、每个物理网络分配一个网络号使路由表变得太大而使网络性能变化、两级IP地址不够灵活等的问题。而划分子网的方式能够较好地解决这些问题,它会从网络的主机号借用若干位作为子网号,这样就使两级IP地址变为三级IP地址,但只是把IP地址主机号这部分再进行再划分,不改变IP地址原来的网络号。同时,将物理网络划分为若干个子网时一个单位内部的事情,本单位以外是看不见这个网络有多少子网构成的。

    划分子网以后,路由器收到外来数据报就可以根据目的地址转发到响应的子网。为了使路由器能够很方便地从数据报中的目的IP地址中提取出所要找的子网的网络地址,路由器就要使用三级IP地址的子网掩码和数据报目的IP地址逐位相与,得出所要找的子网的网络地址。即是不划分子网时,也可以通过子网掩码更方便地查找路由,现在所有网络都必须使用子网掩码,同时在路由器的路由表中也必须由子网掩码这一项,路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器,如果一个网络不划分子网,那么这个网络的子网掩码就用默认子网掩码,其中1的位置和IP地址中网络号字段对应,逐位与正好能得出是哪一类IP地址。

  • 使用子网时分组的转发

    这个时候路由表中应该要包含目的网络地址、目的网络子网掩码、下一跳地址。

    转发算法:首先提取目的IP地址;判断是否直接交付,也就是使用各个子网的子网掩码与目的IP地址逐位相遇,判断子网号是否相同,如果遇到相同子网号,就可以进行直接交付了;如果与所有的子网号都不符合,再去查看特定主机路由;如果没有特定主机路由,再去检测路由表中有无转发途径,目的IP地址和路由表中每一项的子网掩码都逐位相与,如果某一项的子网掩码与目的IP地址得出的结果正好就是对应的网络,就可以走下一跳地址了;如果检测完了整个路由表都没有可选路径,才进入默认路由,发给另外一个路由器,接着会循环上一各步骤。当然这个循环也是有限制的,如果超过了生存时间还没有到达目的地址,就只能被丢弃了,报告转发分组出错。

  • 无分类编址CIDR(构造超网)

    在子网划分的基础上,将定长子网掩码变为变长子网掩码,是更加灵活的无分类编址方法。

    无分类域间路由选择CIDR:(1)消除了传统分类地址以及划分子网的概念,又从三级地址回归到了两集地址,由网络前缀+主机号构成,也就是把子网号合并到网络前缀当中了。CIDR记法:<IP地址>/网络前缀位数。(2)融合了子网地址和子网掩码,方便子网划分。CIDR把网络前缀都相同的连续的IP地址组成一个CIDR地址块

    将多个子网聚合成一个较大的子网,就是构成超网,或者路由聚合,方法就是将网络前缀缩短。使用CIDR时,查找路由表可能得到几个匹配结果,应该选择具有最长网络前缀的路由,前缀越长,地址块越小,路由越具体。

网际控制报文协议ICMP

ICMP是网络层与运输层之间的协议,起了桥梁的作用,是为了更有效地转发IP数据报和提高交付成功的机会。ICMP允许主机或者路由器进行差错和异常情况的报告网络探询

  • ICMP报文格式

    • 类型(8)
    • 代码(8)
    • 检验和(16)
    • 紧接着的四个字节取决于ICMP报文的类型(32)
    • ICMP的数据部分(长度取决于类型)
  • ICMP报文的种类

    • ICMP差错报告报文:3终点不可达(无法交付)、11时间超过(TTL=0)、12参数问题(首部字段有问题)、5改变路由(让主机知道下次选择哪个更好的路由)

      所有ICMP差错报告报文的数据字段都有同样的格式,把收到的需要进行差错报告的IP数据报的首部和数据字段的前8个字节(得到运输层的源端口号与目的端口号,以及序列号)提取出来,作为ICMP的数据字段。再加上响应的ICMP差错报告的报文的前8个字节,就构成了ICMP差错报告报文。

      然后整个ICMP报文作为IP数据报的数据字段发送给源点

    • ICMP询问报文:8/0回送请求或回答13/14时间戳请求或回答

      主机或者路由器向特定目的主机发出的询问,收到此报文的主机必须给源主机或者路由器发送ICMP回送回答报文。可测试目的站是否可达以及了解相关状态,例如ping。

      请求某个主机或者路由器回答当前的日期和时间。可用来进行时钟同步和测量时间。

  • ICMP的应用举例

    • 分组网间探测PING,用于测试两台主机之间的连通性,使用了ICMP回送请求和回答报文。
    • traceroute,用于跟踪一个分组从源点到终点的路径,使用了ICMP时间超过差错报告报文。

互联网的路由选择协议

  • 有关路由选择协议的几个基本概念

    • 理想的路由选择算法

      抛开理想状况看,最佳路由也只是相对于某个特定条件下的较为合理的选择而已。

      路由算法总体分为静态路由算法非静态路由算法(自适应):静态路由选择需要管理员收工配置路由信息,简便、可靠,在负载稳定、拓扑变化不大的网络中运行效果很好,更适于高度安全性的军事网络和较小的商业网络,但是路由更新慢,不适合大型网络;而动态路由选择需要路由器之间彼此交换信息,按照路由算法优化出路由表项,路由更新快,适于大型网络,及时响应链路费用或者网络拓扑变化,但是算法复杂,增加了网络的负担。

      动态路由算法,在全局性上有链路状态路由算法OSPF,所有路由器掌握完整的网络拓扑和链路费用信息;分散性的有距离向量路由算法RIP,路由器值只掌握物理相连的路由器及链路费用。

    • 互联网采用的路由选择协议主要是自适应的、分布式路由选择协议。由于互联网规模太大导致的路由表可能会很庞大,以及一些单位不愿外部了解自己网络布局细节和采用的路由选择协议同时又想接入互联网,等等原因,互联网采用分层次的路由选择协议

      所以可以把整个互联网划分为许多较小的自治系统AS,也就是在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量以确定分组就在该AS内的路由,同时还使用一种AS之间的路由选择协议以确定在AS之间的路由。一个AS内的所有网络都属于一个行政单位来管辖,一个自治系统的所有路由器在本自治系统内部内都必须连通。

      分层次的路由选择方法可以将互联网间的路由选择协议分为:内部网关协议IGP&外部网关协议EGP。内部网关协议就是在一个自治系统内部使用的路由选择协议,比如RIP、OSPF;而外部网关协议是当数据报传送到一个自治系统边界时需要的一种协议,将路由选择信息传递到另一个自治系统中,比如BGP。对于比较大的自治系统,还可以将所有网络进一步划分。

  • 内部网关协议RIP

    • 工作原理

      RIP路由信息协议是一种分布式的基于距离向量的路由选择协议。路由器更新的原则是找到每个目的网络的最短距离,RIP协议要求网络中的每个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离记录(一组距离)。这里的“距离”也称为“跳数”,RIP认为最好的路由就是它通过的路由器数目少,就是“距离短”,而超出允许的最大跳数就判为不可达,因此RIP更加适合小型互联网

      关于RIP协议当中路由表的交换:

      • 仅和相邻路由器交换信息;
      • 路由器交换的信息是自己的路由表
      • 每30s交换一次路由信息,然后路由器根据新信息更新路由表,如果超过180s没有收到相邻路由器的通告,就说明相邻路由器没了,相应更新路由表。

      路由器刚开始工作时,只知道直接连接的网络的距离(距离为1),接着每个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。经过若干次交换更新以后,所有路由器最终都会知道到达本自治系统任何一个网络的最短距离和下一跳路由器地址

    • 距离向量算法

      (1)修改相邻路由器发来的RIP报文中所有表项,对地址为x的相邻路由器发来的RIP报文,修改这个报文中所有项目:把“下一跳”字段中的地址改为x,并且把所有的“距离”字段+1。(2)对修改后的RIP报文中的每一个项目,进行一些判断:如果路由表中没有项目中的目的网络,就该项目填入路由表;如果项目中的目的网络已经存在,则查看表中的下一跳路由器地址,如果是x则用收到的项目替换原项目(用较新的数据),如果不是x,新项目距离更短就更新,否则不作处理。(3)如果180s还是没有收到相邻路由器x更新路由表,就可以把x记为不可达了。(4)返回,等待30s后做同样的操作,循环。

    • RIP协议报文格式

      • 首部:命令(1)、版本(1)、必为0(2)

      • 路由部分:地址族标识符(2)、路由标记(2)、网络地址(4)、子网掩码(4)、下一跳路由地址(4)、距离[1-16](4)

        首部+若干路由部分,路由信息可以重复出现,最多25个。

      相邻路由器交换的信息其实就是一个RIP报文。RIP是应用层协议,使用UDP传送数据。

    • RIP协议的特点

      当网络出现故障时,要经过比较长的时间(例如数分钟)才能将此信息传送到所有路由器,“慢收敛”。如果出现故障,可能出现路由器之间相互交换错误的信息,到目的网络的距离在交换过程中逐渐增加,直至增加到不可达的程度,坏消息传的慢

  • 内部网关协议OSPF

    • OSPF协议的基本特点

      开放最短路径优先OSPF协议:“开放”表明了OSPF协议不是受某一厂家控制,而是公开发表的;“最短路径优先”是因为使用了Dijkstra提出的最短路径算法SPF。OSPF最主要的特征就是使用了分布式的链路状态协议。以及,每隔30min刷新一次数据库中的链路状态。由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网的规模没有直接联系,因此当互联网规模很大时,OSPF协议要比距离向量协议RIP好的多。OSPF不存在坏消息传得慢的问题,它的收敛速度很快

      为了使OSPF能够用于规模很大的网络,OSPF将一个自治系统再划分为若干个更小的范围,叫做区域。一个区域下的路由器最好补偿过200个,划分区域的好处就是把利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统,这就减少了整个网络的通信量。

    • OSPF的路由交换

      • (和谁交换)使用洪泛法向自治系统内所有的路由器发送信息,就是路由器通过输出端口向所有相邻的路由器发送信息,而每一个相邻路由器又再次将这个信息发往所有相邻的路由器。广播

        最终就是整个区域内所有路由器都得到了这个信息的一个副本。

      • (交换什么)发送的信息就是和本路由器相邻的所有路由器的链路状态(本路由器和哪些路由器相邻,以及这个链路的度量/代价——费用、距离、时延、带宽等等)。

      • (多久交换)就是只有当链路状态发生变化时,路由器才向所有路由器洪泛发送这个消息。

      最后就是所有路由器都能建立一个链路状态数据库,就是全网拓扑图。每个路由器都知道全网有多少个路由器,以及哪些路由器时相连的,代价多少等等。每个路由器就可以使用链路状态数据库中的数据,构造出自己的路由表,例如使用Dijkstra的最短路径路由算法。每个路由器都能知道自己到这个自治系统内的任何一个路由器的最短路径

      而RIP协议的每个路由器虽然知道自己到所有网络的距离以及下一跳路由器,但是却不知道全网的拓扑结构,只有到了下一跳路由器才能知道下一跳应当怎样走。

    • 链路状态路由算法

      1. 每个路由器发送它的邻居结点【HELLO问候分组】,并且了解邻居结点的网络地址。
      2. 设置到它的每个邻居的成本度量metric。
      3. 构造【DD数据库描述分组】,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息
      4. 如果DD分组中的摘要自己都有,则邻站不做处理;如果有没有或者是更新的,就发送【LSR链路状态请求分组】,请求自己没有的和比自己更新的信息。
      5. 收到邻站的LSR分组以后,发送【LSU链路状态更新分组】进行更新。
      6. 更新完毕以后,邻站返回一个【LSAck链路状态确认分组】进行确认。

      只要一个路由器的链路状态发生变化:

      1. 洪泛发送【LSU链路状态更新分组】进行更新。
      2. 更新完毕以后,其他站返回一个【LSAck链路状态确认分组】进行确认。
      3. 使用Dijkstra根据自己的链路状态数据库构造到其他节点间的最短路径。
    • OSPF的五种分组类型

      <OSPF分组首部+类型1至类型5的OSPF分组>使用IP数据报传送

  • 外部网关协议BGP

    • 路由交换

      • (和谁交换)与其他AS的邻站BGP发言人交换信息。
      • (交换什么)交换网络的可达性信息,即要到达某个网络所要经过的一系列AS。
      • (多久交换)发生变化时更新有变化的部分。

      当BGB发言人互相交换了网络可达性的信息之后,各BGP发言人就根据所采用的策略从收到的路由信息中找出到达各AS的较好路由。交换的信息就是一组路径

    • BGP协议报文格式

      一个BGP发言人要和其他自治系统中的BGP发言人交换路由信息,要先建立TCP连接,就是通过TCP传送,然后在此连接上交换BGP报文以建立BGP会话,利用BGP会话交换路由信息。

      BGP是应用层协议,借助TCP传送,再通过IP数据报传送。

    • BGP协议特点

      BGP支持CIDR,因此BGP的路由表也就应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列。

      在BGP刚刚运行时,BGP的邻站是交换整个BGP路由表。但是以后只需要在发生变化时更新有变化的部分。这样做对节省网络带宽和减少路由器的处理开销都有好处。

    • BGP-4的四种报文

      1. OPEN(打开)报文:用来与相邻的另一个BGP发言人建立关系,并且认证发送方。
      2. UPDATE(更新)报文:通知新路径或者撤销原路径
      3. KEEPALIVE(保活)报文:在无UPDATE时,周期性证实邻站的连通性;也作为OPEN的确认。
      4. NOTIFICATION(通知)报文:报告先前报文的差错;也被用于关闭连接。
  • 三种路由协议的比较

    RIP是一种分布式的基于距离向量的内部网关路由选择协议,通过广播UDP报文来交换路由信息。

    OSPF是一个内部网关协议,要交换的信息量较大,应使报文长度尽量短,所以不使用传输层协议,而是直接采用IP。

    BGP是一个外部网关协议,在不同的自治系统间交换路由信息,由于网络环境复杂,需要保证可靠传输,所以采用TCP。

  • 路由器的构成

    路由器时一种具有多个输入端口和多个输出端口的专用计算机,它的任务时转发分组。从路由器输入端口接收到分组,按照分组要去的目的网络,把分组从路由器的某个合适的输出端口转发给下一路由器。

    • 路由器的结构

      路由器的结构可以划分为路由选择部分和分组转发部分。

      路由选择部分也叫控制部分,核心部件是路由选择处理机,路由选择处理机的任务是根据所选定的路由选择协议构造出路由表,同时经常或者定期和相邻路由器交换路由信息而不断更新和维护路由表。

      分组转发部分,由交换结构、一组输入端口、一组输出端口组成(这里的端口是硬件接口)。交换结构也称为交换组织(可以看成路由器中的网络),它的作用是根据转发表对分组进行处理,将某个输入端口进入的分组从一个合适的输出端口转发出去。如果收到的分组是路由器之间交换路由信息的分组,就把这种分组送交路由选择处理机;如果收到的是数据分组,就按照分组首部的目的地址查找转发表,根据得出的结果,分组经过交换结构到达合适的输出端口。一个路由器的输入输出端口就在路由器的线路接口卡上。

    • 交换结构

      交换结构是路由器的关键构件。正是这个结构,把分组从一个输入端口转移到某个合适的输出端口。

    需要注意的是,路由器必须以很高的速率转发分组。最理想的情况是输入端口的处理速率能够跟得上线路把分组传送到路由器的速率。在路由器的设计中,怎样提高查找转发表的速率是一个十分重要的研究课题。当一个分组正在查找转发表时,后面又紧跟着从这个输入端口收到另一个分组,这个分组就必须在队列中排队等待,因而产生一定的时延。而在输出端口,输出端口从交换结构接收分组,然后把他们发送到路由器外面的线路上,在网络层的处理模块中设有一个缓冲区,实际上就是一个队列,来不及发送的分组就暂存在这个队列中。数据链路层处理模块把分组加上链路层的首部和尾部,交给物理层后发送到外部线路。

    所以,分组再路由器的输入和输出端口都可能会在队列中排队等候处理。如果分组处理的速度跟不上分组进入队列的速度,则队列的存储空间最终必定减少到零,这就使后面再进入队列的分组由于没有存储空间而只能被丢弃。所以,分组丢失就是发生在路由器中输入输出队列产生溢出的时候,与设备或者线路出现故障的情况。

IPV6

CIDR与NAT只是延长了IPv4的寿命,但是治标不治本,IPv6能从根本上解决这个问题,它扩充了IP地址的位数到了128位。IPv6任然支持无连接传送,但是协议数据单元PDU称为分组,而不是IPv4的数据报。

  • IPV6的基本首部

    IPv6分组由两大部分组成:基本首部+有效载荷(允许零或多个扩展首部,后面是数据部分

    • 版本(4):指明协议版本,对于IPv6来说该字段是6。

    • 通信量类(8):区分不同IPv6分组的类别或者优先级。

    • 流标号(20):属于同一个的分组具有同样的流标号。IPv6的一个新机制是支持资源预分配,并且允许路由器把每个分组和一个给定的资源分配相联系。IPv6提出了“流”的概念,“流”就是互联网络上从特定源点到特定终点(单播或多播)的一系列分组(如实时音频或者视频传输),而这个“流”所经过的路径上的路由器都能保证指明的服务质量。因此,流标号对于实时音频/视频的传送特别有用,而对于传动电子邮件或者非实时数据,则没有任何用处,置为0即可。

    • 流标号(20)

    • 有效载荷长度(16):指明IPv6分组除了基本首部以外的字节数。

    • 下一个首部(8):相当于IPv4的协议字段或者可选字段。

      当IPv6分组没有扩展首部时,下一个首部字段的作用和IPv4的协议字段一样;当出现扩展首部时,下一个首部字段的值就标识后面第一个扩展首部的类型。

    • 跳数限制(8):防止分组再网络中无限期存在。跳数限制的值为0时丢弃。

    • 源地址(32):分组发送端的IP地址。

    • 目的地址(32):分组接收端对额IP地址。

    而关于扩展首部:分组途中经过的路由器不处理扩展首部,大大提高了路由器的处理效率。RFC已经定义的扩展首部有逐跳选项、路由选择、分片、鉴别、封装安全有效载荷、目的站选项等。

  • IPV6的地址

    一般来讲,IPv6分组的目的地址可以是一下三种基本类型地址之一:

    • 单播:点对点通信
    • 多播:一对多点通信
    • 任播:任播终点是一组计算机,但分组只交付给其中一个,通常是距离最近的。

    为了使地址简洁,IPv6使用冒号十六进制记法,把每16位的值用十六进制表示,各值之间用冒号分隔例如:68E0:8c64:FFFF:FFFF:0:1180:960A:FFFF;并且可以允许零压缩,FF05:0:0:0:0:0:0:B3可压缩为FF06::B3,为了保证零压缩有一个不含混的解释,规定在任一地址中只能使用一次零压缩;另外,冒号十六进制记法可以结合使用点分十进制记法的后缀,这在IPv4到IPv6的转换阶段很有用,例如0:0:0:0:0:0:128.10.2.1;CIDR斜线表示法仍然可用。

  • 从IPV4向IPV6过渡

    • 双协议栈
    • 隧道技术
  • ICMPv6

所以IPv6引进的变化包括:

  1. 更大的地址空间
  2. 扩展的地址层次结构
  3. 灵活的首部格式
  4. 改进的选项
  5. 允许协议继续扩充
  6. 支持即插即用
  7. 支持资源预分配
  8. IPv6首部改为8字节对齐

IP多播

  • IP多播的基本概念
  • 在局域网上进行硬件多播
  • 网际组管理协议IGMP和多播路由选择协议

虚拟专用网VPN和网络地址转换NAT

  • 虚拟专用网VPN

    由于IP地址的紧缺,而且一个机构也不需要所有的主机都接入外部互联网,那么讲究可以在机构内部使用由本机构自行分配的IP地址,这种仅在本机构内有效的地址也叫本地地址,它有可能会和互联网中某个IP地址重合,但是RFC已经指明了一些可以用于一个机构内部通信而不能和互联网上的主机通信的专用地址专用地址只能够作本地地址,而不能作全球地址,在互联网中的所有路由器对于目的地址是专用地址的数据报一律不进行转发。三个专用地址块包括:(1)10.0.0.010.255.255.255(2)172.16.0.0172.16.255.255(3)192.168.0.0~192.168.255.255。采用这样的专用IP地址的互连网成为专用互联网或者本地互联网,这些专用地址仅仅在本地使用,所以不同的专用互联网即是具有相同的专用IP地址也没有关系。

    有时一个机构可能分布范围很广,不同部门需要交换信息,就产生了虚拟专用网VPN,也就是利用公用互联网作为本机构各个专用网之间的通信载体。如果专用网的不同网点之间通信必须经过共用互联网,但是又有保密需求,那么所有通过互联网传达的数据都必须加密。VPN在效果上和真正的专用网一样,只是实际上并没有使用真正的通信专线,使用IP隧道技术实现了虚拟专用网,如果一个机构中的某个网点向另外一个网点通信经过共用互联网,效果上就像本部门的专用网一样,从逻辑上看更是一条直通的点对点链路,也就是“隧道”。

    如果仅仅是同一机构的不同范围的内部网络之间构成的虚拟专用网又称内联网VPN(intranet);如果有时一个机构的VPN需要外部机构参加进来,这样的VPN就成为外联网VPN(extranet),当然内联网和外联网都是基于TCP/IP协议的,另外还有远程接入VPN

  • 网络地址转换NAT

    有时,专用网内部的一些主机需要和外部互联网上的主机通信,但是这些主机已经分配了本地IP地址了,由于IP地址的紧缺有一个不用申请新的IP地址的方式,就是采用网络地址转换NAT。这种方式需要在专用网连接到互联网的路由器上安装NAT软件,安装了NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址,这样,所有使用本地地址的主机在和外界通信时都要在NAT路由器上将其本地地址转换成全球IP地址,才能和互联网连接

    NAT路由器会把专用网上的主机发送给互联网主机的IP数据报的源IP地址转换成新的IP地址,也就是NAT路由器的全球IP地址,然后再转发出去。而当NAT路由器收到发给专用网中的主机的IP数据报以后,也要进行IP地址的转换,通过NAT地址转换表就可以把IP数据报是哪个的IP地址转换成目的主机真正的IP地址。NAT地址转换表中每个表项都含有WAN广域网端和LAN局域网端,分别由点分十进制IP地址和端口号构成,使用到了端口号,这样就可以让多个拥有本地地址的主机共用一个NAT路由器上的全球IP地址,也可以同时和互联网上不同主机进行通信。

多协议标记交换MPLS

  • MPLS的工作原理
  • MPLS首部的位置与格式
原文地址:https://www.cnblogs.com/chen-ying/p/12392043.html