《自顶向下法》学习笔记——第四章:网络层

第四章 网络层

1、概述

0)转发与路由选择:
    *转发涉及“分组”在单一的路由器中从一条入链路到一条出链路的传输;
    *路由选择涉及一个网络的所有路由器,它们经过路由选择协议共同交互,以决定分组从源到目的节点所采用的路径
0)路由选择算法:
    *路由选择算法的任务是决定从发送方到接收方的好路径;
    *两种最流行的算法类型为“链路状态算法”和“距离矢量算法”;
    *因特网自治系统内部的路由选择协议有RIP、OSPF和IS-IS,因特网自治系统间的路由选择协议有BGP。
0)网络层作用:
    
    *H1中的网络层取得来自H1运输层的报文段,将每个报文段封装成一个数据报(即一个网络层的分组),然后将该数据报向相邻路由器R1发送。在接收方主机H2,网络层接收来自相邻路由器R2的数据报,提取出运输层报文段,并将其向上交付给H2的运输层。
    *路由器的主要作用是将数据报从入链路转发到出链路。
1)转发和路由选择:
    *转发。当一个分组到达路由器的一条输入链路时,路由器必须将该分组移动到适当的输出链路。
    *路由选择。当分组从发送方流向接收方时,网络层必须决定这些分组所采用的路由或路径。计算这些路径的算法被称为“路由选择算法”。
    *转发是指将一个分组从一个输入链路接口转移到适当的输出链路接口的路由器本地动作。路由选择是指网络范围的过程,以决定分组从源到目的地锁采取的端到端路径。
    *转发表:
        a)每台路由器具有一张转发表;
        b)路由器通过检查到达分组首部字段的值来转发分组;
        c)储存在转发表中的该首部的值指出了该分组将被转发的路由器的输出链路接口;
        d)路由选择算法决定了插入路由器的转发表中的值。
    *分组交换机:
        a)分组交换机是指一台通用分组交换设备。它根据分组首部字段中的值,从数据链路接口到输出链路接口转移分组
        b)“链路层交换机”基于链路层字段中的值做转发决定;
        c)“路由器”基于网络层字段中的值做转发决定。
2)网络服务模型:
    *网络层能够提供的可能的服务:
        a)确保交付,确保分组将最终到达其目的地;
        b)具有时延上界的确保交付;
        c)有序分组交互;
        d)确保最小带宽;
        e)确保最大时延抖动;
        f)安全性服务,包括机密性、数据完整性等。
    *因特网的网络层提供“尽力而为”的单一服务:
         a )传输的分组不能保证最终交付;         
        b)分组间的定时不能被保证;
        c)分组接收的顺序不能保证与发射顺序一致。
    *其他的网络体系结果已定义和实现了许多超过因特网的尽力而为服务的服务模型,例如ATM网络体系结构。
2、虚电路和数据报网络
0)概述:
    *网络层也能够在两台主机之间提供无连接服务或连接服务,其在许多方面与运输层类似。
    *网络层连接服务除了在端系统中,也在位于网络核心的路由器中实现。
    *虚电路网络。仅在网络层提供 连接服务的计算机网络。
    *数据报网络。仅在网络层提供 无连接服务的计算机网络。    
1)虚电路网络:
    *一条虚电路的组成如下:
        a)源和目的主机之间的路径,即一系列链路和路由器;
        b)VC号,沿着该路径的每段链路的一个号码;
        c)沿着该路径的每台路由器中的转发表表项。
        属于一条虚电路的分组将在它的部首携带一个VC号,因为一条虚电路在每条链路上可能具有不同的VC号,每台中间路由器必须用一个新的VC号替代每个传输分组的VC号(该新的VC号从转发表中获得)。
    *虚电路中的三个阶段:链路建立 -> 数据传送 -> 链路拆除。
    *信令报文。端系统向网络发送的指示虚电路启动与终止的报文,以及路由器之间传递的用于建立虚电路的报文。
2)数据报网络:
    *在数据报网络中,每当一个端系统要发送一个分组,它就为该分组加上目的端系统的地址,然后将分组推进网络中。该过程无需建立任何虚电路,路由器不维护任何虚电路的状态信息。
    *分组从源到目的地通过一系列路由器传递。这些路由器中的每台都使用分组的目的地址来转发该分组。
    *每台路由器有一个将目的地址映射到链路接口的转发表,当分组到达路由器时,路由器使用该分组的目的地址在转发表中查找适当的输出链路接口,然后将该分组向该输出链路接口转发。
    *路由器用分组的目的地址的 前缀与转发表中的表项进行匹配,然后向与匹配项相联系的链路转发分组。
    *在数据报网络中的转发表是通过路由选择算法进行修改的,通常每1-5分钟左右更新一次转发表。
    *因为在数据报网络中的转发表能够在任意时刻修改,从一个端系统到另一个端系统发送的一系列分组可能在通过网络时走不同的路径,并可能无序到达。

3、路由器工作原理
   
1)输入端口:
    *在输入端口中进行的查找对路由器的运行是至关重要的。路由器使用转发表来查找输出端口,使得到达的分组将能经过交换结构转发到该输出端口。
2)交换结构:
    *通过交换结构,分组才能实际地从一个输入端口交换(转发)到一个输出端口中。
    *三种交换技术:经内存交换、经总线交换、经纵横网络交换。
3)输出端口:
    *输出端口处理取出存放在输出端口内存中的分组,并将其发送到输出链路上。
4、网际协议:因特网中的转发和编址
0)概述:
   
    *因特网的网络层有三个主要组件:
        a)IP协议;
        b)路由选择部分,它决定了数据报从源到目的地所流经的路径;
        c)ICMP协议,负责报告数据报中的差错,和对某些网络层的信息的请求响应。
1)数据报格式:
   
    *IPv4数据报的关键字段:

        a)版本号,部首长度,服务类型;
        b)数据报长度 => IP数据报的总长度,以字节记;
        c)标识,标志,片偏移 => 这三个字段与IP分片有关;
        d)寿命(TTL) => 用来确保数据报不会永远在网络中循环;
        e)上层协议 => 指示了IP数据报的数据部分应交给哪个特定的运输层协议,是网络层与运输层的粘合剂;
        f)部首校验和 => 用于帮助路由器检测收到的IP数据报中的比特错误。IP层只对IP部首计算了校验和,而TCP/UDP检验和是对整个TCP/UDP报文段进行的;
        g)源IP地址,目的IP地址;
        h)选项 => 选项字段允许IP部首被扩展;
        i)数据(有效载荷)。
    *一个IP数据报有总长为20字节的部首。如果数据报承载一个TCP报文段,则每个(无分片)数据报共承载总长为40字节的部首(20字节IP部首+20字节TCP部首)以及应用层报文。
1)IP数据报分片:
    *并不是所有链路层协议都能承载相同长度的网络层分组。例如,以太网帧能够承载不超过1500字节的数据,而某些广域网链路的帧只能承载不超过576字节的数据。
    *最大传输单元(MTU)。一个链路层帧能承载的最大数据量。链路层协议的MTU严格的限制着IP数据报的长度。
    *分片:
        a)解决如何将过大的IP分组装进链路层帧的有效载荷的问题;
        b)将IP数据报中的数据分片成多个较小的IP数据报,并用单独的链路层帧封装这些较小的IP数据报,然后向输出链路发送这些帧,每个这些较小的数据报都称为“分片”;
        c)为坚持网络内核保持简单的原则,IPv4的设计者决定将数据报的重新组装工作放到端系统中,而不是放到网络路由器中;
        d)当一台目的主机从相同源收到一系列数据报时,它需要确定这些数据报中的某些是否是一些原来较大的数据报的分片。如果是分片则它需进一步确定何时收到了最后一片,并且负责如何将这些分片拼接到一起形成初始的数据报;
        e)IPv4数据报部首中的标识、标识和片偏移字段用来进行分片重组的。
    *在目的地,数据报的有效载荷仅当在IP层已将分片完全重组为初始IP数据报时,才被传递给目的地运输层。如果一个或多个分片没有到达目的地,则该不完整的数据报被丢弃不会交给运输层。(TCP将通过让源以初始数据报来重传数据,以恢复这次丢包)
2)IPv4编址:
    *接口:
        a)一台主机通常只有一条链路连接到网络,当主机中的IP想发送一个数据报时它就在该链路上发送。主机与物理链路之间的边界叫做接口;
        b)路由器必须拥有两条或更多条链路与它连接。路由器与它任意一条链路之间的边界也叫做接口;
        c)一个IP地址技术上是与一个接口相关联的,在全球因特网中每台主机和路由器上的每个接口,必须有一个全球唯一的IP地址。
    *子网:为了确定子网,分开主机和路由器的每个端口,产生几个隔离的网络岛。使用接口连接这些隔离的网络的断点。这些隔离的网络中的每一个都是一个 子网
   
    *层次编址与路由聚合
   
        a)形式为a.b.c.d/x的地址的x位最高比特构成了IP地址的网络部分。
        b)剩余的32-x位比特可认为是用于区分该组织内部设备的,其中的所有设备具有相同的网络前缀。当组织内部的路由器转发分组时才会考虑这些比特。
    *获取一块地址:为了获取一块地址用于一个组织的子网,某网络管理员首先会与他的ISP联系,该ISP会从已分配给它的更大的地址块中提供一些地址。
    *获取主机地址:动态主机配置协议:
        a)DHCP允许主机自动获取一个IP地址;
        b)网络管理员能够配置DHCP,使某给定主机与每次网络连接时能得到一个相同的IP地址。或者某主机将被分配一个临时的IP地址,该地址在主机每次与网络连接时也许是不同的;
        c)由于DHCP具有能将主机连接进一个网络的网络相关方面的自动能力,故它又被称为“即插即用协议”;
        d)在最简单场合下,每个子网将具有一台DHCP服务器;
        e)DHCP是一个四个步骤的过程。DHCP服务器发现 => DHCP服务器提供 => DHCP请求 => DHCP ACK;
        f)DHCP的不足之处在于,每当节点连接到一个新子网时,要从DHCP得到一个新的IP地址。这样当一个节点在子网之间移动时,就不能维持与远程应用之间的TCP连接。
    *网络地址转换:NAT能使路由器对于外部世界来说甚至不像一台路由器。NAT路由器对外界的行为反过来就如同一个具有单一IP地址的单一网络设备。
   
3)因特网控制报文协议(ICMP):
    *ICMP通常被认为是IP的一部分,但从体系结构上讲它是位于IP之上的,因为ICMP报文是承载在IP分组中的。
4)IPv6:
    *数据报格式:
   
        a)IPv6将IP地址长度从32bit增加到128bit;
        b)简化高效的40字节定长部首;
        c)分片/重新组装。IPv6不允许在中间路由器上进行分片与重新组装,这种操作只能在源与目的主机上进行。如果路由器收到的IPv6数据报因太大而不能转发到输出链路上的话,路由器只需丢掉该数据报,并向发送方返回一个“分组太大”的ICMP差错报文即可。于是发送方能够使用较小长度的IP数据报重发数据。
5)IP安全性:
    *IPv4的设计是在因特网主要用于相互信任的互联网研究人员之间的时代。
    *现今因特网研究人员设计了提供各种安全性服务的新型网络层协议,其中之一是IPsec,它是一种非常流行的安全网络层协议,在虚拟专用网(VPN)中得到了广泛部署。
    *使用IPsec的运输模式,两台主机首先在它们之间创建一个IPsec会话,因此IPsec是面向连接的。使用适当的会话,在这两台主机之间发送的所有TCP和UDP报文都享受IPsec提供的安全性服务。
    *在发送端,运输层向IPsec传递一个报文段。 => IPsec然后加密该报文段,在报文段上添加附加的安全性字段,并且在一个普通的IP数据报中封装加密后得到的有效载荷。 => 发送主机接下来向因特网中发送数据报,因特网则将数据报传送到目的主机。 => 在目的主机,IPsec解密收到的报文段,并将脱敏的报文段传送给运输层。
    *当两台主机在它们之间创建了一个IPsec会话时,在它们之间发送的所有TCP和UDP报文段将被加密和鉴别。
5、路由选择算法
0)概述:
    *路由选择的工作是:确定从发送方到接收方通过路由器网络的好路径。
    *主机通常直接与一台路由器相连接,该路由器即为该主机的默认路由器(或第一跳路由器)。
    *一个分组从源主机到目的主机的路由选择问题,可以归结为从源路由器到目的路由器的路由选择问题。
    * 全局式路由选择算法
        a)用完整的、全局性的网络知识计算出从源到目的地之间的最低费用路径;
        b)该算法以所有节点之间的连通性及所有链路的费用为输入。这就要求算法在真正开始计算以前,要以某种方式获得这些信息。全局式算法具有关于连通性和链路费用的完整信息;
        c)实践中,具有全局状态信息的算法常被称作 链路状态算法(LS)
    *分散式路由选择算法:
        a)以迭代、分布式的方式计算出最低费用路径;
        b)没有节点拥有关于所有网络链路费用的完整信息,而每个节点仅有与其直接相连链路费用的知识即可开始工作。然后,通过迭代计算过程并与相邻节点交换信息,一个节点逐渐计算出到达某目的节点或一组目的节点的最低费用路径。
        c)算法的典型代表之一为 距离向量算法(DV)
1)链路状态路由选择算法:
    *典型算法为 Dijkstra算法。该全局路由选择算法由一个初始化步骤和其后的循环组成,循环执行的次数与网络中节点个数相同。一旦终止,该算法就计算出了从源节点到网络中每个其他节点的最短路径。
2)距离向量路由选择算法:
    *距离向量算法是一种迭代的、异步和分布式的算法。
        a)分布式,是因为每个节点都要从一个或多个直接相连邻居接收某些信息,执行计算,然后将其计算结果分发给邻居;
        b)迭代,是因为此过程一直要持续到邻居之间无更多信息需要相互交换为止;
        c)异步,是因为它不要求所有节点互相之间步伐一致地操作。
3)LS和DV算法比较:
    *在DV算法中,每个节点仅与它直接相连的邻居进行交谈,但它为其邻居提供了从它自己到网络中,它所知道的所有其他节点的最低费用估计。
    *在LS算法中,每个节点经广播与所有其他节点交谈,但它仅告诉其他节点与它自己直接相连链路的费用。
6、因特网中的路由选择
1)因特网中自治系统内部的路由选择:
    *历史上有两个路由选择协议曾被广泛用于因特网上自治系统内部的路由选择: 路由选择信息协议(RIP)开放最短路优先(OSPF)
2)自治系统间的路由选择:
    * 边界网关协议(BGP)
7、广播与多播路由选择
1)广播路由选择算法:
    *利用N此单播实现广播的算法实现简单,但效率低。
    *几种广播方法:
        a)无控制洪泛;
        b)受控洪泛;
        c)生成树广播。
2)多播:
    *略。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值