计算机网络-网络层1.2

news2024/12/24 10:35:20

IPv6

IP地址耗尽,CIDR和NAT只是延长了IPv4地址分配结束的时间
IPv6从根本上解决了IP地址的耗尽问题
在这里插入图片描述

与IPv4的比较

在这里插入图片描述

  • 扩大了地址空间
  • 移除校验和字段,减少了每跳的处理时间
  • 将IPv4的可选字段移出首部,变成拓展首部,路由器不对拓展首部进行检查
  • IPv6支持即插即用,不需要DHCP协议
  • IPv6首部是8B的整数倍,而v4是4B的整数倍
  • IPv6只在主机处分片,IPv4则是在路由器和主机处分片
  • ICMPv6添加了报文类型:分组过大
  • IPv6支持资源预分配
  • 取消协议字段,增加下一个首部字段
  • 取消了总长度字段,增加了有效载荷长度字段
  • 取消了服务类型字段

IPv6地址表示

在这里插入图片描述

IPv6的基本类型

  • 单播:传统点对点通信
  • 多播:一点对多点的通信,分组被交付到一组计算机的每台计算机
  • 任播:IPv6增加的一种类型,任播的目的站是一组计算机,在数据报交付时只交付最近的那一台计算机

IPv6到IPv4的过渡

在这里插入图片描述

路由选择协议

前面有提到为了隐蔽内部网络协议,使用自治系统AS
在这里插入图片描述

路由信息协议-RIP协议

RIP是一种分布式的基于距离向量的路由选择协议
该协议要求网络每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离,即跳数,当距离>=16时表示不可达

和相邻路由器每30秒交换自己的路由表,路由器根据更新信息更新路由表,超过180s没收到通过即表明邻居消失,更新路由信息

刚开始时路由器只知道直连网络的距离为1,只与数目有限的相邻路由器交换并更新路由信息

若干次更新后,所有路由器最终会知道本自治系统下每一个网络的最短距离和下一跳路由器的地址

路由表更新

使用距离向量算法
修改相邻路由器发来的RIP报文中的所有表项,对地址为x的相邻路由器发来的RIP报文,修改此报文中的所有项目:把下一跳字段中的地址改为x,并距离+1

对修改后的RIP报文的每一个项目
R1路由表中若没有Net3,则把该项目填入R1路由表
R1路由表中若没有Net3,则查看下一跳路由器地址,
若为X,则用收到的项目替换源路由表中的项目
若不为X,则当原距离比从X走的距离远则更新
180s后未收到邻接路由器x的更新路由表,则标记x为不可达,距离设置为16

RIP数据报格式

在这里插入图片描述

RIP对好消息传递快,坏消息传递慢
因为会出现时差问题

R1知道网1不可达后发出RIP报文,而R2此时未收到,则正常发出,
R1收到R2的报文以为可通过R2到达网1,更新路由表,距离改为2,发出报文
R2收到R1报文后,同样操作,距离改为3,以此类推,直到都为16才能将网1标为不可达
在这里插入图片描述

开放最短路径优先协议—OSPF协议

使用了Dijkstra提出的最短路径算法SPF

OSPF主要特征是使用了分布式的链路状态协议
使用洪泛法向自治系统内所有路由器发送消息,路由器向相邻的路由器发送消息,以此类推,使得整个区域的所有路由器都得到了这个信息的一个副本

发送的消息是与本路由器相邻的所有路由器的链路状态,即与哪些路由器相邻,且链路的费用、距离等

当链路状态发生变化时,路由器才向所有路由器洪泛发送此消息

每隔30min刷新一次,当规模大时OSPF更好,因为只与邻近路由器状态有关,而非与整个互联网有直接关系,收敛速度快

链路状态路由算法

  • 每个路由器发现其邻居结点【HELLO问候分组】,并了解其网络地址
  • 设置到每个邻居的成本度量metric
  • 构建数据库描述分组【DD数据库描述分组】,向邻站给出自己的链路状态数据库中所有链路状态项目的摘要信息
  • 如果分组中的摘要自己都有,则邻站不做处理,若没有则发送LSR链路状态请求分组,请求自己没有的和要更新的信息
  • 收到邻站的LSR分组后,发送【LSU链路状态更新分组】进行更新
  • 更新完毕后,邻站会返回一个L【SAck链路状态确认分组】进行确认
  • 只要一个路由器的链路状态发送变化,就会洪泛发送【LSU链路状态更新分组】进行更新
  • 更新完毕后,其他站也会返回LSAck链路状态确认分组进行确认
  • 使用Dijkstra根据自己的链路状态数据库构造到其他节点间的最短路径

OSPF的区域

为使OSPF能够用于很大规模的网络,OSPF会将一个自治系统划分为若干更小范围,称为区域
洪泛法交换链路状态信息的范围局限于局域,减少通信量
区域区分为:主干区域、负责连通其他下层的区域,还连接其他自治域
在这里插入图片描述

OSPF的分类

【HELLO问候分组】、
【DD数据库描述分组】
【LSU链路状态更新分组】
【LSAck链路状态确认分组】
【LSU链路状态更新分组】

用UDP传送是指将该信息作为UDP报文的数据部分
直接使用IP数据报传送是指将该信息直接作为IP 数据报的数据部分
RIP报文是作为UDP数据报的数据部分。
OSPF协议直接使用IP数据报进行传递

边界网关协议—BGP协议

当发生变化时,和其他AS的邻站BGP交换网络可达性信息,只更新有变化的部分
在这里插入图片描述

交换信息的过程

BGP交换的网络可达性信息就是到达某个网络需要经过的一系列的AS,BGP会根据策略找出到达各AS的较好路由

AS2的BGP通知主干网AS1的BGP,要到达网络N1、N2要经过AS2
主干网的BGP还可通知要到达网络N1,N5分别要经过AS2和AS3
在这里插入图片描述

BGP协议报文格式

使用TCP进行建立BGP会话
在这里插入图片描述
分为四种报文
OPEN报文:与相邻的另一个BGP发言人建立关系,并认证发送方
UPDATE报文:报告新路径/撤销原路径
KEEPALIVE报文:无UPDATE时,周期性验证邻站连通性
NOTIFICATION报文:报告先前报文的差错,也用于关闭连接

支持CIDR、除了初始时交换整个BGP路由表,都只更新有变化的部分

在这里插入图片描述

组播

单播、广播、组播/多播
当用户需要特定数据后,组播数据发送者只发送一次数据,借助组播路由协议为组播数据包建立组播分发树,被传递的数据到达距离用户端尽可能近的结点后才开始复制和分发,是点对多点传输方式
在这里插入图片描述

IP组播

IP组播地址让源设备能够分组发送给一组设备,属于多播组的设备被分配一个组播组IP地址
组播数据报是尽最大努力交付,不提供可靠交付,应用UDP
对组播数据报不产生ICMP差错报文
并非所有D类地址都可作为组播地址

组播IP地址也需要相应的组播MAC地址在本地网络中实际传送帧
在这里插入图片描述

IGMP

IGMP协议让路由器知道本局域网桑是否有主机参加或退出了某个组播组,工作于网络层
在这里插入图片描述

在这里插入图片描述
组播路由协议就是找出以源主机为根结点的组播转发数
构造数可避免在路由器间兜圈子,不同的多播组对应于不同的多播转发树;同一个多播组,对不同的源点也有不同的多播转发树

常用三种算法完成组播路由选择:
基于链路状态的路由选择、基于距离-向量的路由选择、协议无关的组播

移动IP

支持移动性的因特网体系结构和协议共称移动IP,为满足移动结点在移动中满足其连接性而设计

移动IP技术是指移动结点以固定的网络IP地址实现跨越不同网段的漫游功能,并保证基于网络IP的网络权限在漫游过程不发生任何改变

移动IP将分组自动投递给移动结点

移动结点是把其连接点从一个网格或子网改变到另一个网络或子网的主机

归属代理/本地代理:一个移动结点拥有的居所称为归属网络,在归属网络中代表移动结点执行移动管理功能的实体叫归属代理

外部代理/外地代理:在外部网络中帮助移动节点来完成移动管理功能的实体称为外部代理

永久地址/归属地址/主地址:移动站点在归属网络中的原始地址

转交地址/辅地址:移动站点在外部网络使用的临时地址

通过使用移动IP,一个移动结点可以再不改变其IP地址的情况下改变其驻留位置

在这里插入图片描述
在这里插入图片描述

路由器

在这里插入图片描述
负责路由选择和分组转发
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/604091.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NIO vs BIO模型解读

目录 stream vs channel IO模型 零拷贝 传统IO NIO优化 stream vs channel stream 不会自动缓冲数据,channel 会利用系统提供的发送缓冲区、接收缓冲区(更为底层)stream 仅支持阻塞 API,channel 同时支持阻塞、非阻塞 API&a…

计算机网络-网络层1.1

IPv4 网络层打包传输数据时,数据量小则称IP数据报,数据量大则分片,每一片称为IPv4分组 分组格式 固定部分长20B,可变部分用于提供错误检测和安全等机制 版本:指IP版本首部长度:以4B为单位&#xff0c…

Java --- springboot3之web的自动配置原理

目录 一、自动配置 二、默认效果 三、WebMvcAutoConfiguration原理 3.1、生效条件 3.2、效果 3.3、WebMvcConfigurer接口 一、自动配置 1、导入web的pom依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-s…

计算机网络-层级架构

计网概念 计算机网络将分散的、具有独立功能的计算机系统&#xff0c;通过通信设备与线路连接起来&#xff0c;由软件实现资源共享和信息传递&#xff0c;同时也是一些互联的、自治的计算机系统的集合 计网组成的三种划分方式 硬件、软件、协议 硬件包含主机&#xff08;端系…

Redis底层学习(四)—存储类型-Hash篇

文章目录 特点具体服务器操作命令底层结构应用场景 特点 1.适⽤场景&#xff1a;存储⽆序字典的数据&#xff0c;⽐如&#xff1a;适合存储对象类型、存储猪⾁价格等。 2.它的内部采⽤ 数组 链表 的结构&#xff0c;类似java⾥的HashMap。 hash的key值只能是字符串。将对象存…

从C语言到C++_15(vector的模拟实现)+迭代器失效问题

目录 1. vector的基本框架 1.1 构造析构和容量 1.2 push_back&#xff0c;reserve和operator[ ] 2. vector的迭代器 2.1 四个基本迭代器 2.2 迭代器区间初始化 2.3 迭代器的分类 3. vector的其它接口函数 3.1 修改后的reserve 3.2 resize 3.3 pop_back 4. insert和…

【Android】Jadx动态调试应用

【Android】Jadx动态调试应用 1. 前言 Jadx已支持动态调试APP&#xff0c;但一直没试过&#xff0c;从逆向角度尝试走一遍流程并熟悉&#xff0c;方便日后翻阅。 2. 相关知识 2.1 动态调试原理 动态调试的原理可以概括为以下几个步骤&#xff1a; 启动应用程序进程&#x…

[数据挖掘02] pandas的分配和聚合函数(1)

一 说明 窗口函数是什么&#xff1f;窗口函数是时间序列的局部属性处理函数&#xff0c;比如&#xff0c;一维卷积滤波、移动平均、指数平均本篇我们将针对pandas对象的窗口函数展开讨论&#xff0c;并以示例展示他们的概念实质。 二 窗口函数、分组函数&#xff08; GroupBy …

2023年18个最佳的ChatGPT AI插件

​关注文章下方公众号&#xff0c;可免费获取AIGC最新学习资料 导读&#xff1a;ChatGPT已经将人工智能提升到了一个新的高度。ChatGPT 4不仅是聊天机器人&#xff0c;还可以很好地与第三方插件配合使用。我们挑选出了2023年目前18款最佳的插件来介绍给您。 本文字数&#xff…

【运维知识进阶篇】Ansible Jinja2模板详解

哈喽大家好&#xff0c;我是koten&#xff0c;本篇文章给大家介绍jinja2模板&#xff0c;这是python的全功能模板引擎。在Ansible中&#xff0c;通常会使用jinja2模板来修改被管理主机的配置文件&#xff08;saltstack中也会用到&#xff09; Ansible中使用的jinja2模板其实就…

【软件测试】软件测试管理

软件测试管理 软件测试环境测试环境的要素测试环境管理员 软件测试计划⭐测试计划目标测试计划主题测试计划制订过程定义工作进度的过程测试策略 软件缺陷(bug)管理缺陷的主要属性如何报告缺陷⭐如何跟踪缺陷缺陷度量 软件配置管理&#xff08;SCM&#xff09;软件配置管理的基…

计算机网络传输层1.0

功能 传输层提供进程到进程的逻辑通信 复用和分用 传输层对收到的报文进行差错检测 TCP/UDP 提供进程到进程的逻辑通信 网络层是提供主机间逻辑通信 从网络层来看&#xff0c;通信双方为两台主机&#xff0c;IP数据包首部给出两台主机的IP地址 而实际上的两台主机通信时两台…

Makefile路径处理:执行路径、绝对路径与相对路径的处理

问题描述 最近编写了一个 编译设备树 的 Makefile&#xff0c;遇到了使用 make -f xx/Makefile&#xff0c;执行路径变了&#xff0c;造成 Makefile 里面的一些操作路径不正确&#xff0c;无法执行 获取当前目录 make 内置的 $(CURDIR)&#xff0c;可以把当前路径的全路径打印…

Three.js--》实现图片转3D效果展示

目录 项目搭建 初始化three.js基础代码 加载图片纹理 设置着色器 今天简单实现一个three.js的小Demo&#xff0c;加强自己对three知识的掌握与学习&#xff0c;只有在项目中才能灵活将所学知识运用起来&#xff0c;话不多说直接开始。 项目搭建 本案例还是借助框架书写th…

逻辑推理与集合

逻辑推理与集合是同一个过程的不同展示方式&#xff0c;这两者具有不同的特点。 逻辑推理通常是一种思维过程、语言文本的形式。 而集合则很容易采用一种可视化的方式进行展示&#xff0c;并且集合很容易进行交集、并集、补集、差集等计算。 把语言的逻辑推理过程转换为集合…

0602-指针和数组

数组名 数组名是一个地址常量&#xff0c;不允许赋值。它表示数组首元素的地址。 指针操作数组元素 指针访问数组 指针类型变量\常量1等同于指针保存的内存地址sizeof(指针指向的数据类型)。 2个相同类型的指针相减&#xff0c;得到的结果是2个指针的偏移量。其中偏移单位…

STL模型转有限元网格

随着计算机图形学、硬件和3D打印技术的发展&#xff0c;基于曲面三角网格的图形渲染及其文件格式越来越流行。 在有限元分析&#xff08;FEA&#xff09;中&#xff0c;工程师有时会得到基于三角形网格的几何文件&#xff08;如STL文件等&#xff09;并进行后续分析。 由于曲面…

华为OD机试真题 Java 实现【检查是否存在满足条件的数字组合】【2022Q4 100分】

一、题目描述 给定一个正整数数组&#xff0c;检查数组中是否存在满足规则的数字组合 规则&#xff1a;A B 2C 二、输入描述 第一行输出数组的元素个数。 接下来一行输出所有数组元素&#xff0c;用空格隔开。 三、输出描述 如果存在满足要求的数&#xff0c;在同一行…

【MySQL】不允许你不会SQL语句之DDL

目录 前言&#xff1a; 一.DDL数据库语句 1.1语句讲解 1.2总结 二.DDL表语句 2.1语句讲解 2.2总结 三.DDL字段语句 3.1语句讲解 3.2总结 四.MySQL数据类型 五.结尾 前言&#xff1a; 在从零到一入门MySQL一篇中&#xff0c;我们对数据库已经有了一定的了解&#xf…

Linux 设备树手动反编译 dtb 生成 源文件dts

验证平台 win10 64 位 VMware Workstation Pro 16 ubuntu 20.04 dtc 工具&#xff1a; 来自 linux-6.3.5 中的 scripts/dtc/ 安装 dtc 工具 其实可以通过安装 dtc 软件包&#xff0c;但不建议这么做&#xff0c;最好通过编译Linux 最新的内核&#xff0c;获取这个 dtc 工具…