沐鸣娱乐官方平台下载-沐鸣娱乐官方平台手机下载

工业路由器
您(nin)当(dang)前位置: 首页 >> 服务与支持 >> 产品百科 >> 工业路由器

深入浅出全面解析 TCP/IP 协议栈

发(fa)布时间:2020-07-07浏览:2250

TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输。TCP/IP 协议采用4层结构,分别是应(ying)用层(ceng)、传输层(ceng)、网络层(ceng)和(he)链路(lu)层(ceng),每一层都呼叫它的下一层所提供的协议来完成自己的需求。由于我们大部分时间都工作在应用层,下层的事情不用我们操心;其次网络协议体系本身就很复杂庞大,入门门槛高,因此很难搞清楚TCP/IP的工作原理,通俗一点讲就是,一(yi)个(ge)主机(ji)的数据要经过哪些过程(cheng)才能发送到对方的主机(ji)上(shang)。 接(jie)下(xia)来(lai),我们(men)就来(lai)探索(suo)一下(xia)这(zhei)个过(guo)程。

0、物理介质

物(wu)理(li)介(jie)质(zhi)就(jiu)是把(ba)电脑(nao)连接起(qi)来的(de)物(wu)理(li)手段,常见(jian)的(de)有光(guang)纤(xian)、双绞线(xian),以(yi)(yi)及(ji)无线(xian)电波,它(ta)决(jue)(jue)定(ding)了(le)电信(xin)号(hao)(0和(he)1)的(de)传(chuan)输方式,物(wu)理(li)介(jie)质(zhi)的(de)不同决(jue)(jue)定(ding)了(le)电信(xin)号(hao)的(de)传(chuan)输带宽、速率、传(chuan)输距离以(yi)(yi)及(ji)抗干扰性等(deng)等(deng)。

TCP/IP协议栈分为四层,每一层都由特定的协议与对方进行通信,而协议之(zhi)间的通信最(zui)终都要转化(hua)为 0 和 1 的电(dian)信号(hao),通过物(wu)理介质进行传(chuan)输才能到达(da)对方(fang)的电(dian)脑(nao),因此物(wu)理介质是网络通信(xin)的基石(shi)。

下(xia)面我们通过一张图先来大概(gai)了解一下(xia)TCP/IP协议的基(ji)本框架(jia):



当通过http发起一个请求时,应用层、传输层、网络层和链路层的相关协议依次对该请求进行包装并携带对应的首部(bu),最终在链路层生成以太网数据包,以(yi)(yi)太网数据(ju)包(bao)(bao)通过物理(li)(li)介质传输给对(dui)方主机,对(dui)方接收到(dao)数据(ju)包(bao)(bao)以(yi)(yi)后,然后再(zai)一(yi)层(ceng)一(yi)层(ceng)采用对(dui)应(ying)的协议(yi)进行(xing)拆(chai)包(bao)(bao),最后把应(ying)用层(ceng)数据(ju)交给应(ying)用程序处理(li)(li)。

网络(luo)通信就好比送快递(di),商(shang)(shang)品(pin)(pin)外面(mian)的一层层包裹就是各种协议,协议包含了商(shang)(shang)品(pin)(pin)信息、收货地址、收件(jian)人、联系方式等,然后(hou)还需要配送车、配送站(zhan)、快递(di)员,商(shang)(shang)品(pin)(pin)才(cai)能(neng)最(zui)终到达用户(hu)手中。

一(yi)般(ban)情况下,快递是不能直达(da)的(de),需要先转(zhuan)发(fa)到对(dui)应的(de)配送站,然后由配送站再进行派件。

配送车就是(shi)物理介(jie)质,配送站就是(shi)网关, 快递员就是(shi)路由器,收货地(di)址就是(shi)IP地(di)址,联系方式就是(shi)MAC地(di)址。

快递员负责把包(bao)(bao)裹(guo)转发到(dao)(dao)各(ge)个配(pei)送(song)站(zhan),配(pei)送(song)站(zhan)根据收获地址里(li)的省(sheng)市区,确认是否需要继续(xu)转发到(dao)(dao)其他配(pei)送(song)站(zhan),当(dang)包(bao)(bao)裹(guo)到(dao)(dao)达了(le)目(mu)标配(pei)送(song)站(zhan)以后(hou),配(pei)送(song)站(zhan)再根据联(lian)系方(fang)式找到(dao)(dao)收件(jian)人进行派件(jian)。

有了整(zheng)体概念以(yi)后,下面我们详细(xi)了解一下各层(ceng)的分工。

1、链路层


网络通信就是把有特定意义的数据通过物理介质传送给对方,单纯的发送 0 和 1 是没有意义的,要传输有意义的数据,就需要以字节为单位对 0 和 1 进行分组,并且要标识好每一组电信号的信息特征,然后按照分组的顺序依次发送。以太网规定一组电信号就是一个数据包,一个数据包被称为一帧, 制定这个规则的协议就是以(yi)太网(wang)协(xie)议。一个完整的以(yi)太(tai)网(wang)数据包如下图(tu)所示(shi):



整个数据帧由首部数据(ju)尾部(bu)三部(bu)(bu)分组(zu)成(cheng),首部(bu)(bu)固定(ding)(ding)为(wei)14个(ge)字(zi)(zi)节,包含了目标MAC地址(zhi)、源MAC地址(zhi)和类(lei)型;数(shu)(shu)据最(zui)短为(wei)46个(ge)字(zi)(zi)节,最(zui)长为(wei)1500个(ge)字(zi)(zi)节,如果需要传(chuan)输的数(shu)(shu)据很长,就必须分割(ge)成(cheng)多个(ge)帧进行发送;尾部(bu)(bu)固定(ding)(ding)为(wei)4个(ge)字(zi)(zi)节,表示数(shu)(shu)据帧校验(yan)序(xu)列,用于确定(ding)(ding)数(shu)(shu)据包在传(chuan)输过程中是否损坏。因此,以(yi)太网(wang)协(xie)议(yi)通(tong)过对电信号(hao)进行分组(zu)并形成(cheng)数(shu)(shu)据帧,然后(hou)通(tong)过物(wu)理介(jie)质把数(shu)(shu)据帧发送给接收(shou)方。那(nei)么以(yi)太网(wang)如何(he)来识接收(shou)方的身份呢?

以太网规协议定,接入网络的设备都必须安装网络适配器,即网(wang)卡, 数据包必须是从一块网卡传送到另一块网卡。而网卡地址就是数据包的发送地址和接收地址,也就是帧首部所包含的MAC地(di)址,MAC地址是每块网卡的身份标识,就如同我们身份证上的身份证号码,具有全球唯一性。MAC地址采用十六进制标识,共6个字节, 前三个字节是厂商编号,后三个字节是网卡流水号,例如4C-0F-6E-12-D2-19

有了MAC地址以后,以太网采用广播形式,把数据包发给该子网内所有主机,子网内每台主机在接收到这个包以后,都会读取首部里的目标(biao)MAC地址(zhi),然后和自己(ji)的MAC地址(zhi)进行对比,如果(guo)相同就做下(xia)一步(bu)处理,如果(guo)不同,就丢弃(qi)这个包。

所以链路层的主要工作就是对电信(xin)号进(jin)行分(fen)组并形成具有特定意义的(de)数据帧,然后以广播的(de)形式通(tong)过物理介质发送给接(jie)收方。


2、网络层


对于上面的过程(cheng),有几(ji)个细节问(wen)题值得我们(men)思考:

发(fa)送者(zhe)如何知(zhi)道接收者(zhe)的MAC地址(zhi)?

发送(song)者(zhe)如何知道接收者(zhe)和自己同属一个子网?

如果接收(shou)者和自己不在同一个子网,数据包如何(he)发给对方(fang)?

为了解决这些问题,网络层引入了三个协议,分别是IP协(xie)议ARP协议(yi)路由协议。

【1】IP协议

通过前面的介绍我们(men)知道,MAC地址(zhi)只(zhi)与(yu)厂商(shang)有(you)关,与(yu)所(suo)处(chu)的网络无关,所(suo)以无法通过MAC地址(zhi)来(lai)判断两台(tai)主机是否属于同(tong)一个(ge)子网。

因此,网络层引入了IP协议,制定了一套新地址,使得我们能够区分两台主机是否同属一个网络,这套地址就是网络地址,也就是所谓的IP地址。

IP地址目前有两个版本,分别是IPv4IPv6,IPv4是一个32位的地址,常采用4个十进制数字表示。IP协议将这个32位的地址分为两部分,前面部分代表网络地址,后面部分表示该主机在局域网中的地址。由于各类地址的分法不尽相同,以C类地址192.168.24.1为例其中前24位就是网络地址,后8位就是主机地址。因此,如果两个IP地址在同一个子网(wang)内,则网(wang)络(luo)地址一定相同。为了判断IP地址中的网络地址,IP协议还引入了子网掩(yan)码,IP地址和子网掩码通过按位(wei)与运算后(hou)就(jiu)可以得到网络地址。

由(you)于发送者和接(jie)收者的(de)IP地址是已(yi)知的(de)(应用层(ceng)的(de)协议(yi)会(hui)传入), 因此(ci)我们只要通过子网掩码对两个IP地址进(jin)行AND运算后就能够判(pan)断(duan)双方是否(fou)在同(tong)一个子网了。

【2】ARP协议

即地址解析协议,是根据IP地(di)址(zhi)获取MAC地址的一个网络层协议。其工(gong)作原理(li)如下:

ARP首先会发起一个请求数据包,数据包的首部包含了目标主机的IP地址,然后这个数据包会在链路层进行再次包装,生成以太网数据包,最终由以太网广播给(ji)子网内的(de)(de)(de)所有主(zhu)机,每一台主(zhu)机都会接收到这(zhei)个数据包,并取出标(biao)头里的(de)(de)(de)IP地(di)址,然后和(he)自(zi)己(ji)的(de)(de)(de)IP地(di)址进(jin)行比较,如果相(xiang)同就(jiu)(jiu)返回自(zi)己(ji)的(de)(de)(de)MAC地(di)址,如果不同就(jiu)(jiu)丢弃(qi)该(gai)数据包。ARP接收返回消息,以此(ci)确定目标(biao)机的(de)(de)(de)MAC地(di)址;与此(ci)同时(shi),ARP还会将返回的(de)(de)(de)MAC地(di)址与对(dui)应(ying)的(de)(de)(de)IP地(di)址存入(ru)本机ARP缓存中并保(bao)留(liu)一定时(shi)间,下(xia)次请求(qiu)时(shi)直接查询ARP缓存以节约资(zi)源(yuan)。cmd输入(ru) arp -a 就(jiu)(jiu)可以查询本机缓存的(de)(de)(de)ARP数据。

【3】路由协议

通过ARP协议的工作原理可以发现,ARP的MAC寻址还是局限(xian)在同一个子网中,因此网络层引入了路由协议,首先通过IP协议来判断两台主机是否在同一个子网中,如果在同一个子网,就通过ARP协议查询对应的MAC地址,然后以广播的形式向该子网内的主机发送数据包;如果不在同一个子网,以太网会将该数据包转发给本子网的网关进行(xing)路由。网关是互联网上子网与子网之间的桥梁,所以网关会进行(xing)多次转发,最终将该数(shu)(shu)据(ju)包转发到目标IP所在(zai)的子网中(zhong),然后再通过ARP获(huo)取目标机MAC,最终也是通过广播(bo)形式(shi)将数(shu)(shu)据(ju)包发送给(ji)接收方。

而完成这个路由协议的物理设备就是路由器,在错综复杂的网络世界里,路由器扮演者交通枢纽的角色(se),它会根据信(xin)道情况,选择并设定路(lu)由(you),以(yi)最佳路(lu)径来(lai)转发数据包。

【4】IP数据包

在网络层被包装的数据包就叫IP数据包,IPv4数据包(bao)的结构如下(xia)图所示:



IP数(shu)据(ju)(ju)包由首部(bu)和数(shu)据(ju)(ju)两部(bu)分(fen)(fen)组成(cheng),首部(bu)长度(du)为20个(ge)字节(jie),主要包含(han)了目标IP地址(zhi)和源IP地址(zhi),目标IP地址(zhi)是(shi)网关路由的(de)线索和依(yi)据(ju)(ju);数(shu)据(ju)(ju)部(bu)分(fen)(fen)的(de)最大长度(du)为65515字节(jie),理论上一(yi)个(ge)IP数(shu)据(ju)(ju)包的(de)总长度(du)可以达到65535个(ge)字节(jie),而以太(tai)网数(shu)据(ju)(ju)包的(de)最大长度(du)是(shi)1500个(ge)字符(fu),如果(guo)超过(guo)这个(ge)大小,就需要对IP数(shu)据(ju)(ju)包进行分(fen)(fen)割,分(fen)(fen)成(cheng)多帧(zhen)发送。

所以,网络层的主要工作是定义网(wang)络地(di)址,区分网(wang)段,子网(wang)内MAC寻址,对于不同(tong)子网(wang)的数据包(bao)进行(xing)路(lu)由。


3、传输层


链路层(ceng)定(ding)义了(le)(le)主机(ji)的(de)身份,即MAC地址(zhi)(zhi), 而(er)网(wang)络层(ceng)定(ding)义了(le)(le)IP地址(zhi)(zhi),明确(que)了(le)(le)主机(ji)所(suo)在的(de)网(wang)段,有(you)了(le)(le)这两个(ge)地址(zhi)(zhi),数(shu)据包(bao)就从(cong)(cong)(cong)可以(yi)从(cong)(cong)(cong)一个(ge)主机(ji)发(fa)送(song)到另一台(tai)主机(ji)。但实(shi)际上(shang)数(shu)据包(bao)是从(cong)(cong)(cong)一个(ge)主机(ji)的(de)某个(ge)应(ying)用(yong)程(cheng)序发(fa)出(chu),然后由对方主机(ji)的(de)应(ying)用(yong)程(cheng)序接(jie)收。而(er)每台(tai)电脑都(dou)有(you)可能同(tong)时运行着很多(duo)个(ge)应(ying)用(yong)程(cheng)序,所(suo)以(yi)当数(shu)据包(bao)被发(fa)送(song)到主机(ji)上(shang)以(yi)后,是无法确(que)定(ding)哪个(ge)应(ying)用(yong)程(cheng)序要接(jie)收这个(ge)包(bao)。

因此传输层引入了UDP协(xie)议来解决这个问题,为了给每个应用程序标识身份,UDP协议定义了端口(kou),同一个主机上(shang)的(de)(de)每个应(ying)(ying)用(yong)程序(xu)都需要(yao)指定唯一的(de)(de)端口号(hao),并且规定网(wang)络中传输的(de)(de)数据(ju)包(bao)必须加(jia)上(shang)端口信(xin)息。 这样,当数据(ju)包(bao)到达主机以后,就(jiu)可以根据(ju)端口号(hao)找到对应(ying)(ying)的(de)(de)应(ying)(ying)用(yong)程序(xu)了(le)。UDP定义的(de)(de)数据(ju)包(bao)就(jiu)叫做UDP数据(ju)包(bao),结(jie)构如(ru)下所示:



UDP数(shu)(shu)据(ju)(ju)包由首(shou)部(bu)和(he)数(shu)(shu)据(ju)(ju)两(liang)部(bu)分(fen)组成,首(shou)部(bu)长(zhang)(zhang)度为8个(ge)字(zi)节,主(zhu)要包括源(yuan)端口和(he)目(mu)标(biao)端口;数(shu)(shu)据(ju)(ju)最大为65527个(ge)字(zi)节,整个(ge)数(shu)(shu)据(ju)(ju)包的长(zhang)(zhang)度最大可达到65535个(ge)字(zi)节。

UDP协议比较简单,实现容易,但它没有确认机制, 数据包一旦发出,无法知道对方是否收到,因此可靠性较差,为了解决这个问题,提高网络可靠性,TCP协(xie)议就诞生了,TCP即传输控制协议,是一种面向连接的、可靠的、基于字节流的通信协议。简单来说TCP就(jiu)是有确(que)认(ren)机制的UDP协议,每发出(chu)一个(ge)(ge)数据(ju)(ju)包(bao)都要求确(que)认,如(ru)果有一个(ge)(ge)数据(ju)(ju)包(bao)丢(diu)失,就(jiu)收(shou)不到确(que)认,发送方(fang)就(jiu)必须重发这个(ge)(ge)数据(ju)(ju)包(bao)。

为了保证传输的可靠性,TCP 协议在 UDP 基础之上建立了三次对话的(de)确(que)认机制,也(ye)就(jiu)是说,在(zai)正式收发数据前,必须和(he)对方建(jian)立可靠的(de)连接。由于建(jian)立过程较为复杂,我们在(zai)这里做一(yi)个形象的(de)描(miao)述:

主机A:我想发数据给你,可以(yi)么?

主(zhu)机B:可以(yi),你什么时候(hou)发?

主(zhu)机A:我马上发,你接着!

经过三次对话之(zhi)后,主机A才会向(xiang)主机B发(fa)送(song)正式(shi)数据(ju),而UDP是(shi)面向(xiang)非连(lian)接的(de)协议,它不(bu)与对方建立连(lian)接,而是(shi)直接就(jiu)把数据(ju)包发(fa)过去了(le)。所以 TCP 能够保(bao)证数据(ju)包在传输(shu)过程中不(bu)被丢(diu)失,但美(mei)好(hao)的(de)事物必然是(shi)要付出代(dai)价的(de),相比(bi) UDP,TCP 实(shi)现过程复杂,消耗(hao)连(lian)接资源多,传输(shu)速(su)度慢。

TCP 数据包(bao)和 UDP 一样,都是由首部和数据两部分组成,唯一不同的(de)(de)是,TCP 数据包(bao)没有长度限制,理论(lun)上可以无限长,但是为了保证网络的(de)(de)效率,通(tong)常 TCP 数据包(bao)的(de)(de)长度不会超过(guo)IP数据包(bao)的(de)(de)长度,以确保单个 TCP 数据包(bao)不必再分割。

总结一下,传输层的主要工作是定(ding)义端口,标识应(ying)用(yong)程序身份,实现端口到端口的通信,TCP协议可以保证数据传输的可靠性

4、应用层


理论上(shang)讲,有(you)了以(yi)上(shang)三层协(xie)议(yi)的(de)支持,数(shu)(shu)据已经可以(yi)从一(yi)个主机上(shang)的(de)应(ying)(ying)(ying)用(yong)(yong)(yong)程(cheng)(cheng)序(xu)传输(shu)到(dao)另一(yi)台主机的(de)应(ying)(ying)(ying)用(yong)(yong)(yong)程(cheng)(cheng)序(xu)了,但此时传过来的(de)数(shu)(shu)据是(shi)字节流,不能很好的(de)被程(cheng)(cheng)序(xu)识别,操(cao)作性差(cha)。因此,应(ying)(ying)(ying)用(yong)(yong)(yong)层定义(yi)了各(ge)种(zhong)各(ge)样的(de)协(xie)议(yi)来规范数(shu)(shu)据格式,常见的(de)有(you) HTTP、FTP、SMTP 等,HTTP 是(shi)一(yi)种(zhong)比(bi)较常用(yong)(yong)(yong)的(de)应(ying)(ying)(ying)用(yong)(yong)(yong)层协(xie)议(yi),主要用(yong)(yong)(yong)于B/S架(jia)构之间的(de)数(shu)(shu)据通信,其报文格式如(ru)下:



在 Resquest Headers 中(zhong),Accept 表示客(ke)户(hu)端期望接收(shou)的数(shu)(shu)据(ju)格(ge)(ge)式(shi)(shi),而 ContentType 则表示客(ke)户(hu)端发送(song)的数(shu)(shu)据(ju)格(ge)(ge)式(shi)(shi);在 Response Headers 中(zhong),ContentType 表示服务端响应的数(shu)(shu)据(ju)格(ge)(ge)式(shi)(shi),这里定(ding)(ding)义(yi)的格(ge)(ge)式(shi)(shi),一(yi)般是和 Resquest Headers 中(zhong) Accept 定(ding)(ding)义(yi)的格(ge)(ge)式(shi)(shi)是一(yi)致的。

有了这(zhei)个规(gui)范以后(hou)(hou)(hou),服务(wu)端(duan)(duan)收到(dao)请(qing)求(qiu)以后(hou)(hou)(hou),就能(neng)正确的解(jie)析客(ke)户端(duan)(duan)发来的数(shu)据,当请(qing)求(qiu)处理(li)完(wan)以后(hou)(hou)(hou),再(zai)按照(zhao)客(ke)户端(duan)(duan)要求(qiu)的格式返回,客(ke)户端(duan)(duan)收到(dao)结果后(hou)(hou)(hou),按照(zhao)服务(wu)端(duan)(duan)返回的格式进行解(jie)析。

所以应用层的主要工作就是定(ding)义数据格式(shi)(shi)并按(an)照对应(ying)的格式(shi)(shi)解(jie)读数据。


5、全流程


首(shou)先我(wo)们梳理一下(xia)每(mei)层模型(xing)的职责:

链(lian)路(lu)层:对0和1进行分(fen)组,定义数据帧,确(que)认主机的物理地址,传输(shu)数据;

网络层:定义IP地址(zhi),确认主(zhu)机(ji)所在(zai)的(de)网络位置,并通过IP进行MAC寻址(zhi),对(dui)外网数据包进行路由(you)转发(fa);

传输层:定义端口,确认(ren)主机上应用程序(xu)的(de)身份,并将数据包交给对应的(de)应用程序(xu);

应(ying)用层:定(ding)义(yi)数据格式(shi),并按照对应的(de)格式(shi)解读数据。

然后再把每层模型的职责(ze)串联起来,用一句通俗易懂的话讲(jiang)就(jiu)是:

当你(ni)输(shu)入一(yi)(yi)个网(wang)址(zhi)(zhi)并按下回车键(jian)的(de)(de)(de)(de)时候,首先(xian),应(ying)用(yong)(yong)层(ceng)协议对(dui)该请(qing)求包做了格式定(ding)义;紧(jin)接(jie)着(zhe)传(chuan)输(shu)层(ceng)协议加(jia)上(shang)了双(shuang)方(fang)的(de)(de)(de)(de)端口号,确认(ren)了双(shuang)方(fang)通信的(de)(de)(de)(de)应(ying)用(yong)(yong)程序;然(ran)后网(wang)络协议加(jia)上(shang)了双(shuang)方(fang)的(de)(de)(de)(de)IP地(di)址(zhi)(zhi),确认(ren)了双(shuang)方(fang)的(de)(de)(de)(de)网(wang)络位(wei)置;最(zui)后链路层(ceng)协议加(jia)上(shang)了双(shuang)方(fang)的(de)(de)(de)(de)MAC地(di)址(zhi)(zhi),确认(ren)了双(shuang)方(fang)的(de)(de)(de)(de)物理位(wei)置,同时将数(shu)据(ju)进(jin)行分组(zu),形成数(shu)据(ju)帧(zhen),采用(yong)(yong)广(guang)播方(fang)式,通过传(chuan)输(shu)介质发送给对(dui)方(fang)主机(ji)(ji)。而(er)对(dui)于不同网(wang)段,该数(shu)据(ju)包首先(xian)会转发给网(wang)关路由器,经过多次转发后,最(zui)终被发送到目(mu)标(biao)主机(ji)(ji)。目(mu)标(biao)机(ji)(ji)接(jie)收到数(shu)据(ju)包后,采用(yong)(yong)对(dui)应(ying)的(de)(de)(de)(de)协议,对(dui)帧(zhen)数(shu)据(ju)进(jin)行组(zu)装,然(ran)后再通过一(yi)(yi)层(ceng)一(yi)(yi)层(ceng)的(de)(de)(de)(de)协议进(jin)行解析,最(zui)终被应(ying)用(yong)(yong)层(ceng)的(de)(de)(de)(de)协议解析并交给服(fu)务器处理。

6、总结

以上(shang)内容(rong)是对TCP/IP四层(ceng)模(mo)(mo)型(xing)做(zuo)了简(jian)单的(de)(de)介绍,而(er)实际(ji)上(shang)每一层(ceng)模(mo)(mo)型(xing)都(dou)有很(hen)多协(xie)议,每个协(xie)议要做(zuo)的(de)(de)事情(qing)也(ye)(ye)很(hen)多,但我们首先(xian)得有一个清晰的(de)(de)脉络结构,掌握每一层(ceng)模(mo)(mo)型(xing)最(zui)基本(ben)的(de)(de)作用(yong),然后(hou)再去丰富细枝末节的(de)(de)东西,也(ye)(ye)许会更容(rong)易理解。


上一篇:MQTT是什么?MQTT协议简介 下一篇:详解VRRP协议
免费样机申请 样机免费试用,提前沟通确保沐鸣娱乐产品深度契合贵司业务需求
相关产品
产品百科
隐私政策网站地图 Copyright © 2015-2022 厦门沐鸣娱乐通信科技有(you)限公(gong)司 All Rights Reserved.  
拨打电话
极悦娱乐-科技赋能场景,让娱乐更有趣。 极悦娱乐-科技注册场景,让平台更有趣。 鼎点耀世娱乐HEMO-拉菲2娱乐「一家靠谱的游戏平台」Facai-新博2官网登录入口「一家靠谱的游戏平台」Facai-摩臣平台是正规平台吗「一家走心的游戏平台」