网络层

作者: juriau | 来源:发表于2020-07-01 12:20 被阅读0次

    目录

    • IP协议
      • IPv4
        • IPv4地址
        • IPv4数据报
      • IPv6
        • IPv4和IPv6的区别
        • 过渡技术
    • 配套协议
      • ARP
      • ICMP
    • 路由转发协议
      • 内部网关协议RIP
      • 开放最短路径OSPF
      • 边界网关协议BGP

    一 IP协议

    1.1IPv4

    IPv4地址

    IP 地址的编址方式经历了三个历史阶段:

    (1)分类的IP地址

    IP地址由两部分组成:网络号和主机号。不同分类具有不同且固定的网络号长度。

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

    (2)划分子网

    通过在主机号字段中拿一部分作为子网号,把两级 IP 地址划分为三级 IP 地址。

    IP 地址 ::= {< 网络号 >, < 子网号 >, < 主机号 >}

    要使用子网,必须配置子网掩码。一个 B 类地址的默认子网掩码为 255.255.0.0,如果 B 类地址的子网号占两个比特,那么子网掩码为 11111111 11111111 11000000 00000000,也就是 255.255.192.0。

    注意,外部网络看不到子网的存在。

    (3)无分类 / 构成超网

    无分类编址 CIDR的目的是按需分配。它消除了传统 A 类、B 类和 C 类地址以及划分子网的概念,使用网络前缀和主机号来对 IP 地址进行编码,IP地址从三级又回到了两级编址。

    IP 地址 ::= {< 网络前缀号 >, < 主机号 >}

    CIDR 的记法上采用在 IP 地址后面加上网络前缀长度的方法,例如 128.14.35.7/20 表示前 20 位为网络前缀。CIDR 的地址掩码可以继续称为子网掩码,子网掩码首 1 长度为网络前缀的长度。

    CIDR把网络前缀都相同的连续的IP地址组成一个“CIDR地址块”,这种地址的聚合常称为路由聚合或构成超网。它使得路由表中的一个项目可以表示原来传统分类地址的很多个(例如上千个)路由。

    在路由表中的项目由“网络前缀”和“下一跳地址”组成,在查找时可能会得到不止一个匹配结果,应当采用最长前缀匹配来确定应该匹配哪一个。

    Q:子网掩码的作用是什么?
    为了方便路由器进行快速转发使用的。
    子网掩码就是对网络进行标识,大大减少了路由表的路由项,提高转发速度。

    IPv4数据报

    1.2 IPv6

    IPv4和IPv6的区别

    Q:IPv4和IPv6的区别:

    1. IP地址方面:
    • 地址空间增加:v4地址是32位,v6地址是128位;
    • 地址表示不同:v4是点分十进制,v6是冒分十六进制;
      如:192.168.0.1 和 2001:0db8:85a3:08d3:1319:8a2e:0370:7344
    1. ip数据报格式方面:

    v6的头部字段比v4精简了很多,这样可以使得网络数据传输更快。

    过渡技术

    1. 双协议栈:网络设备,服务器等支持两种协议栈
    2. 隧道:通过隧道,IPv6分组被作为无结构无意义的纯数据封装在IPv4的数据报中。或者反过来,IPv4分组被作为春数据封装在IPv6的数据报中。
    3. 地址转换:把IPv4地址转换到IPv6地址

    二 配套协议

    与 IP 协议配套使用的还有三个协议:

    • 地址解析协议 ARP(Address Resolution Protocol)
    • 网际控制报文协议 ICMP(Internet Control Message Protocol)
    • 网际组管理协议 IGMP(Internet Group Management Protocol)

    ARP

    网络层实现主机之间的通信,而链路层实现具体每段链路之间的通信。在通信过程中,IP 数据报的源地址和目的地址始终不变,而 MAC 地址随着链路的改变而改变。

    ARP 实现由 IP 地址得到 MAC 地址。每个主机都有一个 ARP 高速缓存,里面有本局域网上的各主机和路由器的 IP 地址到 MAC 地址的映射表。

    如果主机 A 知道主机 B 的 IP 地址,但是 ARP 高速缓存中没有该 IP 地址到 MAC 地址的映射,此时主机 A 通过广播的方式发送 ARP 请求分组,主机 B 收到该请求后会发送 ARP 响应分组给主机 A 告知其 MAC 地址,随后主机 A 向其高速缓存中写入主机 B 的 IP 地址到 MAC 地址的映射。

    ICMP

    ICMP 是为了更有效地转发 IP 数据报和提高交付成功的机会。ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。

    它封装在 IP 数据报中,作为其中的数据部分,但是不属于高层协议。

    ICMP 报文分为差错报告报文和询问报文。


    Ping:Ping 是 ICMP 的一个重要应用,主要用来测试两台主机之间的连通性。

    Ping 的原理是通过向目的主机发送 ICMP Echo 请求报文,目的主机收到之后会发送 Echo 回答报文。Ping 会根据时间和成功响应的次数估算出数据包往返时间以及丢包率。

    Traceroute:Traceroute 是 ICMP 的另一个应用,用来跟踪一个分组从源点到终点的路径。

    三 路由选择协议

    路由选择可分为:

    1. 静态路由选择/非自适应路由选择:由人工配置的路由。其特点是简单和开销较小,但不能及时适应网络状态的变化。适用于很简单的小网络。
    2. 动态路由选择/自适应路由选择:能较好的适应网络状态的变化,但实现较为复杂,开销也比较大。适用于较复杂的大网络。

    互联网采用的路由选择协议主要是自适应的,能随着网络通信量和拓扑结构的变化而自适应地进行调整。

    互联网可以划分为许多较小的自治系统 AS,在AS内部和AS之间分别进行路由选择。比如一个大的ISP就是一个AS。这样,互联网就把路由选择协议划分为两大类:

    1. 自治系统内部的路由选择:RIP 和 OSPF
    2. 自治系统间的路由选择:BGP

    内部网关协议RIP

    RIP 是一种基于距离向量的路由选择协议。使用跳数作为距离度量,直接相连的路由器跳数为 1。跳数最多为 15,超过 15 表示不可达。

    RIP的特点:(和那些路由器交换信息?交换什么信息?在什么时候交换信息?)

    • 仅与相邻路由器交换信息。
    • 路由器交换的信息是当前路由器所知道的全部信息,即自己现在的路由表。
    • 按固定的时间间隔交换路由信息。

    RIP 协议实现简单,开销小。但是 RIP 能使用的最大距离为 15,限制了网络的规模。并且当网络出现故障时,要经过比较长的时间才能将此消息传送到所有路由器。

    开放最短路径OSPF

    开放最短路径优先 OSPF,基于Dijkstra 提出的最短路径算法 SPF,使用链路状态作为距离度量。

    链路状态包括与哪些路由器相连以及链路的度量/代价,代价用来表示费用、距离、时延、带宽等,这些由网络管理人员来决定。

    OSPF 具有以下特点:(和那些路由器交换信息?交换什么信息?在什么时候交换信息?)

    • 向本自治系统中的所有路由器发送信息,这种方法是洪泛法。
    • 发送的信息就是与相邻路由器的链路状态,这只是自己知道的部分信息。
    • 只有当链路状态发生变化时,路由器才会发送信息。

    所有路由器都具有全网的拓扑结构图,并且是一致的。相比于 RIP,OSPF 的更新过程收敛的很快。

    边界网关协议BGP

    AS 之间的路由选择很困难,主要是由于:

    • 互联网规模很大;
    • 各个 AS 内部使用不同的路由选择协议,无法准确定义路径的度量;
    • AS 之间的路由选择必须考虑有关的策略,比如政治、安全、经济等问题。

    所以BGP 只能寻找一条比较好的路由,而不是最佳路由。

    每个 AS 都必须配置 BGP 发言人,AS之间通过在两个相邻 BGP 发言人之间建立 TCP 连接来交换路由信息。

    BGP所交换的网络可达行的信息就是要到达某个网络所要经过的一系列AS。

    BGP发言人根据所采用的策略,从收到的路由信息中找到到达各自AS的较好的路由。也就是构造连通树形结构。

    相关文章

      网友评论

          本文标题:网络层

          本文链接:https://www.haomeiwen.com/subject/adycqktx.html