网络层

作者: 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的较好的路由。也就是构造连通树形结构。

相关文章

  • 网络-网络层

    网络层 网络层数据包(IP数据包,Packet)由首部、数据2部分组成数据:很多时候是由传输层传递下来的数据段(S...

  • 网络层

    虚电路服务和数据报服务的对比 网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。ARP:地址解析协...

  • 网络层

    出处 https://www.cnblogs.com/whgk/p/6110474.html TCP/IP协议栈:...

  • 网络层

    姓名 楼竞扬 学号 15020199020 转自:http://www.jianshu.com/p/32eba43...

  • 网络层

    网络层的功能:异构网络互联;路由与转发;拥塞控制 1.异构网络互联 网络的互联是指将两个以上的计算机网络,通过一定...

  • 网络层

    网络层 应用层:应用程序准备需要传输的文件 传输层:将文件分段 并编号 网络层:添加目标IP地址源IP地址 数据链...

  • 网络层

    路由选择协议 距离矢量路由选择协议(DV:RIP、IGRP) 1、跳数、广播地址、收敛时间 2、改进: 路...

  • 网络层

    姓名 连嘉玮 学号 16040120089 转自:http://www.jianshu.com/p/32eba43...

  • 网络层

  • δ网络层

    数据平面 网络层要解决的问题是什么?要解决的是数据交付的问题,并且交付的过程是尽力交付,而不是可靠交付。对于数据平...

网友评论

      本文标题:网络层

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