- 网络定义
- 多台设备通过连接介质,能互相传数据,共享资源的集合
- 协议:设备之间的沟通规则
- 拓扑结构
- 网络设备的物理连接方式
- 星型:就是有一个中间的设备转一下
- 总线型:学校机房那种所有设备连着一台设备
- 环型:按一定顺序传数据,一般是医院用的多
- 网状型:每台设备都是一联多,传数据时根据算法选择最优路劲传输
- OSI 七层模型
- 定义:国际上把复杂的网络拆分成了七个独立的功能层,每层有独立任务,互不干扰
- 物理层:负责物理传输
- 数据链路层:同一网络里面,把数据包封装成“帧”,进行发送啊,传输,检测之类的,确保数据能传输
- 网络层:给数据加ip,找到目标设备的ip地址然后选择最优路径传输数据,实现网络之间的通信
- 传输层:主要是实现原终端到目标终端的数据传输
- 流程
- 通过“端口”号识别同一设备的不同应用
- 通过TCP协议规则进行重要数据传输,UDP协议进行快速传输(UDP安全性较低,但快)
- 防火墙就是基于端口号进行过滤的
- 端口扫描:扫描web服务器的开放端口,寻找攻击漏洞(相当于写了一个监听程序,和开放端口绑定,实时检测端口的传输信息)
- 流程
- 会话层:建立和维护通信会话
- 传完了之后
- 表示层
- 数据格式转换和加密和压缩(把我们的语言准换成计算机语言,https数据加密,网页html/css文件自动压缩和解压)
- 应用层:实现网页请求响应和域名解析
- 比如说就是你输入www.baidu,这一层给你解析成ip地址然后向百度的web服务器发请求,接收数据的时候把数据给你转化成你能看懂的语言
- 通信流程(看看就行,大概知道啥流程)
- 应用层(7):浏览器输入域名,通过 DNS 协议查询百度的 IP(180.101.49.11),生成 HTTP 请求(包含访问路径、浏览器信息);
- 表示层(6):如果是 HTTPS,将 HTTP 请求数据用 SSL/TLS 加密,同时压缩网页请求中的冗余数据;
- 会话层(5):浏览器与百度服务器建立 HTTPS 会话,协商加密算法和会话超时时间;
- 传输层(4):将加密后的 HTTP 请求分成 TCP 数据段,添加源端口(如随机端口 12345)和目标端口(443),通过 TCP 三次握手建立连接;
- 网络层(3):给 TCP 数据段添加源 IP(你的电脑 IP:192.168.1.100)和目标 IP(180.101.49.11),路由器通过路由表选择传输路径;
- 数据链路层(2):给 IP 数据包添加源 MAC 地址(你的电脑网卡 MAC)和目标 MAC 地址(下一跳路由器 MAC),封装成以太网帧,通过交换机转发;
- 物理层(1):将以太网帧转换成电信号 / 光信号,通过网线 / 光纤传输到百度服务器所在的网络;
- 接收端反向流程:百度服务器从物理层到应用层,依次解封装(拆帧→拆数据包→拆数据段→解密→解压缩),最终拿到 HTTP 请求,处理后返回网页数据,再通过七层模型反向传输到你的浏览器,浏览器解析后展示网页
- 安全
- 应用层:HTTP/HTTPS 协议(Web 安全的核心,如 SQL 注入、XSS 攻击都与 HTTP 请求处理相关)、DNS 协议(域名劫持攻击);
- 传输层:TCP 协议(三次握手、四次挥手的原理,SYN 洪水攻击防御)、端口安全(开放端口管理);
- 网络层:IP 地址(IP 欺骗攻击)、路由协议(网络拓扑安全)、ICMP 协议(ping 洪水攻击);
- 数据链路层:MAC 地址过滤、VLAN 隔离(Web 服务器和数据库服务器的网络隔离)
- TCP/IP 协议簇:
- 用来传输数据的
- 网络接口层:把ip数据打包成帧,然后传给接收设备,物理介质是以太网,所以打开cmd查询ip就能看到以太网适配器
- 区分osi的数据连接层的打包
- osi是打包网络数据
- TCP是打包的应用的数据
- 区分osi的数据连接层的打包
- 网络层:
- IP 协议(IPv4/IPv6)
- 给主机分配唯一地址
- 子网掩码
- 通过判断ip地址区分内网和外网用的
- IP 192.168.1.100 + 子网掩码 255.255.255.0 → 网络地址192.168.1.0
- 网关
- 子网掩码判断不是内网就发给网关
- 路由协议(RIP、OSPF)
- 就是跨地区访问服务器用的
- ARP 协议
- 网络层ip转MAC地址用的(计算机只会看MAC地址不会看ip)
- ICMP 协议
- 报错用的
- IP 协议(IPv4/IPv6)
- 传输层
- TCP 协议(靠谱)
- LISENING
- 端口处于监听状态
- ESTABLISH
- 网站已经连接,可以传数据
- TIME_WAIT
- 我关了连接程序,但是系统没有关,它在等待,在处理残留信息
- CLOSE_WAIT
- 系统关了,但是我没关程序
- LISENING
- UDP 协议(快但是不靠谱)
- 一般就是收收短信,存一下游戏数据之类的不太重要的数据
- 端口
- 范围:0——65535
- 0——1023系统留的端口
- http80
- https443
- ssh22
- 3306Mysql
- DNS53
- 注册端口:1024——49151
- 这个一般是开发啥的还有就是自定义服务器用的
- 动态端口:同一个web服务,你开了好几个网页,为了区分数据,客户端会临时给你分配一个动态端口号跟在ip后面(http网站为例),然后传数据
- TCP 协议(靠谱)
- 应用层
- 功能实现用的
- HTTP/HTTPS 协议
- 核心方法
- 客户端对服务器的“操作指令”
- 浏览器和web服务器之间传输超文本(html,css,图片,js)
- 前者不加密,后者加密(混合加密,不重要)
- 常用方法
- GET 获取资源
- 向服务器发出请求,读取资源用的
- 请求参数通过 URL 传递(如https://www.baidu.com/s?wd=HTTP,wd=HTTP是查询参数),参数可见于地址栏
- 应用
- 访问网页(如输入www.baidu.com,浏览器发送 GET 请求获取首页 HTML);
- 搜索功能(如百度搜索关键词,参数通过 URL 传递);
- 读取接口数据(如https://api.example.com/user/1,获取 ID=1 的用户信息)
- POST 提交数据
- 提交数据用的,服务器接收到数据之后通常会进行一些操作的
- 请求参数放在请求体(Request Body)中,不暴露在 URL 中,可传递大量数据(无明确长度限制,由服务器配置决定)
- 应用场景
- 用户注册 / 登录(提交用户名、密码);
- 上传文件(如头像、文档);
- 提交订单、支付操作;
- 接口提交数据(如POST /api/user,创建新用户)
- 注意:
- POST 请求参数不在 URL 中,但不代表 “安全”—— 未加密的 HTTP 传输中,请求体数据仍会被抓包窃取(需用 HTTPS 加密);
- 网络安全中,POST 请求是表单注入(如 SQL 注入、XSS)的主要攻击入口,需对请求体数据进行过滤校验
- PUT 更新资源
- 把新的数据发给服务器,服务器接收到之后,将新的数据覆盖旧的数据,完成更新
- 必须指定 “唯一资源标识”(如 URL 中的 ID),否则服务器无法确定要更新哪个资源
- DELETE 删除资源
- 就是删除用的
- GET 获取资源
- 状态码
- 2xx:成功状态码
- 200成功,代表服务器已经处理了请求
- 201创建成功,POST/PUT请求创建资源成功
- 3xx:重定向状态(其实就是你要找的东西在这个网站上面转移到了另外一个新的网站)
- 301永久重定向,就是以后的资源都在新的网站看了
- 302临时重定向,就是临时的,下一次访问原网页还能找着数据
- 4xx:客户端错误状态码
- 400:请求错误(客户端输入的请求格式不对)
- 401:未授权(未登录)得输入密码
- 403:登陆成功了但是禁止访问(比如说有的东西只能管理员看)
- 404:资源没了
- 405:服务器不支持客户端使用的http方法
- 5xx:服务器错误
- 500:服务器内部错误(这个一般是代码bug)
- 503:服务器无法处理请求(一般是服务器崩了或者是维护中)
- 502: 网关错误,网关把请求数据发给服务器的时候,服务器由于崩了,处理不了网关请求,网络断开或者是返回了网关处理不了的数据
- 504:网关超时,就是服务器比较忙,处理的请求比较多,没有及时处理网关发的请求数据,网关没等到返回数据,就给了个504
- 2xx:成功状态码
- 核心方法
- DNS 协议
- 把域名转化成ip地址
- SSH 协议
- 远程登录安全通道,远程登录服务器时,这个东西加的密
- web访问流程(大概看看就行)
- 应用层:用户输入域名,浏览器发起 HTTPS 请求,DNS 协议解析www.baidu.com为 IP(如180.101.49.11);
- 传输层:HTTPS 基于 TCP,客户端与百度服务器进行三次握手,建立 TCP 连接(客户端动态端口 ↔ 服务器 443 端口);
- 网络层:客户端 IP(如192.168.1.100)与百度服务器 IP,通过路由协议(OSPF)规划最优路径,ARP 协议解析网关 MAC 地址,IP 协议封装数据报,ICMP 协议保障网络连通;
- 网络接口层:IP 数据报封装为以太网帧,通过 Wi-Fi / 网线传输到网关,最终转发到百度服务器;
- 服务器端反向解封装(帧→IP 数据报→TCP 段→HTTPS 数据),处理请求后返回响应数据,按原路径传输回客户端,浏览器渲染网页
- 网络设备
- 路由器(也是协议搞的功能)
- 网络层工作
- 用来跨网络数据转发的
- 选择数据最优传输路径
- 交换机
- 数据链路层工作,就是一个传数据的
- 防火墙
- 一个系统软件,部署在内网和公网之间
- 原理
- 限制特定 IP、端口、协议
- 过滤端口扫描、DoS/DDoS 攻击、恶意数据包(如 SQL 注入、XSS 攻击的特征码匹配)
- 记录所有通过防火墙的数据包
- 网关:进行协议转换的(我感觉也没啥用)
- 代理服务器
- 在应用层,相当于一个中间人
- 正向代理
- 我要干啥,不想让别人知道我的ip,用代理服务器,对方只能看到代理服务器的ip
- 反向代理
- 有人想干啥,我替他干,但是他用了代理服务器,我不知道他的真实ip
- 路由器(也是协议搞的功能)
- 网络通信流程
- URL 解析(DNS 查询)
- URL就是一个网址(访问完之后上面的全部的网址)
- 基础地址+数据的⼀个⽹址⽽且必须是.php「.asp「.jsp」这种动态文件,它的后端代码才能接收你传的参数并且根据数据改变显示结果,一般是靶场有这个,如果是其他的网址比如说百度这种大概率就传了没啥改变
- 流程
- 浏览器先查询本地 DNS 缓存(如之前访问过百度,直接获取 IP,流程结束);
- 缓存未命中,向本地 DNS 服务器(如路由器分配的 ISP DNS,如 223.5.5.5)发送递归查询请求;
- 本地 DNS 服务器向根 DNS 服务器(全球共 13 组,负责指示顶级域 DNS 位置)发送迭代查询;
- 根 DNS 服务器返回 “com” 顶级域 DNS 服务器的 IP;
- 本地 DNS 服务器向 “com” 顶级域 DNS 服务器发送查询,获取 “baidu.com” 权威 DNS 服务器的 IP;
- 本地 DNS 服务器向 “baidu.com” 权威 DNS 服务器发送查询,获取www.baidu.com的目标 IP(如 180.101.49.11);
- 本地 DNS 服务器将 IP 返回给浏览器,并缓存该映射关系
- TCP 连接建立
- 数据传输
- 连接断开
- 网络隔离+访问控制
- VPN
- 访问公网的时候建了一条加密隧道
- NAT
- 隐藏一下你的私人ip
- 静态 NAT:一个私有 IP 固定映射一个公网 IP(比如企业的服务器需要对外提供服务);
- 动态 NAT:多个私有 IP 共享一个公网 IP 池(比如小型企业);
- PAT(端口地址转换):所有私有 IP 共享一个公网 IP,通过端口区分(最常用,家庭路由器都是这个)
- DMZ
- 隔离服务器用的,相当于又加了一个防火墙,把内网和外网之间划分一个隔离区域(一般是企业接外包用的,用这个对外展示和转发)
- VPN
- 核心区别
- VPN:解决 “远程安全访问”,是「跨网络的加密通道」,连接的是 “外部设备” 和 “内网”;
- NAT:解决 “IP 地址复用 + 隐藏内网”,是「地址转换技术」,连接的是 “内网设备” 和 “公网”本质是ip翻译工具,区分于代理!
- DMZ:解决 “公开服务与内网隔离”,是「网络区域划分」,隔离的是 “公网” 和 “内网” 之间的公开服务
- URL 解析(DNS 查询)
计算机网络基础
张小明
前端开发工程师
在Windows系统上安装PyTorch GPU版:从零到成功运行的过程记录
作为深度学习研究者或开发者,能够利用GPU加速模型训练是提高工作效率的关键。本文将详细介绍如何在Windows系统上成功安装并配置PyTorch GPU版本,让你能够充分利用NVIDIA显卡的计算能力。 第一步:检查当前系统环境 在开始安装之前ÿ…
【MYSQL数据库】基础版之表的操作
3.表的操作3.1 创建表语法:create table table_name(filed1 datatype,filed2 datatype,filed3 datatype )character set 字符集 collate 校验规则 engine 存储引擎;说明:field 表示列名datatype 表示列的类型character set 字符集,如果没有指…
提示词工程解锁大模型潜力的终极沟通术
提示词工程是提升AI交互效果的关键技术,主要包含User Prompt和System Prompt两类。User Prompt是用户即时指令,需遵循清晰表达、角色设定和示例提供等原则;System Prompt则是全局性指令集,定义AI角色和行为准则。通过RTF框架结构化…
仅限内部分享:资深专家解读Dify重排序日志的7种模式
第一章:检索重排序的 Dify 日志分析在构建基于大语言模型的应用时,Dify 作为低代码开发平台,提供了完整的日志追踪机制,尤其在检索增强生成(RAG)流程中,对检索与重排序阶段的日志分析至关重要。…
手把手教你实现Dify模型秒级加载,私有化部署不再卡顿
第一章:私有化部署的 Dify 模型加载在企业级 AI 应用场景中,私有化部署 Dify 成为保障数据安全与合规性的首选方案。通过本地化运行 Dify,企业可在内网环境中完成大模型的接入、编排与服务发布,避免敏感数据外泄。模型加载作为核心…
好写作AI|别让AI只改病句了!它已潜入你论文的“思想后台”
当你还让AI检查“的得地”,学霸已用它来辩论学术观点了各位在学术深水区“扑腾”的研究者,是时候更新一下对AI写作工具的认知了!如果你的使用记录还停留在“帮我改改语病”和“这段降个重”,那可真有点“杀鸡用牛刀”了。今天&…