SEARCH WITHIN CONTENT
Citation Information : International Journal of Advanced Network, Monitoring and Controls. Volume 6, Issue 3, Pages 36-41, DOI: https://doi.org/10.21307/ijanmc-2021-025
License : (CC-BY-NC-ND 4.0)
Published Online: 08-October-2021
With the development of the network era, ISP have become more than one. Users can choose ISP according to personal preference when buying broadband, to provide users with the right to choose. However, with the improvement of network speed and bandwidth, people still feel the network congestion during peak hours. In this paper, users can choose different ISPs dynamically based on network quality monitoring. In this paper, the HTTP protocol of the application layer is used to accurately measure the real Internet situation of users, and the PC is used to actively send data to two network links at the same time, and finally the feedback parameter information can be obtained. According to this protocol, the real loading time of data can be accurately measured and the optimal ISP link can be selected. Then, a one-to-one relationship between the client address and different ISPs is established, and this relationship is saved in the routing table. Users will dynamically choose different ISPs by using the network address translation.
Network measurement is obtaining the parameters and performance of the network through quantitative measurement. Usually, the main parameters of network measurement include congestion, delay, bandwidth, packet loss rate, throughput response speed and other application quality of service. Measurements can be divided into different types. According to the network level involved in the measurement, it can be divided into network layer measurement and application layer measurement. The measurement method of this paper uses the means of application layer protocol. Because there are bottlenecks in the network switching interfaces between different ISPs and the use of various filtering technologies, the quality of the network layer is not equal to the quality of the application layer, so choosing application layer measurement can more accurately grasp the network conditions of applications. The application layer measurement method chosen in this paper can be divided into active measurement, probe measurement and proxy measurement according to the difference between measurers and participants .
The active measurement method relies on sending the measurement traffic to the target node, and then receiving the return traffic to measure each index, to obtain the network quality.
Autonomous measurement method is a kind of the active measurement, which sends a service request to the network by simulating the user’s behavior, and then obtains the index parameters of the network by monitoring the time of each step of the request. Its executor can be any network device. The purpose of autonomous measurement is to obtain the quality information of the network where the measuring point is located by measurement.
Passive measurement is the opposite of active measurement. It means that the measurer will not actively send test data to the network, but will measure all traffic passing through the measurer by means of monitoring, and then analyze the traffic data, to obtain the network status data.
Probe is a kind of network equipment installed at a specific position in the network. It has the functions of receiving instructions, detecting network conditions, collecting data, and reporting results. It is also a network node, but its main function is to collect network quality data. When it is used, it is connected to the subnet to be monitored, and it can obtain the situation of the network through measurement.
Probe measurement is to collect the network traffic passing through the node through the probe, analyze and extract the service characteristics to obtain the performance data. Probe measurement mainly finds and observes the behavior of the network at a special node.
Agent monitoring mode is a network quality monitoring method that uses agent technology to access target sites through agents. The agent mode solves the problem of how to monitor when there is no connection between the measurement point and the target site. If the measurement point and the target site cannot be directly connected for various reasons, but the measurement point can access the proxy server, and the proxy server can also access the target site, the proxy server can be used as an intermediary to complete the monitoring task between the measurement point and the proxy server.
According to the above measurement methods, this paper mainly adopts the active measurement method to actively send data packets to the network, and then obtains the network quality by monitoring the returned multiple parameter information.
Hypertext transfer protocol (HTTP) is an application layer protocol for distributed, cooperative and hypermedia information systems. HTTP is a standard for client-side and server-side requests and responses. By using web browser, web crawler or other tools, the client initiates an HTTP request to the specified port on the server. We call this client the user agent. The answering server stores some resources, such as HTML files and images. We call this reply server the origin server. There may be multiple “middle layers” between the user agent and the source server, such as proxy server, gateway or tunnel.
Although TCP / IP is the most popular application on the Internet, HTTP protocol does not specify that it must be used. In fact, HTTP can be implemented on any internet protocol or other networks. HTTP assumes that its underlying protocol provides reliable transmission. Therefore, any agreement that can provide such guarantee can be used by it. That is, it uses TCP as its transport layer in the TCP / IP protocol family.
Usually, an HTTP client initiates a request to create a TCP connection to the specified port of the server. The HTTP server listens for client requests on that port. Once the request is received, the server will return a status to the client, and the returned content, such as the requested file, error message, or other information.
More specific indicators can be summarized from these four stages, namely: parsing time, connection establishment time, data download time and data download rate. These indicators cover the whole life cycle of a network request, so they can reflect the network quality.
DNS resolution time: refers to the conversion process from domain name to address.
TCP connection establishment time: connection time refers to the time consumed by three handshakes before data transmission between the client and the server.
Data download time: the total time from the first byte of data to the completion of receiving the last byte.
Data download rate: the download rate is obtained by dividing the downloaded data size by the data download time.
A complete website must go through the first three stages from opening to loading. The total time is equal to DNS resolution time, connection establishment time and data download time.
We selected several popular websites for monitoring, including 18 websites in search engine, news, shopping, video, blog, CHN domain name website and so on. As shown in Table 1.
IPV9 network is an independently developed controllable network in China with the domain name “.chn”. It has a huge address space, with a default address number of 256 bits and a maximum address number of 2048, perfectly compatible with both IPv4 and IPv6 networks. IPV9 features self-controllable, large number of addresses, low latency, fast number of addresses, security, and compatibility with both IPv4 and IPv6 networks. It can also add geospatial information to its domain name to accurately determine its location.
In this paper, the quality of the application layer network is determined through the actual measurement and analysis of the four indicators of HTTP protocol. The measurement process of the indicators is shown in Fig. 2.
At the beginning, the program updates the list of target sites from the server. For each target site, the measurement program tests its accessibility. If it is accessible, count the index measurement results of this measurement. If it is inaccessible, the measurement results will be recorded as request failure. Each station needs to measure 100 times.
Through two network links, Unicom and Telecom, the Internet speed of these 18 stations is measured. Calculate the average value, and finally get the optimal network link. As shown in formula (1).
Tave represents the final average time, tdns is the total DNS resolution time, ttcp is the total time to establish TCP transmission channel, tdata is the total data download time, and N is the total number of site tests.
Upload the measured total time and average time of each site to the data center, compare which of the two links takes the least time, and get the best link after comparison.
The router is built between the user and ISP, which can connect two different network links at the same time. The router provides routing and network address translation functions. The user interface is internal IP, and the interface provided by ISP is external IP, which establishes a one-to-one correspondence between internal IP and external IP, and records this relationship in the routing table. Users can dynamically select different networks.
With the development of The Internet and the increase of network applications, IPv4 address exhaustion has become a bottleneck restricting the development of the network. Although IPv6 can fundamentally solve the problem of insufficient IPv4 address space, at present many network devices and network applications are still based on IPv4, so before IPv6 is widely used, the use of some transitional technologies is the main technical means to solve this problem.
Network Address Translation (NAT) is an Internet technology that can convert the private address of the internal network into public IP . It can not only share a public IP address, but also use the bandwidth provided by the local network service provider to access the Internet safely and at high speed, hiding and protecting the computers inside the network.
In this example, when an internal host needs to communicate with a destination host on the public network, the gateway selects an unused public address from the configured public address pool and maps it. Each host is assigned a unique address in the address pool. If the connection is not needed, the address mapping will be deleted and the public address will be restored to the address pool. After receiving the reply packet, the gateway transforms the packet again based on the previous mapping and forwards the packet to the corresponding host. After the IP addresses in the dynamic NAT address pool are used up, other hosts can access the public network only after the occupied public IP addresses are released.
The steps for the user to dynamically select a network are as follows:
Step1: Connect the user interface with the external interfaces of multiple regional interconnection ISPs.
Step2: Set different internal IP addresses on one side of the intermediate router, and set the external IP addresses provided by different regional interconnection ISPs on the other side of the intermediate router.
Step3: Carry out network address conversion, establish a fixed one-to-one correspondence between the internal IP address of the user terminal and the external IP address of the Internet provider, and record this fixed correspondence as a static route in the intermediate routing table.
Step4: The user actively sets the internal IP address of the user terminal in the router list in the user computer according to his preference. Fig. 3 shows the flow chart of the realization of dynamic network selection.
Set up an intermediate router with NAT function between the user terminal and ISP, and the intermediate router assigns different internal IP to users. As shown in Fig. 4, the IP address assigned by ISP1 to the intermediate router port is 126.96.36.199, and the IP address pool assigned to the user terminal interface is 188.8.131.52/24. The IP address assigned by ISP2 to the intermediate router is 184.108.40.206, and the IP address pool assigned to the user interface is 220.127.116.11/24. These addresses are not virtual IP addresses on the Internet.
Users who want to change ISP1 to ISP2 must return the address pool 18.104.22.168/24 assigned by ISP1 to ISP1, and then assign the IP address 22.214.171.124/24 provided by ISP2 to every computer in the community. Obviously, this method is inconvenient, and it also leads to the waste of IP addresses.
We set up a local area network among users, using the internal IP address, such as 192.168.0.0/8. When the user 192.168.0.5 sends a data packet to the 126.96.36.199 on the Internet, the intermediate router first finds the best route in its routing table, and the next hop is to reach ISP1 through the port with the address of 188.8.131.52, so NAT converts 192.168.0.5 into an external address, such as 184.108.40.206. Thus, in 220.127.116.11’s view, the datagram was sent from 18.104.22.168. When 22.214.171.124 returned the datagram, it was sent back to 126.96.36.199, and NAT converted it into 192.168.0.5. In this process, some public IP is reserved for private network reuse, which greatly reduces the usage of addresses.
For many users, at this time, the user LAN can be divided into several subnets, such as LAN1, LAN2 and LAN3 in Figure 4.3. Each subnet relates to two NAT devices through different switches, and then connected to the internet through R1 or R2, and then a one-to-one correspondence between the internal IP address and the external IP address of the ports on both sides of the router is established. When 192.168.1.5 in LAN1 wants to access ISP2, 192.168.1.2 is uniquely set in the router list of its computer. When you want to access ISP1, you will set 192.168.1.1 uniquely in the router list of its computer. Use address translation function to dynamically select different ISPs.
The advantage of this design model is that it can accommodate more users to switch between different IPS, and there will be no user waiting when switching ISPs.
The main purpose of this article is in order to be able to let the user the choice of dynamic network, this paper studied from two aspects: according to the source address to specify different ISP link, through active measuring the parameters of the HTTP protocol feedback information can accurately simulate the behavior of the user access to the network, according to user’s access to the network consumption time measured real-time network quality data; Statistics on the network quality of different ISPs arriving at a particular site. The one-to-one mapping between internal IP addresses and external IP addresses enables users to dynamically select different ISP links through network address translation.