第五章网络互联技术

网络互联技术

一. 网络互联概述

  • 网络互联技术是所有能在物理和逻辑上实现不同网络相互连接技术的总称,对应ISO/OSI模型的各个层次
  • 互联
    • 包括不同网络之间在功能和应用上看起来像一个完整的网络
    • 自由顺畅的运行
  • 互连
    • 将网络通过有线或无线介质在物理上连接在一起
  • 异构网络
    • 采用不同通信技术和运行协议的网络
  • 隧道技术可以两个异地以太网的互联

二. 网际协议(IP)

1. IP概述

  • IP的功能对应OSI参考模型的网络层
    • 地址解析协议 ARP
    • 网际控制报文协议 ICMP
    • 网际组管理协议 IGMP
  • IP网络采用 路由器 作为网络互联的 中间设备
    • 将不同的网络连接在一起
    • 网络层 实现数据的 路由和转发
  • IP的特点
    • IP是面向无连接的,不可靠的分组传输协议
      • 没有拥塞控制机制
      • 对数据分组不保证不丢失,按序到达
    • IP屏蔽了数据链路层和物理层的差异
      • 使得数据的传输和转发更方便
      • 只要遵守网络层的协议就可以转发
    • IP是点对点式网络通信协议
      • 点对点通信是指网络中建立通信的两台计算机由一条物理信道相连接

2. IPV4协议报文格式

在这里插入图片描述

  • 版本号字段

    • 4个字节
    • 表示IP的版本号,IPV4的版本号字段值为 0100
  • 首部长度字段

    • 4个字节
    • IP分组首部长度最大值为60个字节
  • 区分服务字段

    • 8个字节
    • 指示期望获得哪种类型的服务
    • 只有在网络提供区分服务时使用
  • 总长度字段

    • 16个字节
    • 给出IP分组的总字节数,包括首部和数据部分
    • 实际网络中不会有这么大的IP分组
  • 标识字段

    • 16个字节
    • 在IP分组分片和重组过程中,标识属于同一源的IP分组
  • 标志位字段

在这里插入图片描述

  • 3个字节

  • DF为禁止分片标志

    • =0 表示允许分片
    • =1为禁止
  • MF为更多分片标志

    • =0 表示未被分片的IP分组或者被分片的最后一片
    • =1 表示该分组一定是一个IP分组的分片,并且不是最后一个
  • 片偏移字段

    • 13个字节

    • 封装的数据从哪个字节开始

    • 以8个字节为单位

  • 生存时间字段

    • 8个字节
    • 源主机在生成IP分组时设置TTL值
    • 每经过路由器转发一次,TTL就-1
    • 如果等于0,则丢弃该IP分组
  • 协议字段

    • 8个字节
    • 封装的是哪个协议的数据包
    • 利用该字段实现复用与解复用功能
  • 首部校验和字段

    • 16个字节

    • 对IP分组首部的差错检测

  • 源IP地址字段

    • 32个字节
    • 源主机的IP地址
  • 目的IP地址字段

    • 需要送达的主机的IP地址
  • 选项字段

    • 范围在1到40字节之间
    • 可携带时间戳,路由记录等内容
  • 填充字段

    • 0到3个字节
    • 补齐整个首部
    • 保证首部长度是4B的倍数

三. IP地址

1.什么是IP地址

  • 目前普遍使用的IP地址是IPv4,用32位二进制表示
  • 十进制数字间用点号隔开,点分十进制法

2. 分类的IP地址

  • 分类的IP地址

    • IP地址::{<网络号>,<主机号>}
      
    • 不同的网络号和主机号的设置决定了IP地址的分类

      • 包括 A B C D E 5类
    • A类地址

    • 在这里插入图片描述

      • 网络号字段占1个字节

      • 第一位固定位为0

      • 可指派的网络号个数为 2的7次方-2=126个

        • 全0表示本地网络
        • 全1,用于回环测试,没有意义
      • 最大主机网络数 2的24次方-2=16777214

        • 全0表示本主机连接到单个网络地址

        • 全1表示该网络上的所有主机

    • B类地址

    • 在这里插入图片描述

      • 网络号占两个字节

      • 前两位固定为10

      • 128.0.0.0不可以指派

      • 网络号最大为 2的14次方-1=16383

      • 最大主机数 2的16次方-2=65534

    • C类地址

    在这里插入图片描述

    • 网络号占3个字节

    • 前两位固定为110

    • 192.0.0.0不能用于指派

    • 网络号个数为 2的21次方-1=2097151

    • 主机数位 2的8次方-2=254

    • D类与E类

      • D类最高4位1110 用于IP多播
      • E类最高4位1111 作为保留使用
  • 子网划分

    • 划分子网纯属一个单位内部的事情

      • 单位对外仍然表现为没有划分子网的网络
    • 主机号借用若干比特作为子网号,而主机号 也就减少了相应个比特

      • IP地址:{<网络号>,<子网号>,<主机号>}
        
    • 子网划分的好处

      • 避免IP资源的浪费
      • 增加灵活性
    • 举例

      • 有一个C类地址,网络地址为 202.194.20.0
      • 则所有目的IP地址为 202.194.20. x 的IP数据报都会发送到与此网络相连的路由器R上,该单位讲主机号中的3位作子网号使用,剩下的5位做主机号,则最多可以在齐单位内部划分出8个子网
        • 202.194.20.0(子网号为 000)
        • 202.194.20.32(子网号为 001)
        • 202.194.20.64(子网号 010)
        • 202.194.20.96(子网号 011)
        • 202.194.20.128(子网号 100)
        • 202.194.20.244(子网号 111)
      • 每个子网可以容纳 2的5次方-2=30 个主机数
      • 划分子网后,对外表现为一个网络
    • 子网掩码

      • 使得路由器能够正确将IP数据报发送给网络内部不同的子网

      • 子网掩码也是一个 32位 的二进制数

      • 子网掩码中的1对应IP地址中的网络号和子网号字段

      • 0对应主机号字段

      • A类地址默认的子网掩码

        • 255.0.0.0 (11111111 00000000 00000000 00000000)
      • B类地址的默认子网掩码

        • 255.255.0.0(11111111 11111111 00000000 00000000 )
      • C类地址的子网掩码

        • 255.255.255.0(11111111 11111111 11111111 00000000)
      • 子网掩码与目的IP地址配合起来,可知道该IP地址所在子网的网络地址

        • 将IP地址与子网掩码按位进行 逻辑与(AND)运算

        • 结果为所在子网的网络地址

  • 无分类编址CIDR

    • CIDR不再按照A B C类的类型区分IP地址

      • 把32位的IP地址划分为两部分

      • 前面的部分称为 网络前缀,用来指明网络

      • 后面的部分用来指明主机

      • 无分类的两级编址方式

      • IP地址::={<网络前缀>,<主机号>}
        201.194.20.138/27	// 前27个比特用来表示前缀
        
    • 网络前缀位数就是 地址掩码中的个数,地址掩码的其余位为0

    • CIDR的主要作用

      • 简化路由器中的路由表
      • 路由聚合,可以减少路由表条目
    • 划分子网

      • 地址块大小相等
        • 先确定子网号,主机位数都一样
      • 地址块大小不相等
        • 先划分地址数多的地址块
        • 先确定主机号所占位数,再确定子网号
    • 最长前缀匹配

      • 为了充分利用路由聚集带来的好处,又需要避免路由错误
      • 可以在同一路由器中并列关于到达大子网和小子网的路由
      • 小子网的网络前缀 比 大子网的要长
      • 使用CIDR进行路由选择时,应该从匹配结果中选择具有最长网络前缀的路由
    • 私有IP地址

      • 在IP地址中划出一部分地址作为保留使用
      • 这部分地址可以在某个网络内部使用,形成一个专用网
      • 不能在公共互联网上使用
    • NAT网络地址转换

      • 基本思想
        • 需要在专用网连接因特网的路由器上安装NAT软件
        • 每个NAT路由器至少具有一个有效的全球IP地址
      • 所有使用本地地址的主机在和外界通信时都要在NAT路由器上将其本地地址转换才能和因特网连接

四. IP路由概述

  • 当Internet中的每一个参与通信的设备都被赋予有效的IP地址之后
  • IP数据报就可以按照 IP地址 进行发送和接收
  • IP路由
    • 在整个网络中为IP数据报寻找合适的通信路径并且将其转发出去的过程
    • 由路由器实现的

1. 路由器的结构及功能

  • 路由器
    • 具有多个输入 输出端口的专用计算机
  • 主要任务
    • 获取与维护路由信息及转发分组
  • 路由器从功能结构分为
    • 输入端口
    • 输出端口
    • 交换结构
    • 路由处理器

2. 路由表与路由转发

  • 路由 和 转发 是路由器的两项基本功能
  • 通过静态 或者 动态 获取的路由信息被保存在路由表中,供数据转发时使用
  • 路由表以 路由项(入口) 来存储路由信息的
    *在这里插入图片描述
    • 其中目的网络与子网掩码可以合并,采用CIDR地址形式表示
    • 目的网络与子网掩码描述了一个 目的网络
    • 下一跳 表示 到达 下一个接口IP地址
      • 如果是直连网络,下一跳取值为空
    • 接口是将 IP分组从哪个接口发出去
  • 路由器有特殊的路由项
    • 默认路由
    • 特定主机路由
  • 路由器的工作过程
    • 收到IP分组,查找路由器,转发IP分组
    • 如果多条路由条目匹配,则选择网络前缀最长的

3. 路由算法

  • 静态路由与动态路由
    • 静态路由
      • 人工配置的路由
      • 路由信息被记录到路由表后,下次被更改之前,一直保持不变
      • 优先级最高
    • 动态路由
      • 路由信息根据网络当前状态,周期性的计算和更新路由信息
      • 需要路由器运行路由协议动态收集信息,然后根据路由算法计算
  • 距离-向量路由算法
    • 异步,迭代,分散式的路由算法
    • 周期性的向邻居通告本路由信息,根据通告更新主机的路由表
    • 并与邻居交换路由信息
  • 链路状态路由算法
    • 每个路由器根据其链路状态,依据Dijkstra算法求出到达每个网络的最短路径
  • 层次路由
    • 层次化路由
      • 按主机的策略和方法实现自己网络的管理和路由
    • 自治系统路由协议
      • 选择不同自治系统内的路由协议
      • 按照不同的路由算法计算路由
    • 网关路由器
      • 每个自治系统存在一个或多个与其他自治系统互联的路由器
    • 层次路由分为
      • 自治系统内路由
      • 自治系统间路由

4. 路由协议

  • 自治系统

    • 采用的是统一技术管理下的一组路由器
  • 域内路由与域间路由

    • 内部网关协议IGP

      • RIP OSPF
    • 外部网关协议EGP

      • BGP4
      • 实现跨越不同自治协议交换
    • RIP路由协议

      • 距离向量的IGP
      • 直连网络跳数为1,每经过一个路由器跳数+1,最大15跳
      • 16跳表示不可达
    • OSPF路由协议

      • 开放最短路径优先协议
      • 为了用于大规模自治系统网络,提出区概念(主干区域为0.0.0.0)
    • BGP协议

      • 外部网关协议

      • 不同自治系统的路由器交换路由信息的协议

      • BGP会话交换包括以下4种

        • 打开报文
        • 更新报文
        • 保活报文
        • 通知报文

五. IP中的其他重要协议

1. 地址解析协议(ARP)

  • IP地址 转换为 MAC地址的协议,在局域网内运行的
  • ARP的基本思想
    • 每一台的主机中设置专用内存区域(ARP高速缓存)
    • 里面有该主机所在局域网中各个主机和路由器的 IP地址 与 硬件地址(MAC地址)的映射表
    • 并且这个映射表要经常更新
  • ARP的过程
    • 主机A向本局域网中广播发送一个ARP请求分组,本局域网中的所有运行ARP的主机都会收到这个请求
    • 主机B收到后,IP地址不一致则丢弃,发现IP地址一致,则收下该分组,并将主机A的硬件地址和IP地址写入自己的ARP高速缓存中
    • 创建一个ARP响应分组,将自己的硬件地址写入,发给主机A
    • 主机A收到ARP响应后,将其中B的硬件地址写入ARP高速缓存中的映射表

2. 动态主机配置协议(DHCP)

  • DHCP采用的是客户机/服务器模式
  • 基本思想
    • 在一个网络内部设置一个DHCP服务器
    • 当一台计算机新接入该网络时,还没有配置IP地址
    • 在开机启动后向该网络广播发送一个DHCP发现报文
    • DHCP服务器收到这个报文后,从IP地址数据库中取出一个IP
    • 与其他配置信息一起,通过DHCP提供报文发送给这台计算机

3.网际控制报文协议ICMP

在这里插入图片描述

  • 数据报在传输过程中出现延迟,丢失等异常情况
  • 如果通信的双方可以知道这些情况,就能及时调整和控制
  • 提高网络传输的效率和成功率
  • ICMP报文有两种类型
    • ICMP差错报告报文
      • 终点不可达
        • 当路由器或主机帮你交付数据报时,向源点发生终点不可达报文
        • 其中报文类型值为3
      • 源点抑制
        • 当由于拥塞而丢弃数据报时,告知源点降低发生速率
        • 类型值为4
      • 时间超时
        • 收到生存时间TTL值为0时,除丢弃该报文外,还要发送一个时间超时报文
        • 类型值为11
      • 参数问题
        • 收到的报头有不正确字段时,丢弃该报文,罚死你参数问题报文
        • 类型值为12
      • 改变路由
        • 当路由器的路由表发生改变时,自己的也要改变,要向主机发送改变路由报文
        • 类型值为5
    • ICMP询问报文
      • 回答请求和回答
        • 测试目的站是否可以到达
        • 分组间探测ping命令
        • 类型值分别是 8(回送报文) 0(回送回答)
      • 时间戳请求和回答
        • 在网络中进行时钟同步和测量时间
        • 类型值 13(时间戳请求),14(时间戳回答)

4. 网际组管理协议(IGMP)

  • IGMP是网络层协议,用于IP多播提供管理服务
  • IP多播也称为IP组播,针对Internet上一个源点向多个终点发送数据的业务而设计的(视频点播,视频会议…)
  • 采用组播可以节省网络资源
  • 基本思想
    • 利用多播IP地址标识一个多播组
    • 当向一个多播IP地址发送IP分组时
    • 该多播组内的所有成员都可以收到

在这里插入图片描述

  • 加入新多播组
    • 该主机需要向多播组的多播地址发送一个IGMP报文,表明自己想加入
    • 本地的多播路由器收到后,根据多播路由协议将组员信息告知其他多播路由器
  • 路由器询问
    • 各局域网所连接的多播路由器要周期性的探寻本地局域网的主机
    • 确定这些主机是否还是某多播组成员

六. IPV6协议

1. IPV6采用了新的IP首部格式

  • 包括基本首部和多个可选扩展首部

  • 基本首部为固定的 40B长度

  • 将IP地址设置为128位

    • 用一个冒号十六进制数表示IPV6地址
    • 一共8段 16个字节
  • 在这里插入图片描述

    • 版本号字段
      • 指明了IP的版本,0110
    • 通信业务类型
      • 区分不同的IPv6数据报的类别或优先级
    • 流标号
      • IPv6中提出了数据业务流的概念,将(视频,音频等)定义为流
      • 属于同一个流的数据报,流标号是一样的
    • 有效载荷长度
      • 除基本首部外的字节数,最大值为 64kb
    • 下一个首部
      • 没有扩展首部时,值用于指明基本首部后面的数据所属的上层协议
      • 有扩展首部时,表示后面的第一个扩展首部的类型
    • 跳数限制
      • 防止数据报在网络中无限制的被转发
      • 每经过一个路由就-1,为0时,则丢弃
  • IPv6与IPv4的区别

    • 去掉了 选项字段
    • 校验和字段
    • 增加了流标号字段
    • 基本首部变得简洁
    • 有利于快速路由

2. 压缩IPV6

  • 冒号十六进制表示方法还可以采用压缩方式
    • 对连续的多部分0,采用::代替
    • 但在一个IPV6地址中只能用一次
    • 例如:
      • BC83:0000:0000:0000:0000:315A:0000:0000
      • 压缩为:BC83::315A:0000:0000

3. IPv6分类

  • 单播地址
    • 唯一标识网络中的一个主机
    • 可以用作源地址和目的地址
  • 组播地址
    • 只能用作目的地址
    • 向一个组播地址发送IP分组,该组播地址标识的多播组每个成员都能收到
  • 任播地址
    • 标识网络中的一组主机
    • 只能用作目的地址
    • 当向一个任播地址发送IP分组时,只有被标识的任播组的某成员收到该分组
  • 8
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值