高并发与负载均衡——网络TCP-IP基础知识

Posted 天億网络安全

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高并发与负载均衡——网络TCP-IP基础知识相关的知识,希望对你有一定的参考价值。

请点击上面  一键关注!


一、网络分层

1.七层(接口):解耦,便于开发

应用层:

    7.应用层:nginx,软件,浏览器,DNS

    6.表示层

传输层:

    5.会话层

    4.传输层:lvs负载均衡

网络层:

    3.网络层

链路层

    2.链路层

    1.物理层 


2.四层:TCP/IP协议,OSI 7L参考模型对7层的简化分层和实现

举例:GET / www.baidu.com/

1.应用层(应用层+表示层糅合):对数据与字符串的封装

    http:字符串书写格式与两端方法的交互方式的定义

    smtp

    ssh

4.传输层(会话层+传输层糅合)(控制):[三次握手>>(传输数据)>>四次挥手]

    连接的定义:非物理的连接,是逻辑连接,是一种状态的确认(对TCP来说,就是三次握手的状态确认)

    tcp:面向连接(状态)的可靠传输协议

        过程:客户端和服务端通信,客户端从65535个端口号中申请一个端口号和服务器固定端口进行通信(一般来说是80端口),三次握手成功后,客户端和服务端会各自开辟一个线程来进行通信。所以高并发问题会产生在线程数量和线程池方面。

    udp:不是面向连接的,不可靠的

    socket:   IP:PORT-IP:PORT

             -netstat  -natp

5.网络层:192.168.9.11

    ip.icmp

    ROUTE:下一跳

          -route   -n

6.链路层(链路层+物理层糅合):

    以太网:Ethernet:MAC

    ARP:全F,两点通信,交换机学习

        arp -a

高并发与负载均衡——网络TCP-IP基础知识

高并发与负载均衡——网络TCP-IP基础知识

nginx:负载5w台,处在应用层,需要在传输层建立三次握手后才能进行应用层数据解析和负载


lvs负载均衡:负载10w台,工作在传输层,在三次握手>>数据传输>>四次挥手的整个过程中都可以监视数据包的状态,来进行快速的负载均衡,但是由于lvs没有权限观看应用层数据,所以属于瞎子负载,不会根据数据包的真实业务需求来进行业务负载,可能导致将数据包发送到错误的服务器(不干这个业务的服务器),这时需要nginx和lvs负载搭配使用来可以达到百万级别负载能力。也就是流量先集中在lvs负载均衡服务器,然后这些lvs负载均衡服务器将这些数据发送给它后面的nginx服务器,再由nginx服务器做负载均衡,发送给后台的各种业务功能的tomcat服务器。

 

二、高并发与负载均衡的三种模型推导

1.名词补充

高并发与负载均衡——网络TCP-IP基础知识


2.四层网络对应模型


图1

高并发与负载均衡——网络TCP-IP基础知识

          

图2

高并发与负载均衡——网络TCP-IP基础知识

          

         工作过程:



    拓扑简略图

高并发与负载均衡——网络TCP-IP基础知识

负载均衡器只做转发,不做三次握手,并保证三次握手>>数据传输>>四次挥手之间整体的过程完整统一,不被切分。


这里的四层负载均衡是一个简单实现,后台的Server是集群式部署而不是分布式部署,所以存储容量并没有提升。


    具体实施

图3

高并发与负载均衡——网络TCP-IP基础知识

 


不足:所有的数据都是通过网线发送的,我们假设客户端有10000个,负载均衡服务器一个,server两个分别负载5000,首先我们要明确一个概念,网络的上行速度和下行速度是不一样的,换句话说,我们访问百度,只需要包装一个几百字节的数据包给服务器(上行),而服务器返回给我们html网页则是很大的,可能几个MB(下行),那么如果我们负载均衡服务器的网线带宽不够,能承受上行而不能承受如此高并发的下行(也就是说能经受访问,但是经受不了数据都从负载均衡服务器回送给客户端)。那么,速度还是很慢的,所以这时候我们想,下行这件事情不由负载均衡来干,由真实服务器RIP来做,来降低负载均衡服务器的下行压力,于是有了下面的模型。


    改善后的具体实施:DR模型——直接路由模型

图4

高并发与负载均衡——网络TCP-IP基础知识

关键点:

1.IP冲突问题:为了能够让RIP向客户端发送数据,则Server(RIP)的IP应该为VIP,这样才会匹配客户端的CIP_VIP请求数据包。但是RealServer的IP已经是RIP了并且IP必须是唯一的,而且负载均衡服务器的IP也是VIP,那么就不符合IP唯一的规则。解决办法是在RealServer中配置一个隐含IP为VIP(图4中的*VIP),且该隐含IP只对自己可见,对外网公网不可见,那么就可以实现向客户端回送数据包VIP_CIP。,并且解决了IP冲突的问题。





    DR模型的再改善:TUN隧道模型——突破DR模型物理限制(LVS与RealServer必须在同一局域网下,也就是同一个区域下)

图5

高并发与负载均衡——网络TCP-IP基础知识

工作原理:就是在IP层封装两层,最好理解TUN隧道技术的就是VPN,我们要访问VIP,那么客户端数据包通过路由转发到了负载均衡服务器,负载均衡服务器再在CIP_VIP外层包一层IP层信息DIP_RIP,则DIP与RIP之间通过配置好的隧道技术可以通信了。这就是VPN翻墙的原理,我们(CIP)如果要访问美国(RIP),那么我们会先访问香港(VIP),香港再访问美国。

--------------------- 

来源:CSDN 

原文:https://blog.csdn.net/whathellll/article/details/85211433 

高并发与负载均衡——网络TCP-IP基础知识

「天億网络安全」知识星球, 全面介绍网络安全相关知识、安全建设方案、分享网络安全行业法律法规及相关政策,一个学习网络安全知识、技术、业务交流的全国性平台。

加入知识星球 链接:

▶️

▶️

加入群聊

为了【天億网络安全】微信群管理,想进群的朋友先加我好友,我拉你们进群,微信二维码如下:

—THE END—

朋友都在看

天億网络安全


以上是关于高并发与负载均衡——网络TCP-IP基础知识的主要内容,如果未能解决你的问题,请参考以下文章

009-大数据-高并发网络基础3

高并发解决方案--负载均衡

高并发负载均衡

高并发负载均衡

高并发负载均衡

Web - 负载均衡高并发