自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(305)
  • 收藏
  • 关注

原创 SDN架构详解

SDN架构中OpenFlow交换机基于流表(Flow Table)转发报文。经典网络依靠网络设备通过查询路由表指导流量转发当前OpenFlow的主流应用是用于数据中心的软件交换机,例如OVS、CE1800V(华为)等,而不是实现硬件交换机的转控分离每个流表项由匹配字段、优先级、计数器、指令、超时、Cookie、Flags这七部分组成。其中关于转发的关键的两个内容是匹配字段和指令。匹配字段是匹配规则,支持自定义。指令是用来描述匹配后的处理方式。

2024-09-02 00:27:59 1023

原创 OSPF与BGP深层次详细对比

OSPF作为IGP,收敛快,非骨干区域与骨干区域只能相连。当设备过多(比如数据中心的underlay和Overlay的网络中)邻居过多的时候。这种规划会导致 故障域过大BGP,故障域小(可以使用多个AS,只要不同就可以,常见于大型数据中心的underlay的规划),收敛慢。稳定

2024-08-28 14:23:36 618

原创 HTTP3(QUIC)详解

http2利用二进制分帧实现多路复用,解决的是HTTP层(http1.1)的队头线性阻塞HTTP/3是第三个主要版本的HTTP协议。与其前任HTTP/1.1和HTTP/2不同,在HTTP/3中,将弃用TCP协议,改为使用基于UDP协议的QUIC协议(快速的UDP网络连接)实现。此变化主要为了解决HTTP/2中存在的队头阻塞问题。由于HTTP/2在单个TCP连接上使用了多路复用,受到TCP拥塞控制的影响,少量的丢包就可能导致整个TCP连接上的所有流被阻塞。

2024-06-24 10:06:37 2518

原创 http发展史(http0.9、http1.0、http1.1、http/2、http/3)详解

主要内容:http1.0 http1.1 http2 http3 。在 HTTP/1.1 中,引入了持久连接和管道化(Pipelining),允许在一个连接中发送多个请求。然而,由于串行处理方式,如果一个请求处理变慢或被阻塞,后续所有的请求都会受到影响。如果数据包2在传输过程中丢失,接收方必须等待重新传输数据包2,然后才能处理数据包3,即使数据包3已经到达。在 TCP 连接中,数据包按顺序传输和接收。如果请求A处理得很慢或被阻塞,浏览器必须等待请求A完成后才能处理请求B和请求C,尽管请求B和C可以并行处理。

2024-06-22 08:01:36 950

原创 Client访问Server访问慢的原因

带宽限制:客户端或服务器所在的网络环境中,带宽不足,带宽被下载应用占用、导致数据传输速度变慢。网络拥塞:路由器或交换机处理过多的流量,出现丢包或数据包延迟。可以使用 ping 测试丢包率,或者通过 QoS(服务质量)策略优化网络。DNS解析缓慢:客户端访问服务器的域名解析速度较慢,导致延迟。可以通过使用更快的 DNS 服务器或直接访问 IP 地址来确认(DNS工具 dig 、nslookup)

2024-09-06 22:00:07 530

原创 网络安全基础—加解密原理与数字证书

对称密钥加密的优点是效率高,算法简单,系统开销小,适合加密大量数据。缺点是实现困难,扩展性差。实现困难原因在于进行安全通信前需要以安全方式进行密钥交换;扩展性差表现在每对通信用户之间都需要协商密钥,n个用户的团体就需要协商n*(n-1)/2个不同的密钥公钥加密的优点是安全性高。无法从一个密钥推导出另一个密钥;公钥加密的信息只能用钥进行解密。缺点是算法非常复杂,导致加密大量数据所用的时间较长,而且加密后的报文较长,不利于网络传输基于公钥加密的优缺点,公钥加密适合对密钥或身份信息等敏感信息加密(小数据

2024-09-06 00:51:16 1229

原创 NFV架构

来自IT界的启示,给网络产业带来了网络架构和设备架构两个层面的思考。网络架构层面引入对SDN控制器的思考设备架构层面引入对设备部署形态的思考(NFV)。(Network Functions Virtualization),而虚拟化之后的网络功能被称为VNF(Virtualized Network Function)在硬件通用化后,传统的网元不再是嵌入式的软硬结合的产品,而是以纯软件的方式安装在通用硬件(即NFVI)上。

2024-09-02 09:45:12 683

原创 华为设备BGP选路规则总结

本地始发的BGP路由优于从其他对等体学习到的路由,本地始发的路由优先级:优选手动聚合>自动聚合>network>import>从对等体学到的。-----------------------------------------------------------取值越大越优 ↑。---------------------------------------------------------取值越小越优 ↓。优选Router ID(Orginator_ID)最小的设备通告的路由。优选MED属性值最小的路由。

2024-08-26 02:39:43 252

原创 OSPF与BGP防环机制总结

LSA-3 -- MPLS中DN bit位;LSA-5/7 --DN bit位和route tag ----- MPLS场景下。OSPF非骨干区域必须和骨干区域相连,区域间路由必须经过区域0中转。转发地址防环(LSA-5/LSA-7)------普通场景。Cluster_ID和cluster_list。area 0的3类优于其他非骨干区域3类。EBGP水平分割机制(AS-Path。IBGP水平分割机制。

2024-08-26 02:35:35 519

原创 网络虚拟化—如何理解Overlay和Underlay?

主机Overlay:服务器主机建立隧道。网络Overlay:网络设备建立隧道。混合Overlay:网络+主机混合。

2024-08-23 18:41:03 391

原创 网络故障排查思路

故障类型: VLAN接口模式、VLAN tag是否正确、STP选举阻塞、LACP(链路聚合的协商)、bond等。故障类型: IP地址冲突、不正确的路由表配置、子网划分错误、路由器故障、MTU值(VxLAN、GRE等网络)职责: 数据帧的传输与接收,错误检测和修复(如MAC地址,交换机的工作)职责: 数据包的路由与转发(如IP地址的管理、路由协议的运行)。故障类型: 服务未启动、应用程序错误、配置文件错误、端口占用。职责: 传输原始的比特流(如电缆、光纤、无线信号等)。

2024-08-14 02:05:39 466

原创 Docker容器的Cgroup

-cpu-period和--cpu-quota分别指在10000个总时间单位中,分配给该容器3000个时间单位。“--cpu-period 10000 --cpu-quota 3000”相当于“--cpus 0.3”启动 1 个虚拟内存进程。--device-write-iops:限制写某个设备的iops。--device-read-iops:限制读某个设备的iops。--device-read-bps: 限制读某个设备的bps。--device-write-bps:限制写某个设备的bps。

2024-08-04 22:29:07 500

原创 为什么tcp连接要三次握手 ,断开要四次挥手?

双向确认:三次握手确保双方都能接收和发送数据。第一次握手让服务器知道客户端想建立连接,第二次握手让客户端知道服务器收到了它的请求并同意建立连接,第三次握手让服务器知道客户端收到了它的确认。(确认收发能力没有问题)防止旧连接请求干扰:通过三次握手,双方都可以确保对方是真正准备好通信的,而不是由于网络延迟导致的旧的SYN包干扰。

2024-07-18 11:05:09 250

原创 linux系统查看父子进程

① 查找特定进程的父进程 ps -o pid,ppid,cmd -p 1234 查找进程 PID 为 1234 的父进程② 显示所有进程的树状结构 pstree③ 显示特定进程及其父进程的树状结构 pstree -s 1234④ 启动 top 后,按下 c 键可以查看完整命令,按下 f 键进入字段管理界面,然后选择 PPID 字段。⑤ 启动 htop 后,按下 F2 键进入设置,选择显示的列,添加 PPID 列

2024-07-14 12:25:49 541

原创 Docker 安装 PostgreSQL

PostgreSQL 是一个强大的开源对象-关系型数据库管理系统 (ORDBMS),以其高可扩展性和标准化而著称。PostgreSQL 支持复杂查询、外键、触发器、视图和事务等高级特性,并且可以通过扩展支持多种编程语言和数据类型。它适用于各种复杂的数据库应用场景,特别是需要高一致性和可靠性的系统

2024-07-12 13:20:43 798

原创 docker inspect 如何提取容器的ip和端口 网络信息?

使用docker -f 的过滤(模板)通过原生Linux命令过滤找到IP。通过jq工具找到IPjq 是一个轻量级且灵活的命令行工具,用于解析、过滤、修改、和处理 JSON 格式的数据。类似于 sed、awk 或 grep,但专门针对 JSON 数据格式。jq 允许你使用简单的命令从复杂的 JSON 数据结构中提取信息并进行操作。

2024-07-12 12:13:57 501

原创 TCP中的2MSL详解

MSL是一个TCP段在网络中可以存活的最长时间,2MSL就是两倍的这个时间。让网络中的TCP报文段自然消失。防止"老"数据包在网络中滞留。

2024-07-10 09:34:20 629

原创 DNS缓存详解

1.浏览器查找顺序 浏览器缓存 > 操作系统缓存 > 本地Hosts文件 > DNS服务器查询2.cmd ping查找顺序(非浏览器) 本地Hosts文件 > 操作系统缓存 > DNS服务器查询

2024-07-09 12:04:56 1002

原创 15 CIG重量级监控

CAdvisor默认只在本机保存2分钟的数据,为了持久化存储数据和统一收集展示监控数据,需要将数据存储到InfluxDB中。InfluxDB是一个时序数据库,专门用于存储时序相关数据,很适合存储 CAdvisor 的数据。Grafana是一个开源的数据监控分析可视化平台,支持多种数据源配置(支持的数据源包括InfluxDB、MySQL、Elasticsearch、OpenTSDB、Graphite等)和丰富的插件及模板功能,支持图表权限控制和报警。重新启动 docker-compose up -d。

2024-07-08 15:42:04 1436

原创 14 Portainer轻量级图形化监控

portainer管理本地docker,即可看到本地Docker的详细信息,包括其中的镜像(images)、容器(containers)、网络(networks)、容器卷(volumes)、compose编排(stacks)等等。Portainer是一款轻量级的应用,它提供了图形化界面,用于方便地管理Docker环境,包括单机环境和集群环境。Portainer分为开源社区版(CE版)和商用版(BE版/EE版)首次进来时,需要创建 admin 的用户名(默认。)、密码(必须满足校验规则,例如。

2024-07-08 15:37:53 740

原创 13 Docker网络

Docker 的网络模式:网络模式简介使用方式bridge为每一个容器分配、设置IP等,并将容器连接到一个docker0虚拟网桥,默认为该模式host容器将不会虚拟出自己的网卡、配置自己的IP等,而是使用宿主机的IP和端口none容器有独立的 Network namespace,但并没有对齐进行任何网络设置,如分配veth pair和 网桥连接、IP等container新创建的容器不会创建自己的网卡和配置自己的IP,而是和一个指定的容器共享IP、端口范围等。

2024-07-06 02:55:27 704

原创 12 Dockerfile详解

Dockerfile构建过程 2.1. Dockerfile编写规则: 2.2. Docker执行Dockerfile的大致流程: 2.3. 总结 3. Dockerfile指令 3.1. FROM 3.2. MAINTAINER 3.3. RUN 3.4. EXPOSE 3.5. WORKDIR 3.6. USER 3.7. ENV 3.8. VOLUME 3.9. ADD 3.10. COPY 3.11. CMD 3.12. ENTRYPOINT 4. Dockerfile文件的命名 4.1. 默认名称

2024-07-05 17:50:22 1017

原创 11 docker安装redis

安装 redis:1. 配置 redis 配置文件 redis.conf;1.1. 找到 redis.conf 文件;1.2. 配置文件;2. 启动容器;3. 测试 redis-cli 连接;4. 证明 docker 使用的是指定的配置文件。

2024-07-04 00:57:48 316

原创 10 docker 安装 mysql详解

一、安装mysql 1. 镜像获取 2. 简单版 2.1. 使用mysql镜像 2.2. 建库建表插入数据 2.3. 外部win 连接并插入中文数据测试2.4. 简单版本问题3. 创建容器-实战版3.1. 新建容器实列并挂载卷3.2. 新建my.cnf , 解决中文乱码3.3. 重启容器验证3.4. 总结

2024-07-03 21:11:19 1975 1

原创 09 docker 安装tomcat 详解

安装tomcat 1. tomcat镜像的获取 2. docker创建容器实列 3. 访问测试 404错误 4. 解决方案 5. 使用免修改版容器镜像 5.1. 运行实列的创建 5.2. 出现问题及解决:6. 验证 OKtomcat镜像的获取 docker search tomcat #docker hub搜索镜像 docker pull tomcat #拉取镜像 docker images #查看是否拉取成功.........................

2024-07-03 16:41:02 1087

原创 08 docker Registry搭建docker私仓

curl工具向 Docker Registry 发送一个 HTTP GET 请求,以获取镜像仓库(repository)列表。默认情况,仓库被创建在容器的/var/lib/registry目录下,建议自行用容器卷映射,方便于宿主机联调(调试和开发)端点,该端点会返回一个 JSON 对象,列出所有在该 Registry 中存在的镜像仓库。公式:docker tag 镜像:Tag Host:Port/Repository:Tag。Docker Registry是官方提供的工具,可以用于构建私有镜像仓库。

2024-07-02 05:57:52 617

原创 07 docker 容器存储持久化

特性存储位置Docker 管理的存储位置(如宿主机上的指定路径独立于容器生命周期是否管理便捷性高(Docker 提供了专门的管理命令)低(需要手动管理宿主机目录)跨平台一致性是否(依赖于宿主机文件系统)性能较高高(直接访问宿主机文件系统)权限管理简单复杂(需管理宿主机文件系统的权限)

2024-07-02 05:53:07 1337

原创 06 docker本地镜像发布阿里云

控制台--->容器镜像服务--->个人实列-->创建命名空间--->创建仓库--->进入管理界面获得脚本。

2024-07-02 05:51:17 181

原创 05 docker 镜像

a:对于一个精简的OS,rootfs可以很小,只需要包括最基本的命令、工具和程序库就可以了,因为底层直接使用Host的Kernel,自己只需要提供rootfs就可以。所以,对于不同的Linux发行版,bootfs基本是一致的,rootfs会有差别,不同的发行版可以共用bootfs。:基础镜像(没有父镜像的镜像)可以作为其他镜像的基础层,在其上添加新的层,创建各种具体的应用镜像。例如,如果两个不同的应用都基于相同的操作系统镜像,那么这个操作系统镜像层只需存储一次,并且在两个应用镜像中共享。

2024-07-02 05:46:59 1004

原创 04 Docker常用容器命令

docker run docker ps docker top docker inspect docker commit docker cp .........................................

2024-07-02 05:45:34 1018

原创 03 Docker 常用镜像命令

1.帮助启动类命令2.镜像命令Ⅰ docker imagesⅡ docker searchⅢ docker pullⅣ docker system dfⅤ docker rmi@ 面试题:虚悬镜像

2024-07-02 05:41:05 682

原创 02 Docker安装

docker hub官网:hub.docker.com。此时,默认安装的docker引擎、客户端都是最新版本。docker run hello-world原理。如果没有启动Docker引擎,那么执行。docker官网:docker.com。,进入之后可以选择自己需要的资源进行配。安装完成 运行hello word测试。(Docker引擎客户端)的版本号。官方地址:(比较慢,不推荐)查看版本号时,只能看到。

2024-07-02 05:37:58 248

原创 01 Docker 概述

Docker是基于Go语言实现的云开源项目。,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP及其运行环境能做到一次镜像,处处运行解决了运行环境和配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。

2024-07-02 05:35:14 1407

原创 HTTP3 QUIC数据包重传机制

QUIC 中的数据传输基于流和帧,每个流都是独立的,包含多个帧。帧的类型包括数据帧、ACK 帧、握手帧等。丢包重传只涉及具体丢失的帧,而不会影响其他流中的帧。的,而不是像 TCP 那样基于字节的序列号。包编号的独立性使得 QUIC 能够快速检测到哪些数据包丢失,并决定需要重传哪些包。当发送方接收到 ACK 帧后,会根据确认的信息判断哪些数据包需要重传。在 QUIC 和 HTTP/3 中,数据传输的单位是“包”(packet)和“帧”(frame)来确认接收到的数据包,并提供详细的丢包信息。

2024-06-24 08:10:46 909

原创 TLS握手中的RTT

TLS 1.2 握手通常需要2 RTT 才能完成。TLS1.3 在 0-RTT 握手过程中,客户端可以`在握手开始时就发送应用数据`,从而实现 0 个 RTT 的数据传输延迟。

2024-06-24 07:06:20 1010

原创 HTTP/2 的 ALPN(应用层协议协商)

ALPN(Application-Layer Protocol Negotiation)是 TLS 的一个扩展,它允许客户端和服务器在建立 TLS 连接的过程中协商使用的应用层协议,如 HTTP/1.1 或 HTTP/2。ALPN 通过在 TLS 握手过程中嵌入协议协商信息,使得客户端和服务器可以快速确定使用哪种协议进行通信,而无需额外的往返通信。

2024-06-22 07:45:33 843

原创 HTTP/2 头部压缩 Header Compress(HPACK)详解

在HTTP2.0中,我们使用了HPACK(HTTP2头部压缩算法)压缩格式对传输的header进行编码,减少了header的大小。并在两端维护了索引表,用于记录出现过的header,后面在传输过程中就可以传输已经记录过的header的键名,对端收到数据后就可以通过键名找到对应的值。

2024-06-22 07:35:09 879

原创 http/2 二进制分帧层 (Binary Framing Layer)讲解

在HTTP2.0中引入了新的编码机制,所有传输的数据都会被分割,并采用二进制格式编码HTTP/2 所有性能增强的核心是新的二进制分帧层,它规定了 HTTP 消息的封装方式,并在客户端和服务器之间传输。为了保证HTTP不受影响,那就需要在应用层(HTTP2.0)和传输层(TCP or UDP)之间增加一个二进制分帧层。在二进制分帧层上,HTTP2.0会将所有传输的信息分为更小的消息和帧,并采用二进制格式编码

2024-06-22 07:05:41 1301

原创 客户端如何验证服务器SSL证书的有效性?

客户端需要验证服务器证书中的域名与访问的服务器域名匹配。这可以通过检查证书的 Common Name (CN) 和 Subject Alternative Name (SAN) 字段来完成。证书链通常由服务器证书、中间证书和根证书组成。客户端需要验证从服务器证书到受信任的根证书之间的所有中间证书。每个证书都必须正确地链接到下一个证书,直到到达根证书。CRL 是由 CA 发布的包含所有已吊销证书的列表。OCSP 提供了一种实时检查证书吊销状态的方法。客户端向 OCSP 服务器发送请求,查询证书的吊销状态。

2024-06-22 02:11:39 1195

原创 HTTP 状态码详解及使用场景

1xx 信息性状态码、2xx 成功状态码、3xx 重定向状态码、4xx 客户端错误状态码、5xx 服务器错误状态码

2024-06-21 21:05:31 815

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除