高级计算机网络之——CCNA1_Introduction to networks(1)

8. 网络层

网络层的特征

网络层:OSI第3层,提供能让终端设备跨整个网络交换数据的服务。

网络层协议:

协议举例
通信协议IPv4、IPv6
路由协议开放式最短路径优先协议(OSPF)
消息传递协议Internet控制消息协议(ICMP)

网络层协议执行四个基本操作:

  • 终端设备编址——为终端设备配置唯一的IP地址;
  • 封装——将来自传输层的协议数据单元(PDU)封装到数据包中。封装过程中会添加IP报文信息(如Src和Dst的IP地址),由IP数据包的源主机执行;
  • 路由——网络层提供服务,将数据包转发至另一网络上的目的主机。要传送到其他网络,数据包必须经过路由器处理。路由器为数据包选择最佳路径,并将其转发至目的主机,该过程称为路由。
  • 解封——当数据包到达目的主机的网络层时,主机检查IP报头,若目的IP与自身IP匹配,将数据包的IP报头删除。解封后,后继的第4层PDU向上传递到传输层的相应服务。

下图是数据交换过程中的封装过程。

传输层的PDU是段(Segment)
网络层的PDU是数据包(packet)
数据链路层的 PDU是数据帧(frame)
物理层的 PDU是比特流(bit)
路由

图1. 数据交换过程中的封装过程

IP封装:IP通过添加IP报头将传输层数据段进行封装。

图2. 数据段的封装

IP数据包在通过网络传输到目的地时,会被第3层设备(即路由器和第3层交换机)检查IP报头。注意,数据包到达目的主机前,IP编址信息不变,除非是IPv4执行网络地址转换(NAT)的设备进行转换。

IP的基本特征:

  • 无连接——发送数据包前不与目的地建立连接。
  • 尽力而为——IP本质上是不可靠的,因为不保证数据包交付。
  • 介质无关性——其工作与传输数据的介质(即铜缆、光纤或无线)无关。

“尽力而为”(Best Effort):IP不需要报头中包含其他字段来维持建立的连接,这显著降低了IP的开销,但由于没有预先建立端到端连接,IP协议不保证交付的所有数据包都能被收到。

注:其他网络层协议将管理跟踪数据包的过程并确保数据包的送达。而不可靠表示IP不具备管理和恢复的能力,因此,

  1. 若数据包损坏或出错,IP无法重新传输数据包;
  2. 若数据包顺序错乱或丢失,使用数据或上层服务的应用程序必须解决这些问题。在TCP/IP协议簇中,可靠性是TCP协议在传输层的功能。

介质无关性:IP数据包的交付不限于任何特定的介质。

注:网络层会考虑最大传输单位(MTU)(即每种介质可以传输的最大PDU大小)。数据链路层将MTU值向上传送到网络层,网络层由此确定可以传送的数据包的大小。若中间设备(如Router)将IPv4数据包转发到具有更小MTU介质时,必须分割数据包,该过程称为分片,分片会导致延迟。IPv6数据包不能被路由器分片

小结

IPv4数据包

IPv4数据包报头字段:每个字段的二进制值用于确定IP数据包的各种设置。

图中所示的IP协议报头图表示了IPv4数据包中的字段:

图3. IPv4数据包报头中的字段

IPv4报头包含20个二进制八位组的可变长度报头(使用“选项”字段则高达60字节,即固定20字节+从1字节到40字节不等的选项)和12个基本报头字段(不包括“选项”和“填充”)

IPv4报头中的重要字段包括以下:

  • 版本——包含4位二进制值0100,用于标识IPv4数据包
  • 差分服务或区分服务(DS)——以前称为服务类型(ToS)字段。8位字段,用于确定数据包的优先级。DiffDerv字段的六个最高有效位是区分服务代码点(DSCP)位,后两位是显式拥塞通知(ECN)位。
  • 报头校验和——用于检测IPv4报头中的损坏
  • 生存时间(TTL)——8位二进制值,用于限制数据包的生命周期。当TTL减为零,Router丢弃该数据包并向源IP地址发送互联网控制消息协议(ICMP)超时消息。由于路由器减少每个数据包的TTL,因此必须重新计算报头校验和。
  • 协议——8位二进制,用于标识下一级协议。该值表示数据包包含的数据负载类型,使网络层将数据传送到相应的上层协议。常用值包括ICMP(1)、TCP(6)和UDP(17)。
  • 源IPv4地址——32位二进制值,始终为单播地址。
  • 目的IPv4地址——32位二进制值,目的IPv4地址为单播、组播或广播地址。

互联网报头长度(IHL)总长度报头校验和字段用于识别和验证数据包

其他字段用于重新排列分段的数据包:(当Router向具有较小MTU的另一种介质转发IPv4数据包时必须将它分片,)IPv4数据包用标识符标志片偏移量跟踪分段

小结

IPv6数据包

IPv4的局限性:

  • IPv4地址耗尽——IPv4 的可用唯一公有地址数量有限。
  • 缺乏端到端连接——网络地址转换(NAT)为多种设备共享单一的公有 IPv4 地址提供方法,但内部网络主机的 IPv4 地址会隐藏起来,这会给需要端到端连接的技术造成难题。
  • 增加的网络复杂性——NAT作为一种过渡到IPv6的机制,增加了网络的复杂性,造成了延迟且使故障排除更加困难。

IPv6解决了IPv4的限制并有着显著的功能提升,能更好地适应当前和可预见的网络需求。IPv6的功能提升包括:

  • 更大的地址空间——128位分层编址(IPv4是32位)。
  • 改进数据包处理过程——简化为更少的字段。
  • 消除了对NAT的需求——公有IPv6地址数额巨大,不再需要NAT,这可避免需要端到端连接的应用程序遇到由NAT引起的故障。

 IPv4 和 IPv6 地址空间的可视比较:

图4. IPv4和IPv6地址空间比较

IPv6较IPv4的一个重大改进是简化的IPv6报头,从而允许更高效地处理IPv6报头。简化IPv6报头包含40个二进制八位数的固定长度报头:

图5. IPv6数据包报头

IPv6数据包报头中的字段包括以下:

  • 版本——包含一个4位二进制值0110,用于标识这是IPv6数据包
  • 流量类别——8位字段,相当于IPv4区分服务(DS)字段。
  • 流标签——20位字段,建议所有含相同流标签的数据包接受相同类型的路由器处理。
  • 负载长度——16位字段,IPv6数据包的数据部分长度,这不包括IPv6报头长度,它是固定的40字节报头。
  • 下一报头——8位字段,相当于IPv4协议字段,表示数据包传送的数据负载类型,使网络层将数据传送到相应的上层协议。
  • 跳数限制——8位字段,取代IPv4的TTL字段。与IPv4不同,IPv6不包含报头校验和,因为此功能同时在下层和上层执行,这意味着校验和不需要降低跳数时重新计算,提高了网络性能。
  • 源IPv6地址——128位字段。
  • 目的IPv6地址——128位字段。

IPv6数据包还可能包含扩展报头(EH),以便提供可选的网络层信息。扩展报头为可选项,位于IPv6报头及负载之间,用于分段、安全性、移动性支持等。

与IPv4不同,Router不会对路由的IPv6数据包分段。

小结

主机路由方式

主机转发决策:

源主机必须能够将数据包定向到目的主机。为此,主机终端设备将创建自己的路由表。

网络层的另一个作用是在主机之间转发数据包。主机可以将数据包发送至:

  • 主机自己——主机可以向特定的地址(即环回接口,IPv4地址127.0.0.1,或者IPv6地址 ::1)发送数据包来向自己发起ping测试,从而测试主机上的 TCP/IP 协议堆栈。
  • 本地主机——目的主机与发送主机位于同一本地网络,共享同一网络地址。
  • 远程主机——位于远程网络上的目的主机,源和目的主机不共享同一个网络地址。

源端设备确定目的IP是否与本身源设备所在网络相同,确定方法因IP版本不同而异:

  • 在IPv4中,使用源设备的子网掩码、 IPv4 地址和目的 IPv4 地址进行此判断。
  • 在IPv6中,本地路由器将本地网络地址(前缀)通告给网络上的所有设备。

如果源设备发送数据包到与本主机在同一IP网络中的设备,则数据包仅是被转发出主机接口,然后经过中间设备(LAN交换机/无线接入点WAP等)直接到达目的设备;

如果源设备发送数据包到远程目的设备,则需要借助路由器和路由。

  • 路由是确定到达目的地之最佳路径的过程
  • 连接到本地网段的路由器称为默认网关是子网与外网连接的设备,可以将流量路由到其他网络。需要使用默认网关来发送本地网络之外的流量,若没有默认网关、未配置默认网关地址或默认网关关闭,则无法将流量转发到本地网络之外。

默认路由:

在网络上,默认网关通常是具有以下功能的路由器:

  • 它拥有与本地网络其他主机位于相同地址范围的本地 IP 地址;
  • 它可以接受数据到本地网络,并将数据转发出本地网络;
  • 它向其他网络路由流量。

主机的路由器通常包括默认网关。在IPv4中,主机通过动态主机配置协议(DHCP)动态接收默认网络IP地址,或手动配置;在IPv6中,Router通告默认网关地址,或在主机上手动配置。

配置默认网关会在PC的路由表中创建一个默认路由,这是计算机尝试联系远程网络时所用的路由或路径。下图中,PC1 和 PC2 均配置了 IPv4 地址 192.168.10.1作为默认网关。

图6. PC1 和 PC2 使用默认路由去往远程网络的所有流量发送到 R1

小结

路由简介

路由表显示了Router的所有已知IPv4目的地路由。

当一台主机发送数据包到另一条主机时,它将查询路由表来确定将数据包发送到哪里。如果目的主机位于远程网络,数据包被转发到默认网关。

当数据包到达Router接口时,Router会检查数据包的目的IP并搜索其路由表以确定将数据包转发到何处。路由表包含所有已知网络地址(前缀)以及数据包转发位置的列表,这些条目称为路由条目或路由,路由器将使用最佳(最长)匹配的路由条目转发数据包。

路由表存储三种类型的路由条目:

  • 直连网络——当接口配置了IP地址并激活时,Router添加直连路由。每个Router接口均连接到一个不同的网段。
  • 远程网络——Router通过管理员明确配置 或 使用动态路由协议交换路由信息来学习远程网络。
  • 默认路由——当IP路由表中没有更好(更长)的匹配时,将使用默认路由。路由器可通过两种方式获知远程网络:

路由器通过两种方式获知远程网络:

  • 手动
  • 动态

静态路由:手动配置的路由条目,包括远程网络地址和下一跳路由器的IP地址。下图是在R1上手动配置的静态路由的示例。

图7. 使用静态路由手动配置R1以达到10.1.1.0/24 网络。

静态路由的特征:

  • 必须手动配置静态路由。
  • 若拓扑发生变化,且静态路由不可用,需管理员重新配置静态路由。
  • 适用于小型网络且当冗余链路很少或没有的情况。
  • 通常与动态路由协议一起用于配置默认路由。

动态路由

动态路由协议可让Router自动与其他Router共享路由信息(学习远程网络包括默认路由),当网络拓扑结构发生变化,Router将使用动态路由协议共享此信息,并自动更新路由表。

动态路由协议包括OSPF和增强型内部网关路由协议(EIGRP)

网络管理员在动态路由协议中启用直连网络后,协议自动执行以下操作:

  • 发现远程网络
  • 维护最新路由信息
  • 选择通往目的网络的最佳路径
  • 当前路径无法再使用时尝试找出新的最佳路径

注:通常一些Router会同时使用静态路由和动态路由协议。

IPv4 路由表简介

特权 EXEC 模式命令 show ip route 用于查看思科 IOS 路由器上的 IPv4 路由表。每个路由表条目的开头都有一个代码,用于标识路由的类型或路由的学习方式。常见路由源(代码)包括以下内容:

  • L - 直连的本地接口 IP 地址
  • C - 直连网络
  • S - 静态路由由管理员手动配置
  • O - OSPF
  • D - EIGRP
小结

错题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值