【计算机网络】网络层-数据平面(学习笔记)
一、网络层提供的服务
1、虚电路服务
通讯前建立虚电路,发送前认为选择路径,所以分组沿着同一条虚电路。
特点:带宽固定

2、数据报服务
数据可能沿着不同路径传输

3、网络层的两个层面
数据层面:源主机到目标主机
控制层面:路由器之前传递路由信息
同一网段:直接交付
非同一网段:间接交付
路由器基本功能:不同网段数据的转发
4、互联网络与虚拟互联网络

二、IP协议
1、IP地址
1)IP地址概述
每一类地址都由两个固定长度的字段组成其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另个字段则是主机号 host-id,它标志该主机(或路由器)。
IP地址:网络号+主机号
32位(4字节)
点分十进制:每8个字节二进制转换成10进制,用.分隔
2)IP地址的分类
以ip地址第一位区分
- A类:1-126:默认255.0.0.0
- B类:128-191:默认255.255.0.0
- C类:192-223:默认255.255.255.0
- D类:224-239:多播/组播(一个地址代表一组)
- 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(按位与) 子网掩码 = 网络地址(网段)
子网掩码两种写法:
- 点分十进制:192.168.0.1/255.255.255.0
- 网络位长度:192.168.0.1/24
- 子网掩码是一个网络或一个子网的重要属性
- 路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器
- 路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码
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 前提 浏览器可以访问百度 如下文章: VMware 中虚拟机没网 2 编辑 输入如下命令,进入换源文件: 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 支持的中断资源(都属于外设) EXTITIMADCUSARtSPII2C stm32支持的中断 内核中断 外设中断 中断通道与优先级 一…...
【洛谷 P1216】[USACO1.5] [IOI1994]数字三角形 Number Triangles 题解(动态规划)
[USACO1.5] [IOI1994]数字三角形 Number Triangles 题目描述 观察下面的数字金字塔。 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 在上面的样例中,从 7 → 3 → 8 →…...
十四天学会C++之第四天(面向对象编程基础)
类和对象是什么? 在C中,类是一种用户定义的数据类型,它可以包含数据成员(也就是属性)和成员函数(也就是方法)。类是一种模板或蓝图,用于创建具体的对象。 对象是类的实例ÿ…...
复习Day09:哈希表part02:141.环形链表、142. 环形链表II、454.四数相加II、383赎金信
之前的blog:https://blog.csdn.net/weixin_43303286/article/details/131765317 我用的方法是在leetcode再过一遍例题,明显会的就复制粘贴,之前没写出来就重写,然后从拓展题目中找题目来写。辅以Labuladong的文章看。然后刷题不用…...
Internet通过TCP/IP协议可以实现多个网络的无缝连接
Internet通过TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/互联网协议)协议实现多个网络的无缝连接。 TCP/IP是Internet的基础通信协议套件,它定义了数据如何在不同网络之间传输和路由,使得…...
互联网Java工程师面试题·Dubbo 篇·第二弹
目录 18、Dubbo 用到哪些设计模式? 19、Dubbo 配置文件是如何加载到 Spring 中的? 20、Dubbo SPI 和 Java SPI 区别? 21、Dubbo 支持分布式事务吗? 22、Dubbo 可以对结果进行缓存吗? 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; } 注:输出结果为死循…...
用于工业物联网和自动化的 Apache Kafka、KSQL 和 Apache PLC4
由于单一系统和专有协议,数据集成和处理是工业物联网(IIoT,又名工业 4.0 或自动化工业)中的巨大挑战。Apache Kafka、其生态系统(Kafka Connect、KSQL)和 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 ? 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,到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协议详解(图文并茂超详细) SPI通讯协议 于是我们想有没有更好一点的串行通讯方式;相比较于UART,SPI的工作方式略有不同。 SPI是一个同步的数据总线,也就是说它是用单独的数据线和一个单独的时钟信号来保证发送端和…...
想要精通算法和SQL的成长之路 - 并查集的运用和案例(省份数量)
想要精通算法和SQL的成长之路 - 并查集的运用 前言一. 并查集的使用和模板1.1 初始化1.2 find 查找函数1.3 union 合并集合1.4 connected 判断相连性1.5 完整代码 二. 运用案例 - 省份数量 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 并查集的使用和模板 先说一下并查集…...
解决内网拉取企微会话存档代理问题的一种办法
问题:客户的服务都是内网的,不能直接访问外网;访问外网的话需要走kong网关才能出去。 会话存档官网说可以使用socket5、http方式拉取会话存档;我这边尝试了直接使用kong网关的ip和端口配置进去,是访问不了的 我后面就…...
springboot网络小说在线阅读网站的设计与实现
目录需求分析技术选型数据库设计核心功能实现性能优化安全防护测试部署项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作需求分析 明确网站的核心功能和用户需求。网络小说在线阅读网站通常需要包含以下功能模块:用户…...
如何快速部署Uvicorn ASGI服务器到AWS Lightsail:终极云服务器配置指南 [特殊字符]
如何快速部署Uvicorn ASGI服务器到AWS Lightsail:终极云服务器配置指南 🚀 【免费下载链接】uvicorn An ASGI web server, for Python. 🦄 项目地址: https://gitcode.com/GitHub_Trending/uv/uvicorn Uvicorn是一个轻量级、高性能的A…...
Android16进阶之MediaPlayer.selectTrack调用流程与实战(二百五十)
简介: CSDN博客专家、《Android系统多媒体进阶实战》作者 博主新书推荐:《Android系统多媒体进阶实战》🚀 Android Audio工程师专栏地址: Audio工程师进阶系列【原创干货持续更新中……】🚀 Android多媒体专栏地址&a…...
Webots仿真实战:如何用C语言控制四轮小车实现自动行驶
Webots仿真实战:C语言控制四轮小车自动行驶全攻略 引言 在机器人开发领域,仿真环境的重要性不言而喻。它不仅能大幅降低硬件成本,还能加速开发周期,让开发者专注于算法和控制逻辑的优化。Webots作为一款专业的机器人仿真软件&…...
HeadPose角度检测避坑指南:从原理到车载疲劳预警系统部署
HeadPose角度检测工程实战:车载疲劳预警系统的嵌入式部署精要 引言:当计算机视觉遇上行车安全 凌晨三点的高速公路上,一辆货运卡车正以80公里时速行驶。驾驶座上的王师傅眼皮开始不受控制地下垂,头部微微前倾——这个细微动作被安…...
如何5步完成Unity游戏模组加载:MelonLoader终极指南
如何5步完成Unity游戏模组加载:MelonLoader终极指南 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader 想要为心爱的Un…...
无限级数求和的Java实现与数学分析
本文旨在详细说明如何使用Java精确计算特定形式的无限级数 S -(2x)^2/2! (2x)^4/4! - (2x)^6/6! ... 在指定区间 [0.1, 1.5] 内部和。我们将深入分析等级数的数学性质,推导其闭合形式,并在此基础上纠正原始Java代码…...
Grep vs RAG vs ACE:AI编程助手如何选择?实测对比三大代码检索技术
Grep vs RAG vs ACE:AI编程助手技术选型实战指南 当团队需要引入AI编程助手时,技术负责人常陷入工具选择的困境。市面上主流的代码检索技术可分为三大流派:基于传统文本匹配的Grep路线、依赖向量数据库的RAG方案,以及新兴的混合检…...
市场比较好的显示屏模块供货商哪家强
市场比较好的显示屏模块供货商推荐在显示屏模块市场,众多企业各展所长,为不同行业提供着优质的产品。以下为您介绍十家市场上表现出色的显示屏模块供货商:杭州斡能电子有限公司(杭州斡能) 杭州斡能始创于2008年10月&am…...
百度后端开发(Java)面试题精选:10道高频考题+答案解析
百度简介 百度是中国领先的互联网公司,以搜索引擎起家,现已发展成为涵盖人工智能、云计算、自动驾驶等多个领域的科技巨头。百度技术栈以Java为主,Spring生态为核心,在分布式系统、大数据处理、AI工程化方面有深厚积累。面试风格注重基础原理与工程实践结合,常考JVM调优、…...
