当前位置: 首页 > news >正文

【计算机网络】网络层-数据平面(学习笔记)

一、网络层提供的服务

1、虚电路服务

通讯前建立虚电路,发送前认为选择路径,所以分组沿着同一条虚电路。

特点:带宽固定

2、数据报服务

数据可能沿着不同路径传输

3、网络层的两个层面

数据层面:源主机到目标主机

控制层面:路由器之前传递路由信息

同一网段:直接交付

非同一网段:间接交付

路由器基本功能:不同网段数据的转发

4、互联网络与虚拟互联网络

二、IP协议

1、IP地址

1)IP地址概述

每一类地址都由两个固定长度的字段组成其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另个字段则是主机号 host-id,它标志该主机(或路由器)。

IP地址:网络号+主机号

32位(4字节)

点分十进制:每8个字节二进制转换成10进制,用.分隔

2)IP地址的分类

以ip地址第一位区分

  1. A类:1-126:默认255.0.0.0
  2. B类:128-191:默认255.255.0.0
  3. C类:192-223:默认255.255.255.0
  4. D类:224-239:多播/组播(一个地址代表一组)
  5. E类:240-254:科研保留

127.0.0.1:回环地址localhost

xxx.xxx.0.0:本网络(网段)

xxx.xxx.255.255:广播地址

192.0.0.0、128.0.0.0:未指派

3)IP地址的特点

IP地址是标志一个主机(或路由器)和一条链路的接口

当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的IP地址,其网络号 net-id 必须是不同的。这种主机称为多归属主机。

由于一个路由器至少应当连接到两个网络,这样它才能将IP数据报从一个网络转发到另一个网络。因此一个路由器至少应当有两个不同的IP地址

用转发器、网桥或交换机连接起来的局域网仍为一个网络,因此这些局域网都具有同样的网络号net-id(内网转发)

所有分配到网络号net-id的网络,无论范围大小都是平等的

2、ARP地址解析协议

1)ARP概要

不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用MAC地址

每一个主机都设有一个 ARP 高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的IP地址到MAC地址的映射表

查看arp缓存:cmd => arp -a

ARP 是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题

2)ARP过程

3)RARP逆地址解析协议

逆地址解析协议 RARP :通过MAC地址获得IP地址

3、IP数据报格式

1)版本:4

区分ipv4和ipv6

0100(ipv4包头)

0110(ipv6包头)

2)首部长度:4

IP包头的长度是可变的:20~60字节,大多为20字节

首部长度存储ip包头的长度,0101(20字节)

首部长度以4字节为单位

首部长度 * 4字节 = 首部真实长度

3)区分服务:8

1-3位:优先级

4-7位:服务类型(低延迟、高通道服务类型)

8位:未被启用

4)总长度:16

表明整个IP包(三四五层)的总长度

5)标识:16

标识同一个报文的所有分片,由发送端随机生成

标识用于区分不同分片,接收方据此将收到的分片进行"拼接"

6)标志:3
第一个比特

永远为0(未被启用)

第二个比特 DF

不能分片:Donot Fragment

若为0,则表明进行了分片

若为1,则表明未进行分片

第三个比特 MF

更多分片:More Fragment

表明本分片后面是否还有分片(本分片是否为最后一个分片)

1:本分片不是最后一个分片

0:最后一个分片

7)片偏移:13

段偏移量:标志IP分片的先后顺序

片偏移以8字节为单位

片偏移 * 8字节 = 片的真实偏移

防火墙会拦截IP分片:防火墙只让标志位的010通过,则将分片任务交给应用层,应用层将其分成1480的分片

8)TTL:8

TTL(time to live):防止一个数据包在网络上兜圈子

TTL由8个比特组成(0~255),这个数字表示通过路由器的个数,每经过一个路由器TTL值-1

通过TTL初始值可以大概判断对方是什么主机

9)协议:8

6:通向TCP协议

17:通向UDP协议

1: 通向同层的ICMP协议

41:IPv6

10)首部校验和:16

11)原ip:32
12)目标ip:32
13)可选项目

排错、测量、安全…

增加首部的可变部分是为了增加IP数据报的功能,但这同时也使得IP数据报的首部长度成为可变的,这就增加了每一个路由器处理数据报的开销。实际上这些选项很少被使用。

4、划分子网

1)划分子网概述

目的: 隔离网络广播,保证网络的安全,节约IP地址

特点:对内划分子网,对外表现为没有划分子网的网络

IP地址:网络号 + 子网号 + 主机号

2)子网掩码

IP地址无法判断子网号 => 用子网掩码找出IP地址中的子网部分 => 用于(交换机、路由器)判断是否在同一网段

IP地址 AND(按位与) 子网掩码 = 网络地址(网段)

子网掩码两种写法:

  1. 点分十进制:192.168.0.1/255.255.255.0
  2. 网络位长度:192.168.0.1/24
  1. 子网掩码是一个网络或一个子网的重要属性
  2. 路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器
  3. 路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码
3)路由聚合

**路由汇聚:**是把一组路由汇聚为一个单个的路由广播。路由汇聚的最终结果和最明显的好处是缩小网络上的路由表的尺寸。

192.128.0.0/25		192.168.2.1
192.128.0.128/25	192.168.2.1=>192.168.0.0/24	192.168.2.1

5、ICMP

1)ICMP概述

网际控制报文协议:ICMP (Internet Control Message Protocol)

ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告

ICMP是IP层的协议。但ICMP报文作位IP层数据报的数据,加上IP包头组成IP数据报发送

2)ping命令

PING (Packet Internet Grope):因特网包探索器

用于测试网络连接量的程序。Ping发送1个ICMP回声请求消息,给目的地并报告是否收到所希望的ICMP回声应答

cmd / term => ping 域名/ip地址

相关文章:

【计算机网络】网络层-数据平面(学习笔记)

一、网络层提供的服务 1、虚电路服务 通讯前建立虚电路,发送前认为选择路径,所以分组沿着同一条虚电路。 特点:带宽固定 2、数据报服务 数据可能沿着不同路径传输 3、网络层的两个层面 数据层面:源主机到目标主机 控制层面&…...

el-collapse 嵌套中 el-checkbox作为标题,选中复选框与el-tree联动

<el-drawertitle"应用授权":visible.sync"menuDrawer"><el-collapse accordion style"padding: 15px"><el-collapse-item v-for"item in platList"><template slot"title"><el-checkbox v-model…...

Ubuntu中还换源 sudo apt-get update更新失败

sudo apt-get update更新失败 1 前提2 编辑3 换源 1 前提 浏览器可以访问百度 如下文章&#xff1a; VMware 中虚拟机没网 2 编辑 输入如下命令&#xff0c;进入换源文件&#xff1a; sudo gedit /etc/apt/sources.list 3 换源 中科大 deb http://mirrors.ustc.edu.cn/ub…...

flutter播放rtmp视频

安装 dependencies:fijkplayer: ^0.11.0使用方法 import package:fijkplayer/fijkplayer.dart; import package:flutter/material.dart;class RtmpPlayerPage extends StatefulWidget {const RtmpPlayerPage({super.key});overrideState<RtmpPlayerPage> createState()…...

stm32 - 中断

stm32 - 中断 概念中断向量表NVIC 嵌套中断向量控制器优先级 中断EXTI概念基本结构例子- 对射式红外传感器计次例子 - 旋转编码器 概念 stm32 支持的中断资源&#xff08;都属于外设&#xff09; EXTITIMADCUSARtSPII2C stm32支持的中断 内核中断 外设中断 中断通道与优先级 一…...

【洛谷 P1216】[USACO1.5] [IOI1994]数字三角形 Number Triangles 题解(动态规划)

[USACO1.5] [IOI1994]数字三角形 Number Triangles 题目描述 观察下面的数字金字塔。 写一个程序来查找从最高点到底部任意处结束的路径&#xff0c;使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 在上面的样例中&#xff0c;从 7 → 3 → 8 →…...

十四天学会C++之第四天(面向对象编程基础)

类和对象是什么&#xff1f; 在C中&#xff0c;类是一种用户定义的数据类型&#xff0c;它可以包含数据成员&#xff08;也就是属性&#xff09;和成员函数&#xff08;也就是方法&#xff09;。类是一种模板或蓝图&#xff0c;用于创建具体的对象。 对象是类的实例&#xff…...

复习Day09:哈希表part02:141.环形链表、142. 环形链表II、454.四数相加II、383赎金信

之前的blog&#xff1a;https://blog.csdn.net/weixin_43303286/article/details/131765317 我用的方法是在leetcode再过一遍例题&#xff0c;明显会的就复制粘贴&#xff0c;之前没写出来就重写&#xff0c;然后从拓展题目中找题目来写。辅以Labuladong的文章看。然后刷题不用…...

Internet通过TCP/IP协议可以实现多个网络的无缝连接

Internet通过TCP/IP&#xff08;Transmission Control Protocol/Internet Protocol&#xff0c;传输控制协议/互联网协议&#xff09;协议实现多个网络的无缝连接。 TCP/IP是Internet的基础通信协议套件&#xff0c;它定义了数据如何在不同网络之间传输和路由&#xff0c;使得…...

互联网Java工程师面试题·Dubbo 篇·第二弹

目录 18、Dubbo 用到哪些设计模式&#xff1f; 19、Dubbo 配置文件是如何加载到 Spring 中的&#xff1f; 20、Dubbo SPI 和 Java SPI 区别&#xff1f; 21、Dubbo 支持分布式事务吗&#xff1f; 22、Dubbo 可以对结果进行缓存吗&#xff1f; 23、服务上线怎么兼容旧版本&…...

(c语言)经典bug

#include<stdio.h> //经典bug int main() { int i 0; int arr[10] {1,2,3,4,5,6,7,8,9,10}; for (i 0; i < 12; i) //越界访问 { arr[i] 0; printf("hehe\n"); } return 0; } 注&#xff1a;输出结果为死循…...

用于工业物联网和自动化的 Apache Kafka、KSQL 和 Apache PLC4

由于单一系统和专有协议&#xff0c;数据集成和处理是工业物联网&#xff08;IIoT&#xff0c;又名工业 4.0 或自动化工业&#xff09;中的巨大挑战。Apache Kafka、其生态系统&#xff08;Kafka Connect、KSQL&#xff09;和 Apache PLC4X 是以可扩展、可靠和灵活的方式实现端…...

1.1.1开发基础-硬件-万用表

​ 1 万用表 万用表又叫多用表、三用表、复用表,是一种多功能、多量程的测量仪表,一般万用表可测量直流电流、直流电压、交流电压、电阻和音频电平等,有的还可以测交流电流、电容量、电感量及半导体的一些参数,是最常用、最简单的测试设备。 万用表是一种多功能多量程的便…...

Mysql内置函数、复合查询和内外连笔记

目录 一、mysql内置函数 1.1.日期函数 1.2.字符串函数 1.3.数学函数 1.4.其他函数 二、复合查询 2.2 自连接 2.3 子查询 2.3.1单行自查询 2.3.2 多行子查询 2.3.3 多列子查询 2.3.4在from子句中使用子查询 2.3.5合并查询 三、表的内连和外连 3.1内连接 3.2外连接…...

【VUE·疑难问题】定义 table 中每行的高度(使用 element-UI)

一、如何定义 table 中每一行的 height &#xff1f; 1.table例子 <!-- 二、table --><div style"overflow: hidden;display: block;height: 68vh;width: 100%;"><el-table stripe show-header style"width: 100%" :data"tableData&q…...

【重拾C语言】四、循环程序设计(后判断条件循环、先判断条件循环、多重循环;典例:计算平均成绩、打印素数、百钱百鸡问题)

目录 前言 四、循环程序设计 4.1 计算平均成绩——循环程序 4.1.1 后判断条件的循环 a. 语法 b. 典例 4.1.2 先判断条件的循环 a. 语法 b. 典例 4.1.3 for语句 a. 语法 b. 典例 4.2 计算全班每人平均成绩—多重循环 4.2.1 打印100以内素数 4.2.2 百钱百…...

Linux 安装 Gitlab

1、到官网下载Gitlab安装包 (如果是Centos&#xff0c;到el目录下载)。下载GitLab 2、安装依赖软件 sudo yum install -y policycoreutils-python3、安装gitlab sudo rpm -i gitlab-jh-16.3.4-jh.0.el7.x86_64.rpm 4、修改 gitlab.rb sudo vi /etc/gitlab/gitlab.rb 5、g…...

stm32-SPI协议

SPI协议详解&#xff08;图文并茂超详细&#xff09; SPI通讯协议 于是我们想有没有更好一点的串行通讯方式&#xff1b;相比较于UART&#xff0c;SPI的工作方式略有不同。 SPI是一个同步的数据总线&#xff0c;也就是说它是用单独的数据线和一个单独的时钟信号来保证发送端和…...

想要精通算法和SQL的成长之路 - 并查集的运用和案例(省份数量)

想要精通算法和SQL的成长之路 - 并查集的运用 前言一. 并查集的使用和模板1.1 初始化1.2 find 查找函数1.3 union 合并集合1.4 connected 判断相连性1.5 完整代码 二. 运用案例 - 省份数量 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 并查集的使用和模板 先说一下并查集…...

解决内网拉取企微会话存档代理问题的一种办法

问题&#xff1a;客户的服务都是内网的&#xff0c;不能直接访问外网&#xff1b;访问外网的话需要走kong网关才能出去。 会话存档官网说可以使用socket5、http方式拉取会话存档&#xff1b;我这边尝试了直接使用kong网关的ip和端口配置进去&#xff0c;是访问不了的 我后面就…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录&#xff0c;不允许匿名访问&#xff0c;kefu只能访问/data/kefu目录&#xff0c;不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

MySQL 主从同步异常处理

阅读原文&#xff1a;https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主&#xff0c;遇到的这个错误&#xff1a; Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一&#xff0c;通常表示&#xff…...

tauri项目,如何在rust端读取电脑环境变量

如果想在前端通过调用来获取环境变量的值&#xff0c;可以通过标准的依赖&#xff1a; std::env::var(name).ok() 想在前端通过调用来获取&#xff0c;可以写一个command函数&#xff1a; #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...

基于江科大stm32屏幕驱动,实现OLED多级菜单(动画效果),结构体链表实现(独创源码)

引言 在嵌入式系统中&#xff0c;用户界面的设计往往直接影响到用户体验。本文将以STM32微控制器和OLED显示屏为例&#xff0c;介绍如何实现一个多级菜单系统。该系统支持用户通过按键导航菜单&#xff0c;执行相应操作&#xff0c;并提供平滑的滚动动画效果。 本文设计了一个…...

客户案例 | 短视频点播企业海外视频加速与成本优化:MediaPackage+Cloudfront 技术重构实践

01技术背景与业务挑战 某短视频点播企业深耕国内用户市场&#xff0c;但其后台应用系统部署于东南亚印尼 IDC 机房。 随着业务规模扩大&#xff0c;传统架构已较难满足当前企业发展的需求&#xff0c;企业面临着三重挑战&#xff1a; ① 业务&#xff1a;国内用户访问海外服…...

写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里

写一个shell脚本&#xff0c;把局域网内&#xff0c;把能ping通的IP和不能ping通的IP分类&#xff0c;并保存到两个文本文件里 脚本1 #!/bin/bash #定义变量 ip10.1.1 #循环去ping主机的IP for ((i1;i<10;i)) doping -c1 $ip.$i &>/dev/null[ $? -eq 0 ] &&am…...

VSCode 使用CMake 构建 Qt 5 窗口程序

首先,目录结构如下图: 运行效果: cmake -B build cmake --build build 运行: windeployqt.exe F:\testQt5\build\Debug\app.exe main.cpp #include "mainwindow.h"#include <QAppli...

【笔记】AI Agent 项目 SUNA 部署 之 Docker 构建记录

#工作记录 构建过程记录 Microsoft Windows [Version 10.0.27871.1000] (c) Microsoft Corporation. All rights reserved.(suna-py3.12) F:\PythonProjects\suna>python setup.py --admin███████╗██╗ ██╗███╗ ██╗ █████╗ ██╔════╝…...