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

网络基础知识点

osi七层模型:

应用层:提供用户接口,与用户进行交互
表示层:进行数据格式的转换
会话层:建立、维护和验证会话
传输层:保证目标从源到目的地的传输(传输协议和端口号)
网络层:进行路由的选择转发(ip)
数据链路层:建立实体链路连接,通过mac地址提供可靠的数据传输服务(mac)
物理层:进行比特流的传输

tcp和udp的区别

tcp是面向连接的,是可靠的,有确认重传机制,一个字节一个字节发送,传输速率慢准确性高
udp是无连接的,不可靠的,数据是封装后一块一块发的,传输速率高,但准确性较低
QQ使用的是udp,udp并不是不安全,如果使用tcp会有许多控制位和序列号进而有许多线程,因为它们更容易的控制一个链接,而udp则没有控制位和序列号,进而就不好处理udp连接

网段通信过程

1、判断在不在同一网段(通过网络号和子网掩码进行运行获得)
2、查询arp表(更新arp表)
3、发送arp广播包(除入接口外其他接口均转发,非目标则丢弃 )
交换机(mac表)收到广播包后首先进行学习,学习记录后进行广播转发
4、单播应答
发送到交换机通过前面的记录进行转发
5、更新arp表
后续发送就是单播了
arp表和mac表都存在内存里

ARP欺骗

在 同一个局域网内,一台电脑需要请求信息会发送一个ARP请求,这个请求是广播的,这时在同一个广播域内所有设备都会收到ARP广播的包,如果在这时你欺骗那台发送ARP请求的电脑,告诉他你想要请求或者发送数据的mac地址是我,那么你就可以在他发送数据到目标地址的途中修改或者窃取数据了(ARP是谁后来相信谁ip和mac是暂时匹配的,屏蔽延时2s,在2s内回复)

解决方法
1、通过写入静态的arp表(静态优先级高)
2、端口上将主机ip和mac地址绑定
3、vlan

二层交换机的工作原理

1、学习
2、查询mac地址表(老化时间0-100万秒,0
是不老化)
3、若没有mac地址表里没有,则进行泛洪

广播和泛洪的区别

原因不同,广播是全f目的是寻址,泛洪是因为mac地址表里没有该mac地址所以进行泛洪;广播没有具体内容,泛洪有具体的内容,目的地址

泛洪攻击

源mac随机一直发送给交换机,交换机只能泛洪,最终数据量过大导致交换瘫痪

解决方法:
端口安全特性:设置某个端口学习的上限

如何解决二层交换机单点故障

生成树(stp)解决二层交换机的环路问题 避免产生广播风暴

链路聚合

将多个接口虚拟成一个接口进而实现1+1=2的带宽,也可以解决二层单点故障

主机如何获取ip地址

1、手动配置
2、DHCP(应用层协议)
DHCP的工作过程
DHCP discover包:广播包,寻找能提供DHCPserver的服务器
DHCP offer包:DHCP应答包,告诉客户端它可以提供ip地址,DHCP server为它保留为它提供的ip地址(提供ip地址,默认网关,dns服务器地址,租期)
DHCP request:确认接受使用ip
DHCP ack:确认信息
(DHCP先到先接受 )

网关

进行数据包的转发,流量过滤,协议的转换

DHCP欺骗

伪造DHCP服务器为客户端主机提供一个错误的信息

DHCP的影响:1、地址冲突,无法上网
2、错误的网关信息,信息泄露、拦截、篡改
3、错误的dns信息,钓鱼网站

解决方法:
DHCP snopping:
设置信任接口(正常转发offer和ack),非信任接口(拦截offer和ack)
除了主机和合法服务器的中继设备设为信任端口外其他都设为非信任端口

为什么网络要分段?

1、广播流量太多
2、管理复杂
3、不利于安全风险的隔离,安全问题影响范围大

不同网段设备的通信过程

1、判断是不是在一个网段
2、查默认网关
3、查网关mac
4、封装发送数据包
5、路由选路(每一跳源mac和目标mac都会改变)
6、应答包(源和目的调换)
三层通信=多个二层通信

路由

直连路由:路由器接口所连接的子网的路由
静态路由:手工逐条配置,更改需要手动配置
动态路由:当路由发生变化时可以自动做出调整
默认路由:当路由器找不到存在的其他路由时就会选择默认路由

路由优先级:直连路由优先级最高,人工设置的优先级优于自动学习的路由

三层单点故障

vrrp协议(虚拟路由冗余协议):将多台物理路由器虚拟为一条 路由,两台路由器(master路由器、backup路由器、虚拟ip地址)

网段和广播域的区别

网段:网络号相同
广播域:能收到广播包的所有设备的集合

vlan

trunk:通过多个vlan,用于交换机与交换机,交换机和路由器之间
access:打标签/撕标签,用与交换机连接主机或路由器连接主机

单臂路由

虚拟子接口

DNS域名解析协议

域名-》IP
域名解析:A(address)记录
NS(Name Server)记录

NAT

SNAT:
将私网ip转换为公网ip进行访问,根据源端口号
一对一,多对多
DNAT:
将外网ip转换为内网ip,根据目的端口号

相关文章:

网络基础知识点

osi七层模型: 应用层:提供用户接口,与用户进行交互 表示层:进行数据格式的转换 会话层:建立、维护和验证会话 传输层:保证目标从源到目的地的传输(传输协议和端口号) 网络层&#x…...

力扣每日一题54:螺旋矩阵

题目描述: 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5]示例 2: 输入&#…...

基于WebRTC的程序因虚拟内存不足导致闪退问题的排查以及解决办法的研究

目录 1、WebRTC简介 2、问题现象描述 3、将Windbg附加到目标进程上分析 3.1、Windbg没有附加到主程序进程上,没有感知到异常或中断 3.2、Windbg感知到了中断,中断在DebugBreak函数调用上 3.3、32位进程用户态虚拟地址和内核态虚拟地址的划分 …...

2023年9月青少年软件编程(C 语言) 等级考试试卷(三级)

2023年9月青少年软件编程(C 语言) 等级考试试卷(三级)含答案 1.谁是你的潜在朋友 题目描述 “臭味相投”——这是我们描述朋友时喜欢用的词汇。两个人是朋友通常意味着他们存在着许多共同的兴趣。然而作为一个宅男,你…...

用节点亲和性把 Pod 分配到节点

用节点亲和性把 Pod 分配到节点 当前集群信息: rootk8s-master:~# kubectl get node -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME k8s…...

GB28181学习(十)——视音频文件下载

要求 SIP服务器接收到媒体接收者发送的视音频文件下载请求后向媒体流发送者发送媒体文件下载命令,媒体流发送者采用RTP将视频流传输给媒体流接收者,媒体流接收者直接将视频流保存为媒体文件;媒体流接收者或SIP服务器可通过配置查询等方式获取…...

2023 年和 2024 年 10 个最佳加密货币趋势

1.熊市低迷 加密货币市场已进入持续数月的长期看跌阶段。尽管 2023 年初出现了一些看涨走势,但大多数领先的加密货币随后都出现了看跌低迷,导致其市值大幅下跌。 此外,持续的熊市可归因于一系列因素,包括宏观经济不确定性、利率…...

0026【Edabit ★☆☆☆☆☆】Convert Hours and Minutes into Seconds

0026【Edabit ★☆☆☆☆☆】Convert Hours and Minutes into Seconds language_fundamentals math Instructions Write a function that takes two integers (hours, minutes), converts them to seconds, and adds them. Examples convert(1, 3) // 3780 convert(2, 0) //…...

Java 枚举类

一、枚举类简介 1、枚举类概念 类的对象只有有限个且确定的,这种类称之为枚举类;因为在jdk1.5之前没有enum关键字来定义枚举类,只能采用class定义一个类然后将类做一些修改满足对象个数有限且确定,那么这种类就是枚举类&#xf…...

SQL sever中的存储过程

在Oracle的专篇中我也有仔细总结了存储过程的相关内容, 文章链接:http://t.csdnimg.cn/Z8AnH 尽管Oracle和SQL sever之间是存在一些区别,但许多基本的概念和原则在Oracle和SQL Server之间是通用的。它们之间有一些常见的区别,如下…...

spacy.load(“en_core_web_trf“)报错TypeError: issubclass() arg 1 must be a class

使用spacy时遇到的问题 写在最前面: 安装spacy和en_core_web_trf时需要保证二者版本一致 安装及查看对应spacy版本 安装 pip install spacy查看版本 import spacy spacy.__version__安装en_core_web_trf 直接安装(如果可以的话) pytho…...

【C++和数据结构】模拟实现哈希表和unordered_set与unordered_map

目录 一、哈希的概念与方法 1、哈希概念 2、常用的两个哈希函数 二、闭散列的实现 1、基本结构: 2、两种增容思路 和 插入 闭散列的增容: 哈希表的插入: 3、查找 4、删除 三、开散列的实现 1、基本结构 2、仿函数Hash 3、迭代器…...

十四天学会C++之第五天:类的详细讨论

1. 友元函数和友元类 什么是友元函数和友元类,它们的作用。如何声明和使用友元函数和友元类,访问类的私有成员。 友元函数(Friend Functions) 友元函数是一种特殊的函数,它被允许访问类的私有成员。这意味着即使成员…...

字典树学习笔记

trie 树,即字典树,是一种可以实现 O ( S ) O(S) O(S) 的预处理( S S S 为所有字符串的长度和), O ( N ) O(N) O(N)( N N N 为查询的字符串的长度)的查询的数据结构。 举个栗子,对于…...

web各个指标理解

QPS : 单位时间得请求次数 TPS :单位时间得事务数 并发 : QPS *单位响应时间 pv :进入一个网站,又单击打开该网站的其他页面,每打开一个页面就 增加一个PV,甚至在同一页面每刷新一次也多一个PV 二八定律:百…...

Java后端开发(七)-- 在gitee上部署远程仓库,通过idea上传本地代码(用idea2022版本开发)

目录 1. 在Gitee上创建gitee远程仓库 2.在打开idea,再打开您要上传的idea代码,先创建 本地git仓库...

Go语言入门心法(十二): GORM映射框架

Go语言入门心法(一): 基础语法 Go语言入门心法(二): 结构体 Go语言入门心法(三): 接口 Go语言入门心法(四): 异常体系 Go语言入门心法(五): 函数 Go语言入门心法(六): HTTP面向客户端|服务端编程 Go语言入门心法(七): 并发与通道 Go语言入门心法(八): mysql驱动安装报错o…...

Ubuntu更新镜像源切换

概述 用ubuntu用apt命令,自动安装或更新包的时候,默认的镜像源服务器非常卡,很不方便。切换到国内的镜像源,下载更新非常快。为防止以后忘记,本文以国内服务器阿里巴巴的为例简单描述。 版本 Ubuntu23.10 找到更新…...

“一键合并剪辑,轻松添加片头——全新的视频编辑工具让你成为视频制作达人“

在日常生活中,我们时常会遇到需要制作视频的情况。但面对繁琐的视频剪辑和合并,你是否感到无从下手?今天,我们为你带来一款全新的视频编辑工具,让你轻松成为视频制作达人! 首先我们要进入好简单批量智剪主页…...

1.3 矩阵

一、向量与矩阵 下面是三个向量 u \boldsymbol u u、 v \boldsymbol v v、 w \boldsymbol w w: u [ 1 − 1 0 ] v [ 0 1 − 1 ] w [ 0 0 1 ] \boldsymbol u\begin{bmatrix}\,\,\,\,1\\-1\\\,\,\,\,0\end{bmatrix}\kern 10pt\boldsymbol v\begin{bmatrix}\,\,\,…...

go-zero微服务入门案例

一、go-zero微服务环境安装 1、go-zero脚手架的安装 go install github.com/zeromicro/go-zero/tools/goctllatest2、etcd的安装下载地址根据自己电脑操作系统下载对应的版本,具体的使用自己查阅文章 二、创建一个user-rpc服务 1、定义user.proto文件 syntax &qu…...

分页查询的实现

第一步&#xff1a;导入pom依赖 <!--配置PageHelper分页插件--><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.4.6</version><exclusions>…...

图片压缩工具 | 图片生成PDF文档

OPEN-IMAGE-TINY&#xff0c;一个基于 Electron VUE3 的图片压缩工具&#xff0c;项目开源地址&#xff1a;https://github.com/0604hx/open-image-tiny ℹ️ 需求描述 上一版本发布后&#xff0c;有用户提出想要将图片转换&#xff08;或者说生成更为贴切&#xff09;PDF文档…...

1.3 古典概型和几何概型

文章目录 古典概型模型(等可能模型)几何概型 古典概型模型(等可能模型) 两个条件&#xff1a; 1) 有限个样本点 2) 等可能性 例题&#xff1a; 设有n个人&#xff0c;每个人都等可能地被分配到N个房间中的任一间(n≤N)&#xff0c; 求下列事件的概率: (1)某指定的n间房…...

【前端】每日一道面试题6:解释Promise.any和Promise.allSettled的使用场景及区别。

Promise.any() 和 Promise.allSettled() 是 JavaScript 中用于处理异步操作的两种不同策略的 Promise 组合器&#xff0c;它们的核心区别在于逻辑目标与结果处理方式&#xff1a; 1. Promise.any() 使用场景&#xff1a; 需要获取 首个成功结果&#xff08;类似竞速成功优先&…...

AIGC赋能前端开发

一、引言&#xff1a;AIGC对前端开发的影响 1. AIGC与前端开发的关系 从“写代码”到“生成代码”传统开发痛点&#xff1a;重复性编码工作、UI 设计稿还原、问题定位与调试...核心场景的AI化&#xff1a;需求转代码&#xff08;P2C&#xff09;、设计稿转代码&#xff08;D2…...

Excel 模拟分析之单变量求解简单应用

正向求解 利用公式根据贷款总额、还款期限、贷款利率&#xff0c;求每月还款金额 反向求解 根据每月还款能力&#xff0c;求最大能承受贷款金额 参数&#xff1a; 目标单元格&#xff1a;求的值所在的单元格 目标值&#xff1a;想要达到的预期值 可变单元格&#xff1a;变…...

【反无人机检测】C2FDrone:基于视觉Transformer网络的无人机间由粗到细检测

C2FDrone&#xff1a;基于视觉Transformer网络的无人机间由粗到细检测 C2FDrone: Coarse-to-Fine Drone-to-Drone Detection using Vision Transformer Networks 论文链接 摘要 摘要——基于视觉的无人机间检测系统在碰撞规避、反制敌对无人机和搜救行动等应用中至关重要。然…...

嵌入式开发之STM32学习笔记day22

STM32F103C8T6 FLASH闪存 1 FLASH简介 STM32F1系列微控制器的FLASH存储器是一种非易失性存储器&#xff0c;它在微控制器中扮演着至关重要的角色。以下是对STM32F1系列FLASH存储器及其相关编程方式的扩展说明&#xff1a; 【FLASH存储器的组成部分】 程序存储器&#xff1a;这…...

Java-IO流之压缩与解压缩流详解

Java-IO流之压缩与解压缩流详解 一、压缩与解压缩概述1.1 基本概念1.2 Java中的压缩类库1.3 核心类与接口 二、ZIP压缩与解压缩2.1 ZIP格式简介2.2 使用ZipOutputStream创建ZIP文件2.3 使用ZipInputStream读取ZIP文件 三、GZIP压缩与解压缩3.1 GZIP格式简介3.2 使用GZIPOutputS…...