RAS connection determination
Any system that has an active Remote Access Server (RAS) connection will be characterized as a RAS (or dial-up) connection regardless of other available WAN and/or LAN connectivity. A RAS connection is detected using the following logic:
• Calling gethostbyname winscok API to get all active IP connections on the machine
• Using the RasEnumConnections and RasGetProjectionInfo to get the IP addresses of any active Point to Point Protocol (PPP) connection
• If the IP address of the machine matches the IP address of an active PPP connection then using RAS
ICMP Sonar Algorithm
This algorithm uses ICMP and the bandwidth ping algorithm to determine the type of network connection currently available. The ICMP algorithm provides the most accurate measurement of round trip time and provides the ability to distinguish between LAN and WAN connection. The ICMP algorithm works by sending ICMP echo requests of different sizes to the remote machine and using the round trip time of hese echo requests/responses to determine the approximate bandwidth. However, not all routers and/or machines support forwarding or responding to ICMP echo requests.