网络层【第三篇】

一、内部网关协议 RIP

路由信息协议 RIP (Routing Information Protocol) 是内部网关协议 IGP 中最先得到广泛使用的协议。

RIP 协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录。

RIP 是一种分布式的、基于距离向量的路由选择协议。

RIP 协议中的“距离”也称为“跳数”(hop count),因为每经过一个路由器,跳数就加 1。

  • 这里的“距离”实际上指的是“最短距离”。

RIP 不能在两个网络之间同时使用多条路由。RIP 选择一个具有最少路由器的路由(即最短路由),哪怕还存在另一条高速(低时延)但路由器较多的路由。

1.1RIP 协议的三个特点

  • (1) 仅和相邻路由器交换信息
  • (2) 交换的信息是当前本路由器所知道的全部信息,即自己的路由表
  • (3) 按固定的时间间隔交换路由信息,例如,每隔 30 秒。当网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息。

1.2工作过程

  1. 路由器在刚刚开始工作时,只知道到直接连接的网络的距离(此距离定义为1)。它的路由表是空的。
  2. 以后,每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。
  3. 经过若干次更新后,所有的路由器最终都会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器的地址。
  • RIP 协议让互联网中的所有路由器都和自己的相邻路由器不断交换路由信息,并不断更新其路由表,使得从每一个路由器到每一个目的网络的路由都是最短的(即跳数最少)。
  • 虽然所有的路由器最终都拥有了整个自治系统的全局路由信息,但由于每一个路由器的位置不同,它们的路由表当然也应当是不同的。

例子:

现在有一个r6的路由表:

现在收到相邻路由器 R4 发来的路由更新信息:

我们的具体做法是这样子的:

  • 首先将发送过来的r4表的距离全部加1,并把下一跳的路由器都改成是它自己
  • 此时就可以与R6的路由表来进行比较了(根据上面R4已更新的与R6做比较)。
    • 第一行在R4有,R6没有,因此需要把第一行添加到R6中
    • 第二行R4和R6都有,但下一跳的地址不一样,因此需要更新
    • 第三行R4和R6都有,但下一跳的地址一样,因此比较谁的距离短,哪个短用哪个

最后得出的答案:

再来看另外一个例子:

1.3RIP优缺点

  • 优点:
    • 实现简单,开销较小。
  • 缺点:
    • RIP 限制了网络的规模,它能使用的最大距离为 15(16 表示不可达)。
    • 路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加。
    • “坏消息传播得慢”,使更新过程的收敛时间过长

二、IPv6

我国在2014-2015年也逐步停止了向新用户和应用分配 IPv4 地址。 解决 IP 地址耗尽的根本措施就是采用具有更大地址空间的新版本的 IP,即 IPv6。

所引进的主要变化如下:

  • 更大的地址空间。IPv6 将地址从 IPv4 的 32 位 增大到了 128 位。
  • 扩展的地址层次结构。
  • 灵活的首部格式。 IPv6 定义了许多可选的扩展首部。
  • 改进的选项。 IPv6 允许数据报包含有选项的控制信息,其选项放在有效载荷中。
  • 允许协议继续扩充。
  • 支持即插即用(即自动配置)。因此 IPv6 不需要使用 DHCP。
  • 支持资源的预分配。 IPv6 支持实时视像等要求,保证一定的带宽和时延的应用。
  • IPv6 首部改为 8 字节对齐。首部长度必须是 8 字节的整数倍。原来的 IPv4 首部是 4 字节对齐。

2.1v4向v6过渡

向 IPv6 过渡只能采用逐步演进的办法,同时,还必须使新安装的 IPv6 系统能够向后兼容:IPv6 系统必须能够接收和转发 IPv4 分组,并且能够为 IPv4 分组选择路由。

两种向 IPv6 过渡的策略:

  • 使用双协议栈
  • 使用隧道技术

双协议栈主机在和 IPv6 主机通信时是采用 IPv6 地址,而和 IPv4 主机通信时就采用 IPv4 地址。 根据 DNS 返回的地址类型可以确定使用 IPv4 地址还是 IPv6 地址。

在 IPv6 数据报要进入IPv4网络时,把 IPv6 数据报封装成为 IPv4 数据报,整个的 IPv6 数据报变成了 IPv4 数据报的数据部分。 当 IPv4 数据报离开 IPv4 网络中的隧道时,再把数据部分(即原来的 IPv6 数据报)交给主机的 IPv6 协议栈。

三、网络地址转换NAT

问题:在专用网上使用专用地址的主机如何与互联网上的主机通信(并不需要加密)?

采用网络地址转换 NAT。这是目前使用得最多的方法。

装有 NAT 软件的路由器叫作 NAT路由器,它至少有一个有效的外部全球IP地址,所有使用本地地址的主机在和外界通信时,都要在 NAT 路由器上将其本地地址转换成全球 IP 地址。

通过 NAT 路由器的通信必须由专用网内的主机发起。专用网内部的主机不能充当服务器用,因为互联网上的客户无法请求专用网内的服务器提供服务。

3.1转换过程

  1. 内部主机 A 用本地地址 IPA 和互联网上主机 B 通信所发送的数据报必须经过 NAT 路由器
  2. NAT 路由器将数据报的源地址 IPA 转换成全球地址 IPG,并把转换结果记录到NAT地址转换表中,目的地址 IPB 保持不变,然后发送到互联网。
  3. NAT 路由器收到主机 B 发回的数据报时,知道数据报中的源地址是 IPB 而目的地址是 IPG
  4. 根据 NAT 转换表,NAT 路由器将目的地址IPG 转换为 IPA,转发给最终的内部主机 A

可以看出,在内部主机与外部主机通信时,在NAT路由器上发生了两次地址转换:

  • 离开专用网时:替换源地址,将内部地址替换为全球地址
  • 进入专用网时:替换目的地址,将全球地址替换为内部地址

最后

如果大家有更好的理解方式或者文章有错误的地方还请大家不吝在评论区留言,大家互相学习交流~~~

如果想看更多的原创技术文章,欢迎大家关注我的微信公众号:Java3y。Java技术群讨论:742919422。公众号还有海量的视频资源哦,关注即可免费领取。

可能感兴趣的链接:

  • 文章的目录导航(微信公众号端):https://zhongfucheng.bitcron.com/post/shou-ji/wen-zhang-dao-hang
  • 文章的目录导航(PC端):http://www.zhongfucheng.bitcron.com/post/shou-ji/pcduan-wen-zhang-dao-hang
  • 海量精美脑图:http://www.zhongfucheng.bitcron.com/post/shou-ji/nao-tu-da-quan

原文发布于微信公众号 - Java3y(java3y)

原文发表时间:2018-08-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏微信终端开发团队的专栏

微信终端跨平台组件 Mars 系列(三):连接超时与 IP & Port 排序

Mars 系列开始,将为大家介绍 STN(信令传输网络模块)。由于 STN 的复杂性,该模块将被分解为多个篇章进行介绍。本文主要介绍微信中关于 socket 连...

1.4K00
来自专栏SDNLAB

SDN关键技术-Segment Routing协议简介

当前,SDN作为一种新的网络架构,已经成为行业高度关注的热点。其倡导的开放式网络,代表了从网络应用适应网络能力向网络能力主动适配网络应用需求这个网络建设理念的改...

44190
来自专栏天天P图攻城狮

Android系统打印方案分析

Android Print API Android默认实现了打印的框架,使用PrintManager+PrintManagerService可以轻松实现打印...

2K40
来自专栏即时通讯技术

网络编程懒人入门(一):快速理解网络通信协议(上篇)

论坛和群里常会有技术同行打算自已开发IM或者消息推送系统,很多时候连基本的网络编程理论(如网络协议等)都不了解,就贸然定方案、写代码,显得非常盲目且充满技术风险...

11110
来自专栏余子军的专栏

Linux 2.6.16 TCP 连接速度异常的问题分析

发现访问公司某些业务时,速度非常不稳定,并且整体慢于竞争对手。分析认为 SESU10 母盘上内核 TCP 拥塞控制算法和 Windows 的 Ack 频率控制的...

2.1K00
来自专栏SDNLAB

Mininet搭建多控制器拓扑

Mininet是一款非常轻巧但是功能很强大的网络模拟器。网络研究者可以使用Mininet创建支持OpenFlow的SDN拓扑。随着SDN研究的发展,多控制器协作...

58060
来自专栏Java进阶

聊聊TCP传输的滑动窗口协议的演进

393100
来自专栏salesforce零基础学习

salesforce 零基础学习(四十五)Approval Lock & UnLock相关注意事项

我们都知道,当一条记录进入审批流程以后会自动加锁,apex提供Approval类的lock和unlock方法可以让我们使用代码对记录进行加锁和解锁。 项目中遇到...

29280
来自专栏蓝天

LVS初步

很多人知道LVS,但可能知之不多,希望阅读本文后,能够对LVS有一个基本的感性认识。

8830
来自专栏SDNLAB

容器 Flannel vxlan 基本原理和验证

作者简介:yangjunsss,曾就职于IBM、青云QingCloud,现就职于华为,研究方向:容器微服务、IaaS、P2P分布式。邮箱 cj.yangjun@...

33420

扫码关注云+社区

领取腾讯云代金券