Skip to content

Instantly share code, notes, and snippets.

View syncsynchalt's full-sized avatar
🏝️
Retired

Michael Driscoll syncsynchalt

🏝️
Retired
View GitHub Profile
@jj1bdx
jj1bdx / quic-restrictions.md
Last active February 16, 2024 09:34
Do not enable QUIC on 1280-byte MTU IPv6 networks

Do not enable QUIC on 1280-byte MTU IPv6 networks

Synopsis

  • QUIC requires transmission of at least 1350 bytes of UDP packets on IPv6 (and 1370 bytes on IPv4).
  • On Chrome/Chromium (and Vivaldi), if sending 1350-byte UDP packet fails on IPv6, fallback to HTTP/2 over TCP immediately occurs.

Implementation details on Chrome/Chromium (60.0.3112.55 on Vivaldi)

See the explanation in Japanese for the further details on the current implementation. Note well that this differs from the latest version of QUIC Internet-Draft: see draft-ietf-quic-transport-01 Section 8. Quote:

To the members of the MIT community:

We are writing to inform you of plans to upgrade the MIT campus network, and in particular to upgrade MIT to the next generation of Internet addressing. (Please note that no action is required on your part.)

Machines on the Internet are identified by addresses. The current addressing scheme, called IPv4, was specified around 1980, and allowed for about 4 billion addresses. That seemed enough at the time, which was before local area networks, personal computers and the like, but the Internet research community recognized around 1990 that this supply of addresses was inadequate, and put in place a plan to replace the IPv4 addresses with a new address format, called IPv6. IPv6 uses a 128-bit address scheme and is capable of 340 undecillion addresses (340 times 10^36, or 340 trillion trillion trillion possible IP addresses). This stock of addresses allows great flexibility in how addresses are assigned to hosts, for example allowing every host to use a range of addresses to

@zmwangx
zmwangx / uuniq
Created July 1, 2014 18:16
Shell script: unsorted uniq via awk (uniq without sorting first).
#!/bin/bash
# remove duplicates without pre-sorting
# `uuniq' stands for unsorted uniq
awk '!x[$0]++'