计算机网络【CN】Ch4 网络层

news/2024/11/9 9:42:27/

总结

一台主机可以有多个IP地址,但是必须属于多个逻辑网络【不同的网络号】。

解决IP地址耗尽:

IP地址结构:

划分子网:𝐼𝑃地址=<网络号>,<子网号>,<主机号>

CIDR:IP地址={<网络前缀>:<主机号>}

默认网关:最近的路由器相邻端口的地址

子网掩码:由/xx决定,即前xx位填1,后32-xx位为0.

【1】子网划分与子网掩码

一个子网定义(X.X.X.X/n)

  • 子网掩码为 n 个 1,32-n 个 0
  • 包含的 IP 地址数:2^32−n
    • 主机号全 0 表示本网段
    • 主机号全 1 表示网段的广播地址

子网划分原则

  • 满足子网定义
  • 原子网 A中出现的 IP 地址不能有剩余

划分方法

  • 定长子网划分
  • 变长划分
    • 将子网划分成任意大小的子网

  • 掌握这个是超级重点

 IPV4报文格式【20B】

  • 版本(4bit):IPV4/IPV6
  • 首部长度(4bit):标识首部的长度
    • 单位是4B
    • 最小为:首部固定部分20B
    • 最大为:60(15*4)B
  • 总长度(16bit):整个数据报(首部+数据)的长度
    • 数据报的最大长度:216−1=65535𝐵 ,封装成帧时,需要分片,不能超过下一层的MTU
    • 不是指分片前的数据报长度,而是指分片后的每个分片的首部长度与数据长度的总和。
    • 单位是1B
    • 最小是64B【考虑到CSMA/CD最小帧长
    • 最大是1500B【以太网帧的最大传送单元MTU,数据部分有1480B,是规定
  • 标识(16bit):分片时,同一数据报的分片使用同一标识
  • 标志(3bit):
    • 最高位无用
    • 中间位DF(Don’t Fragment)
      • DF=1:禁止分片
      • DF=0:允许分片
    • 最低位位MF (More Fragment)
      • MF=1:后面还有分片
      • MF=0:最后一个分片
  • 片偏移(13bit):指超出MTU的分组分片后,某片在原分组中的相对起始位置
    • 单位是8B【除了最后一个分片外,每个分片的长度一定是8B的整数倍
  • 生存时间TTL(8bit):IP分组在网络中可以通过的路由器的最大值
    • 路由器在转发分组之前,先将TTL减一【经过几个路由器,TTL就减几,经过主机不减】
    • 当接收到的分组的TTL0时,丢弃该分组
  • 协议(8bit):数据部分(即传输层报文段)所采用的协议
    • TCP:6
    • UPD:17
  • 首部检验和(16bit):仅仅检验首部信息
  • 源地址、目的地址(各32bit):来源和目标的IP地址
  • 可选字段(0~40B):支持排错、 测量以及安全等措施
  • 填充:保证首部长度为4B的整数倍

相关考点:

  • IPV4数据报分片
    • 以太网帧的最大传送单元MTU1500B,数据部分有1480B
    • 分片之后会变化的字段:
      • 标志FLAG
      • 片偏移
      • 总长度
      • 校验和
  • 分片的过程:
    • IP分组的总长度为L,待转发的链路的MTUM,若𝑳>𝑴且𝑫𝑭=𝟎,则需要分片
    • 除了最后一个分片,其他分片均分为MTU允许的最大分片
    • 最大分片封装的数据应该是8的倍数,因此,一个最大分片可以封装的数据是:
    • 每片的总长度字段:
  • 分片相关例题:假设分片长度不能超过1420B:

ARP:IP->MAC

  • 查找ARP高速缓存:
    • 当主机B要给主机C发送数据包时,会首先在自己的ARP高速缓存表中查找主机C的IP地址所对应的MAC地址。但未找到,因此,主机B需要发送ARP请求报文,来获取主机C的MAC地址

  • 当目的主机在局域网内时:
    • ARP请求报文被封装在MAC帧中发送,目的地址为广播地址
    • 收到ARP请求报文的主机A和主机C会把ARP请求报文交给上层的ARP进程
    • 主机A发现所询问的IP地址不是自己的IP地址,因此不用理会
    • 主机C的发现所询问的IP地址是自己的IP地址,需要进行相应处理

  • 当目标主机不在本网络时:
    • 目的MAC地址设为默认网关(本网络出口路由器)的MAC地址【获取默认网关的方法仍为ARP协议】
  • 注意:
    • ARP协议只能在一段链路或一个网络上使用,而不能跨网络使用
    • ARP协议的使用是逐段链路进行的

  • ARP表中的IP地址与MAC地址的对应关系记录,是会定期自动删除的,因为IP地址与MAC地址的对
    应关系
    不是永久性的
  • 总结:

 RIP

  • 当到达同一目的网络有多条“距离相等"的路由时,可以进行等价负载均衡。【对于同一个目的网络,路由表将提供了多个送出接口,每个出口对应于一条等价路径。路由器将通过路由表中列出的这些送出接口转发数据包。
     

 

  • RIP存在“坏消息传播得慢”的问题

  • RIP是应用层协议,它使用UDP传输数据(端口520

SDN

一、数据平面和控制平面

SDN(Software-defined Network,软件定义网络),在学习SDN之前,首先要了解控制平面数据平面网络层能够被分解为两个相互作用的部分,即数据平面和控制平面,传统上控制平面路由选择协议(如OSPF、BGP)和数据平面转发功能已被实现成一个整体,位于一台路由器中。

  • 数据平面:即网络层中每台路由器的转发的功能,该数据平面功能决定到达路由器输入链路之一的数据报如何转发到该路由器的输出链路之一。
  • 控制平面:作为一种网络范围的逻辑,不仅控制沿着从源主机到目的主机的端到端路径间的路由器如何转发数据报,而且控制网络层组件和服务如何配置和管理。

SDN通过将这些控制平面功能作为一种单独服务,明确地分离数据平面和控制平面,控制平面功能通常置于一台远程“控制器”中。

二、两种重要的网络层功能

  • 转发。当一个分组到达某路由器地一条输出链路时,该路由器必须将该分组移动到适当地输出链路。将分组从一个输入链路接口转移到适当地输出链路接口地路由器本地动作,转发地时间尺度很短(通常为几纳秒),因此通常用硬件来实现。
  • 路由选择。当分组从发送方流向接收方时,网络层必须决定这些分组所采用地路由或路径。计算这些路径地算法被称为路由选择算法,计算出路径之后会生成转发表。确定分组从源到目的地所采取地端到端路径的网络范围处理过程,路由选择发生的时间尺度长得多(通常为几秒),因此通常用软件来实现。

三、实现控制平面的方法

1. 控制平面:传统方法

  • 路由选择算法决定了插入该路由器转发表的内容,路由选择算法运行在每台路由器中,并且在每台路由器中都包含转发和路由选择两种功能。
  • 这是路由选择厂商在其产品中采用的传统方法,使用该方法,每台路由器都有一个与其他路由器通信的路由选择组件。

IPV6

IPv6 地址的标识方法

  • IPv6 地址长度是 128 位,是以每 16 位作为一组
  • 每组用冒号 「:」 隔开。
  • 如果出现连续的 0 时还可以将这些 0 省略,并用两个冒号 「::」隔开
  • 但是,一个 IP 地址中只允许出现一次两个连续的冒号

IPv6 地址的结构

  • 单播地址,用于一对一的通信
  • 组播地址,用于一对多的通信
  • 任播地址,用于通信最近的节点,最近的节点是由路由协议决定

 

IPv6 的亮点

  • IPv6 可自动配置【即插即用
  • IPv6 首部长度采用固定的值 40 字节去掉了校验和
  • IPv6安全性提高了

 

IPv6 相比 IPv4 的首部改进

  • 取消了首部校验和字段
    • 因为在数据链路层和传输层都会校验,因此 IPv6 直接取消了 IP 的校验
  • 取消了分片/重新组装相关字段
    • 分片与重组是耗时的过程,IPv6 不允许在中间路由器进行分片与重组
    • 这种操作只能在源与目标主机,这将大大提高了路由器转发的速度
  • 取消选项字段
    • 选项字段不再是标准 IP 首部的一部分了
    • 但它并没有消失
    • 而是可能出现在 IPv6 首部中的「下一个首部」指出的位置上
    • 删除该选项字段使的 IPv6 的首部成为固定长度的 40 字节

 

IPv6与IPv4的协议改进

  • 与IPv4协议配套使用的网际层协议有:ICMP、IGMP、ARP和RARP。
  •  在IPv6中,ICMPv6包括了IPv4中的ARP和IGMP的功能。邻站询问和邻站通告报文代替了原来的ARP协议,而多播听众发现报文替代了原来的IGMP协议。另外,IPv6取消了RARP协议。因此,与IPv6配套使用的网际层协议只有ICMPv6一个协议

 IP地址的分类

A类最大可用网络 2 的原因是:

第一,IP 地址中的全 0 表示“这个(this”。网络号字段全 0 IP 地址是个保留地址,意思是“网络”;

第二,网络号为 12701111111)保留作为本地软件环回测试loopback test)本主机的进程之间的通信之用。

特殊的IP地址

255.255.255.255:表示整个TCP/IP网络的广播地址【受限广播地址】,由于路由器对广播域的隔离,等效为本网络的广播地址。

私有IP地址

网络地址转换NAT

 移动IP

移动IP技术:移动结点(计算机/服务器等)以固定的网络IP地址,实现跨越不同网段的漫游功能,并保证了基于网络IP的网络权限在漫游过程中不发生任何改变。

移动结点

具有永久IP地址的移动设备。

归属代理(本地代理)

一个移动结点的永久居所称为归属网络,在归属网络中代表移动节点执行移动管理功能的实体叫做归属代理。

永久地址(归属地址/主地址)

移动站点在归属网络中的原始地址。

外部代理(外地代理)

外部网络中帮助移动节点完成移动管理功能的实体称为外部代理。

转交地址(辅地址)

可以是外部代理的地址或动态配置的--个地址。

网络层设备


http://www.ppmy.cn/news/1440252.html

相关文章

计算机网络原原理学习资料分享笔记---第二章/第三节/第四节(为有梦想的自己加油!)

第三节 域名系统&#xff08;DNS&#xff09; 第三节 域名系统&#xff08;DNS&#xff09; 域名系统DNS 第三节 域名系统&#xff08;DNS&#xff09; 知识点 1 域名系统 第三节 域名系统&#xff08;DNS&#xff09; 例&#xff1a;【填空题】 1 、能将域名映射为IP地址…

在no branch上commmit后,再切换到其他分支,找不到no branch分支的修改怎么办?

解决办法 通过git reflog我们可以查看历史提交记录&#xff0c;这里的第二条提交&#xff08;fbd3ea8&#xff09;就是我在no branch上的提交。 再通过git checkout -b backup fbd3ea8&#xff0c;恢复到上次提交的状态&#xff0c;并且为其创建个分支backup&#xff0c;此时…

一文整理完MySQL关系型数据库相关知识

MySQL关系型数据库 1. 介绍1.1 MySQL 2. 安装3. SQL语句4. SQL分类5. DDL5.1 库的DDL5.2 表、列的DDL 6. DML6.1 添加数据6.2 修改数据6.3 删除数据 7. DQL7.1 基础查询7.2 条件查询7.3 排序查询7.4 聚合函数7.5 分组查询7.6 分页查询 8. 约束8.1 约束分类 9. 多表查询9.1 内连…

Angular Subject和BehaviorSubject之间的区别

Subject和BehaviorSubject是RxJS中两种常用的Subject类型。 概念&#xff1a; Subject&#xff1a; Subject是一种特殊的Observable&#xff0c;同时也是Observer。它可以被用来订阅Observable&#xff0c;也可以手动向它推送新的值。Subject是一种热Observable&#xff0c;它…

算子开发到推理加速,一位00后开发者的“升级打怪”之旅

两年多前&#xff0c;郑辉还是一个即将毕业的大四学生&#xff0c;每天沉迷在代码的世界里&#xff0c;忙着准备研究生复试&#xff0c;从未对AI有过太多想法。 没有人会想到&#xff0c;两年后的郑辉已经是一位资深的AI开发者&#xff0c;他独立开发的NonZero算子被合入异构计…

数据结构中的栈和队列(附实际案例代码)

1.栈和队列的定义和特点 栈&#xff08;Stack&#xff09;和队列&#xff08;Queue&#xff09;是两种基本的数据结构&#xff0c;它们都属于线性表&#xff0c;即数据元素的存储和访问都是线性的。但它们之间也存在着一些区别。 1.1栈的特点 栈是一种后进先出&#xff08;LI…

【Godot4.2】有序和无序列表函数库 - myList

概述 在打印输出或其他地方可能需要构建有序或无序列表。本质就是构造和维护一个纯文本数组。并用格式化文本形式&#xff0c;输出带序号或前缀字符的多行文本。 为此我专门设计了一个类myList&#xff0c;来完成这项任务。 代码 以下是myList类的完整代码&#xff1a; # …

SpringCloud 与 Dubbo 的区别详解

一、Spring Cloud 和 Dubbo 的概述 1.1 SpringCloud 简介 SpringCloud 是一个用于构建云原生应用的框架集合&#xff0c;它为开发者提供了一套完整的工具链&#xff0c;用于快速搭建分布式系统。SpringCloud 基于 SpringBoot 开发&#xff0c;具有如下特点&#xff1a; 提供…