计算机网络-- 网络层(day06)
文章目录
- 网络层思维导图
- IPv4地址的应用规划
- 定长的子网掩码
- 变长的子网掩码VLSM
- IP数据报的发送和转发过程
- 主机发送IP数据报
- 路由器转发IP数据报
- 静态路由选择
- 动态路由选择
- 路由选择协议概述
- 常见的路由选择协议
- 路由器的基本结构
- 路由信息协议RIP的基本工作原理
- 开放最短路径优先OSPF的基本工作原理
- 边界网关协议BGP的基本工作原理
- IPv4数据报的首部格式
- 网际控制报文协议ICMP
- 虚拟专用网VPN与网络地址转换NAT
网络层思维导图

IPv4地址的应用规划
使用定长的子网掩码FLSM或变长的子网掩码VLSM
定长的子网掩码
使用同一个子网掩码来划分子网
子网划分方式不灵活:只能划分出2^n个子网(n是从主机号部分借用的用来作为子网号的比特数量)
每个子网所分配的IP地址数量相同,容易造成IP地址浪费

变长的子网掩码VLSM
使用不同的子网掩码来划分子网
子网划分方式灵活:可以按需分配
每个子网所分配的IP地址数量可以不同,尽可能减少对IP地址的浪费

IP数据报的发送和转发过程
主机发送IP数据报
判断目的主机是否与自己在同一个网络
若在同一个网络,则属于直接交付(通过ip地址与操作子网掩码得出对应的网络号,判断网络号是否一致)
若不在同一个网络,则属于间接交付,传输给主机所在网络的默认网关(路由器),由默认网关帮忙转发
路由器转发IP数据报
检查IP数据报首部是否出错
- 若出错,则直接丢弃该IP数据报并通告源主机
- 若没有出错,则进行转发
根据IP数据报的目的地址在路由表中查找匹配的条目
- 若找到匹配的条目,则转发给条目中指示的下一跳
- 若找不到,则丢弃该IP数据报并通告源主机

IP路由器工作再TCP/IP体系结构的网际层(或称IP层),TCP/IP体系结构的网际层并不负责可靠传输,也就是不能确保传输的IP分组不丢失

静态路由选择
由人工配置的网络路由、默认路由、特定主机路由、黑洞路由等都属于静态路由。
这种人工配置方式简单、开销小。但不能即使适应网络状态(流量、拓扑等)的变化
静态路由配置可能产生路由环路问题
动态路由选择
路由器通过路由选择协议自动获取路由信息
路由选择协议概述
因特网采用分层次的路由选择协议
将一部分网络和路由器划分成一个自治系统AS,将路由和路由之间简称域间路由选择,自治系统内部的路由选择简称为域内路由选择
域间路由选择使用外部网关协议EGP路由选择协议(也可叫外部路由协议ERP)
域内路由选择使用内部网关协议IGP路由选择协议(内部路由协议IRP)
因为早期RFC文档中没用路由器,而是网关这一名字,新的RFC文档中又改成了路由器
外部网关协议EGP和内部网关协议IGP只是路由选择协议的分类名称

常见的路由选择协议
- 内部网关协议IGP
- 路由信息协议RIP
- 内部网关路由协议IGRP
- 增强型内部网关路由协议EIGRP
- 开放式最短路径优先OSPF
- 中间系统到中间系统IS-IS
- 外部网关协议EGP
- 边界网关协议BGP

- 边界网关协议BGP
路由器的基本结构
路由器的核心部件是路由选择处理机,它的核心作用是根据所使用的路由选择协议,周期性的与其它的路由器进行路由信息交互来更新路由表
1.路由表一般仅包含从目的网络到下一跳的映射
2.路由表需要对网络拓扑编号的计算最优化
3.转发表是从路由表得出的
4.转发表的结构应当使查找过程最优化

路由信息协议RIP的基本工作原理
路由信息协议RIP是内部网关协议IGP中最先得到广泛使用的协议之一,其相关标准文档为RFC 1058
RIP使用跳数作为度量来衡量到达目的网络的距离
- 路由器到直连网络的距离定义为1.
- 路由器到非直连网络的距离定位为所经过的路由器数加1.
- 允许一条路径最多只能包含15个路由器。”距离“等于16时相当于不可达。因此RIP只适用于小型互联网
RIP认为好的路由就是”距离短“的路由,也就是所通过路由器数量最少的路由。
RIP包含以下三个要点:
1.和谁交换信息 仅和相邻路由器交换信息
2.交换什么信息 自己的路由表
3.何时交换信息 周期性交换 (例如每30秒)
RIP坏消息传递慢
开放最短路径优先OSPF的基本工作原理
OSPF是基于链路状态的,而不像RIP那样基于距离向量的
OSPF采用SPF算法计算路由,从算法上保证了不会产生路由环路。
OSPF不限制网络规模,更新效率高,收敛速度块。
链路状态是指本路由器都和哪些路由器相邻,以及相应链路的”代价“(cost)。
- ”代价“表示费用、距离、时延、带宽等等,这些都由网络管理人员来决定
边界网关协议BGP的基本工作原理
内部网关协议IGP(例如路由信息协议RIP或开放最短路径优先OSPF)
外部网关协议EGP(例如边界网关协议BGP)
在不同自治系统内,度量路由的”代价“(距离、带宽、费用等)可能不同。
因此,对于自治系统之间的路由选择,使用”代价“作为度量来寻找最佳路由是不行的
没用统一的度量,何谈最佳路由
自治系统之间的路由选择必须考虑相关策略(政治、经济、安全)
BGP是只能力求寻找一条能够到达目的的网络且比较好的路由(不能兜圈子), 而并非要寻找一个最佳路由

在配置BGP时,每个自治系统的管理员要选择至少一个路由器作为该自治系统的”BGP发言人“
不同的BGP要交换路由信息,首先必须建立TCP连接(因此其BGP报文在TCP中),端口号为179

IPv4数据报的首部格式

网际控制报文协议ICMP


虚拟专用网VPN与网络地址转换NAT

网络地址转换NAT
使用私有地址的主机想给因特网上使用全球IP地址的主机发送消息


相关文章:
计算机网络-- 网络层(day06)
文章目录网络层思维导图IPv4地址的应用规划定长的子网掩码变长的子网掩码VLSMIP数据报的发送和转发过程主机发送IP数据报路由器转发IP数据报静态路由选择动态路由选择路由选择协议概述常见的路由选择协议路由器的基本结构路由信息协议RIP的基本工作原理开放最短路径优先OSPF的基…...
docker 镜像
一、介绍 镜像:是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码,运行时需要的库,环境变量和配置文件等)这个打包好的运行环境就是image镜像文件。 只有通过这个镜…...
JUC并发编程与源码分析笔记11-Java对象内存布局和对象头
先从阿里及其它大厂面试题说起 你觉得目前面试,你还有那些方面理解的比较好,我没问到的,我说了juc和jvm以及同步锁机制那先说juc吧,说下aqs的大致流程cas自旋锁,是获取不到锁就一直自旋吗?cas和synchronized区别在哪…...
JavaSE之集合篇
文章目录前言一、集合概述集合继承结构图二、Collection接口中常用方法2.1Collection中存放什么元素?2.2常用方法2.3迭代器三、List接口中常用的方法四、ArrayList初始化容量及扩容五、Vector六、Map接口常用方法七、Properties前言 由于在刷题过程中,经…...
LeetCode分类刷题-----贪心算法
贪心算法贪心455.分发饼干376.摆动序列53.最大子序和122.买卖股票的最佳时机||55.跳跃游戏45.跳跃游戏||1005.K次取反后最大化的数组和134.加油站135.分发糖果860.柠檬水找零406.根据身高重建队列452.用最少数量的箭引爆气球,提供两种解决方案。首先,SiteWhere 的社区版 (CE) 是在 CPAL 许可下提供的。对于此解…...
【unity】rts engine 6 放置并建造建筑;
一 放置并建造建筑 GameManager -> Essential -> BuildingExtension 查看 building placement building position y offset Y轴偏移,建筑离地距离,可0.1 terrain max distance 放置建筑与允许地形的最大距离,可1 placable terrain …...
华为OD机试题 - 任务调度(JavaScript)| 含思路
更多题库,搜索引擎搜 梦想橡皮擦华为OD 👑👑👑 更多华为OD题库,搜 梦想橡皮擦 华为OD 👑👑👑 更多华为机考题库,搜 梦想橡皮擦华为OD 👑👑👑 华为OD机试题 最近更新的博客使用说明本篇题解: 任务调度题目输入输出描述示例一输入输出Code解题思路华为OD其…...
《Spring源码深度分析》第4章 自定义标签的解析
目录标题前言一、自定义标签使用二、自定义标签解析1、代码入口2、parseCustomElement【BeanDefinitionParserDelegate】2.1 resolve【DefaultNamespaceHandlerResolver】3、parse【NamespaceHandlerSupport】4、parse【AbstractBeanDefinitionParser】4.1 parseInternal【Abst…...
MATLAB绘制椭圆形相关系矩阵图
数据/代码准备 数据及代码下载: 下载专区-《MATLAB统计分析与应用:40个案例分析》程序与数据 绘图函数: matrixplot(data, PARAM1,val1, PARAM2,val2, ...) 案例 数据如下: MATLAB代码如下: clc close all clear …...
「SQL面试题库」 No_1 员工薪水中位数
🍅 1、专栏介绍 「SQL面试题库」是由 不是西红柿 发起,全员免费参与的SQL学习活动。我每天发布1道SQL面试真题,从简单到困难,涵盖所有SQL知识点,我敢保证只要做完这100道题,不仅能轻松搞定面试ÿ…...
Python机器学习17——极限学习机(ELM)
本系列基本不讲数学原理,只从代码角度去让读者们利用最简洁的Python代码实现机器学习方法。 背景: 极限学习机(ELM)也是学术界常用的一种机器学习算法,严格来说它应该属于神经网络,应该属于深度学习栏目,但是我这里把它…...
二分查找与判定树
二分查找的算法思想二分查找也称“折半查找”,要求查找表为采用顺序存储结构的有序表。本例一律采用升序排列。二分查找每一次都会比较给定值与序列[low,high]的中间元素,该元素的下标为mid (lowhigh)/2,若两者相等,则返回元素的下标为mid;如…...
反转链表(精美图示详解哦)
全文目录引言反转链表题目描述与思路实现总结引言 在学习了单链表的相关知识后,尝试实现一些题目可以帮助我们更好的理解单链表的结构以及对其的使用。 从这篇文章开始,将会介绍一些编程题来帮助我们更好的掌握单链表: 分别是反转链表、链表…...
深入理解多线程
一、线程基本概念 1、概述 线程是允许应用程序并发的一种机制。线程共享进程内的所有资源。 线程是调度的基本单位。 每个线程都有自己的 errno。 所有 pthread 函数均以返回 0 表示成功,返回一个正值表示失败。 编译 pthread 程序需要添加链接库(…...
华为OD机试题 - 英文输入法(JavaScript)
更多题库,搜索引擎搜 梦想橡皮擦华为OD 👑👑👑 更多华为OD题库,搜 梦想橡皮擦 华为OD 👑👑👑 更多华为机考题库,搜 梦想橡皮擦华为OD 👑👑👑 华为OD机试题 最近更新的博客使用说明本篇题解: 英文输入法题目输入输出示例一输入输出说明示例一输入输出Code…...
64 云原生容器化
文章目录 一、什么是rancher二、为什么使用rancher三、 Rancher与[k8s](https://so.csdn.net/so/search?q=k8s&spm=1001.2101.3001.7020)的关系及区别1、Rancher具有的优势三、rancher安装1、细部介绍四、图形化操作1、执行2、图形化操作1、进行客户机登录rancher2、Ranch…...
IronXL for .NET 2023.2.5 Crack
关于适用于 .NET 的 IronXL 在 C# 中阅读和编辑 Excel 电子表格,无需 MS Office 或 Excel Interop。 IronXL for .NET 允许开发人员在 .NET 应用程序和网站中读取、生成和编辑 Excel(和其他电子表格文件)。您可以读取和编辑 XLS/XLSX/CSV/TS…...
计算机组成原理|第一章(笔记)
目录第一章 计算机系统概论1.1 计算机系统简介1.1.1 计算机的软硬件概念1.1.2 计算机系统的层次结构1.1.3 计算机组成和计算机体系结构1.2 计算机的基本组成1.2.1 冯 诺伊曼计算机的特点1.2.2 计算机的硬件框图1.2.3 计算机的工作过程1.3 计算机硬件的主要技术指标1.3.1 机器字…...
[ vulnhub靶机通关篇 ] Empire Breakout 通关详解
🍬 博主介绍 👨🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…...
CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...
Python竞赛环境搭建全攻略
Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型(算法、数据分析、机器学习等)不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...
数据库——redis
一、Redis 介绍 1. 概述 Redis(Remote Dictionary Server)是一个开源的、高性能的内存键值数据库系统,具有以下核心特点: 内存存储架构:数据主要存储在内存中,提供微秒级的读写响应 多数据结构支持&…...
文件上传漏洞防御全攻略
要全面防范文件上传漏洞,需构建多层防御体系,结合技术验证、存储隔离与权限控制: 🔒 一、基础防护层 前端校验(仅辅助) 通过JavaScript限制文件后缀名(白名单)和大小,提…...
【PX4飞控】mavros gps相关话题分析,经纬度海拔获取方法,卫星数锁定状态获取方法
使用 ROS1-Noetic 和 mavros v1.20.1, 携带经纬度海拔的话题主要有三个: /mavros/global_position/raw/fix/mavros/gpsstatus/gps1/raw/mavros/global_position/global 查看 mavros 源码,来分析他们的发布过程。发现前两个话题都对应了同一…...
ubuntu中安装conda的后遗症
缘由: 在编译rk3588的sdk时,遇到编译buildroot失败,提示如下: 提示缺失expect,但是实测相关工具是在的,如下显示: 然后查找借助各个ai工具,重新安装相关的工具,依然无解。 解决&am…...
