Quantcast
Channel: EdgeRouter topics
Viewing all articles
Browse latest Browse all 20028

Google QUIC Protocol Packet Loss (?) / Performance Issues

$
0
0

I am running an ERL-3 with v1.8.0.

 

Google has developed and is beginning to implement the QUIC transport protocol within their apps. The Chrome browser itself uses QUIC in apps such as Google Drive and YouTube.

 

The ERL-3 does not play nicely with this new protocol. I am able to reliably reproduce an issue with YouTube (where videos are loaded/buffered over QUIC) where videos struggle to load and buffer ahead of playback where sufficient bandwidth is available to support it. Disabling QUIC support in Chrome (chrome://flags/#enable-quic) resolves the issue and videos play smoothly, and the same result applies if another browser (not supporting QUIC) is used. In addition, replacing the ERL-3 with a different routing device also resolves the issue.

 

Is anyone running QUIC successfully with an EdgeRouter? If so, how? And if not, how can we get this fixed? Especially with Google's new Android announcements today which specifically call out the use of QUIC to achieve what they have done I have large concerns about Android devices on my network while an EdgeRouter is in place.

 

Below is my current configuration - note that while Smart Queue QoS and HW acceleration are enabled, disabling both also does not help the issue.

 

firewall {
    all-ping enable
    broadcast-ping disable
    ipv6-receive-redirects disable
    ipv6-src-route disable
    ip-src-route disable
    log-martians enable
    name WAN_IN {
        default-action drop
        description "WAN to internal"
        rule 10 {
            action accept
            description "Allow established/related"
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action drop
            description "Drop invalid state"
            state {
                invalid enable
            }
        }
    }
    name WAN_LOCAL {
        default-action drop
        description "WAN to router"
        rule 10 {
            action accept
            description "Allow established/related"
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action drop
            description "Drop invalid state"
            state {
                invalid enable
            }
        }
    }
    receive-redirects disable
    send-redirects enable
    source-validation disable
    syn-cookies enable
}
interfaces {
    ethernet eth0 {
        address dhcp
        description Internet
        duplex auto
        firewall {
            in {
                name WAN_IN
            }
            local {
                name WAN_LOCAL
            }
        }
        speed auto
    }
    ethernet eth1 {
        address 192.168.1.1/24
        description Local
        duplex auto
        speed auto
    }
    ethernet eth2 {
        address 192.168.2.1/24
        description "Local 2"
        duplex auto
        speed auto
    }
    loopback lo {
    }
}
service {
    dhcp-server {
        disabled false
        hostfile-update disable
        shared-network-name LAN1 {
            authoritative disable
            subnet 192.168.1.0/24 {
                default-router 192.168.1.1
                dns-server 192.168.1.1
                lease 86400
                start 192.168.1.38 {
                    stop 192.168.1.243
                }
            }
        }
        shared-network-name LAN2 {
            authoritative disable
            subnet 192.168.2.0/24 {
                default-router 192.168.2.1
                dns-server 192.168.2.1
                lease 86400
                start 192.168.2.38 {
                    stop 192.168.2.243
                }
            }
        }
    }
    dns {
        forwarding {
            cache-size 150
            listen-on eth1
            listen-on eth2
        }
    }
    gui {
        https-port 443
    }
    nat {
        rule 5010 {
            description "masquerade for WAN"
            outbound-interface eth0
            type masquerade
        }
    }
    ssh {
        port 22
        protocol-version v2
    }
    upnp {
        listen-on eth1 {
            outbound-interface eth0
        }
    }
}
system {
    host-name ubnt
    login {
        user ryan {
            authentication {
                encrypted-password ****************
            }
            full-name "Ryan"
            level admin
        }
    }
    ntp {
        server 0.ubnt.pool.ntp.org {
        }
        server 1.ubnt.pool.ntp.org {
        }
        server 2.ubnt.pool.ntp.org {
        }
        server 3.ubnt.pool.ntp.org {
        }
    }
    syslog {
        global {
            facility all {
                level notice
            }
            facility protocols {
                level debug
            }
        }
    }
    time-zone UTC
    traffic-analysis {
        dpi enable
        export enable
    }
}
traffic-control {
    smart-queue sq1 {
        download {
            ecn enable
            flows 1024
            fq-quantum 1514
            limit 10240
            rate 16.51mbit
        }
        upload {
            ecn enable
            flows 1024
            fq-quantum 1514
            limit 10240
            rate 2.11mbit
        }
        wan-interface eth0
    }
}

 


Viewing all articles
Browse latest Browse all 20028

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>