网络是怎么连接的

news/2024/11/24 8:55:55/

目录

一.以浏览器要访问一个网址为例,理解这一次网络连接的全貌。

二.协议栈和网卡

 0.TCP/IP的分层结构

1.套接字

2.连接

连接的目的

连接的过程

3.发送数据

4.接收数据

5.断开连接

6.发送数据时包的情况

 包是怎么转发的?

包收发的过程

7.网卡

 网卡组装完成包

8.向集线器发送网络包

9.接收返回包

网卡处理

TCP&IP处理

三.集线器,交换机,路由器

1.集线器 

集线器的工作过程

2.交换机

交换机的工作过程

交换机的特点

3.路由器

四.通过接入网进入互联网内部

1.接入网

ADSL接入网

通信过程

光纤接入网

PPP拨号上网

区分

通过隧道将网络包发送给运营商

2.网络运营商内部

POP

NOC

运营商之间的连接


 

 

一.以浏览器要访问一个网址为例,理解这一次网络连接的全貌。

大体过程

  • 浏览器要访问一个资源,如www.baidu.com
  • 找到提供这个资源的服务器
  • 服务器提供资源

1.浏览器解析URL,生成请求消息。

1)解析URL,明确访问目标

2)生成请求消息

注意:

1).URI是/目录名/文件名

2.浏览器将请求消息委托给操作系统

浏览器能解析网址并生成HTTP消息,但不具备将消息发送到网络上的能力。

3.操作系统根据域名查询IP地址

浏览器-Socket库-协议栈。

1)首先了解IP地址,在TCP/IP协议中,网络由子网和路由器连接而成,所以IP地址包含了网络号(具体在哪个子网)和主机号。用子网掩码来区分网络号和主机号的界限。

2)操作系统调用计算机上的DNS客户端(解析器-包含在Socket库中的一个程序),将域名告诉它。通过代码gethostbyname来调用这个程序。

3)解析器再将信息发送给操作系统内部的协议栈(协议驱动或TCP/IP驱动).。

4)协议栈执行操作通过网卡将消息发送给最近的DNS服务器(这个最近的DNS服务器的IP地址在电脑中设置好了)。

5)最近的DNS服务器去找根DNS服务器,根DNS服务器管理com等域名,再找管理baidu域名的服务器,再找管理www域名的服务器,在管理www域名的服务器中找到具体具体资源的服务器,获得该服务器的IP地址。

6)为什么域名和IP公用?

域名方便人们识别记忆,IP为了方便传输。

4.操作系统协议栈根据IP地址向服务器发送HTTP请求

需要调用操作系统的协议栈的Socket库中的程序组件来完成功能

客户端委托操作系统都是靠调用Socket库中的程序组件再交给协议栈来完成

浏览器-Socket库-协议栈。

1)服务器,客户端分别创建一个套接字(相当于传输管道的入口和出口)。

调用Socket库中的socket组件

2)客户端的套接字延申出管道连接服务器的套接字。

d五分钟理解TCP/IP协议中端口号的涵义:什么是端口号?为什么要有端口号?_哔哩哔哩_bilibili

3)收发数据

调用socket的write组件发送

调用socket的read组件接收

4)断开管道删除套接字

调用socket的close组件关闭

描述符

创建完后,协议栈返回描述符,来识别不同的套接字,因为你可能同时在登录多个网站就需要建立多个通道。

客户端在创建套接字时,协议栈会为这个套接字分配一个端口号,接下来执行连接操作时,会将端口号告诉服务器。

5.服务器解析请求消息,返回响应消息

生成响应消息,返回给客户端,客户端浏览器接收后将数据显示到屏幕上。

二.协议栈和网卡

 0.TCP/IP的分层结构

上层对下层委派,下层接收执行

Socket库中有解析器用来对DNS服务器进行查询还包括其他组件。

浏览器、邮件等一般的应用程序都是使用TCP收发数据的,而像DNS查询等收发较短的控制数据的时候则使用UDP。TCP协议负责加给数据添加TCP协议的控制信息。

IP:下面一半是用IP协议控制网络包收发操作的部分。在互联网上传送数据时,数据会被切分成一个一个的网络包,而将网络包发送给通信对象的操作就是由IP来负责的。IP还包括IMCP和ARP协议,ICMP用于告知网络包传送过程中产生的错误以及各种控制消息,ARP用于根据IP地址查询相应的以太网MAC地址。IP协议负责给数据添加IP协议的控制信息。

网卡驱动:负责控制网卡硬件。

网卡:完成实际收发操作。对网线中的信号执行发送和接收。

1.套接字

套接字的实体协议栈中存放通信控制信息的内存空间,记录通信对象的IP地址、端口号、通信操作的进行状态等。

套接字的作用是在发送数据时,需要看一看套接字中的通信对象IP地址和端口号,以便向指定的IP地址和端口发送数据,套接字中必须要记录是否已经收到响应,以及发送数据后经过了多长时间,才能根据这些信息按照需要执行重发操作。

描述符:描述符相当于用来区分协议栈中的多个套接字的号码牌,来指明这一块内存地址。

2.连接

连接的目的

1.需要把服务器的IP地址和端口号等信息告知协议栈。

2.客户端向服务器传达开始通信的请求。客户端会发出我想和你开始通信,我的IP地址是xxx.xxx. xxx.xxx,端口号是yyyy。

3.开辟一块用来临时存放要收发的数据的内存空间。

连接的过程

第一步:在TCP模块处创建表示连接信息的头部

上面的调用提供了服务器的IP地址和端口号,这些信息会传递给协议栈中的TCP模块。然后,TCP模块会与该IP地址对应的对象,也就是与服务器的TCP模块交换控制信息。

也就是客户端创建一个控制信息的头部,主要包括发送方和接收方的端口号。将头部中的控制位的SYN比特设置为1,设置适当的序号和窗口大小。

第二步:创建好头部后,TCP模块传给IP模块委托它发送

第三步:服务器上的IP模块会将接收到的数据传递给TCP模块

第四步:服务器的TCP模块会返回响应

第五步:客户端再响应告诉服务器刚才的响应包已经收到

3.发送数据

应用程序调用write将要发送的数据交给协议栈,协议栈收到数据后执行发送操作

第一步:将数据存放在内部的发送缓冲区中,并等待应用程序的下一段数据

第二步:对叫大数据进行拆分

TCP进行拆分,并添加TCP头部,IP再添加头部

第三步:发给服务器

第四步:确认操作

TCP具备确认对方是否成功收到网络包,以及当对方没收到时进行重发的功能。需要对方返回ACK号来确认。

4.接收数据

浏览器在委托协议栈发送请求消息之后,会调用read程序来获取响应消息。控制流程会通过read转移到协议栈。协议栈会执行接下来的操作。

第一步:协议栈会检查收到的数据块和TCP头部的内容,判断是否有数据丢失,如果没有问题则返回ACK号。

第二步:协议栈将数据块暂存到接收缓冲区中,并将数据块按顺序连接起来还原出原始的数据,最后将数据交给应用程序。

5.断开连接

数据发送完毕的一方会发起断开过程。

第一步:服务器一方的应用程序会调用Socket库的close程序。

第二步:服务器的协议栈会生成包含断开信息的TCP头部(具体来说就是将控制位中的FIN比特设为1)。

第三步:协议栈会委托IP模块向客户端发送数据,同时,服务器的套接字中也会记录下断开操作的相关信息。

第四步:客户端收到后,客户端的协议栈会将自己的套接字标记为进入断开操作状态,为了告知服务器已收到FIN为1的包,客户端会向服务器返回一个ACK号。

第五步:应用程序就会调用read来读取数据。

第六步:客户端调用close来结束数据收发操作,这时客户端的协议栈也会和服务器一样,生成一个FIN比特为1的TCP包,然后委托IP模块发送给服务器。一段时间之后,服务器就会返回ACK号。

6.发送数据时包的情况

 包是怎么转发的?

发送放创建包,发送到最近的网络转发设备,网络转发设备根据头部控制信息,向下一个转发设备转发,最终到达接收放的网络设备。

IP头部

包的目的地,也就是要访问的服务器的IP地址写入IP头部中,IP协议就可以根据这一地址查找包的传输方向,从而找到下一个路由器的位置。

MAC头部

IP协议会查找下一个路由器的以太网地址(MAC地址),并将这个地址写入(改写)MAC头部中。这样一来,以太网协议就知道要将这个包发到哪一个路由器上了。路由器的MAC就像人的身份证一样,是设备的唯一标识。

包收发的过程

 1.TCP模块加头部

TCP模块在数据块的前面加上TCP头部,然后整个传递给IP模块,TCP模块还需要指定通信对象的IP地址,也就是需要写清楚“将什么内容发给谁”

2.IP模块加头部

IP模块会添加IP头部和MAC头部这两种头部。IP头部中包含IP协议规定的、根据IP地址将包发往目的地所需的控制信息;MAC头部包含通过以太网的局域网将包传输至最近的路由器所需的控制信息。

3.封装好的包会被交给网络硬件

网络硬件可能是插在计算机主板上的板卡,也可能是笔记本电脑上的PCMCIA卡,或者是计算机主板上集成的芯片,不同形态的硬件名字也不一样,本书将它们统称为网卡。

4.网络硬件发送

传递给网卡的网络包是由一连串0和1组成的数字信息,网卡会将这些数字信息转换为电信号或光信号,并通过网线(或光纤)发送出去,然后这些信号就会到达集线器、路由器等转发设备,再由转发设备一步一步地送达接收方。

MAC

以太网中判断发送目的地时要用MAC头部

IP与MAC

IP地址其实标识的是网卡而不是计算机,MAC地址是在网卡生产时写入ROM里的,只要将这个值读取出来写入MAC头部就可以,所以MAC地址也能标识计算机,但IP地址可以修改,但MAC地址不能修改。

将包转发的时候转发给路由器,但需要知道路由器的地址,查询目标路由器的MAC地址需要用到ARP协议。

惊了!大学一直搞不懂的IP地址和MAC地址的区别原来这么简单!_哔哩哔哩_bilibili

反正没人看!随便讲讲Mac地址和Ip地址有什么区别_哔哩哔哩_bilibili

7.网卡

ROM

网卡的ROM中保存着全世界唯一的MAC地址,这是生产网卡时写入的

网卡驱动

1.网卡中保存的MAC地址在网卡驱动进行初始化时会由网卡驱动程序读取并分配给MAC模块。

2.网卡驱动从IP模块获取包之后,将其复制到网卡内的缓冲区,再向MAC模块发送发送包的命令。

MAC模块

MAC模块会将包从缓冲区中取出,并在开头加上报头和起始帧分界符,在末尾加上用于检测错误的帧校验序列,MAC模块从报头开始将数字信息按每个比特转换成电信号,将数字信息转换为电信号的速率就是网络的传输速率。

PHY

将MAC模块来的电信号将其转换为可在网线上传输的格式发出去

它还需要监控接收线路中有没有信号进来。在开始发送信号之前,需要先确认没有其他信号进来,这时才能开始发送。如果在信号开始发送到结束发送的这段时间内一直没有其他信号进来,发送操作就成功完成了。

 网卡组装完成包

报头

是一串比特序列,用来确定包的读取时机,当这串序列被转换成电信号,根据波形可以判断取数据的时机。

起始帧分界符

表示包起始位置的标记

FCS(帧校验序列)

检查包传输过程中因噪声导致的波形紊乱、数据错误,它是一串32比特的序列,是通过一个公式对包中从头到尾的所有内容进行计算而得出来的。它和磁盘等设备中使用的CRC[插图]错误校验码是同一种东西。

8.向集线器发送网络包

发送信号的操作分为两种,一种是使用集线器的半双工模式,另一种是使用交换机的全双工模式。

半双工模式中需要注意信号碰撞的问题

全双工模式中不需要注意信号碰撞问题

9.接收返回包

网卡处理

1.PHY (MAU)模块会将信号转换成通用格式并发送给MAC模块

2.MAC模块再从头开始将信号转换为数字信息,并存放到缓冲区中。当到达信号的末尾时,还需要检查FCS。

3.当到达信号的末尾时,还需要检查FCS。具体来说,就是将从包开头到结尾的所有比特套用到公式中计算出FCS,然后和包末尾的FCS进行对比,正常情况下两者应该是一致的,如果中途受到噪声干扰而导致波形发生紊乱,则两者的值会产生差异,这时这个包就会被当作错误包而被丢弃。

4.再判断MAC头部中接收方MAC地址与网卡在初始化时分配给自己的MAC地址是否一致,不是就丢弃,是就将包放到缓冲区。

5.通过中断机制通知计算机收到了包,调用网卡驱动,从缓冲区中取出收到的包,并通过MAC头部中的以太类型字段判断协议的类型交给不同的协议栈。(一般给TCP/IP)

TCP&IP处理

协议栈会判断这个包应该交给哪个应用程序,并进行相应的处理。

1.第一步是检查IP头部,确认格式是否正确。

2.查看接收方IP地址。如果接收网络包的设备是一台Windows客户端计算机,那么服务器返回的包的接收方IP地址应该与客户端网卡的地址一致。如果布一致,IP模块会通过ICMP消息将错误告知发送方

3.分片重组:IP模块会将它们还原成原始的包(将小包合起来),分片的包会在IP头部的标志字段中进行标记,当收到分片的包时,IP模块会将其暂存在内部的内存空间中,然后等待IP头部中具有相同ID的包全部到达,这是因为同一个包的所有分片都具有相同的ID。

4.TCP模块会根据IP头部中的接收方和发送方IP地址,以及TCP头部中的接收方和发送方端口号来查找对应的套接字。

5.找到对应的套接字之后,就可以根据套接字中记录的通信状态,执行相应的操作,如果包的内容是应用程序数据,则返回确认接收的包,并将数据放入缓冲区,等待应用程序来读取;如果是建立或断开连接的控制包,则返回相应的响应控制包,并告知应用程序建立和断开连接的操作状态。

三.集线器,交换机,路由器

1.集线器 

集线器的工作过程

1.网卡中的PHY模块负责将包转换成电信号,电信号通过RJ-45接口进入双绞线。 

2.当信号到达集线器后,会被广播到整个网络中。以太网的基本架构[插图]就是将包发到所有的设备,然后由设备根据接收方MAC地址来判断应该接收哪些包,而集线器就是这一架构的忠实体现,它就是负责按照以太网的基本架构将信号广播出去。

3.信号到达集线器的PHY模块,再进入中继电路,将信号广播到集线器的所有端口,流向所有设备。

4.这些设备在收到信号之后会通过MAC头部中的接收方MAC地址判断是不是发给自己的,如果是发给自己的就接受,否则就忽略。这样,网络包就能够到达指定MAC地址的接收方了。

集线器,交换机,路由器在接收数据方面的区别

由于集线器只是原封不动地将信号广播出去,所以即便信号受到噪声的干扰发生了失真,也会原样发送到目的地。这时,接收信号的设备,也就是交换机、路由器、服务器等,会在将信号转换成数字信息后通过FCS[插图]校验发现错误,并将出错的包丢弃。当然,丢弃包并不会影响数据的传输,因为丢弃的包不会触发确认响应。因此协议栈的TCP模块会检测到丢包,并对该包进行重传。

2.交换机

交换机的工作过程

 1.当信号从双绞线传入时,就会进入PHY(MAU)模块的接收部分。

2.PHY(MAU)模块会将网线中的信号转换为通用格式,然后传递给MAC模块。

3.MAC模块将信号转换为数字信息,然后通过包末尾的FCS校验错误,如果没有问题则存放到缓冲区中,[插图]。这部分操作和网卡基本相同,大家可以认为交换机的每个网线接口后面都是一块网卡。

交换机和网卡的不同

但交换机的工作方式和网卡有一点不同。网卡本身具有MAC地址,并通过核对收到的包的接收方MAC地址判断是不是发给自己的,如果不是发给自己的则丢弃;相对地,交换机的端口不核对接收方MAC地址,而是直接接收所有的包并存放到缓冲区中。因此,和网卡不同,交换机的端口不具有MAC地址

4.接下来需要查询一下这个包的接收方MAC地址是否已经在MAC地址表中有记录了。MAC地址表主要包含两个信息,一个是设备的MAC地址,另一个是该设备连接在交换机的哪个端口上。

交换机的特点

1.交换机只将包转发到具有特定MAC地址的设备连接的端口,其他端口都是空闲的。如图3.7中的例子所示,当包从最上面的端口发送到最下面的端口时,其他端口都处于空闲状态,这些端口可以传输其他的包,因此交换机可以同时转发多个包。

2.相对地,集线器会将输入的信号广播到所有的端口,如果同时输入多个信号就会发生碰撞,无法同时传输多路信号,因此从设备整体的转发能力来看,交换机要高于集线器。

3.路由器

 

转发模块

判断包的转发目的地,判断具体交给哪一个端口发送。

端口模块

负责包的收发操作

通过更换网卡,计算机可以支持以太网或无线局域网,路由器也一样。如果路由器安装了支持无线局域网的硬件,就可以支持无线局域网了。

发送过程

1.通过端口将发过来的包接收

2.转发模块根据收到的包的IP头部中记录的接收方的IP地址,在路由表中进行查询,来判断转发目标

3.转发模块委托端口将包转移到转发目标对应的端口,端口按照硬件的规则将包发送出去。

接收过程

1.在以太网中,从以太网端口接收并放到缓冲区中

2.PHY和MAC部分将信号转为数字信号

3.通过包末尾的FCS进来错误校验再检查MAC头部

注意

1.以以太端口为例,路由器有MAC地址,因为它能成为以太网的发送方和接收方。

端口还有IP地址,当转发包时,首先路由器端口会接收发给自己的以太网包,然后查询转发目标,再由相应的端口作为发送方将以太网包发送出去。这一点和交换机是不同的,交换机只是将进来的包转发出去而已,它自己并不会成为发送方或者接收方。

IP协议根据目标地址判断下一个IP转发设备的位置

子网中的以太网协议将包传输到下一个转发设备

四.通过接入网进入互联网内部

互联网的整体架构

 将互联网理解成家庭公司网络的方法版

不同点是路由器之间距离和路由器的维护方式

1.接入网

是指连接互联网与家庭、公司网络的通信线路[插图]。一般家用的接入网方式包括ADSL、FTTH、CATV、电话线、ISDN等,公司则还可能使用专线。

ADSL接入网

 用户端路由器发出的网络包通过ADSL Modem(调制解调器)到达电话局,再到达ADSL网络运营商(ISP)。

通信过程

1.计算机-交换机-(接入网)路由器-ADSL Modem

若互联网接入路由器和ADSL Modem之间是以太网连接,传送时互联网接入路由器会在网络包前面加上MAC头部、PPPoE头部、PPP头部总共3种头部,然后发送给ADSL Modem。

2.ADSL将数据拆分成信元

3.ADSL将信元调制成信号

4.信号进入分离器,然后ADSL信号会和电话的语音信号混合起来一起从电话线传输出去。

信号从分离器发出时,分离器没有做什么事。

信号从电话线传入时,分离器负责将电话和ADSL信号分离。

5.通过室内电话线,到达IDF(中间配线盘)和MDF(总配线架),再进入电线杆上的电话电缆,再经过配线盘和分离器发送给DSLAM(相当于多个ADSL Modem)。

6.电信号被还原成数字信号。

ADSL和DSLAM的区别

ADSL Modem具备以太网接口,可与用户端路由器交互,收发以太包。

DSLAM用的是ATM接口,接收信元,和后方路由器收发数据也是用ATM信元形式。

7.信元被转到BAS的包转发设备(具有ATM接口可以接收ATM信元),将ATM转换成原始的包。

8.将MAC头部和PPPoE头部丢掉。取出PPP头部和后面的数据。

MAC头部和PPPoE头部作用是到达BAS的接口

9.BAS在包前面加上隧道专用头部,送到隧道出口。

10.网络包到达隧道出口的隧道专用路由器,隧道头部被丢弃,IP包被取出,转发到互联网中。

光纤接入网

FTTH基于光纤接入网的技术的入网方式。

PPP拨号上网

 

 在使用电话线或ISDN拨号上网时,需要传送PPP包。

1.用户向运营商的接入点拨打电话,输入用户名和密码

2.用户名和密码到达RAS通过RADUIS协议发送到认证服务器

3.认证服务器返回IP地址等信息

4.用户信息配置IP等信息,便可向网络发送TCP/IP包了。

区分

ADSL,FTTH,PPP拨号上号都需要给计算机分配公有地址。

ADSL和FTTH通过电缆或光纤固定连接在一起的,没有必要验证用户身份,通过用户名和密码登录的步骤可以根据用户名来切换不同的运营商,这很方便。因此,接入运营商在ADSL和FTTH中一般也会使用PPP。

也就是说PPP实现了通过用户名和密码来上网。

PPP拨号上网中PPP传送的方式:PPP协议中没有定义以太网中的报头和FCS等元素,也没有定义信号的格式,因此无法直接将PPP消息转换成信号来发送。要传输PPP消息,必须有另一个包含报头、FCS、信号格式等元素的“容器”,然后将PPP消息装在这个容器里才行。于是,在拨号接入中PPP借用了HDLC[插图]协议作为容器,而HDLC协议原本是为在专线中传输网络包而设计的,拨号接入方式对这一规格进行了一些修正。

ADSL和FTTH中PPP的传送方式:不能借用HDLC来作为容器,我们用以太网包代替HDLC来装载PPP协议,以太网和PPP在设计上有所不同,为了弥补这些问题就重新设计了一个新的规格,这就是PPPoE。

BAS用作用户认证和配置下发的窗口 

通过隧道将网络包发送给运营商

BAS还使用隧道方式传输网络包

隧道方式

类似于套接字之间建立的TCP连接。

2.网络运营商内部

 互联网的实体是由多个运营商网络相互连接而成。

ADSL、FTTH等接入网是与用户签约的运营商设备相连的,这些设备称为POP(Poine Of Presense 接入点)。到达互联网的入口,运营商POP路由器。

POP

POP中包括各种类型的路由器,根据接入网的类型需要分别使用不同类型的路由器。

专线接入:这里用的路由器就是具有通信线路端口的一般路由器。专线不需要用户认证、配置下发等功能,因此用一般的路由器就可以了。

电话、ISDN等拨号方式的接入:使用的路由器称为RAS。拨号接入需要对用户拨电话的动作进行应答,而RAS就具备这样的功能。

PPPoE方式的ADSL和FTTH:PPPoE方式中,ADSL、FTTH接入服务商会使用BAS,运营商的路由器则与BAS相连。PPPoE中的身份认证和配置下发操作由接入服务商的BAS来负责,运营商的路由器只负责对包进行转发,因此这里也是使用一般的路由器就可以了。

NOC

NOC:Network Operation Center 网络运行中心

运营商的核心设备,从POP传来的网络包都会集中到这里,并从这里被转发到离目的地更近的POP,或者是转发到其他的运营商。可以认为NOC就是规模扩大后的POP。

运营商之间的连接

如果最终目的地Web服务器和客户端是连接在同一个运营商中的,那么POP路由器的路由表中应该有相应的转发目标。

如果服务器的运营商和客户端的运营商不同,网络包需要先发到服务器所在的运营商。

对于互联网内部的路由器来说,无论最终目的地是否属于同一家运营商,都可以从路由表中查到,因此只要一次接一次按照路由表中的目标地址来转发包,最终一定可以到达Web服务器所在的POP。这样一来,我们就可以把包发到任何地方,包括地球的另一面。

通过IX连接

  IX的实体是高性能交换机。


http://www.ppmy.cn/news/457483.html

相关文章

JVM篇:《深入理解Java虚拟机第二版.SUN技术》——笔记

深入理解Java虚拟机第二版.SUN技术 第1章 Java体系结构介绍1.1 Java体系结构包括四个独立但相关的技术1.2 虚拟机 第2章 平台无关2.1为什么要平台无关2.2Java体系结构对平台无关性的支持2.2.1 Java平台2.2.2 Java语言2.2.3 class文件2.2.4 可伸缩性 第3章 安全第4章 网络移动性…

51单片机内部外设:串口通信

通信基础概念 通信中最重要的两个方面: 信息表示和解析方法;信息的传输方法。 通信双方事先需要约定好信息的表示方法和解析方法,做到一致,否则信息不能有效传递。 信号的传输方法是指经过编码后的通信信息如何在传输介质上传输的…

计算机网络实验报告

Cisco Packet Tracer 实验 直接连接两台 PC 构建 LAN 将两台 PC 直接连接构成一个网络。注意:直接连接需使用交叉线。 进行两台 PC 的基本网络配置,只需要配置 IP 地址即可,然后相互 ping 通即成功。 用交换机构建 LAN 构建如下拓扑结构的局…

深入浅出虚拟机-第三版笔记(重点)整理-2022-04-06

文章目录 第一章 走近Java第二章 Java内存区域与内存溢出异常1. 运行时数据区域2.对象的创建3.对象的内存布局4.对象的访问定位5.OutOfMemoryError异常 第三章 垃圾收集器与内存分配策略1.判断对象是否存在2.引用的类型3.无用的类4.垃圾收集算法5.HotSpot的算法实现6.垃圾收集器…

LVS+Keepalived+Nginx+Tomcat高可用负载均衡集群配置

一、负载均衡:必不可少的基础手段 LVS作用:实现负载均衡 Keepalived作用:监控集群系统中各个服务节点的状态,HA cluster。 配置LVS有两种方式: 1. 通过ipvsadm命令行方式配置 2. 通过Redhat提供的工具piranha来配…

C/C++基础讲解(一百一十七)之经典篇(画图综合例子)

C/C++基础讲解(一百一十七)之经典篇(画图综合例子) 程序之美 前言 很多时候,特别是刚步入大学的学子们,对于刚刚开展的计算机课程基本上是一团迷雾,想要弄明白其中的奥秘,真的要花费一些功夫,我和大家一样都是这么啃过来的,从不知到知知,懵懂到入门,每一步都走的很艰…

初识轻量级分布式任务调度平台 xxl-job

文章目录 前言xxl-job的目录结构项目依赖 (父 pom.xml)xxl-job-admin 启动xxl-job-executor-sample (项目使用示例)xxl-job-executor-sample-frameless : 不使用框架的接入方式案例xxl-job-executor-sample-springboot : springboot接入方案案例 xxl-job执行器器启动流程分析调…

软考A计划-网络工程师-交换机与路由器的配置

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…