四.网络层(上)

目录

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.rhkb.cn/news/440589.html

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

相关文章

Python手绘五星红旗,庆75周年

环境 pip install matplotlib pip install numpy 代码 import matplotlib.pyplot as plt import numpy as np# 中国国旗的标准尺寸比例是 3:2 width, height 300, 200 # 这里可以调整为任何满足3:2比例的尺寸# 创建一个新图形 fig, ax plt.subplots(figsize(width/100, h…

快速熟悉Nginx

一、Nginx是什么&#xff1f; ‌Nginx是一款高性能、轻量级的Web服务器和反向代理服务器。‌ ‌特点‌&#xff1a;Nginx采用事件驱动的异步非阻塞处理框架&#xff0c;内存占用少&#xff0c;并发能力强&#xff0c;资源消耗低。‌功能‌&#xff1a;Nginx主要用作静态文件服…

JS 介绍/书写位置/输入输出语法

目录 1. JS 介绍 1.1 JS 是什么 1.2 JS 的作用 1.3 JS 的组成 2. JS 书写位置 2.1 内部 JS 2.2 外部 JS 2.3 内联 JS 3. JS 注释和结束符 4. JS 输入输出语法 4.1 输入语法 4.2 输入语句 4.3 执行顺序 5. 字面量 1. JS 介绍 1.1 JS 是什么 1.2 JS 的作用 1.3 JS …

网 络 安 全

网络安全是指保护网络系统及其所存储或传输的数据免遭未经授权访问、使用、揭露、破坏、修改或破坏的实践和技术措施。网络安全涉及多个方面&#xff0c;包括但不限于以下几个方面&#xff1a; 1. 数据保护&#xff1a;确保数据在传输和存储过程中的完整性和保密性&#xff0c;…

Python3 爬虫 中间人爬虫

中间人&#xff08;Man-in-the-Middle&#xff0c;MITM&#xff09;攻击是指攻击者与通信的两端分别创建独立的联系&#xff0c;并交换其所收到的数据&#xff0c;使通信的两端认为其正在通过一个私密的连接与对方直接对话&#xff0c;但事实上整个会话都被攻击者完全控制。在中…

macOS Sequoia 15.0.1 (24A348) 正式版 ISO、IPSW、PKG 下载

macOS Sequoia 15.0.1 (24A348) 正式版 ISO、IPSW、PKG 下载 iPhone 镜像、Safari 浏览器重大更新和 Apple Intelligence 等众多全新功能令 Mac 使用体验再升级 请访问原文链接&#xff1a;https://sysin.org/blog/macOS-Sequoia/ 查看最新版。原创作品&#xff0c;转载请保留…

vsomeip用到的socket

概述&#xff1a; ​ vsomeip用到的socket的代码全部都在implementation\endpoints目录下面&#xff0c;主要分布在下面六个endpoint类中&#xff1a; local_client_endpoint_impl // 本地客户端socket&#xff08;UDS Socket或者127.0.0.1的socket&#xff09;local_server…

解决ros2 rviz Fixed Frame No TF data问题

新建一个终端&#xff0c;然后输入 &#xff1a;map后的数字可以任意&#xff0c;100也可以。注意map与框架名称一致。 rosrun tf2_ros static_transform_publisher 0.0 0.0 0.0 0.0 0.0 0.0 map 5

(作业)第三期书生·浦语大模型实战营(十一卷王场)--书生入门岛通关第1关Linux 基础知识

关卡任务 闯关任务需要在关键步骤中截图&#xff1a; 任务描述 完成所需时间 闯关任务 完成SSH连接与端口映射并运行hello_world.py 10min 可选任务 1 将Linux基础命令在开发机上完成一遍 10min 可选任务 2 使用 VSCODE 远程连接开发机并创建一个conda环境 10min 可选任务 3 创…

`git restore` 和 `git checkout` 用于丢弃工作区的改动, `git switch` 和 `git checkout` 用来切换分支

git restore 和 git checkout 都可以用于丢弃工作区的改动 但它们有一些区别&#xff0c;尤其是在 Git 2.23 引入了新的命令后。 主要区别 git checkout 是一个多用途命令&#xff1a; 它用于切换分支。它还可以用于恢复工作区中特定文件的更改。由于功能过于复杂&#xff0c…

html中的文本标签(含标签的实现案例)

目录 1.标题标签 2.标题标签的align属性 3.段落标签 4.水平线标签hr 5.换行标签br 6.文本样式标签font ​编辑7.文本格式化标签 8.文本语义标签 1&#xff09;时间time标签 2&#xff09;文本高亮Mark标签 3&#xff09;cite标签 9.特殊字符标签 10.图像标签img 附录&#xff…

安卓使用memtester进行内存压力测试

memteser简介 memtester 是一个用于测试内存可靠性的工具。 它可以对计算机的内存进行压力测试&#xff0c;以检测内存中的错误&#xff0c;例如位翻转、随机存取错误等。memtester 可以在不同的操作系统上运行&#xff0c;并且可以针对不同大小的内存进行测试。 下载源码 m…

【Python】Python知识总结浅析

Python是一种高级编程语言&#xff0c;由Guido van Rossum于1991年首次发布。它以简洁的语法和强大的功能著称&#xff0c;适用于多种应用场景&#xff0c;包括Web开发、数据分析、人工智能、自动化脚本等。 易于学习和使用&#xff1a;Python的语法简洁明了&#xff0c;适合初…

【Windows】在任务管理器中隐藏进程

在此前的一篇&#xff0c;我们已经介绍过了注入Dll 阻止任务管理器结束进程 -- Win 10/11。本篇利用 hook NtQuerySystemInformation 并进行断链的方法实现进程隐身&#xff0c;实测支持 taskmgr.exe 的任意多进程隐身。 任务管理器 代码&#xff1a; // dllmain.cpp : 定义 …

RabbitMQ篇(基本介绍)

目录 一、简介 二、作用 三、AMQP协议 1. 简介 2. 核心概念 四、工作原理 五、工作模式 1. 普通模式 2. Worker模式 3. PubSub模式 4. Rounting模式 5. Topic模式 6. RPC模式 7. Publisher Confirms模式 六、基本结构 七、常见五个角色 一、简介 RabbitMQ 是一…

828华为云征文|华为云Flexus云服务器X实例部署 即时通讯IM聊天交友软件——高性能服务器实现120W并发连接

营运版的即时通讯IM聊天交友系统&#xff1a;特点可发红包&#xff0c;可添加多条链接到用户网站和应用&#xff0c;安卓苹果APPPC端H5四合一 后端开发语言&#xff1a;PHP&#xff0c; 前端开发语言&#xff1a;uniapp混合开发。 集安卓苹果APPPC端H5四合一APP源码&#xff0…

推理攻击-Python案例

1、本文通过推理攻击的方式来估计训练集中每个类别的样本数量、某样本是否在训练集中。 2、一种简单的实现方法&#xff1a;用模型对训练数据标签进行拟合&#xff0c;拟合结果即推理为训练集中的情况。 3、了解这些案例可以帮助我们更好的保护数据隐私。 推理攻击&#xff08;…

旋转花键高效运行关键之一

旋转花键是一种广泛应用于机械设备中的重要部件&#xff0c;具有传递扭矩、承受载荷和维持运动精度等功能&#xff0c;而旋转花键润滑脂则是确保其正常运作的关键因素之一。事实上&#xff0c;旋转花键润滑油的选择是一个综合性的过程&#xff0c;需要考虑多个因素以确保设备的…

图解Linux文件属性与目录配置

Linux的文件属性十分重要&#xff0c;与windows的文件属性有很大不同&#xff0c;Linux的文件增加了许多属性&#xff0c;如读写、连接数、文件拥有者及所属群组。如果一个文件属于一个群组&#xff0c;那么这个群组的成员就可以访问&#xff0c;其他的群组就不能访问&#xff…

Vue组件库Element-ui

Vue组件库Element-ui Element是一套为开发者、设计师和产品经理准备的基于Vue2.0的桌面端组件库。Element - 网站快速成型工具 安装element-ui npm install element-ui # element-ui版本&#xff08;可以指定版本号引入ElementUI组件库&#xff0c;在main.js中添加内容得到&…