欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

408-计算机网络-网络层

程序员文章站 2024-02-22 22:22:22
...

网络层

概述和功能

任务

  • 把分组从源端传送到目的端
  • 传输单位是数据报

功能

  • 路由选择分组转发
  • 异构网络互连
  • 拥塞控制

转发

硬件结构

  • 路由器

    • 转发表

      • 目的网络地址
      • 目的网络子网掩码
      • 下一跳地址
    • 路由器转发分组的算法步骤

      • 提取目的网络IP地址

      • 是否直接交付(目的IP在此路由器管辖的网络内)

      • 特定主机路由

        • 在路由表中有一个特定主机路由
        • 若IP地址与特定主机路由就查找到
      • 检测路由表中有无路径

        • 遍历路由表,若有就直接交付
        • 应该每一行都有一个对应的子网掩码,先把目的IP地址与子网掩码相与,然后与那一行的网络地址比较,若相同就把IP数据报发过去
      • 默认路由0.0.0.0

      • 生存时间为0就丢弃

协议

  • ICMP网际控制报文协议:
    (与IP协议合作的协议)

    • 功能

      • 更加有效地转发IP数据报
    • 类型

      • ICMP差错报文

        • 都是向原点发送的报文

        • 报文格式

        • 不发送ICMP数据报的情况

          • 组播是1点到多点
      • ICMP询问报文

        • 四种

          • ping就是ICMP询问报文
        • 应用

          • traceroute如何实现

            • 发送N个ICMP数据报,TTL分别是1,2,3,4…N
  • IGMP(组播路由器使用的协议)

  • IP

    • IP数据报格式

      • 首部

        • 固定部分
          20字节
          (每行4字节,32比特)

          • 第一行

            • 0-3比特
              版本

              • IPV4
                IPV6

            • 4-7比特
              首部长度(4B一个单位)

              • 4位表示16个二进制数据
              • 单位为4B
              • 0-15
              • 0-60B
            • 8-15比特
              区分服务

              • 期望获得的服务
              • 强调数据报的优先级
            • 16-31比特
              总长度

              • 首部长度+数据长度
              • 单位是1B
              • 0-65535
              • 0-65535B
          • 第二行:实现IP数据报分片功能

            • 0-15
              标识

              • 数据报的序号
              • 属于同一数据报的所有分片的标识都相同
            • 16-18
              标志

              • 只有17,18位有意义

              • 17:DF

                • 1:禁止分片
                • 0:允许分片
              • 18:MF

                • 1:后面还有分片
                • 0:最后一个分片
            • 19-31:片偏移

              • 此片的最开头在原分组的相对位置
              • 单位为8B
          • 第三行

            • 0-7比特
              生存时间

              • 每经过一个路由器就减一
            • 8-15比特
              协议

              • TCP6

                • 面向连接非常6
              • UDP17

                • 非连接经常遗弃(17)
            • 16-31
              首部检验和

          • 第四行

            • 源地址
          • 第五行

            • 目的地址
        • 可变部分

          • 长度0-40B

          • 填充字段

            • 首部必须是4B的整数倍
      • TCP报文(数据部分)

    • IP数据报分片过程

      • 最大传送单元MTU

        • 以太网MTU是1500字节
        • 数据报想要在以太网内传播,就必须在加上帧头和帧尾后,长度不超过1500字节
        • 帧首部和尾部加起来是80字节
        • 所以IP数据报不超过1420B
  • ARP

    • 主要任务就是解决下一跳往哪走的问题,而帧往哪走需要MAC地址来导向

    • 一个主机发送数据的过程

      • 应用层的数据分片成为传输层的报文
      • 传输层的一个报文段加上原IP地址和目的IP地址成为了网络层的数据报
      • 网络层的数据报在数据链路层加上了源MAC地址和目的MAC地址
      • ARP协议就在此时生效
      • 装入目的MAC地址时,首先设置为FF-FF-FF-FF-FF-FF,意思是广播地址,然后发送一个ARP报文

局域网内的———集线器,交换机,所有终端以及管辖此局域网的路由器都可以收到ARP此广播请求
- 三种情况

		- 目的IP地址就在发送方保存的ARP表中

			- 根据ARP表项把帧首部的目的MAC地址填入

然后发送到对应主机

		- 目的IP地址在局域网内

(发送方把目的IP地址与本局域网内对应的子网掩码相与,若网络号和此网络的网络号相同,就说明目的地址在局域网内)

			- 若局域网内收到ARP请求的某个设备,相应了此请求,而且此设备的IP地址与ARP报文内的目的IP地址相同,就向发送ARP报文的设备回复一个单播的ARP报文,存放此设备的MAC地址
			- 所以发送方的目的MAC地址就填入对应主机的MAC地址

而且,发送方的ARP表加入一个表项,是IP地址和MAC地址的映射

		- 目的IP地址不在局域网内

			- 目的MAC地址填入默认路由器的MAC地址
			- 若不知道默认路由器的MAC地址,只知道默认路由器的IP地址,就先发送一个ARP报文,目的IP地址填入默认路由器的IP地址,然后会得到对应的MAC地址
			- 路由器根据目的IP地址,查找路由表下一条地址,找到之后就向目的地址发送一个ARP请求。请求内包括发送方IP地址,目的IP地址,发送路由器的MAC地址,下一条路由器的MAC地址

				- 若不知道下一条路由器的MAC地址,就重复这一步
				- 终于知道链路层为啥是点对点的了,因为使用MAC地址寻找帧的接收方,而找接收方只能广播式地找

			- 最终会找到目的主机,此时路径上所有设备的ARP表都存放着路径内下一条的MAC地址

- 
  • DHCP(动态分配IP地址)

    • 主机如何获得IP地址

      • 静态配置

        • 终端固定
      • 动态配置

        • 终端不固定,比如手机连无线网
        • 在局域网内需要DHCP服务器来对手机分配IP地址
    • 性质

      • 应用层协议
      • C/S方式
      • 客户端和服务器通过广播进行交流
      • 使用UDP
    • 过程

IPV4分组

网络层编址

  • 基本编址形式

    • 分类的IP地址

    • 特殊IP地址

      • 网络和主机号都全0:默认路由
      • 网络号全0:本网内的主机
      • 网络号和主机号都全1:本网内的广播
      • 主机号全0:表示一个网络
      • 主机号全 1:对特定网络上的所有主机进行广播
      • 网络号为127,主机号不是全0页不是全1,本地环回地址
    • 私有IP地址

    • A中网络数-2是因为,127被占用为本地环回地址
      全0被占用为特殊IP地址

  • 子网划分与子网掩码

    • 子网划分:原IP结构(网络号+主机号)
      划分子网后的IP结构(网络号+子网号+主机号)

    • 内部单位划分子网后,对外仍然表现为一个网络

    • 子网掩码

      • 每个子网拥有一个单独的子网掩码
      • 连续的1和连续的0构成的二进制数
      • 比如单位内分配主机号的位数为8位,那么子网掩码后8位全0,剩下24位就全1
      • 子网掩码与IP地址相与,若得到的网络号与此子网的网络号相同,说明目的主机就在此子网内
  • 无分类编制CIDR

    • 把IP地址分为(网络前缀+主机号)

    • 地址掩码(子网掩码)

      • 128.14.32.0/20
      • 20就是子网掩码的1的位数
    • 应用

      • 构成超网(路由聚合):将多个子网聚合成一个较大的子网

        • 为了减少路由器中减少路由表的行数
        • 将所有子网的网络地址取交集
        • 结果是路由表中,目的网络的网络号中的网络前缀的位数变少了
      • 最长前缀匹配

        • 匹配好几个的时候,找到网络前缀最长的路由

网络地址转换NAT

  • 把一个主机的私有地址(10 ,172.16,192.168)转换为全球IP地址
  • 使用NAT转换表

IPV6

  • 数据报格式

    • 优先级:数据报的优先级

    • 流标签:属于同一个流的数据报都有同样的流标签

    • 有效载荷长度:扩展首部+有效数据大小

    • 下一个首部:指向下一个扩展首部

    • 跳数限制:相当于TTL

  • 与IPV4的区别

  • 地址表示形式

  • 基本地址类型

  • 向IPV4过渡的策略

    • 隧道技术

移动IP

  • 看不懂
  • 子主题 3

路由选择

路由选择算法

  • 静态路由(非自适应)

    • 管路员手工配置路由信息
  • 动态路由

    • 链路状态路由算法
      (全局性)
      OSPF

      • 记住【】内的字
        先【打招呼】,再给邻居传个【目录】,邻居看完目录发现自己缺东西,就给我【请求】要更新它的分组,然后我发【更新后的分组】,邻居收到回复一个【确认】
        发送的数据,都通过IP数据报传送

      • OSPF

        • 区域

          • 主干区域

            • 主干路由器
            • 自制系统边界路由器
          • 内部区域

            • 区域边界路由器
            • 区域内部路由器
        • OSPF分组

        • OSPF特点

        • 使用了地杰斯特拉提出的最短路径算法SPF

        • 最主要的特征是使用了链路状态协议

        • 特点

    • 距离向量路由算法
      (分散性)
      RIP(应用层协议,使用UDP传送数据)

      • 距离向量算法

      • 适合小网络

      • 慢收敛:好消息传得快,坏消息传的慢

      • RIP协议

        • 路由表元素只存目的网络、到达目的网络的距离以及下一跳路由器

        • 距离为16表示不可达

        • 路由器的特点

          • 只和相邻路由器交换信息
          • 交换的信息是自己的路由表
          • 每30秒交换一次陆游信息
        • RIP协议报文格式

          • 只有在路由器使用距离向量算法交换陆游信息时,才会交换RIP报文

路由选择协议(层次路由)

  • 自制系统AS

    • 比如学校网络,学校内不想让外界知道自己的网络拓扑情况
  • 自制系统内IGP
    一个AS内使用的

    • RIP(应用层协议,使用UDP传送数据)
    • OSPF
  • 自制系统间EGP
    AS之间使用的

    • BGP(应用层协议,借助TCP传送)

      • 需要解决的问题

        • 和其他自制系统的BGP发言人交换信息

        • 交换网络可达性的信息

        • 发生变化时更新变化的信息

      • 交换信息的过程

      • 报文格式

      • 特点

      • 四种报文

  • 三种协议比较

IP组播(多播)

  • 三种传播方式

  • 组播传播方式

  • IP组播地址

    • D类地址
  • 硬件组播(局域网内)(可能会靠)

  • IGMP网际组管理协议(组播路由器使用的协议)

    • 使用IP数据报传输数据

网络层设备

路由器

  • 输入端口

  • 输出端口

三层设备的区别

相关标签: 考研