- 博客(307)
- 收藏
- 关注

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

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

原创 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
4786

原创 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
1312
原创 macOS常用网络管理配置命令
查看或配置网络接口参数(如 IP 地址、子网掩码、MAC 地址等)。:管理网络服务(Wi-Fi、以太网等)、代理、DNS、位置配置。:管理 Wi-Fi 扫描和诊断(需手动链接工具)。:管理系统网络参数(如主机名、DNS 配置)。:显示网络连接、路由表、接口统计等。:通过 SSH 连接到远程服务器。:查询 DNS 记录。:查看或修改路由表。
2025-03-07 18:40:19
1105
原创 Client访问Server访问慢的原因
带宽限制:客户端或服务器所在的网络环境中,带宽不足,带宽被下载应用占用、导致数据传输速度变慢。网络拥塞:路由器或交换机处理过多的流量,出现丢包或数据包延迟。可以使用 ping 测试丢包率,或者通过 QoS(服务质量)策略优化网络。DNS解析缓慢:客户端访问服务器的域名解析速度较慢,导致延迟。可以通过使用更快的 DNS 服务器或直接访问 IP 地址来确认(DNS工具 dig 、nslookup)
2024-09-06 22:00:07
738
原创 网络安全基础—加解密原理与数字证书
对称密钥加密的优点是效率高,算法简单,系统开销小,适合加密大量数据。缺点是实现困难,扩展性差。实现困难原因在于进行安全通信前需要以安全方式进行密钥交换;扩展性差表现在每对通信用户之间都需要协商密钥,n个用户的团体就需要协商n*(n-1)/2个不同的密钥公钥加密的优点是安全性高。无法从一个密钥推导出另一个密钥;公钥加密的信息只能用钥进行解密。缺点是算法非常复杂,导致加密大量数据所用的时间较长,而且加密后的报文较长,不利于网络传输基于公钥加密的优缺点,公钥加密适合对密钥或身份信息等敏感信息加密(小数据
2024-09-06 00:51:16
1767
原创 NFV架构
来自IT界的启示,给网络产业带来了网络架构和设备架构两个层面的思考。网络架构层面引入对SDN控制器的思考设备架构层面引入对设备部署形态的思考(NFV)。(Network Functions Virtualization),而虚拟化之后的网络功能被称为VNF(Virtualized Network Function)在硬件通用化后,传统的网元不再是嵌入式的软硬结合的产品,而是以纯软件的方式安装在通用硬件(即NFVI)上。
2024-09-02 09:45:12
1041
原创 华为设备BGP选路规则总结
本地始发的BGP路由优于从其他对等体学习到的路由,本地始发的路由优先级:优选手动聚合>自动聚合>network>import>从对等体学到的。-----------------------------------------------------------取值越大越优 ↑。---------------------------------------------------------取值越小越优 ↓。优选Router ID(Orginator_ID)最小的设备通告的路由。优选MED属性值最小的路由。
2024-08-26 02:39:43
397
原创 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
971
原创 网络虚拟化—如何理解Overlay和Underlay?
主机Overlay:服务器主机建立隧道。网络Overlay:网络设备建立隧道。混合Overlay:网络+主机混合。
2024-08-23 18:41:03
854
原创 网络故障排查思路
故障类型: VLAN接口模式、VLAN tag是否正确、STP选举阻塞、LACP(链路聚合的协商)、bond等。故障类型: IP地址冲突、不正确的路由表配置、子网划分错误、路由器故障、MTU值(VxLAN、GRE等网络)职责: 数据帧的传输与接收,错误检测和修复(如MAC地址,交换机的工作)职责: 数据包的路由与转发(如IP地址的管理、路由协议的运行)。故障类型: 服务未启动、应用程序错误、配置文件错误、端口占用。职责: 传输原始的比特流(如电缆、光纤、无线信号等)。
2024-08-14 02:05:39
1341
原创 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
550
原创 为什么tcp连接要三次握手 ,断开要四次挥手?
双向确认:三次握手确保双方都能接收和发送数据。第一次握手让服务器知道客户端想建立连接,第二次握手让客户端知道服务器收到了它的请求并同意建立连接,第三次握手让服务器知道客户端收到了它的确认。(确认收发能力没有问题)防止旧连接请求干扰:通过三次握手,双方都可以确保对方是真正准备好通信的,而不是由于网络延迟导致的旧的SYN包干扰。
2024-07-18 11:05:09
307
原创 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
1422
原创 Docker 安装 PostgreSQL
PostgreSQL 是一个强大的开源对象-关系型数据库管理系统 (ORDBMS),以其高可扩展性和标准化而著称。PostgreSQL 支持复杂查询、外键、触发器、视图和事务等高级特性,并且可以通过扩展支持多种编程语言和数据类型。它适用于各种复杂的数据库应用场景,特别是需要高一致性和可靠性的系统
2024-07-12 13:20:43
2810
原创 docker inspect 如何提取容器的ip和端口 网络信息?
使用docker -f 的过滤(模板)通过原生Linux命令过滤找到IP。通过jq工具找到IPjq 是一个轻量级且灵活的命令行工具,用于解析、过滤、修改、和处理 JSON 格式的数据。类似于 sed、awk 或 grep,但专门针对 JSON 数据格式。jq 允许你使用简单的命令从复杂的 JSON 数据结构中提取信息并进行操作。
2024-07-12 12:13:57
643
原创 TCP中的2MSL详解
MSL是一个TCP段在网络中可以存活的最长时间,2MSL就是两倍的这个时间。让网络中的TCP报文段自然消失。防止"老"数据包在网络中滞留。
2024-07-10 09:34:20
1690
原创 DNS缓存详解
1.浏览器查找顺序 浏览器缓存 > 操作系统缓存 > 本地Hosts文件 > DNS服务器查询2.cmd ping查找顺序(非浏览器) 本地Hosts文件 > 操作系统缓存 > DNS服务器查询
2024-07-09 12:04:56
2047
原创 15 CIG重量级监控
CAdvisor默认只在本机保存2分钟的数据,为了持久化存储数据和统一收集展示监控数据,需要将数据存储到InfluxDB中。InfluxDB是一个时序数据库,专门用于存储时序相关数据,很适合存储 CAdvisor 的数据。Grafana是一个开源的数据监控分析可视化平台,支持多种数据源配置(支持的数据源包括InfluxDB、MySQL、Elasticsearch、OpenTSDB、Graphite等)和丰富的插件及模板功能,支持图表权限控制和报警。重新启动 docker-compose up -d。
2024-07-08 15:42:04
1497
原创 14 Portainer轻量级图形化监控
portainer管理本地docker,即可看到本地Docker的详细信息,包括其中的镜像(images)、容器(containers)、网络(networks)、容器卷(volumes)、compose编排(stacks)等等。Portainer是一款轻量级的应用,它提供了图形化界面,用于方便地管理Docker环境,包括单机环境和集群环境。Portainer分为开源社区版(CE版)和商用版(BE版/EE版)首次进来时,需要创建 admin 的用户名(默认。)、密码(必须满足校验规则,例如。
2024-07-08 15:37:53
789
原创 13 Docker网络
Docker 的网络模式:网络模式简介使用方式bridge为每一个容器分配、设置IP等,并将容器连接到一个docker0虚拟网桥,默认为该模式host容器将不会虚拟出自己的网卡、配置自己的IP等,而是使用宿主机的IP和端口none容器有独立的 Network namespace,但并没有对齐进行任何网络设置,如分配veth pair和 网桥连接、IP等container新创建的容器不会创建自己的网卡和配置自己的IP,而是和一个指定的容器共享IP、端口范围等。
2024-07-06 02:55:27
749
原创 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
1201
原创 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
340
原创 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
3257
2
原创 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
1447
原创 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
678
原创 07 docker 容器存储持久化
特性存储位置Docker 管理的存储位置(如宿主机上的指定路径独立于容器生命周期是否管理便捷性高(Docker 提供了专门的管理命令)低(需要手动管理宿主机目录)跨平台一致性是否(依赖于宿主机文件系统)性能较高高(直接访问宿主机文件系统)权限管理简单复杂(需管理宿主机文件系统的权限)
2024-07-02 05:53:07
1497
原创 05 docker 镜像
a:对于一个精简的OS,rootfs可以很小,只需要包括最基本的命令、工具和程序库就可以了,因为底层直接使用Host的Kernel,自己只需要提供rootfs就可以。所以,对于不同的Linux发行版,bootfs基本是一致的,rootfs会有差别,不同的发行版可以共用bootfs。:基础镜像(没有父镜像的镜像)可以作为其他镜像的基础层,在其上添加新的层,创建各种具体的应用镜像。例如,如果两个不同的应用都基于相同的操作系统镜像,那么这个操作系统镜像层只需存储一次,并且在两个应用镜像中共享。
2024-07-02 05:46:59
1030
原创 04 Docker常用容器命令
docker run docker ps docker top docker inspect docker commit docker cp .........................................
2024-07-02 05:45:34
1151
原创 03 Docker 常用镜像命令
1.帮助启动类命令2.镜像命令Ⅰ docker imagesⅡ docker searchⅢ docker pullⅣ docker system dfⅤ docker rmi@ 面试题:虚悬镜像
2024-07-02 05:41:05
714
原创 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
268
原创 01 Docker 概述
Docker是基于Go语言实现的云开源项目。,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP及其运行环境能做到一次镜像,处处运行解决了运行环境和配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。
2024-07-02 05:35:14
1445
原创 HTTP3 QUIC数据包重传机制
QUIC 中的数据传输基于流和帧,每个流都是独立的,包含多个帧。帧的类型包括数据帧、ACK 帧、握手帧等。丢包重传只涉及具体丢失的帧,而不会影响其他流中的帧。的,而不是像 TCP 那样基于字节的序列号。包编号的独立性使得 QUIC 能够快速检测到哪些数据包丢失,并决定需要重传哪些包。当发送方接收到 ACK 帧后,会根据确认的信息判断哪些数据包需要重传。在 QUIC 和 HTTP/3 中,数据传输的单位是“包”(packet)和“帧”(frame)来确认接收到的数据包,并提供详细的丢包信息。
2024-06-24 08:10:46
1312
原创 TLS握手中的RTT
TLS 1.2 握手通常需要2 RTT 才能完成。TLS1.3 在 0-RTT 握手过程中,客户端可以`在握手开始时就发送应用数据`,从而实现 0 个 RTT 的数据传输延迟。
2024-06-24 07:06:20
1286
原创 HTTP/2 的 ALPN(应用层协议协商)
ALPN(Application-Layer Protocol Negotiation)是 TLS 的一个扩展,它允许客户端和服务器在建立 TLS 连接的过程中协商使用的应用层协议,如 HTTP/1.1 或 HTTP/2。ALPN 通过在 TLS 握手过程中嵌入协议协商信息,使得客户端和服务器可以快速确定使用哪种协议进行通信,而无需额外的往返通信。
2024-06-22 07:45:33
1651
原创 HTTP/2 头部压缩 Header Compress(HPACK)详解
在HTTP2.0中,我们使用了HPACK(HTTP2头部压缩算法)压缩格式对传输的header进行编码,减少了header的大小。并在两端维护了索引表,用于记录出现过的header,后面在传输过程中就可以传输已经记录过的header的键名,对端收到数据后就可以通过键名找到对应的值。
2024-06-22 07:35:09
1621
原创 http/2 二进制分帧层 (Binary Framing Layer)讲解
在HTTP2.0中引入了新的编码机制,所有传输的数据都会被分割,并采用二进制格式编码HTTP/2 所有性能增强的核心是新的二进制分帧层,它规定了 HTTP 消息的封装方式,并在客户端和服务器之间传输。为了保证HTTP不受影响,那就需要在应用层(HTTP2.0)和传输层(TCP or UDP)之间增加一个二进制分帧层。在二进制分帧层上,HTTP2.0会将所有传输的信息分为更小的消息和帧,并采用二进制格式编码
2024-06-22 07:05:41
1904
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人