News from this site on February 9th, the GitHub Status website released a performance degradation incident report on January 31st, stating that the incident was the result of infrastructure changes to the load balancer, the purpose is to GitHub.com Get ready for IPv6 enablement.
GitHub officials stated that this change has been deployed to a subset of edge locations around the world. This change had the unintended consequence of causing IPv4 addresses to start being passed to the IP Allow List feature as IPv4-mapped IPv6-compatible addresses. For example, 10.1.2.3 becomes ::ffff:10.1.2.3.
While GitHub's IP Allowlist feature was developed with IPv6 in mind, it was not developed to handle these mapped addresses, so it started blocking requests that it considered were outside of the defined allowed in the address list. The peak request error rate is 0.23% of all requests.
So far, GitHub has officially identified three remediation projects, which are summarized on this site as follows:
Update the IP allow list function to handle IPv4 mapped addresses.
Audit the rest of the stack to confirm that this IPv4 mapped IPv6 address flaw no longer exists.
Improve testing and monitoring processes to better detect these issues in the future.
IPv6 is the latest version of the network protocol, designed to solve the problem of IPv4 address exhaustion and has made many improvements to IPv4. Compared with IPv4, IPv6 has a larger address space, supports more device connections, and provides more efficient routing and security features. In addition, IPv6 also introduces new address configuration and management mechanisms, as well as support for traffic priority and quality. In short, IPv6 is a next-generation network protocol designed to meet the growing needs of the Internet.
The most significant change between IPv4 and IPv6 is the length of network addresses. RFC 2373 and RFC 2374 define the length of IPv6 addresses as 128 bits. IPv6 addresses use a longer address space than IPv4's 32-bit addresses. The expression form of IPv6 address is usually represented by 32 hexadecimal digits. In order to simplify the representation of addresses, double colons "::" can be used in IPv6 addresses to replace one or more consecutive groups of 0s, but the double colons can only appear once. This simplified representation makes IPv6 addresses more compact and easier to identify.
The above is the detailed content of Microsoft GitHub is preparing to provide IPv6 support for the Github.com website. For more information, please follow other related articles on the PHP Chinese website!