四.网络层(上)

目录

4.1网络层功能概述

4.2 SDN基本概念

4.3 路由算法与路由协议

4.3.1什么是路由协议?

4.3.2什么是路由算法?

4.3.3路由算法分类

(1)静态路由算法

(2)动态路由算法

①全局性

OSPF协议与链路状态算法

②分散性

RIP协议与距离向量算法

4.3.4分层次的路由选择协议

AS

路由选择协议

内部网关协议IGP

外部网关协议BGP

4.4 IP数据报格式

4.5 IP数据报分片

4.6 IPv4地址

互联网中的IP地址

分类的IP地址

特殊IP地址

私有IP地址

4.7网络地址转换NAT

IP地址的概念

公网地址和私网地址

公网地址

私网地址

公网地址和私网地址的区别

私网地址的分类

NAT技术

总结

4.8子网划分和子网掩码

子网网络地址的求取

使用子网时的分组转发

例题


 

4.1网络层功能概述

主要任务是把分组从源端传送到目的端,为分组交换网上的不同主机提供通信服务。

网络层传输单位是数据报

1.路由选择与分组转发【最佳路径】

2.异构网络互联

3.拥塞控制

若所有节点都来不及接收分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施,缓解这种拥塞。

4.2 SDN基本概念

4.3 路由算法与路由协议

4.3.1什么是路由协议?

4.3.2什么是路由算法?

我们知道,网络层的一个主要设备就是路由器,而路由器的主要功能就是进行分组转发和路由选择。为了完成这些功能,路由器就需要进行维护自身的一张路由表。

而维护这张路由表的方法就是路由算法。

提一个概念:

最佳路由:“最佳”只能是相对于某一个特定情况下的出的较为合理的选择而已。

4.3.3路由算法分类

(1)静态路由算法

也叫非自适应路由算法,需要管理员手动配置路由信息。

其优点是:简单,可靠,在负荷稳定,拓扑结构变化不大的网络中运行的效果很好,广泛用于高度安全的军事网络和较小的商业网络。

缺点是:路由更新慢,不适用于大型网络。

(2)动态路由算法

也叫自适应路由算法:路由器间彼此交换信息,按照路由算法优化出路由表项。

其优点是:路由更新快,适用大型网络,及时响应链路费用或网络拓扑变化。

缺点是:算法复杂,增加网络负担。

①全局性

链路状态路由算法OSPF

所有路由器掌握完整的网络拓扑和链路费用信息。

OSPF协议与链路状态算法
②分散性

距离向量路由算法RIP

路由器只掌握物理相连的邻居及链路费用。

RIP协议与距离向量算法

4.3.4分层次的路由选择协议

由于:

因特网规模很大;

许多单位不想让外界知道自己的路由选择协议,但还是想连入因特网。

就诞生了分层次的路由选择协议。

AS

自治系统AS:在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量以确定在该AS内的路由,同时还使用一种AS之间的路由协议以确定在AS之间的路由。

一个AS内的所有网络都属于一个行政单位来管辖,一个自治系统的所有路由器都在本自治系统内都必须连通。

路由选择协议

内部网关协议IGP

一个AS内使用的RIP,OSPF

外部网关协议BGP

AS之间使用的BGP

4.4 IP数据报格式

IP数据报分为首部数据部分,数据部分就是运输层的传输单元,其中有TCP段和UDP段。

版本:表示该数据报的版本是IPv4还是IPv6?

首部长度:单位是4B,最小为5(数据报的首部是强迫症,必须是4B的整数倍)

填充:全0,用来将数据报补成4B的整数倍。

区分服务:指期望获得哪种类型的服务。

总长度:首部加上数据,单位是1B。

生存时间(TTL):IP分组的保质期。经过一个路由器就会减一,变为零就会被丢弃。

协议:数据部分的协议。

首部检验和:只检验首部。

源地址和目的地址:IP地址为32位。

可选字段:0~40B,用来支持排错,测量以及安全等措施。

标识:同一数据报的分片使用同一标识。

标志:只有2位有意义x _ _

中间位DF(Don’t Fragment):

 DF=1;禁止分片

 DF=0;允许分片

最低位MF(More Fragment):

 MF=1,后面还有分片

 MF=0,代表最后一片/没分片

片偏移:指出较长分组分片后,某片在原分组中的相对位置。以8B为单位。

除了最后一个分片,每个分片长度一定是8B的整数倍。

单位长度总结

4.5 IP数据报分片

先提及一个概念:最大传送单元MTU,其为链路层数据帧可封装数据的上限。(例如:以太网的MTU是1500Byte)。

       如图中一个IP数据报作为一个链路层数据帧的数据部分,假设其超过了这个链路层的最大传送单元呢?

    所以有一个策略就是把该IP数据报进行分片

    如果某IP数据报不支持分片,那么其将无法在链路上传输下去,因此就会返回一个ICMP的差错报文。

根据链路层的MTU进行分片,除去每一片开头都要加上的首部,身下的就是每一片数据部分的长度。

4.6 IPv4地址

IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。

同身份证号码表示的信息一样,IP地址就是表示一个主机抑或是主机的某个接口,在哪个网络下的地址信息。

IP地址:全世界唯一的32位/4字节标识符,标识路由器主机的接口。

IP地址::={<网络号>,<主机号>}

互联网中的IP地址

分类的IP地址

A类地址最大可用网络数要减去全零的还有一个127的环回地址,每个网络中的最大主机数都要减去全零和全一的。

 

特殊IP地址

私有IP地址

4.7网络地址转换NAT

在计算机网络中,每个设备都需要一个唯一的地址来进行通信。这个地址称为IP地址,是Internet协议的基础。IP地址可以分为公网地址和私网地址两种类型。

IP地址的概念

IP地址是Internet协议的一部分,用于在计算机网络中唯一地标识主机。它由32位二进制数表示,通常写成四段用点号分隔的十进制数。例如,192.168.0.1就是一个IP地址。

IP地址可以分为两种类型:IPv4地址和IPv6地址。IPv4地址由32位二进制数组成,因此最多只能表示42亿个地址。而IPv6地址则由128位二进制数组成,可以表示更多的地址。

公网地址和私网地址

公网地址和私网地址是两种不同的IP地址类型,其区别在于它们所在的网络范围和使用方式。

公网地址

公网地址也称为全球唯一IP地址,是指可以直接在Internet上访问的IP地址。这些地址由互联网注册机构分配,具有全球唯一性和全球可达性

公网地址通常用于互联网上的服务器、路由器和其他网络设备。它们可以直接访问Internet上的其他设备,可以通过Internet进行通信和数据传输。

私网地址

私网地址也称为局域网IP地址,是指在局域网内部使用的IP地址。它们不具有全球唯一性和全球可达性,只能在局域网内部使用

私网地址通常用于组建局域网,例如家庭网络、企业内部网络、校园网络等。在局域网内部,可以通过私网地址进行设备间的通信和数据传输。但是,如果要访问Internet上的其他设备,必须通过路由器进行转发。

公网地址和私网地址的区别

公网地址和私网地址之间的区别主要体现在以下几个方面:

  1. 分配方式不同:公网地址由互联网注册机构分配,而私网地址由局域网管理员自行分配。
  2. 使用范围不同:公网地址用于Internet上的设备,私网地址用于局域网内部的设备。
  3. 唯一性和可达性不同:公网地址具有全球唯一性和全球可达性,而私网地址只在局域网内部唯一,不具有全球可达性。
  4. 转发方式不同:公网地址可以直接访问Internet上的其他设备,而私网地址需要通过路由器进行转发才能访问Internet上的其他设设备。

私网地址的分类

私网地址有三个类别,分别是A类、B类和C类地址。它们的范围如下:

  • A类地址:10.0.0.0-10.255.255.255,其中10.0.0.0是网络地址,10.255.255.255是广播地址。
  • B类地址:172.16.0.0-172.31.255.255,其中172.16.0.0是网络地址,172.31.255.255是广播地址。
  • C类地址:192.168.0.0-192.168.255.255,其中192.168.0.0是网络地址,192.168.255.255是广播地址。

 

这些地址范围是私有地址,可以在局域网内部使用,但是不能在Internet上进行路由。

NAT技术

在局域网内部使用私网地址时,有时需要访问Internet上的其他设备。这时就需要使用NAT技术。

NAT技术可以将私网地址转换成公网地址,从而实现局域网内部设备访问Internet上的其他设备。NAT技术可以分为静态NAT动态NAT两种。

静态NAT是指在NAT设备上预先配置好一个映射表,将私网地址映射成公网地址。这种方式比较简单,但是需要手动配置映射表,不太适合大规模部署。

动态NAT是指NAT设备在需要时动态地为私网地址分配公网地址。这种方式比较灵活,适合大规模部署,但是需要消耗一定的系统资源。

总结

公网地址和私网地址是IP地址的两种类型,它们分别用于Internet上的设备和局域网内部的设备。私网地址有A类、B类和C类地址,分别对应不同的IP地址范围。使用NAT技术可以实现私网地址访问Internet上的其他设备。理解公网地址和私网地址的区别和应用,对于计算机网络的学习和实际应用非常重要。

4.8子网划分和子网掩码

由于分类的IP地址存在以下弊端:

    1. IP地址空间利用率有时很低。
    2. 两级IP地址不够灵活。

故此我们要进行子网划分:

实际上就是将主机号中较高的几位拿出来当做子网号,剩下的部分再作为主机号。

【注意:子网是单位申请到网络号后自己内部划分的事情。】

且主机号不能全0全1,子网号能否全0全1看情况。

某单位划分子网后,对外仍表现为一个网络,即本单位外的网络看不见本单位内子网的划分。

子网网络地址的求取

 

 

使用子网时的分组转发

路由表中:

  • 1.目的网络地址
  • 2.目的网络子网掩码
  • 3.下一跳地址

路由器转发分组的算法:

  • 1.提取目的IP地址
  • 2.是否直接交付
  • 3.特定主机路由
  • 4.检测路由表中有无路径
  • 5.默认路由0.0.0.0
  • 6.丢弃,报告转发分组出错

 

例题

 

 

 

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

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

相关文章

【C语言】内存函数的使用和模拟实现

文章目录 一、memcpy的使用和模拟实现二、memmove的使用和模拟实现三、memset的使用四、memcmp的使用 一、memcpy的使用和模拟实现 在之前我们学习了使用和模拟实现strncpy函数&#xff0c;它是一个字符串函数&#xff0c;用来按照给定的字节个数来拷贝字符串&#xff0c;那么问…

Javascript数组研究03_手写实现_fill_filter_find_findIndex_findLast_findLastIndex

6 Array.fill() 6.1 基本介绍 fill() 方法用一个固定值填充一个数组中从起始索引&#xff08;默认为 0&#xff09;到终止索引&#xff08;默认为 array.length&#xff09;内的全部元素。它返回修改后的数组。 fill(value) fill(value, start) fill(value, start, end)输入…

【本地免费】SimpleTex 图像识别latex公式

文章目录 相关教程相关文献安装教程 由于mathpix开始收费了&#xff0c;于是本文将介绍一款目前本地免费的SimpleTex工具 相关教程 【超详细安装教程】LaTeX-OCR 图像识别latex公式&#xff08;开源免费&#xff09;_latex图片识别-CSDN博客 相关文献 SimpleTex主页——致力…

如何在微信小程序中实现分包加载和预下载

如何在微信小程序中实现分包加载和预下载 概述 微信小程序提供了分包加载和预下载功能&#xff0c;这有助于优化应用的加载时间&#xff0c;提升用户体验。本文将详细介绍如何在微信小程序中配置分包加载和预下载。 步骤一&#xff1a;配置分包加载 修改app.json文件&#x…

Dijkstra算法,动态规划和滑动窗口

一&#xff1a;最小花费 题目链接&#xff1a;1928. 规定时间内到达终点的最小花费 - 力扣&#xff08;LeetCode&#xff09; &#xff08;1&#xff09;Dijkstra算法 理解问题&#xff1a;首先&#xff0c;我们需要理解问题的核心是找到一条从城市 0 到城市 n-1 的路径&…

数据结构双向链表和循环链表

目录 一、循环链表二、双向链表三、循环双向链表 一、循环链表 循环链表就是首尾相接的的链表&#xff0c;就是尾节点的指针域指向头节点使整个链表形成一个循环&#xff0c;这就弥补了以前单链表无法在后面某个节点找到前面的节点&#xff0c;可以从任意一个节点找到目标节点…

web笔记

<form method"POST" action"{{ url_for(register) }}"><label for"username">用户名:</label><input type"text" id"username" name"username" required><br><label for"p…

5.3 克拉默法则、逆矩阵和体积

本节是使用代数而不是消元法来求解 A x b A\boldsymbol x\boldsymbol b Axb 和 A − 1 A^{-1} A−1。所有的公式都会除以 det ⁡ A \det A detA&#xff0c; A − 1 A^{-1} A−1 和 A − 1 b A^{-1}\boldsymbol b A−1b 中的每个元素都是一个行列式除以 A A A 的行列式。…

C(十一)scanf、getchar(第三弹)

问题引入&#xff1a;如何实现输入一串密码&#xff0c;如&#xff1a;“123 xxxx” &#xff0c;然后读取并确认&#xff0c;是 -- Y&#xff1b;否 -- N。 自然的&#xff0c;我们想到用scanf&#xff0c;但是在使用过程中你是否遇到跟我一样的困惑呢&#xff1f;如下&…

[深度学习]基于YOLO高质量项目源码+模型+GUI界面汇总

以下项目全部是本人亲自编写代码&#xff0c;项目汇总如下&#xff1a; 序号项目名称下载地址1基于yolov8的辣椒缺陷检测系统python源码onnx模型评估指标曲线精美GUI界面.zip点我下载2基于yolov8的海上红外目标系统python源码onnx模型评估指标曲线精美GUI界面.zip点我下载3基于…

计算机视觉与深度学习 | 读取、处理和写入激光雷达点云数据(附matlab代码)

===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 激光雷达点云数据 1、读取和显示点云2、选择所需的一组点3、将所选点写…

如何高效删除 MySQL 日志表中的历史数据?实战指南

在处理高并发的物联网平台或者其他日志密集型应用时&#xff0c;数据库中的日志表往往会迅速增长&#xff0c;数据量庞大到数百GB甚至更高&#xff0c;严重影响数据库性能。如何有效管理这些庞大的日志数据&#xff0c;特别是在不影响在线业务的情况下&#xff0c;成为了一项技…

ES索引备份

#!/usr/bin/env python # -*- coding:utf-8 -*-""" /************************************************************** **************************************************************/ 获取ES中所有的文档数据 filename data_es.py python3 ""&q…

【LeetCode HOT 100】详细题解之二叉树篇

【LeetCode HOT 100】详细题解之二叉树篇 94 二叉树的中序遍历方法一&#xff1a;递归方法二&#xff1a;迭代 104 二叉树的最大深度方法一&#xff1a;递归方法二&#xff1a;迭代 226 翻转二叉树方法一&#xff1a;递归方法二&#xff1a;迭代 101 对称二叉树方法一&#xff…

iview Form Input组件按下回车键搜索和禁止触发表单默认事件

在进行表单搜索功能开发的过程中&#xff0c;经常会有这样的需求&#xff0c;要求Input输入完成以后&#xff0c;按下回车键进行查询。实现这个功能只需要在Input组件上增加keyup.enter事件即可 代码如下&#xff1a; <Input v-model"searchWords" keyup.enter&q…

小程序-使用npm包

目录 Vant Weapp 安装 Vant 组件库 使用 Vant 组件 定制全局主题样式 API Promise化 1. 基于回调函数的异步 API 的缺点 2. 什么是 API Promise 化 3. 实现 API Promise 化 4.调用 Promise 化之后的异步 API 小程序对 npm 的支持与限制 目前&#xff0c;小程序中已经…

Java 之深入理解 String、StringBuilder、StringBuffer

前言 由于发现 String、StringBuilder、StringBuffer 面试的时候会经常问到&#xff0c;这里就顺便总结一下&#xff1a;本文重点会以这三个字符串类的性能、线程安全、存储结构这三个方面进行分析 ✨上期回顾&#xff1a;Java 哈希表 ✨目录 前言 String 介绍 String 的不可变…

全局安装cnpm并设置其使用淘宝镜像的仓库地址(地址最新版)

npm、cnpm和pnpm基本概念 首先介绍一下npm和cnpm是什么&#xff0c;顺便说一下pnpm。 npm npm&#xff08;Node Package Manager&#xff09;是Node.js的默认包管理器&#xff0c;用于安装、管理和分享JavaScript代码包。它是全球最大的开源库生态系统之一&#xff0c;提供了数…

如何使用ssm实现基于HTML的中国传统面食介绍网站的搭建+vue

TOC ssm758基于HTML的中国传统面食介绍网站的搭建vue 第1章 绪论 1.1选题动因 当前的网络技术&#xff0c;软件技术等都具备成熟的理论基础&#xff0c;市场上也出现各种技术开发的软件&#xff0c;这些软件都被用于各个领域&#xff0c;包括生活和工作的领域。随着电脑和笔…

微服务SpringGateway解析部署使用全流程

官网地址&#xff1a; Spring Cloud Gateway 目录 1、SpringGateway简介 1、什么是网关 2、为什么用网关【为了转发】 2、应用&#xff1a; 1.启动nacos 2.创建网关项目 3.网关配置1 4.网关配置2【了解】 5.过滤器配置【了解】 1、SpringGateway简介 核心功能有三个&…