一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据传输方法、装置及系统、网关设备、终端设备及介质与流程

2022-06-11 06:17:24 来源:中国专利 TAG:


1.本发明涉及通信技术领域,特别涉及一种数据传输方法、装置及系统、网关设备、终端设备及介质。


背景技术:

2.对于路由器而言,连接路由器的主机要上外网需要进行dns(domain name system,域名系统)解析。为了实现这个功能,可以直接将外网的dns服务器分配给主机使用。主机发起dns请求,路由器对目的ip地址进行nat(network address translation,网络地址转换),并通过外网网卡将dns请求转发到dns服务器中,以实现dns解析。但是,当路由器与dns服务器之间的网络连接发生变化时,路由器外网网卡的dns信息也会发生变化,导致主机无法上外网。这时需要主机重新发起dns请求才能获取到正确的dns信息,从而恢复主机的上网。


技术实现要素:

3.本发明要解决的技术问题是为了克服现有技术中路由器与dns服务器之间的网络连接发生变化导致主机无法上外网的缺陷,提供一种数据传输方法、装置及系统、网关设备、终端设备及介质。
4.本发明是通过下述技术方案来解决上述技术问题:
5.本发明的第一方面提供一种数据传输方法,应用于网关设备中,所述数据传输方法包括以下步骤:
6.接收终端设备发送的第一数据包;
7.若确定所述第一数据包为dns请求包,且所述第一数据包中的目的ip地址为所述网关设备的局域网ip地址,则将所述第一数据包中的源ip地址转换为所述网关设备的广域网ip地址,以及将所述第一数据包中的目的ip地址转换为dns服务器的ip地址;
8.向所述dns服务器发送所述第一数据包;
9.接收所述dns服务器发送的第二数据包;
10.若确定所述第二数据包为dns响应包,则将所述第二数据包中的源ip地址转换为所述网关设备的局域网ip地址,以及将所述第二数据包中的目的ip地址转换为所述终端设备的ip地址;
11.向所述终端设备发送所述第二数据包。
12.可选地,所述数据传输方法还包括以下步骤:根据所述第一数据包中的目的端口号确定所述第一数据包是否为dns请求包。
13.可选地,所述数据传输方法还包括以下步骤:根据所述第二数据包中的源端口号确定所述第二数据包是否为dns响应包。
14.本发明的第二方面提供一种数据传输装置,应用于网关设备中,所述数据传输装置包括:
15.第一接收模块,用于接收终端设备发送的第一数据包;
16.第一转换模块,用于在确定所述第一数据包为dns请求包,且所述第一数据包中的目的ip地址为所述网关设备的局域网ip地址的情况下,则将所述第一数据包中的源ip地址转换为所述网关设备的广域网ip地址,以及将所述第一数据包中的目的ip地址转换为dns服务器的ip地址;
17.第一发送模块,用于向所述dns服务器发送所述第一数据包;
18.第二接收模块,用于接收所述dns服务器发送的第二数据包;
19.第二转换模块,用于在确定所述第二数据包为dns响应包的情况,将所述第二数据包中的源ip地址转换为所述网关设备的局域网ip地址,以及将所述第二数据包中的目的ip地址转换为所述终端设备的ip地址;
20.第二发送模块,用于向所述终端设备发送所述第二数据包。
21.可选地,所述数据传输装置还包括第一确定模块,用于根据所述第一数据包中的目的端口号确定所述第一数据包是否为dns请求包。
22.可选地,所述数据传输装置还包括第二确定模块,用于根据所述第二数据包中的源端口号确定所述第二数据包是否为dns响应包。
23.本发明的第三方面提供一种网关设备,包括:
24.至少一个处理器;
25.与所述至少一个处理器通信连接的存储器;以及
26.收发器,用于与其它设备通信;
27.其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述网关设备能够执行第一方面所述的数据传输方法。
28.本发明的第四方面提供一种数据传输方法,包括以下步骤:
29.向如第三方面所述的网关设备发送dns请求包;
30.接收所述网关设备发送的dns响应包。
31.本发明的第五方面提供一种数据传输装置,包括:
32.发送模块,用于向第三方面所述的网关设备发送dns请求包;
33.接收模块,用于接收所述网关设备发送的dns响应包。
34.本发明的第六方面提供一种终端设备,包括:
35.至少一个处理器;
36.与所述至少一个处理器通信连接的存储器;以及
37.收发器,用于与其它设备通信;
38.其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述终端设备能够执行第四方面所述的数据传输方法。
39.本发明的第七方面提供一种数据传输系统,包括dns服务器、如第三方面所述的网关设备以及如第六方面所述的终端设备,
40.所述dns服务器用于根据dns请求包中的域名查询所述域名对应的ip地址,并将所述域名对应的ip地址封装至dns响应包中。
41.本发明的第八方面提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如第一方面或者第四方面所述的数据传输方法。
42.本发明的积极进步效果在于:网关设备通过对接收的dns请求包进行目的ip地址的转换,以及对接收的dns响应包进行源ip地址的转换,可以实现dns代理。由于dns请求包的源ip地址和目的ip地址,以及dns响应包的源ip地址和目的ip地址均与dns服务器的ip地址无关,因此,即使网关设备与dns服务器之间的网络连接发生变化,也不会影响终端设备的上网。
附图说明
43.图1为本发明实施例1提供的一种数据传输方法的流程图。
44.图2为本发明实施例1提供的一种应用场景示意图。
45.图3为本发明实施例1提供的一种数据传输装置的结构框图。
46.图4为本发明实施例3提供的一种数据传输方法的流程图。
47.图5为本发明实施例3提供的一种数据传输装置的结构框图。
48.图6为本发明实施例4提供的一种终端设备的结构示意图。
49.图7为本发明实施例5提供的一种数据传输方法的流程图。
50.图8为本发明实施例5提供的一种数据传输系统的结构示意图。
具体实施方式
51.下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
52.需要说明的是,本实施例提供的网关(gateway)设备又称网间连接器、协议转换器,是多个网络间提供数据转换服务的计算机系统或设备。可以说网关设备就是不同网之间的连接器,就是数据要从一个网到另外一个网时要经过“协商”的设备。在具体实施中,上述网关设备可以为路由器,还可以为mifi(mobile wifi,移动路由器或者移动热点)。本发明实施例对网关设备所采用的具体技术和具体设备形态不做限定。
53.本实施例提供的终端设备可以称为主机、终端(terminal)、终端设备(user equipment,ue)、移动台(mobile station,ms)、移动终端(mobile terminal,mt)等。终端设备可以是手机、穿戴式设备、平板电脑、带无线收发功能的电脑、虚拟现实(virtual reality,vr)终端设备、增强现实(augmented reality,ar)终端设备、工业控制中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术中的无线终端、智能电网中的无线终端、运输安全中的无线终端、智慧城市中的无线终端、智慧家庭中的无线终端等等。本发明的实施例对终端设备所采用的具体技术和具体设备形态不做限定。
54.实施例1
55.图1为本实施例提供的一种数据传输方法的流程图。本实施例提供的数据传输方法可以由数据传输装置执行,该数据传输装置可以通过软件和/或硬件的方式实现,该数据传输装置可以包括网关设备的部分或全部。
56.下面结合网关设备为执行主体对数据传输方法进行说明。如图1所示,本实施例提供的数据传输方法可以包括以下步骤s11~s16:
57.步骤s11、接收终端设备发送的第一数据包。
58.步骤s12、若确定所述第一数据包为dns请求包,且所述第一数据包中的目的ip地
址为所述网关设备的局域网ip地址,则将所述第一数据包中的源ip地址转换为所述网关设备的广域网ip地址,以及将所述第一数据包中的目的ip地址转换为dns服务器的ip地址。
59.在一些例子中,网关设备的局域网ip地址也称为内网ip地址,网关设备的广域网ip地址也称为外网ip地址。
60.在步骤s12可选的一种实施方式中,根据所述第一数据包中的目的端口号确定所述第一数据包是否为dns请求包。具体地,若所述第一数据包中的目的端口号为53,则确定所述第一数据包为dns请求包。
61.在步骤s12可选的另一种实施方式中,根据所述第一数据包中的目的端口号以及所述第一数据包的协议确定所述第一数据包是否为dns请求包。具体地,若所述第一数据包中的目的端口号为53,且所述第一数据包的协议为udp(user datagram protocol,用户数据报协议),则确定所述第一数据包为dns请求包。
62.在步骤s12的具体实施中,网关设备在进行网络地址转换之前,所述第一数据包中的源ip地址为所述终端设备的ip地址,目的ip地址为所述网关设备的局域网ip地址。网关设备在进行网络地址转换之后,所述第一数据包中的源ip地址为所述网关设备的广域网ip地址,目的ip地址为dns服务器的ip地址。
63.需要说明的是,在将所述第一数据包中的源ip地址进行转换之后,需要更新对应修改字段的checksum(校验和);同理,在将所述第一数据包中的目的ip地址进行转换之后,也需要更新对应修改字段的checksum(校验和),从而使得dns服务器可以接收到准确的第一数据包。
64.步骤s13、向所述dns服务器发送所述第一数据包。
65.在具体实施中,所述第一数据包包括源ip地址、目的地址、源端口号、目的端口号以及域名。dns服务器根据所述域名查询所述域名对应的ip地址,并将所述域名对应的ip地址封装至第二数据包中。
66.步骤s14、接收所述dns服务器发送的第二数据包。
67.在具体实施中,所述第二数据包包括源ip地址、目的地址、源端口号、目的端口号以及所述域名对应的ip地址。
68.步骤s15、若确定所述第二数据包为dns响应包,则将所述第二数据包中的源ip地址转换为所述网关设备的局域网ip地址,以及将所述第二数据包中的目的ip地址转换为所述终端设备的ip地址。
69.在步骤s15可选的一种实施方式中,根据所述第二数据包中的源端口号确定所述第二数据包是否为dns响应包。具体地,若所述第二数据包中的源端口号为53,则确定所述第二数据包为dns响应包。
70.在步骤s15可选的另一种实施方式中,根据所述第二数据包中的源端口号以及所述第二数据包的协议确定所述第二数据包是否为dns响应包。具体地,若所述第二数据包中的目的端口号为53,且所述第二数据包的协议为udp,则确定所述第二数据包为dns响应包。
71.在步骤s15的具体实施中,网关设备在进行网络地址转换之前,所述第二数据包中的源ip地址为dns服务器的ip地址,目的ip地址为所述网关设备的广域网ip地址。网关设备在进行网络地址转换之后,所述第二数据包中的源ip地址为所述网关设备的局域网ip地址,目的ip地址为终端设备的ip地址。
72.需要说明的是,在将所述第二数据包中的源ip地址进行转换之后,需要更新对应修改字段的checksum(校验和);同理,在将所述第二数据包中的目的ip地址进行转换之后,也需要更新对应修改字段的checksum(校验和),从而使得终端设备可以接收到准确的第二数据包。
73.步骤s16、向所述终端设备发送所述第二数据包。
74.在具体实施中,网关设备向终端设备发送第二数据包,以使得终端设备可以基于第二数据包访问外网,具体地,终端设备可以基于第二数据包中所述域名对应的ip地址访问所述域名对应的服务器。在一个具体的例子中,第一数据包包括a网站的域名,第二数据包包括a网站的域名对应的ip地址,终端设备基于该ip地址可以访问a网站的服务器。
75.下面举个具体的例子对上述数据传输方法进行详细说明。
76.在如图2所示的例子中,网关设备为路由器,终端设备为主机。主机的ip地址为192.168.40.2,路由器的局域网(lan)ip地址为192.168.40.1,路由器的广域网(wan)ip地址为14.0.25.239,dns服务器的ip地址为14.0.25.200。
77.主机向路由器发送第一数据包,路由器在确定第一数据包为dns请求包且第一数据包中的目的ip地址为192.168.40.1的情况下,将第一数据包中的源ip地址从主机的ip地址(192.168.40.2)转换为路由器的广域网ip地址(14.0.25.239),以及将第一数据包中的目的地址从路由器的局域网ip地址(192.168.40.1)转换为dns服务器的ip地址(14.0.25.200)。路由器向dns服务器发送经过网络地址转换后的第一数据包。
78.路由器接收dns服务器发送的第二数据包,在确定第二数据包为dns响应包的情况下,将第二数据包中的源ip地址从dns服务器的ip地址(14.0.25.200)转换为路由器的局域网ip地址(192.168.40.1),以及将第二数据包中的目的ip地址从路由器的广域网ip地址(14.0.25.239)转换为主机的ip地址(192.168.40.2)。
79.上述例子中,假设路由器与dns服务器之间的网络连接发生变化,dns服务器的ip地址从14.0.25.200变为14.0.25.230。路由器向主机发送的第二数据包中源ip地址始终为路由器的局域网ip地址(192.168.40.1),目的ip地址始终为主机的ip地址(192.168.40.2),不影响主机的正常上网。
80.本实施例还提供一种应用于网关设备中的数据传输装置30,如图3所示,包括第一接收模块31、第一转换模块32、第一发送模块33、第二接收模块34、第二转换模块35以及第二发送模块36。
81.第一接收模块31用于接收终端设备发送的第一数据包。
82.第一转换模块32用于在确定所述第一数据包为dns请求包,且所述第一数据包中的目的ip地址为所述网关设备的局域网ip地址的情况下,则将所述第一数据包中的源ip地址转换为所述网关设备的广域网ip地址,以及将所述第一数据包中的目的ip地址转换为dns服务器的ip地址。
83.第一发送模块33用于向所述dns服务器发送所述第一数据包。
84.第二接收模块34用于接收所述dns服务器发送的第二数据包。
85.第二转换模块35用于在确定所述第二数据包为dns响应包的情况,将所述第二数据包中的源ip地址转换为所述网关设备的局域网ip地址,以及将所述第二数据包中的目的ip地址转换为所述终端设备的ip地址。
86.第二发送模块36用于向所述终端设备发送所述第二数据包。
87.在可选的一种实施方式中,上述数据传输装置还包括第一确定模块,用于根据所述第一数据包中的目的端口号确定所述第一数据包是否为dns请求。
88.在可选的一种实施方式中,上述数据传输装置还包括第二确定模块,用于根据所述第二数据包中的源端口号确定所述第二数据包是否为dns响应包。
89.需要说明的是,本实施例中的数据传输装置具体可以是单独的芯片、芯片模组或终端设备,也可以是集成于终端设备内的芯片或者芯片模组。
90.关于本实施例中描述的数据传输装置包含的各个模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。
91.实施例2
92.本实施例提供一种网关设备,包括至少一个处理器、与所述至少一个处理器通信连接的存储器以及用于与其它设备通信的收发器。其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行实施例1中的数据传输方法。
93.实施例3
94.图4为本实施例提供的一种数据传输方法的流程图。本实施例提供的数据传输方法可以由数据传输装置执行,该数据传输装置可以通过软件和/或硬件的方式实现,该数据传输装置可以包括终端设备的部分或全部。
95.下面结合终端设备为执行主体对数据传输方法进行说明。如图4所示,本实施例提供的数据传输方法可以包括以下步骤s21~s22:
96.步骤s21、向网关设备发送dns请求包。其中,所述网关设备为实施例2提供的网关设备。
97.步骤s22、接收所述网关设备发送的dns响应包。
98.本实施例还提供一种数据传输装置50,如图5所示,包括发送模块51和接收模块52。发送模块51用于向网关设备发送dns请求包。其中,所述网关设备为实施例2提供的网关设备。接收模块52用于接收所述网关设备发送的dns响应包。
99.需要说明的是,本实施例中的数据传输装置具体可以是单独的芯片、芯片模组或终端设备,也可以是集成于终端设备内的芯片或者芯片模组。
100.关于本实施例中描述的数据传输装置包含的各个模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。
101.实施例4
102.图6为本实施例提供的一种终端设备的结构示意图。所述终端设备包括至少一个处理器、与所述至少一个处理器通信连接的存储器以及用于与其它设备通信的收发器。其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行实施例3中的数据传输方法。图6显示的终端设备3仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
103.终端设备3的组件可以包括但不限于:收发器、上述至少一个处理器4、上述至少一个存储器5、连接不同系统组件(包括存储器5和处理器4)的总线6。
104.总线6包括数据总线、地址总线和控制总线。
105.存储器5可以包括易失性存储器,例如随机存取存储器(ram)51和/或高速缓存存储器52,还可以进一步包括只读存储器(rom)53。
106.存储器5还可以包括具有一组(至少一个)程序模块54的程序/实用工具55,这样的程序模块54包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
107.处理器4通过运行存储在存储器5中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例3中的数据传输方法。
108.终端设备3也可以与一个或多个外部设备7(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(i/o)接口8进行。并且,终端设备3还可以通过网络适配器9与一个或者多个网络通信。如图6所示,网络适配器9通过总线6与终端设备3的其它模块通信。应当明白,尽管图6中未示出,可以结合终端设备3使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
109.应当注意,尽管在上文详细描述中提及了终端设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
110.实施例5
111.本实施例提供的数据传输方法如图7所示,可以包括以下步骤s31~s39:
112.步骤s31、终端设备向网关设备发送第一数据包。
113.步骤s32、网关设备判断是否所述第一数据包为dns请求包,且所述第一数据包中的目的ip地址为所述网关设备的局域网ip地址,若是,则执行步骤s33,若否,则结束流程。
114.步骤s33、网关设备将所述第一数据包中的源ip地址转换为所述网关设备的广域网ip地址,以及将所述第一数据包中的目的ip地址转换为dns服务器的ip地址。
115.步骤s34、网关设备向dns服务器发送所述第一数据包。
116.步骤s35、dns服务器根据dns请求包中的域名查询所述域名对应的ip地址,并将所述域名对应的ip地址封装至第二数据包中。
117.步骤s36、dns服务器向网关设备发送所述第二数据包。
118.步骤s37、网关设备判断所述第二数据包是否为dns响应包,若是,则执行步骤s38,若否,则结束流程。
119.步骤s38、网关设备将所述第二数据包中的源ip地址转换为所述网关设备的局域网ip地址,以及将所述第二数据包中的目的ip地址转换为所述终端设备的ip地址。
120.步骤s39、网关设备向终端设备发送所述第二数据包。
121.本实施例提供一种数据传输系统,如图8所示,包括终端设备、网关设备以及dns服务器。其中,所述网关设备为实施例2提供的网关设备,所述终端设备为实施例4提供的终端设备。所述dns服务器用于根据dns请求包中的域名查询所述域名对应的ip地址,并将所述域名对应的ip地址封装至dns响应包中。
122.实施例6
123.本实施例提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机
指令用于使所述计算机执行实施例1或者3中的数据传输方法。
124.其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
125.在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1中的数据传输方法;当所述程序产品在网络设备上运行时,所述程序代码用于使所述网络设备执行实现实施例3中的数据传输方法。
126.其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在终端设备上执行、部分地在终端设备上执行、作为一个独立的软件包执行、部分在终端设备上部分在远程设备上执行或完全在远程设备上执行。
127.虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献