ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

四、计算机网络之网络层

2020-12-30 17:31:47  阅读:116  来源: 互联网

标签:主机 网络层 网络 计算机网络 地址 IP地址 路由 路由器


前言

  • 数据链路层遗留两个问题
    • 1.没有解决可靠传输问题
    • 2.数据链路层实现的同一网络的连接,那么不同网络的连接怎么实现

一、网络层提供的两种服务

  • 网络层争论的问题
    • 1.在计算机网络领域,网络层应该向运输层提供怎样的服务(面向连接还是无连接
    • 2.争论焦点的实质就是:**在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统?
      • 一种观点:让网络负责可靠交付
        • 这种观点认为,应借助于电信网的成功经验,让网络负责可靠交付,计算机网络应模仿电信网络,使用面向连接的通信方式
        • 通信之前先建立虚电路(Virtual Circuit),以保证双方通信所需的一切网络资源。
        • 如果再使用可靠传输的网络协议,就可是所发送的分组无差错按序到达终点,不丢失、不重复。
        • 虚电路是逻辑连接诶
          • 虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接**按照存储转发方式传送,**而并不是真正建立了一条物理连接。
          • 请注意,电路交换的电话通信是先建立了一条真正的连接
          • 因此分组交换的虚电路和电路交换的连接只是类似,但并不是完全一样。
      • 另一种观点:网络提供数据报服务
        • 互联网的先驱者提出了一种崭新的网络设计思路。
        • 网络层向上只提供简单灵活的、无连接的、尽最大努力交付数据报服务
        • 网络在发送分组时不需要先建立连接。每一个分组(即IP数据报)独立发送,与其前后的分组无关(不进行编号)
        • 网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失。重复和失序(不按序到达终点),当然也不保证分组传送的时限。
        • 尽最大努力交付
          • 由于传输**网络不提供端到端的可靠传输服务,**这就使网络中的路由器可以做得比较简单,而且价格低廉(与电信网的交换机相比较)
          • 如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由网络的主机中的运输层可靠交付(包括差错处理、流量控制等)
          • 采用这种思路的好处是:网络的造价大大降低,运行方式灵活,能够适应多种应用。
          • 互联网能够发展到今日的规模。充分证明了当初采用这种设计思路的正确性
      • 虚电路服务于数据报服务的对比
对比的方面虚电路服务数据报服务
思路可靠通信应当由网络来保证可靠通信应当由用户主机来保证
建立的连接必须有不需要
终点地址仅在建立连接阶段使用,每个分组使用短的虚电路号每个分组都有终点的完整地址
分组的转发属于同一条虚电路的分组均按照同一路由进行转发每个分组独立选择路由进行转发
当结点出故障时所有通过出故障的结点的虚电路均不能工作出故障的结点可能会丢失分组,一些路由可能会发生变化
分组的顺序总是按发送顺序到达终点到达终点时不一定按发送顺序
端到端的差错处理和流量控制可以由网络负责,也可以由用户主机负责由用户主机负责

二、网际协议IP

  • 忘记协议IP是TCP/IP体系中两个最主要的协议之一。
  • 与IP协议配套使用的还有三个协议:
    • 地址解析协议ARP(Address Resolution Protocol)
    • 网际控制报文协议ICMP(Internet Control Message Protocol)
    • 网际组管理协议IGMP(Internet Group Management Protocol)

2.1.虚拟互连网络

  • 将网络互连并能够互相通信,会遇到许多问题需要解决,如:
    • 不同的寻址方式
    • 不同的最大分组长度
    • 不同的网络接入机制
    • 不同的超时控制
    • 不同的差错恢复方法
    • 不同的状态报告方法
    • 不同的路由选择技术
    • 不同的用户接入控制
    • 不同的服务(面向连接服务和无连接服务)
    • 不同的管理与控制方式等
  • 使用一些中间设备进行互连
    • 将网络互相连接起来要使用一些中间设备。
    • 中间设备又称为中间系统或**中级(relay)**系统。
    • 有以下五种不同的中间设备
      • 物理层中继系统:转发器(repeater)
      • 数据链路层中继系统:网桥桥接器(bridge)或交换机(switch)
      • 网络层中继系统:路由器(router)
      • 网桥和路由器的混合物桥接器(brouter)
      • 网络层以往的中继系统:网关(gateway)
  • 虚拟互连网络的意义:
    • 所谓虚拟互连网络也就是逻辑互连网络,它的意思就是互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用IP协议就可以使这些性能各异的网络从用户看起来好像是一个统一的网络。
    • 使用IP协议的虚拟互连网络可简称为IP网
    • 使用虚拟互连网络的好处是: 当互联网上的主机进行通信时,就好像在一个网络上通信一样,而看不见互连的各具体的网络异构细节。
    • **如果再这种覆盖全球的IP网的上层使用TCP协议,那么就是现在的互联网(Internet)

2.2. 分类的IP地址

  • 1.IP地址及其表示方法
    • 我们把整个因特网看成为一个单一的、抽象的网络。
    • IP地址就是给每个连接在互联网上的主机(或路由器)分配一个在全世界范围是惟一的32位的标识符。
    • IP地址现在由互联网名字和数字分配机构ICANN进行分配
    • 分类的IP地址。这是最基本的编址方式,在1981年就通过了相应的标准协议。
      • 将IP地址划分为若干个固定类。
      • 每一类地址都有两个固定长度的字段组成,其中一个字段是网络号net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号host-id,它标志着主机(或路由器)。
      • 主机号在它前面的网络号所指明的网络范围内必须是唯一的。
      • 由此可见,一个IP地址在整个互联网范围内是唯一的
      • 点分十进制,机器中存放的IP地址是32位二进制码,可以每8位为一组,将其转化为10进制数
    • 子网的划分。这是对最基本的编址方式的改进,其标准[RFC 950]在1985年通过。
    • 构成超网。这是比较新的无分类编址方式。1993年提出后很快就得到推广应用。
  • 2.常用的三种类别的IP地址
网络类别最大可指派的网络数第一个可指派的网络号最后一个可指派的网络号每个网络中最大主机数
A126(2^7-2)112616777214
B16383(2^14-2)128.1191.25565534
C2097151(2^21-2)192.0.1223.255.255254
  • 3.一般不使用的特殊的IP地址
    网络号 | 主机号 | 源地址 | 目的地址 | 代表的意思
    —|---|—|---|—
    0 | 0 | 可以 | 不可 | 在本网络上的本主机
    0 | host-id | 可以 | 不可 | 在本网络上的某台主机
    全1 | 全1 | 不可 | 可以 | 只在本网络上进行转发(各路由器均不转发)
    net-id | 全1 | 不可 | 可以 | 对net-id上的所有主机进行广播
    127 | 非全0或全1的任何数 | 可以 | 可以 | 用作本地软件环回测试之用
  • 4.IP地址的一些重要特点
    • **IP地址是一种分级别的地址结构。**分两个等级的好处是
      • 第一,IP地址管理机构在分配IP地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了IP地址的管理
      • 第二,路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间
    • 实际上IP地址是标志一个主机(或路由器)和一条链路的接口
      • 当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的IP地址,其网络号net-id必须是不同的。这种主机称为多归属主机
      • 由于一个路由器至少应当连接到两个网络(这样它才能将IP数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的IP地址
    • 用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号net-id
    • **所有分配到网络号net-id的网络,无论是范围很小的局域网,还是可能覆盖很大地理范围的广域网,都是平等的

2.3.IP地址与硬件地址

  • IP地址与硬件地址是不同的地址
  • 从层次的角度看,
    • **硬件地址(或物理地址)**是数据链路层和物理层使用的地址。
    • IP地址是网络层和以上各层使用的地址,是一种逻辑地址(称IP地址是逻辑地址是因为IP地址是用软件实现的)

2.4.地址解析协议ARP

  • 通信时使用了两个地址:
    • IP地址(网络层地址)
    • MAC地址(数据链路层地址)
  • 地址解析协议ARP的作用
    • 已经知道了一个机器(主机或路由器)的IP地址,如何找出其相应的硬件地址?
    • 地址解析协议ARP就是用来解决这样的问题的
    • 作用:从网络层使用的IP地址,解析出在数据链路层使用的硬件地址
  • 地址解析协议ARP要点
    • 不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。
    • 每一个主机都设有一个ARP高速緩存(ARP chche),里面有所在的局域网上的各主机和路由器的IP地址到硬件地址的映射表
    • 当主机A欲向本局域网上的某个主机B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址。
      • 如果有,就可查出其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过局域网MAC帧发往此硬件地址
      • 如果没有,ARP进程在本局域网上广播发送一个ARP请求分组。收到ARP响应分组后,将得到的IP地址到硬件地址的映射写入ARP高速缓存。
  • ARP高速缓存的作用
    • 存放最近获得的IP地址到MAC地址的绑定,以减少ARP广播的数量
    • 为了减少网络上的通信量,主机A在发送其ARP请求分组时,就将自己的IP地址到硬件地址的映射写入ARP请求分组。
    • 当主机B收到A的ARP请求分组时,就将主机A的这一地址映射写入主机B自己的ARP高速缓存中。这对主机B以后向A发送数据报时就更方便了。
  • 应当注意的问题
    • ARP是解决同一局域网上的主机或路由器的IP地址和硬件地址的映射问题。
    • 如果所要找的主机和源主机不在同一个局域网上,那么就要通过ARP找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。
    • 从IP地址到硬件地址的解析是自动进行的,主机的用户对这种地址解析过程是不知道的。
    • 只要主机或路由器要和本网络上的另一个已知IP地址的主机或路由器进行通信,ARP协议就会自动地将该IP地址解析为链路层所需要的硬件地址。
  • 使用ARP的四种典型情况
    • 发送方是主机,要把IP数据报发送到本网络上的另一个主机。这时用ARP找到目的主机的硬件地址。
    • 发送方是主机,要把IP数据报发送到另一个网络上的一个主机。这时用ARP找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。
    • 发送方是路由器,要把IP数据报转发到本网络上的一个主机。这时用ARP找到目的主机的硬件地址
    • 发送发是路由器,要把IP数据报转发到另一个网络上的一个主机。这时用ARP找到本网络上另一个路由器的硬件地址。剩下的工作由这个路由器来完成
  • 问题:我们为什么不直接使用硬件地址进行通信?
    • 由于全世界存在各式各样的网络剧哦,它们使用不同的硬件地址。要使这些异构网络能够相互通信就不许进行非常复杂的硬件地址转换工作,因此几乎是不可能的事。
    • IP编码把这个复杂问题解决了。连接到互联网的主机只需各自拥有一个唯一的IP地址,它们之间的通信就像连接在同一个网络上那样简单方便。
    • 因此,在虚拟的IP网络上用IP地址进行通信给广大的计算机用户带来了很大的方便

2.5.IP数据报的格式

  • 一个IP数据报由首部数据两部分组成。
  • 首部的前一部分是固定长度,共20字节,是所有IP 数据报必须具有的。
  • 在首部的固定部分的后面是一些可选字段,其长度是可变的
  • 1.IP数据报首部的固定部分中的个字段
    • 版本:表明是IPv4版本还是IPv6版本
    • 首部长度——占4位,克表示的最大数值是15个单位(一个单位为4字节),因此IP的首部长度的最大值是60字节
    • 区分服务——占8位,用来获得更好的服务。在旧标准中叫做服务类型,但实际上一直未被使用过。1998年这个字段改名为区分服务。志勇在使用区分服务(DiffServ)时,这个字段才起作用。一般情况下都不使用这个字段
    • 总长度——占16位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为65535字节(总长度必须不超过最大传送单元MTU)
    • 标识(identification)——占16位。它是一个计数器,用来产生IP数据报的标识
    • 标志(flag)——占3位,目前只有前两位有意义。
      • 标志字段的最低位是MF(MOre Fragment)。MF = 1表示后面还有分片。MF = 0 表示最后一个分片。
      • 标志字段中间的一位是DF(Don`t Fragment)。只有当DF = 0 时才允许分片。
    • 片偏移——占13位,指出:较长的分组在分片后某片在原分组中的相对位置 (原位置/8 = 片偏移)
    • 生存时间——占8位,记为TTL(Time To Live),指示数据报在网络中可通过的路由器数的最大值
    • 协议——占8位,指出此数据报携带的数据使用何种协议,以便目的主机的IP层将数据部分上交给那个处理过程
    • 首部检验和——占16位,只检验数据报的首部,不检验数据部分。这里不采用CRC检验码而采用简单的计算方法
    • 源地址——占4字节
    • 目的地址——占4字节
  • IP数据报分片例题
    • 一个数据报的总长度位3820字节,其数据部分的长度为3800字节(使用固定首部),需要分片为长度不超过1420字节的数据报片。
    • 因固定首部长度为20字节,因此每个数据报片的数据部分长度不能超过1400字节。
    • 于是分为3个数据薄片,其数据部分的长度分别为1400、1400和1000字节
    • 原始数据报首部被复制为个数据报片的首部,但必须修改有关字段的值
    • **解:**IP数据报首部中与分片有关的字段中的数值
总长度标识MFDF片偏移
原始数据报382012345000
数据报片1142012345100
数据报片214201234510175
数据报片310201234500350

2.6.IP层转发分组的流程

  • 假设:有4个A类网络通过三个路由器连接在一起。每一个网络上可能有成千上万个主机
  • 可以想象,**若按目的主机号来制作路由表,**每一个路由表就由4万个项目,即4万行(每一行对应一台主机),则所得出的路由表就会过于庞大。
  • 若按主机所在的网络地址来制作路由表,那么每一个路由器中的路由表就只包含4个项目(每一行对应一个网络),这样就可使路由表大大简化。
  • 查找路由表
    • 根据目的网络地址就能确定下一跳路由器,这样做的结果是:
      • IP数据报最终一定可以找到目的主机所在的目的网络上的路由器(可能要通过多次的间接交付
      • 只有到达最后一个路由器时,才试图向目的主机进行直接交付
  • 特定主机路由
    • 虽然互联网所有的分组转发都是基于目的主机所在的网络,但在大多数情况下都允许有这样的特例,即为特定的目的主机指明一个路由。
    • 采用特定主机路由可使网络管理人员能更方便地控制网络和测试网络,同时也可在需要考虑某种安全问题时采用这种特定主机路由。
  • 默认路由(default route)
    • 路由器还可采用默认路由减少路由表所占用的空间和搜索路由表所用的时间
    • 这种转发方式在一个网络只有很少的对外连接时是很有用的
    • 默认路由在主机发送IP数据报时往往更能显示出它的好处
    • 如果一个主机连接在一个小网络上,而这个网络只用一个路由器和互联网连接,那么在这种情况下使用默认路由是非常合适的。
  • 路由器分组转发算法
    • 1.从数据报的首部提取目的主机的IP地址D,得出目的网络地址为N
    • 2.若网络N与此路由器直接相连,则把数据报直接交付目的主机D;否则是间接交付,执行(3)。
    • 3.若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)
    • 4.若路由表中有到达网络N的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行(5)
    • 5.若路由表总有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)
    • 6.报告转发分组出错。

三、划分子网和构造超网

3.1.划分子网

1.从两级IP地址到三级IP地址

  • 在ARPARNET的早期,IP地址的设计确实不够合理
    • 1.IP地址空爱你的利用率有时很低。
    • 2.给每一个物理网络分配一个网络号回使路由表变得太大因而使网络性能变坏
    • 3.两级的IP地址不够灵活。
  • 三级IP地址
    • 从1985年起在IP地址中又增加了一个子网号字段,使两级的IP地址变成为三级的IP地址
  • 划分子网的基本思路
    • 划分子网纯属于一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。
    • 从主机号借用若干位作为子网号subnet-id,而主机号host-id也就相应减少了若干位。
    • 凡是从其他网络发送给本单位某个主机的IP数据报,仍然是根据IP数据报的目的网络号net-id,先找到连接在本单位网络上的路由器
    • 然后此路由器在收到IP数据报后,再按目的网路号net-id和子网号subnet-id找到目的子网。
  • 划分子网后变成了三级结构
    • 当没有划分子网时,IP地址是两级结构
    • 划分子网后IP地址就变成了三级结构
    • 划分子网只是把IP地址的主机号host-id这部分进行再划分,而不改变IP地址原来的网络号net-id

2.子网掩码

  • 从一个IP数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网划分。
  • 使用子网掩码(subnet mask)可以找出IP地址中的子网部分。
  • 规则
    • 子网掩码长度 = 32 位
    • **某位 = 1:**IP地址中的对应位为网络号和子网号。
    • **某位 = 0:**IP地址中的对应位为主机号。
  • 默认子网掩码
    • A类地址的默认子网掩码为:255.0.0.0
    • B类地址的默认子网掩码为:255.255.0.0
    • C类地址的默认子网掩码为:255.255.2555.0
  • 子网掩码是一个网络或子网的重要属性
    • 路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器
    • 路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码。
    • 若一个路由器连接在两个子网上就拥有两个网络地址和两个子网掩码。
  • 子网划分的方法
    • 固定长度子网变长子网两种子网划分方法。
    • **在采用固定长度子网时,所划分的所有子网的子网掩码都是相同的。
    • 虽然根据已成为互联网博标准协议的RFC 950文档,子网号不能全1全0,但随着无分类域间路由选择CIDA的广泛使用,现在全1和全0的子网号也可以使用了,但一定要谨慎使用,确认你的路由器所用的路由选择软件是否支持全0或全1的子网号这种较新的用法。
    • **划分子网增加了灵活性,但却减少了能够连接在网络上的主机总数。

3.2.使用子网时分组的转发

  • 在不划分子网的两级IP地址下,从IP地址得出网络地址是个很简单的事。
  • 但在划分出子网的情况下,从IP地址确不能唯一地都出网络地址来,这是因为网络地址却绝育那个网络所在用的子网掩码,但数据报的首部并没有提供子网掩码的信息
  • 因此分组转发的算法也必须做先相应的改动。

3.3.无分类编制CIDR(无类别域间路由)

1.网络前缀

  • 划分子网在一定程度上缓解了互联网在发展中遇到的困难。然而在1992年互联网仍然面临三个必须尽早解决的问题:
    • 1.B类地址在1992年已分配了近一半,眼看就要在1994年3月全部分配完毕
    • 2.互联网主干网上的路由表中的项目数急剧增长(从几千个增长到几万个)
    • 3.这个IPv4的地址空间最终将全部耗尽。
  • IP编制问题的演进
    • 1987年,RFC 1009就殖民了在一个划分子网的网络中可同时使用几个不同的子网掩码。
    • 使用**变长子网掩码VLSM(Varible Length Subnet Mask)**可进一步提高IP地址资源的利用率。
  • CIDR最主要的特点
    • CIDR消除了传统的A类、B类和C类地址以及划分子网的概念,因而可以更加有效地分配IPv4的地址空间。
    • CIDR使用各种长度的网络前缀(network-prefix)来代替分类地址中的网络号和子网号
    • **IP地址从三级编址(使用子网掩码)又回到了两级编址。
  • 无分类的两级编址:
    • 无分类的两级编址的记法是:**IP地址 = {<网络前缀>,<主机号>}
    • CIDR使用斜线记法(slash notation),它又称为CIDR记法,即在IP地址面加上一个斜线**/**,然后写上网络前缀所占的位数(这个数值对应于三级编址中子网掩码中1的个数)。例如:220.78.168.0/24
  • CIDR地址块
    • CIDR把网络前缀都相同的连续的IP地址组成CIDR地址块
    • 128.14.32/20表示的地址块共有2^12个地址(因为斜线后面的20是网络前缀的位数,所以这个地址的主机号是12位)
      • 这个地址块的起始地址是128.14.32.0
      • 在不需要指出地址块的起始地址时,也可以将这样的地址块简称为**/20地址块**
      • 128.14.32.0/20地址块的最小地址:128.14.43.0
      • 128.14.32.0/20地址块的最大地址:128.14.47.255
      • **全0和全1的主机号地址一般不使用。
  • 路由聚合(route aggregation)
    • 一个CIDR地址块可以表示很多地址,这种地址的聚合常称为路由聚合,它使得路由表中的一个 项目可以宝石很多个(例如上千个)原来传统分类地址的路由。
    • 路由聚合有利于减少路由器之间的路由选择信息的交换,从而提高了整个互联网的性能。
    • 路由聚合也成为了构成超网(supernetting)

2.最长前缀匹配

  • 使用CIDR时,路由表中的每个项目由网络前缀下一跳地址组成。在查找路由表时可能会得到不止一个匹配结果
  • 应当从匹配结果中选择具有最长网络前缀的路由:最差前缀匹配(longest-prefix matching)。
  • 网路前缀越长,其地址块就越小,因而路由就越具体(more specific)
  • 最长前缀匹配又称为最长匹配最佳匹配

3.使用二叉树线索查找路由表

  • 当路由表的项目数很大时,怎样设法减小路由表的查找时间就成为一个非常重要的问题。
  • 为了进行更加有效地查找,通常是将无分类编址的路由表存放在一种层次的数据结构中,然后自上而下地按层次进行查找。这里最常用的就是二叉线索(binary trie)
  • IP地址中从左到右的比特值决定了从根节点逐层向下层延伸的路径,而二叉线索中的各个路径就代表路由表中存放的各个地址。
  • 为了提高二叉线索的查找速度,广泛使用了各种压缩技术。

四、网际控制报文协议ICMP

4.1.ICMP的概述

  • 为了更有效地转发IP数据报和提高交付成功的机会,在网际层使用了网际控制报文协议ICMP(Internet Control Message Protocol)
  • ICMP是互联网的标准协议。
  • ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。
  • 但ICMP不是搞成协议(看起来好像是高层协议,因为ICMP报文是装在IP数据报中,作为其中的数据部分),而是IP层的协议。

4.2.ICMP报文的类型

  • ICMP报文的种类有两种,即ICMP差错报告报文和ICMP询问报文
  • ICMP报文的前4个字节是统一的格式,共有三个字段:即类型代码检验和。接着的4个字节的内容与ICMP的类型有关。
  • ICMP差错报告报文
    • ICMP差错报告报文共有4种
      • 终点不可达
      • 时间超过
      • 参数问题
      • 改变路由(重定向)(Redirect)
    • ICMP差错报告波阿文的数据字段的内容
      • ICMP的前八个字节
      • IP数据报首部(8字节)
    • 不应发送ICMP差错报告报文的几种情况
      • 对ICMP出错报告报文不在发送ICMP差错报告报文
      • 对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文。
      • 对具有多播地址的数据报都不发送ICMP差错报告报文。
      • 对具有特殊地质(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文。
  • ICMP查询报文
    • ICMP查询报文有两种
      • 回送请求和回答报文。
      • 时间戳请求和回答报文。
    • 以下的几种ICMP报文不在使用:
      • 信息请求与回答报文
      • 掩码地址请求和回答报文
      • 路由器询问和通告报文
      • 源点抑制报文

4.3.ICMP的应用举例

  • PING(Packet InterNet Groper)
    • PING用来测试两个主机之间的连通性
    • PING使用了ICMP回送请求与回送回答报文。
    • PING的应用举例 (ping百度为例)
  • Traceroute
    • 在Windows操作系统中这个命令是tracert。
    • 用来跟踪一个分组从源点到终点的路径。
    • 它利用IP数据报中的TTL子弹和ICMP时间超过差错报告报文实现对源点到终点的路径的跟踪。

五、互联网的路由选择协议

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

1.理想的路由算法

  • 算法必须是正确的和完整的
  • 算法在计算上应简单
  • 算法应能适应通信量和网络拓扑的变化,这就是说,要有自适应性
  • 算法应是公平的
  • 算法应是最佳的
  • 关于最佳路由
    • 不存在一种绝对的最佳路由算法
    • 所谓最佳只能是相对于某一种特定要求下得出的较为合理的选择而已。
    • 实际的路由选择孙发,应尽可能接近于理想的算法。
    • 路由选择是个非常复杂的问题。
      • 它是网络中的所有结点共同协调工作的结果。
      • 路由选择的环境往往是不断变化的,而这种变化有时无法事先知道。
  • 从算法的自适应性考虑
    • 静态路由选择策略——即非自适应路由选择,其特点是简单和开销较小,但不能及时适应网络状态的变化。
    • 动态路由选择策略——即自适应路由选择,其特点是能较好地适应网络状态的变化,但实现起来较为复杂,开销也比较大。

2.分层次的路由选择协议

  • 互联网采用分层次的路由选择协议。这是因为:
    • 互联网的规模非常大。如果让所有的路由器知道所有的网络应怎样到达,则这种路由表将非常大,处理起来也太花时间。而所有这些路由器之间交换路由信息所需的带宽就会使互联网的通信链路饱和。
    • 许多单位不愿意外界了解自己单位网络的布局细节和本部门所采用的路由选择协议(这属于本部门内部的事情),但同时还希望连接到互联网上。
  • 自治系统AS(Autonomous System)
    • **自治系统AS的定义:**在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量以确定分组在该AS内的路由,同时还使用一种AS之间的路由选择协议用以确定分组在AS之间的路由。
    • 现在对自治系统AS的定义强调下面额事实:尽管一个AS使用了多种内部路由选择协议和度量,但重要的是一个AS对其他AS表现出的是一个单一的和一致的路由选择策略
  • 互联网有两大类路由选择协议
    • 内部网关协议IGP(Interior Gateway Protocol)
      • 在一个自治系统内部使用的路由选择协议
      • 目前这类路由选择协议使用的最多,如RIP和OSPF协议
    • 外部网关协议EGP(External Gateway Protocol)
      • 若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议EGP
      • 在外部网关协议中目前使用最多的是BGP-4

5.2.内部网关协议RIP

  • 工作原理
    • 路由信息协议RIP(Routing information Protocol)是内部网关协议IGP中最先得到广泛使用的协议。
    • RIP是一种分布式的、基于距离向量的路由选择协议。
    • RIP协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录
  • 距离的定义
    • RIP认为一个好的路由就是它通过的路由器的数目少,即距离短
    • RIP允许一条路径最多只能包含12个路由器。
    • 距离的最大值为116时即相当于不可达。可见RIP只适用于小型互联网。
    • RIP不能在两个网络之间同时适用多条路由。RIP选择一个具有最少路由器的路由(即最短路由),拿牌还存在另一条高速(低时延)但路由器较多的路由。
  • RIP协议的三个特点
    • 仅和相邻路由器交换信息。
    • 交换的信息时当前本路由器所知道的全部信息,即自己的路由表。
    • 按固定的时间间隔交换路由信息,例如,每隔30秒。当网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息。
  • 路由表的建立
    • 路由器在刚刚开始工作时,只知道直接连接的网络距离(此距离定义为1)。它的路由表时空的。
    • 以后,每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。
    • 经过若干次更新后,所有的路由器最终都会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器的地址。
    • RIP协议的收敛(convergence)过程较快。收敛就是在自治系统所有的节点都得到正确的路由选择信息的过程。

5.3.内部网关协议OSPF

  • 开放最短路径优先OSPF(OPen Shortest Path First)是为客服RIP的缺点在1989年开发出来的。
  • OSPF的原理很简单,但实现起来却较为复杂。

1.OSPF协议的基本特点

  • 开放表明OSPF协议不是受某一家厂商控制,而是公开发表的。
  • 最短路径优先是因为使用了Djkstra提出的最短路径算法SPF
  • 采用分布式的链路状态协议(link state Protocol)
  • 注:OSPF只是一个协议的名字,它并不表示其他的路由选择协议不是最短路径优先

2.三个要点

  • 向本自治系统中所有路由器发送消息,这里使用的方法是洪泛法
  • 发送的信息就是与本路由器相邻的所有路由器的链路信息,但这只是路由器所知道的部分信息
    • 链路状态就是说明本路由器都和哪些路由器相邻,以及该链路的度量(metric)
  • 只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。

3.链路状态数据库(link-state-database)

  • 由于各路由器之间频繁地交换链路状态信息,因此所有的路由器最终都能建立一个链路状态数据库。
  • 这个数据库实际上就是**全网的拓扑结构图,它在全网范围内是一致的(这称为链路状态数据库的同步)
  • OSPF的链路状态数据库能**较快地进行更新,**使各个路由器能及时更新其路由表。
  • OSPF的更新过程收敛的快是其重要优点。

4.OSPF的区域(area)

  • 为了使OSPF能够用于规模很大的网络,OSPF将一个自治系统再划分为若干个更小的范围,叫做区域

5.划分区域

  • 划分区域的好处就是将雷勇洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统,这样就减少了整个网络上的通信量。
  • 在一个区域内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑的情况。
  • OSPF使用层次结构的区域划分。在上层的区域叫做主干区域(backbone area)
  • 主干区域的标识符规定为0.0.0.0。主干区域的作用是用来连通其他在下层的区域。

6.OSPF的五种分组类型

  • 类型1,问候(hello)分组。
  • 类型2,数据库描述(database Description)分组。
  • 类型3,链路状态请求(Link State Request)分组。
  • 类型4,链路状态更新(Link State Update)分组。
    • 洪泛法对全网更新链路状态。
  • 类型5,链路状态确认(Link State Acknowledgement)分组。

7.OSPF的基本操作

在这里插入图片描述

5.4.外部网关协议BGP

  • BGP是不同自治系统的路由器之间交换路由信息的协议。

六、IPv6

6.1.IPv6的基本首部。

  • IPv6的主要变化
    • 更大的地址空间。IPv6将地址从IPv4的32位增大到了128位
    • 扩展的地址层次结构。
    • 灵活的首部格式。IPv6定义了许多可选的扩展首部
    • 赶紧的学徐昂。IPv6允许数据报包含有选项的控制信息,其选项放在有效载荷中。
  • IPv6数据报的一般形式
    • IPv6数据报由两大部分组成:
      • 基本首部(base header):40字节
      • 有效载荷(payload)。不超过65535字节。有效载荷也称为净负荷。有效载荷允许有零个或多个扩展首部(extension header),再后面是数据部分。

标签:主机,网络层,网络,计算机网络,地址,IP地址,路由,路由器
来源: https://blog.csdn.net/weixin_44861708/article/details/111994856

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有