网络结构模型
文章平均质量分 84
MayMatrix
J2EE .
展开
-
【DNS】Linux上DNS缓存的开启和清理
DNS 缓存是一个临时数据库,用于存储有关以前的 DNS 查找的信息。换句话说,每当你访问网站时,你的操作系统和网络浏览器都会保留该域和相应 IP 地址的记录。这消除了对远程 DNS 服务器重复查询的需要,并允许你的 OS 或浏览器快速解析网站的 URL。但是在某些情况下,例如:对网络问题进行故障排除,或者在更改 DNS 解析器之后,你将需要刷新 DNS 缓存。这将清除缓存的 DNS 条目,并根据新配置的 DNS 设置执行后续查找以解析域。转载 2023-03-01 11:41:53 · 3400 阅读 · 1 评论 -
TCP 的那些事儿(下)
这篇文章是下篇,所以如果你对TCP不熟悉的话,还请你先看看上篇《TCP的那些事儿(上)》 上篇中,我们介绍了TCP的协议头、状态机、数据重传中的东西。但是TCP要解决一个很大的事,那就是要在一个网络根据不同的情况来动态调整自己的发包的速度,小则让自己的连接更稳定,大则让整个网络更稳定。在你阅读下篇之前,你需要做好准备,本篇文章有好些算法和策略,可能会引发你的各种思考,让你的大脑分配很多内存和计算资源,所以,不适合在厕所中阅读。目录TCP的RTT算法经典算法Karn / Partridge 算法J.转载 2021-12-02 18:08:15 · 117 阅读 · 0 评论 -
TCP 的那些事儿(上)
TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,我还是推荐你去看W.Richard Stevens的《TCP/IP 详解 卷1:协议》(当然,你也可以去读一下RFC793以及后面N多的RFC)。另外,本文我会使用英文术语,这样方便你通过这些英文关键词来查找相关的技术文档。之所以想写这篇文章,目的有三个,一个是想锻炼一下自己是否可以用简单的篇幅把这么复杂的TCP协议.转载 2021-12-02 18:02:19 · 193 阅读 · 0 评论 -
TCP滑动窗口 和 拥塞窗口
滑动窗口 -- 表征发送端和接收端的接收能力拥塞窗口-- 表征中间设备的传输能力 TCP滑动窗口需要说明一下,如果你不了解TCP的滑动窗口这个事,你等于不了解TCP协议。我们都知道,TCP必需要解决的可靠传输以及包乱序(reordering)的问题,所以,TCP必需要知道网络实际的数据处理带宽或是数据处理速度,这样才不会引起网络拥塞,导致丢包。所以,TCP引入了一些技术和设计来做网络流控,Sliding Window是其中一个技术。 前面我们说过,TCP头里有一个字段叫W.转载 2021-12-02 17:57:47 · 760 阅读 · 0 评论 -
TCP BBR拥塞控制算法解析
维基百科简介:https://en.wikipedia.org/wiki/TCP_congestion_control#TCP_BBR 作者:Liu, Lubin 摘要 2016年底,Google发表了一篇优化tcp传输算法的文章,极大的提高了tcp得throughput,并且已经集成到Linux 4.9 内核。本文给出了论文中省略的一些背景知识,并结合自己的理解做了更加细节的介绍,可以帮助读者理解整个bbr算法。 1.背景 1.1TCP 基于丢转载 2021-12-01 17:35:12 · 2275 阅读 · 0 评论 -
keepalived+lvs实现主备(全)
参考文章:lvs+nginx负载均衡 1 lvs高可用(了解) 1.1 什么是高可用 lvs作为负载均衡器,所有请求都先到达lvs,可见lvs处于非常重要的位置,如果lvs服务器宕机后端web服务将无法提供服务,影响严重。 为了屏蔽负载均衡服务器的宕机,需要建立一个备份机。主服务器和备份机上都运行高可用(High Availability)监控程序,通过传送诸如“I am alive”...转载 2021-10-15 20:34:18 · 646 阅读 · 0 评论 -
lvs+keepAlived 高效率负载均衡
一、 简介 1. 负载均衡的类型 负载均衡可以采用硬件设备(例如常常听见的 F5),也可以采用软件负载商用硬件负载设备成本通常较高(一台几十万甚至上百万),所以一般 情况下会采用软件负载软件负载解决的两个核心问题是:选谁、转发,其中最著名的是 lvs 2. lvs 是什么? 英文全称是 Linux Virtual Server,即 Linux 虚拟服务器由 章 ...转载 2021-10-15 20:11:22 · 263 阅读 · 0 评论 -
Nginx七层负载均衡的六种调度算法简介
这篇文章主要介绍了简单了解Nginx七层负载均衡的几种调度算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下Nginx是一款轻量级的高性能web服务器,同时也是一款非常优秀的负载均衡器和反向代理服务器。由于支持强大的正则匹配规则、动静分离、URLrewrite功能及安装配置简单且对网络稳定性依赖非常小等优点,所以常用来做为七层负载均衡使用。在硬件不差的情况下,通常可以稳定支持几万的并发连接,在硬件性能足够好,且对系统内核参数及Nginx配置进行优化甚至可转载 2021-10-14 18:48:07 · 1086 阅读 · 0 评论 -
【TCP长连接】使用TCP长连接提升服务性能
1、概述在《性能优化篇-理论基础》中,我们知道了提升服务性能的两个思路,分别是提升服务并发能力和降低请求的响应时间(RT)。一个请求的响应时间包括两部分,等待时间和执行时间。在《性能优化篇-减少网络传输包提升服务性能》中分析了如何减少网络包的传输来降低响应的等待时间,从而提升服务的性能。本文继续从网络通信方面来描述如何通过长连接来提升服务性能。2、为什么长连接可以提升服务性能在TCP/IP协议中,传输层负责应用程序之间的网络通信数据的传输,传输层协议主要有UDP和TCP。UDP协议是面向无连接的转载 2020-09-10 17:39:06 · 1717 阅读 · 0 评论 -
【TCP 长连接】Netty源码笔记:TCP长连接和IdleStateHandler
日常工作中TCP长连接在一些优秀的中间件或开源项目中得到大量的使用。比如zookeeper的订阅和监听、日常使用的各种数据库连接池、redis连接池、常用的RPC框架dubbo/美团pigeon、美团的监控系统Cat等等。使用TCP长连接的优势在于:1、有效避免频繁的三次握手、四次挥手开销;2、避免TCP滑动窗口冷启动的低效问题能极大的提升网络通信的效率。缺点也比较明显,当客户端因为断电、网线被拔除等原因突然断开时,服务端没办法及时知道客户端已经断线,不能及时回收socket占用的系统资源。首转载 2020-09-10 17:34:40 · 457 阅读 · 0 评论 -
【TCP 长连接】聊聊 TCP 长连接和心跳那些事
1 前言可能很多 Java 程序员对 TCP 的理解只有一个三次握手,四次挥手的认识,我觉得这样的原因主要在于 TCP 协议本身稍微有点抽象(相比较于应用层的 HTTP 协议);其次,非框架开发者不太需要接触到 TCP 的一些细节。其实我个人对 TCP 的很多细节也并没有完全理解,这篇文章主要针对微信交流群里有人提出的长连接,心跳的问题,做一个统一的整理。在 Java 中,使用 TCP 通信,大概率会涉及到 Socket、Netty,本文会借用它们的一些 API 和设置参数来辅助介绍。2 长连接转载 2020-09-10 17:17:26 · 729 阅读 · 1 评论 -
TCP/IP数据包结构详解
一般来说,网络编程我们只需要调用一些封装好的函数或者组件就能完成大部分的工作,但是一些特殊的情况下,就需要深入的理解网络数据包的结构,以及协议分析。如:网络监控,故障排查等……IP包是不安全的,但是它是互联网的基础,在各方面都有广泛的应用。由IP协议衍生的协议族有10数种(据我所知),以后还会出现更多的基于IP的协议…先从实际出发吧!一般我们在谈上网速度的时候,专业上用带宽来描述,其实无论说网速或者带宽都是不准确的,呵呵。比如:1兆,512K……有些在学校的学生,也许会有疑问,明明我的业务是1M转载 2020-06-08 12:01:00 · 2201 阅读 · 0 评论 -
深入理解HTTP协议、HTTP协议原理分析
http协议学习系列1.基础概念篇1.1介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,RFC 1945定义了HTTP/1.0版本。其中最著名的就是RFC 2616。RFC 2616定义了今天普遍使用的一个版本——HT...转载 2020-06-08 11:24:55 · 1121 阅读 · 0 评论 -
详解TCP连接的“三次握手”与“四次挥手”
一、TCP connection客户端与服务器之间数据的发送和返回的过程当中需要创建一个叫TCP connection的东西;由于TCP不存在连接的概念,只存在请求和响应,请求和响应都是数据包,它们之间都是经过由TCP创建的一个从客户端发起,服务器接收的类似连接的通道,这个连接可以一直保持,http请求是在这个连接的基础上发送的;在一个TCP连接上是可以发送多个http请求的,不同的版本这个模式不一样。在HTTP/1.0中这个TCP连接是在http请求创建的时候同步创建的,http请求发送到转载 2020-06-08 11:20:11 · 302 阅读 · 0 评论 -
TCP与UDP的区别
摘要:计算机网络基础引言网络协议是每个前端工程师都必须要掌握的知识,TCP/IP 中有两个具有代表性的传输层协议,分别是 TCP 和 UDP,本文将介绍下这两者以及它们之间的区别。一、TCP/IP网络模型计算机与网络设备要相互通信,双方就必须基于相同的方法。比如,如何探测到通信目标、由哪一边先发起通信、使用哪种语言进行通信、怎样结束通信等规则都需要事先确定。不同的硬件、操作系统之间...转载 2020-02-17 22:00:37 · 895 阅读 · 0 评论 -
OSI七层和TCP/IP四层的关系
1. OSI七层和TCP/IP四层的关系1.1 OSI引入了服务、接口、协议、分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型。1.2 OSI先有模型,后有协议,先有标准,后进行实践;而TCP/IP则相反,先有协议和应用再提出了模型,且是参照的OSI模型。1.3 OSI是一种理论下的模型,而TCP/IP已被广泛使用,成为网络互联事实上的标准。T转载 2017-07-17 16:05:42 · 3728 阅读 · 0 评论 -
OSI七层模型基础知识及各层常见应用
OSI七层模型基础知识及各层常见应用 OSI Open Source Initiative(简称OSI,有译作开放源代码促进会、开放原始码组织)是一个旨在推动开源软件发展的非盈利组织。OSI参考模型(OSI/RM)的全称是开放系统互连参考模型(Open System Interconnection Reference Model,OSI/RM),它是由国际标准化组织ISO转载 2017-07-17 16:03:47 · 987 阅读 · 0 评论