计算机网络(五) 网络层(中)

2023-05-16

网络层(中)

  • 3.划分子网和构造超网
    • 3.1划分子网
    • 3.2使用子网时分组的转发
    • 3.3无分类编址CIDR(构造超网)
  • 4. 网际控制报文协议(ICMP)
    • 4.1 ICMP报文的种类
    • 4.2 ICMP的应用举例
  • 5.互联网的路由选择协议
    • 5.1 有关路由选择的基本概念
    • 5.2 内部网关协议RIP
    • 5.3内部网关协议OSPF
    • 5.4 外部网关协议BGP
    • 5.5 路由器的构成

继: 网络层(上)

3.划分子网和构造超网

3.1划分子网

引出问题:两级IP到三级IP:给每个网络分配一个网络号会使得路由表太大,两级IP地址不够灵活。
解决方案:划分子网:在IP中增加“子网号字段”,使两级IP变三级,这种方法叫划分子网。
划分子网是单位内部的事情,对外表现出未划分。实施做法:从主机号借用若干位作为子网号。
在这里插入图片描述

IP地址 ::= {<网络号>, <子网号>, <主机号>}
路由转发过程大概为:找到本网络上的路由器—>按目的网络号、子网号找目的子网—>交付I给目的主机。
划分子网的优点:1.减小了IP地址的浪费 2.网络组织更灵活 3.便于维护和管理

存在问题:从IP数据报首部无法判断源主机或目的主机所连网络是否进行了子网划分。
解决思路:使用子网掩码,找出IP地址中的子网部分。连1包含网络号、主机号;连0囊括主机号。
在这里插入图片描述
此时,(IP地址) AND (子网掩码)=网络地址
默认子网掩码:A类地址的:255.0.0.0 B类地址的:255.255.0.0 C类地址的:255.255.255.0
路由表中除了给出目的网络地址外,还要给出该网络的子网掩码。
**注意:**计算子网数、子网下的主机数的时候,减二。(去除全0全1

3.2使用子网时分组的转发

划分子网后存在的问题:从IP地址不能唯一地得出网络地址,因为取决于子网掩码,但数据报并不提供子网掩码。
划分子网之后转发分组的流程:
从分组的首部提取IP地址—>先看是否能直接交付(与本子网掩码AND),否则交给路由器—> 是否是特定主机路由—> IP与各个子网掩码相与选取网络及路由器—>执行默认路由—>发送出错

3.3无分类编址CIDR(构造超网)

出现问题:B类地址即将分配完毕,互联网主干的路由表项目急剧增长,IPv4将全部耗尽。
解决方案:使用变长子网掩码(VLSM),进一步研究出无分类域间路由选择(CIDR)

CIDR:1. 消除了A,B,C,类地址及划分子网的概念,从而更有效分配IPv4空间。2. 使用网络前缀来代替网络号和子网号。3. IP地址从三级回到了两级编址。(无分类即网络号+子网号=网络前缀。
在这里插入图片描述
使用斜线记法,斜线后表示网络前缀的位数。例 220.78.168.0/24

CIDR地址块:网络前缀都相同的连续IP地址组成CIDR地址块。
在这里插入图片描述
全0,全1的主机号地址一般不使用。

构成超网(路由聚合):一个CIDR地址块可以表示很多地址,地址的聚合称为路由聚合。
聚合的意义:有利于减少路由器之间的路由选择信息的交换,提高互联网性能。更加有效地分配IPv4地址空间,可根据用户需求分配适当大小的CIDR地址块。
CIDR地址块中地址数一定是2的整数次幂。前缀越短,地址块包含地址越多。三级结构IP地址中,划分子网使网络前缀变长。

使用CIDR时,有最长前缀匹配准则(最佳匹配):在查找路由表时可能会得到不止一个匹配结果,从匹配结果中选择具有最长网络前缀的路由

使用二叉线索查找路由表:

4. 网际控制报文协议(ICMP)

4.1 ICMP报文的种类

研究来源:为了更有效地转发IP数据报和提高交付成功的机会,网际层使用ICMP
ICMP报文格式:
在这里插入图片描述
ICMP报文主要分为两类:差错报告报文,询问报文。
差错报告报文有:终点不可达 、时间超过 、参数问题 、改变路由 、
询问报文有:会送请求和回答报文,时间戳请求和回答报文

4.2 ICMP的应用举例

PING:用于测试两主机之前的连通性。使用了ICMP回送请求与回送回答的报文。PING是应用层直接使用网络层ICMP的例子,没有通过传输层的TCP或UDP。
Traceroute:用于跟踪一个分组从源点到终点的路径。(利用TTL字段和ICMP实现跟踪

5.互联网的路由选择协议

5.1 有关路由选择的基本概念

1.理想路由选择算法:正确的和完整的、计算上应简单、自适应性、 稳定性、公平性 、是最佳的。
子适应性考虑,分为静态和动态路由选择策略。
静态:非自适应路由选择:简单、开销小,不能及时适应网络状态变化
动态:自适应路由选择:复杂、开销大,能及时适应网络状态变化

2.分层次的路由选择协议:分层拟解决问题:互联网规模非常大,单位内部相关事宜

自治系统(AS):在单一的技术管理下的一组路由器,而这些路由器使用一种 AS 内部的路由选择协议和共同的度量以确定分组在该 AS 内的路由,同时还使用一种 AS 之间的路由选择协议用以确定分组在 AS之间的路由。
一个 AS 对其他 AS 表现出的是一个单一的和一致的路由选择策略。
在这里插入图片描述
互联网中两大类路由选择协议:内部网关(IGP)、外部网关协议(EGP)。
IGP:在自治系统内部使用的路由选择协议,用的较多的是RIP和OSPF
EGP:源站和目的站在不同的自治系统中,将路由选择信息传递到另一个自治系统中使用EGP,当前使用最多的是BGP-4
在这里插入图片描述

5.2 内部网关协议RIP

  1. RIP 是一种分布式的、基于距离向量的路由选择协议,要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录。
  2. 距离(跳数)定义:路由器到直接连接的网络的距离定义为 1,到非直接连接的网络的距离定义为所经过的路由器数加 1。
  3. RIP 允许一条路径最多只能包含 15 个路由器。
  4. RIP 不能在两个网络之间同时使用多条路由。RIP 选择一个具有最少路由器的路由

RIP协议的三个特点:

  1. 仅和相邻路由器交换信息
  2. 交换的信息是当前本路由器所知道的全部信息
  3. 按固定的时间间隔交换路由信息

路由表的建立:刚刚开始工作时,只知道到直接连接的网络的距离,路由表是空的。经过若干次更新后,所有的路由器最终都会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器的地址。

路由表更新实例:在这里插入图片描述
RIP2协议的报文格式:
一个RIP报文最多包括25个路由,所以报文最大长度为:4+20*25=504。
在这里插入图片描述
RIP协议:好消息传得快,坏消息穿的慢。当网络出现故障时,要经过较长时间才能将消息传送到所有路由器。
RIP协议的优缺点。优点:实现简单,开销小 缺点:1. RIP 限制了网络的规模,它能使用的最大距离为 15 2.路由器之间交换的路由信息随着网络规模的扩大,开销也就增加。 3. “坏消息传播得慢”,使更新过程的收敛时间过长

5.3内部网关协议OSPF

1.基本特点:
OSPF:开放最短路径优先,为客服RIP缺点开发的,原理简单,实现复杂。
三个要点:

  1. 向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法;
  2. 发送的信息就是与本路由器相邻的所有路由器的链路状态;
  3. 只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。
    由于路由器之间频繁交换信息,因此所有路由器最终都能建立一个链路状态数据库。

OSPF为了应用于规模很大的网络,将一个自治系统再划分为若干个更小的范围,叫做区域,每一个区域都有一个 32 位的区域标识符,一个区域内的路由器最好不超过 200 个。

关于划分区域:
好处:将利用洪泛法交换链路状态信息的范围局限于每一个区域而,减少了整个网络上的通信量。
OSPF 使用层次结构的区域划分。在上层的区域叫做主干区域,作用是用来连通其他在下层的区域。
OSPF不用UDP而是直接用IP数据报传送。
在这里插入图片描述
OSPF 的五种分组类型:问候分组。数据库描述分组。链路状态请求 分组。链路状态更新分组。链路状态确认分组。

OSPF 的其他特点:每隔一段时间要刷新一次数据库中的链路状态
指定的路由器:1.多点接入的局域网采用了指定的路由器的方法,使广播的信息量大大减少。2. 指定的路由器代表该局域网上所有的链路向连接到该网络上的各路由器发送状态信息。

5.4 外部网关协议BGP

BGP:不同自治系统的路由器之间交换路由信息的协议。
BGP发言人:往往是BGP边界路由器,但也可以不是。
BGP协议特点:1.节点数量是自制系统数的量级 2.每个自治系统中BGP发言人的数目是很少的 3. BGP支持CIDR 4. BGP运行时,邻站是交换整个的BGP路由表
BGP-4共使用四种报文:打开、更新、保活、通知报文。

5.5 路由器的构成

典型的结构分为两部分:路由选择部分:控制面; 分组转发部分:数据面
路由选择:根据所选定的路由选择协议构造出路由表,不断地更新和维护路由表。
分组转发包含三部分:输入、输出端口,交换结构:根据转发表处理分组
两者的区别:
转发:路由器根据转发表将用户的 IP 数据报从合适的端口转发出去
路由选择:按照分布式算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态地改变所选择的路由。

输入端口对线路上收到的分组的处理 ,输出端口将交换结构传送来的分组发送到线路 。进入队列的分组没有存储空间时被丢弃
交换结构:把分组从一个输入端口转移到某个合适的输出端口,实现方法有: (1) 通过存储器 (2) 通过总线 (3) 通过纵横交换结构

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机网络(五) 网络层(中) 的相关文章

随机推荐

  • ST-LINK V2.1 制作(含源码及其原理图)(type-c接口)可以配合robomaster 开发板下载口或者直接用杜邦线连接下载,支持串口调试

    标题ST LINK V2 1 制作 xff08 含源码及其原理图 xff09 xff08 type c接口 xff09 可以配合robomaster 开发板下载口或者直接用杜邦线连接下载 xff0c 支持串口调试 基于电子爱好者 xff0c
  • Java实现快速排序

    快速排序是在每一轮挑选一个基准元素 xff0c 比他大地站左边 xff0c 比他小的站右边 xff0c 从而把数列拆分成两部分 xff0c 假如元素是n个 xff0c 平均情况下需要logn轮 xff0c 因此平均实践复杂度是O nlogn
  • typora修改偏好设置不生效/无法修改偏好设置/偏好设置被重置的解决方法

    原因 之前bata版本过期 许多人都尝试修改电脑时间来继续使用 因此对 profile data这个文件的权限设置不正确 步骤 电脑勾选显示隐藏文件 C Users 电脑名 AppData Roaming Typora 选择时间排序 找到该
  • 单片机控制小车前进转弯

    1 小车前进 实现方法 xff1a 四个电机同时向前 xff08 小车后退同理 xff09 include lt AT89X51 H gt 定义小车驱动模块输入IO口 sbit IN1 61 P1 0 右1电机 高电平前进 sbit IN2
  • Java线上应用故障排查之一:高CPU占用

    一个应用占用CPU很高 xff0c 除了确实是计算密集型应用之外 xff0c 通常原因都是出现了死循环 xff08 友情提示 xff1a 本博文章欢迎转载 xff0c 但请注明出处 xff1a hankchen xff0c http www
  • 树莓派3B安装win11操作系统-成功版

    三个注意事项 事前准备永恒的决心成功 61 失败 事前准备 1 树莓派3B主板及电源连接 xff1b 2 HDMI的显示器 xff1b 3 USB的键盘鼠标 xff0c 或者有USB连接器的键盘鼠标 永恒的决心 1 其他安装过程 xff0c
  • 树莓派3B+安装Android 系统

    试水在树莓派3B 43 上安装Android 系统 xff08 完整的安卓 xff0c 非Adroid IOT xff0c 因为还不支持 xff09 xff0c 受到了一个小哥安装成功的鼓舞 xff08 带度盘资源 xff1a https
  • WinDbg 的入门经历

    WinDbg 的入门经历 WinDbg 是一款非常好用的调试工具 xff0c 针对于在win上的程序都有很好的调试效果 xff0c 相信玩逆向工程 Net 开发的同学都很熟悉 起因 在调试UCOS操作系统在windows上的仿真问题遇到的多
  • 目标检测网络中的 bottom-up 和 top-down理解

    看目标检测网络方面的论文时 xff0c 出现了一组对比词汇 xff1a bottom up和top down xff0c 查了一些资料 xff0c 结合个人理解 xff0c 得到的看法是 xff1a top down 顾名思义是自上而下进行
  • 2021.08.26学习内容 Win10+GeForce GTX1650安装NVIDIA显卡驱动及CUDA11.4+cuDNN8.2

    之前主要使用Ubuntu系统 xff0c 但是个人笔记本更多使用windows 为了方便跑一些pytorch的小代码 xff0c 所以想在windows配置一下相关环境 xff0c 达到调用GPU运算的目的 记录也是为了自己以后有安装需求少
  • vscode调试webpack-dev-server项目

    先上结果 vscode下载debugger for chrome 插件 创建launch json 添加的时候选择Chrome Launch会自动生成chrome调试模板 xff0c 主要是要加上 34 preLaunchTask 34 3
  • OpenNetworkLinux:i2c-gpio.c源码学习笔记

    OpenNetworkLinux xff1a i2c gpio c源码学习笔记 i2c gpio的init和exit i2c驱动需要首先在平台驱动上进行注册 xff0c 方可提供自身的总线供适配器进行注册 xff0c 注册流程类似于一个内核
  • 每天一个Lodash源码解析

    每天一个Lodash源码解析 chunk 方法介绍自我实现源码分析代码对比知识点补充浮点数转化为浮点数数组创建方法区别js中切割数组方法 slice 方法介绍自我实现源码分析代码对比知识点补充 96 96 gt gt gt 96 96 移位
  • conda的常用操作

    1 查看conda版本 2 更改安装第三方库的源 将国外的源改为清华镜像源 cmd窗口依次输入 xff1a conda config add channels https mirrors tuna tsinghua edu cn anaco
  • 云技术

    什么是 云 与云技术 xff1f 云技术是在分布式计算技术 网格计算基数基础上发展起来的一种计算技术 云技术基于资源虚拟化的方式 xff0c 为用户提供方便快捷的服务 xff0c 可以实现计算与存储的分布式与并行处理 云技术为其他信息技术
  • 什么是上转型对象及其基本特征

    5 12 什么是上转型对象及其基本特征 xff1f 上转型对象 子类对象赋值给父类变量 例如 xff1a package com wangxing test1 父类 public class Person public void testP
  • 【树莓派入门系列】4 树莓派安装测试torch与torchvision

    树莓派运行YOLOV5项目 安装测试torch amp torchvision 项目目录 点击跳转 0 首页 1 前期准备工作 2 配置树莓派系统 3 安装测试opencv 4 安装测试torch amp torchvision 5 测试y
  • javascript中in和includes的区别

    in的用法 遍历对象 span class token keyword let span names span class token operator 61 span span class token punctuation span n
  • centos安装java环境

    方式一 xff1a 安装java环境 1 先查看本地是否自带java环境 xff1a yum list installed grep java 2 卸载自带的java xff08 输入su xff0c 输入root超级管理员的密码 xff0
  • 计算机网络(五) 网络层(中)

    网络层 xff08 中 xff09 3 划分子网和构造超网3 1划分子网3 2使用子网时分组的转发3 3无分类编址CIDR xff08 构造超网 xff09 4 网际控制报文协议 xff08 ICMP xff09 4 1 ICMP报文的种类