Methods, systems, and computer readable media for identifying network locations associated with endpoints
View Patent ↗Methods, systems, and computer readable media for identifying network locations associated with endpoints are disclosed. According to one exemplary method, the method occurs at a registration server including at least one processor and configured to operate in a public network or a semi-public network. The method includes receiving, from an endpoint, a packet including a payload containing a first address associated with the endpoint. The method also identifying a second address from a header of the packet. The method further includes determining, using the first address or the second address, whether to initiate a connection with the endpoint for determining a network location associated with the endpoint.
1. A method for identifying a network location associated with an endpoint, the method comprising:
at a registration server including at least one processor, the registration server configured to operate in a public network or a semi-public network:
receiving, from an endpoint, a packet including a payload containing a first address associated with the endpoint;
identifying a second address from a header of the packet; and
determining, using the first address or the second address, whether to initiate a connection with the endpoint for determining a network location associated with the endpoint, wherein determining, using the first address or the second address, whether to initiate a connection with the endpoint for determining a network location associated with the endpoint includes:
determining whether the first address and the second address are Internet protocol version 6 (IPv6) addresses;
in response to determining that the first address and the second address are IPv6 addresses, determining to initiate the connection with the endpoint;
initiating, using the second address, the connection with the endpoint;
determining whether the connection is successful; and
in response to determining that the connection is successful, determining that the network location associated with the endpoint is the public network or the semi-public network.
2. The method of claim 1 wherein determining, using the first address or the second address, whether to initiate a connection with the endpoint for determining a network location associated with the endpoint includes:
determining whether the first address and the second address are the same;
in response to determining that the first address and the second address are the same, determining not to initiate the connection with the endpoint; and
determining that the network location associated with the endpoint is the public network or the semi-public network.
3. The method of claim 1 wherein initiating the connection with the endpoint includes sending a transmission control protocol (TCP) message, a user datagram protocol (UDP) message, or a connection request message.
4. The method of claim 1 wherein determining that the connection is successful includes receiving, from the endpoint and in response to a message sent by the registration server, a transmission control protocol (TCP) message, a user datagram protocol (UDP) message, or a connection request acknowledgement message.
5. The method of claim 1 comprising:
in response to determining that the connection is unsuccessful, determining that the network location associated with the endpoint is a private network.
6. The method of claim 1 comprising:
providing, using the network location, a network topology.
7. A system for identifying a network location associated with an endpoint, the system comprising:
at least one processor;
a registration server including at least one processor, the registration server configured to operate in a public network or a semi-public network, wherein the registration server is configured for:
receiving, from an endpoint, a packet including a payload containing a first address associated with the endpoint;
identifying a second address from a header of the packet; and
determining, using the first address or the second address, whether to initiate a connection with the endpoint for determining a network location associated with the endpoint, wherein determining, using the first address or the second address, whether to initiate a connection with the endpoint for determining a network location associated with the endpoint includes:
determining whether the first address and the second address are Internet protocol version 6 (IPv6) addresses;
in response to determining that the first address and the second address are IPv6 addresses, determining to initiate the connection with the endpoint;
initiating, using the second address, the connection with the endpoint;
determining whether the connection is successful; and
in response to determining that the connection is successful, determining that the network location associated with the endpoint is the public network or the semi-public network.
8. The system of claim 7 wherein determining, using the first address or the second address, whether to initiate a connection with the endpoint for determining a network location associated with the endpoint includes:
determining whether the first address and the second address are the same;
in response to determining that the first address and the second address are the same, determining not to initiate the connection with the endpoint; and
determining that the network location associated with the endpoint is a public network or a semi-public network.
9. The system of claim 7 wherein the registration server is configured to initiate the connection with the endpoint by sending a transmission control protocol (TCP) message, a user datagram protocol (UDP) message, or a connection request message.
10. The system of claim 7 wherein the registration server is configured to determine that the connection is successful by receiving, from the endpoint and in response to a message sent by the registration server, a transmission control protocol (TCP) message, a user datagram protocol (UDP) message, or a connection request acknowledgement message.
11. The system of claim 7 comprising:
in response to determining that the connection is unsuccessful, determining that the network location associated with the endpoint is a private network.
12. The system of claim 7 wherein the registration server is configured to provide, using the network location, a network topology.
13. A non-transitory computer readable medium having stored thereon executable instructions embodied in the computer readable medium that when executed by a processor of a computer control the computer to perform steps comprising:
receiving, from an endpoint, a packet including a payload containing a first address associated with the endpoint;
identifying a second address from a header of the packet; and
determining, using the first address or the second address, whether to initiate a connection with the endpoint for determining a network location associated with the endpoint, wherein determining, using the first address or the second address, whether to initiate a connection with the endpoint for determining a network location associated with the endpoint includes:
determining whether the first address and the second address are Internet protocol version 6 (IPv6) addresses;
in response to determining that the first address and the second address are IPv6 addresses, determining to initiate the connection with the endpoint;
initiating, using the second address, the connection with the endpoint;
determining whether the connection is successful; and
in response to determining that the connection is successful, determining that the network location associated with the endpoint is the public network or the semi-public network.
14. The non-transitory computer readable medium of claim 13 wherein determining, using the first address or the second address, whether to initiate a connection with the endpoint for determining a network location associated with the endpoint includes:
determining whether the first address and the second address are the same;
in response to determining that the first address and the second address are the same, determining not to initiate the connection with the endpoint; and
determining that the network location associated with the endpoint is a public network or a semi-public network.
15. The non-transitory computer readable medium of claim 13 comprising:
in response to determining that the connection is unsuccessful, determining that the network location associated with the endpoint is a private network.