A data processing method, performed by a first gateway and comprising: receiving (S201) a connection test packet transmitted by a first client, the connection test packet carrying an access address of a second client, the remaining time to live, TTL, of the connection test packet when arriving at the first gateway is 0, wherein the access address of the second client being an extranet address of the second client for access to the public network through a second gateway, the first client belonging to a first private network, the second client belonging to a second private network, the first private network being provided with the first gateway, and the second private network being provided with the second gateway; storing (S202) the access address of the second client carried in the connection test packet; receiving (S203) a connection data packet transmitted by the first client to the second client; checking (S204) whether a first address storage notification message transmitted by the second gateway is received, the first address storage notification message being transmitted by the second gateway in a case of storing an access address of the first client received in a second connection test packet sent by the second client corresponding to the first connection test packet; and transmitting (S205) the received connection data packet to the second client through the second gateway in a case that the first address storage notification message transmitted by the second gateway is received, to establish a communication connection between the first client and the second client based on the connection data packet. receiving (S201) a connection test packet transmitted by a first client, the connection test packet carrying an access address of a second client, the remaining time to live, TTL, of the connection test packet when arriving at the first gateway is 0, wherein the access address of the second client being an extranet address of the second client for access to the public network through a second gateway, the first client belonging to a first private network, the second client belonging to a second private network, the first private network being provided with the first gateway, and the second private network being provided with the second gateway; storing (S202) the access address of the second client carried in the connection test packet; receiving (S203) a connection data packet transmitted by the first client to the second client; checking (S204) whether a first address storage notification message transmitted by the second gateway is received, the first address storage notification message being transmitted by the second gateway in a case of storing an access address of the first client received in a second connection test packet sent by the second client corresponding to the first connection test packet; and transmitting (S205) the received connection data packet to the second client through the second gateway in a case that the first address storage notification message transmitted by the second gateway is received, to establish a communication connection between the first client and the second client based on the connection data packet. <EOS>