From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-x22b.google.com (mail-lj1-x22b.google.com [IPv6:2a00:1450:4864:20::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 950533CB38 for ; Sun, 23 May 2021 06:23:26 -0400 (EDT) Received: by mail-lj1-x22b.google.com with SMTP id p20so29589685ljj.8 for ; Sun, 23 May 2021 03:23:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=nsOgU/N8oXuUjh7Y5v3YNNiSdCrX5W90Kgx+AjsS3p0=; b=DgcO+E+815VovmBT9X5zQv8VWqyj17rywjBqwRCjuvO869sI9zU1xa5aRErtfYQ3Ih 9fE+ay7kytIAmCp1WjuHBfmKq+fc6hqtsK3fNDN5Lfc0/XjfdZojF+CQ5/f2rh3NQD0/ gZA74yY3wgM96LYAVBmI4vriCghPqsJCbQaWrAAyXm9eBZ83tFXXmrRl6cLvEvLBLlYB jUNBjwIvw7MyQA20FKCK6UYqqF5GvjLOyLsPYbo/8R4dMrwIZTZncHLSeBs6fuMr39EA qr4C7/08Lf5M9hhNcg7ZuPG2Mf6BlvaprMAzNxj6kaOOcmknyU+oMRRbpPd04yj5m8Mx PeWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=nsOgU/N8oXuUjh7Y5v3YNNiSdCrX5W90Kgx+AjsS3p0=; b=hVpll8ZKTzk2m81tkidba3TSaO9WH3gwRNlERXOm/jiEr3Y9rcYUYquCxfxGAfrQWl 5duh8ueO8XSAD4VOl3jC/PV9IK0LbX+BjKzs+DARX4RfKH0FP/ndKjyLvTc++tl8cs99 0yMShovgupb1dTo5IQPOJ8UDQTPvOn73n4KtwEoqVopcnWX6t6Q7OQbl4wjjDTVH0Qe/ orriBHCPJxe0O1IX10LsAojH8nVkpjIynvjFPKV5hijv6V37BbJ+sKWBh45k9mC7kGfp Wpl6faqD0BfEGIRUWLbO6T72Gj8zTKJbbnN4C5sLHuFFwA25rVGl9BQnE5PBlwfqjM8m jvXQ== X-Gm-Message-State: AOAM531hRwGHHZz+/r3q80cu+qhk5nSkO0yOd+zdUTETPsqr3KIX6iKu UUEUvg3gIkcOZFHoTKcST+g= X-Google-Smtp-Source: ABdhPJx2hoJDrmfSokpV4B9kgOs6zjMoCz6hbtBb/MHDZ8gMd6lGOfiVzNN13pdmWLZcplnRucWc4g== X-Received: by 2002:a2e:808a:: with SMTP id i10mr13285948ljg.288.1621765404809; Sun, 23 May 2021 03:23:24 -0700 (PDT) Received: from jonathartonsmbp.lan (37-136-237-77.rev.dnainternet.fi. [37.136.237.77]) by smtp.gmail.com with ESMTPSA id 10sm1130767lfq.258.2021.05.23.03.23.23 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 23 May 2021 03:23:24 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.7\)) From: Jonathan Morton In-Reply-To: Date: Sun, 23 May 2021 13:23:20 +0300 Cc: bloat Content-Transfer-Encoding: quoted-printable Message-Id: <7FBA3F6F-CBA1-4B19-B48F-10927EDA17A9@gmail.com> References: To: Taraldsen Erik X-Mailer: Apple Mail (2.3445.9.7) Subject: Re: [Bloat] Educate colleges on tcp vs udp X-BeenThere: bloat@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: General list for discussing Bufferbloat List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 May 2021 10:23:26 -0000 > On 21 May, 2021, at 9:01 am, Taraldsen Erik = wrote: >=20 > I'm getting some traction with my colleges in the Mobile department on = measurements to to say something about user experience. While they are = coming around to the idea, they have major gaps in tcp/udp/ip = understanding. I don't have the skill or will to try and educate them. >=20 > Is there good education out there - preferably in the form of an video = - which I can send to my co workers? The part of tcp using ack's is = pure magic to them. They really struggle to grasp the concept. With so = basic lack of understanding it is hard to have a meaningful discussion = about loss, latency an buffering. >=20 > I don't mean to talk them down to much, they are really good with the = radio part of their job - but the transition into seeing tcp and radio = together is very hard on them. I don't have a video link to hand, but let's tease out the major = differences between these three protocols: IP (in both v4 and v6 variants) is all about getting a package of data = to a particular destination. It works rather like a postal system. The = package has a sender's address and a recipient's address, and the = routers take care of getting it to the latter. Most packages get = through, but for various reasons some packages can be lost, for example = if the sorting office (queue) is full of traffic. Some packages are = very small (eg. a postcard), some very large (eg. a container load), and = some in between. UDP is an "unreliable datagram" protocol. You package it up in an IP = wrapper, send it, and *usually* it gets to the recipient. It has an = additional "office" address, as the postal system only gets the package = to the right building. If it doesn't arrive, you don't get any = notification about that - which is why it is "unreliable". Each package = also stands on its own without any relationship to others, which is why = it is a "datagram". Most UDP packets are small to medium in size. TCP is a "reliable stream" protocol. You use it when you have a lot of = data to send, which won't fit into a single datagram, or when you need = to know whether your data arrived safely or not. To do this, you use = the biggest, container-sized packages the post office supports, and you = number them in sequence so you know which ones come first. The = recipient and the post office both have regulations so you can't have = too many of these huge packages in the system at once, and they reserve = the right to discard the excess so they can function properly (this is = "congestion control"). So you arrange for the recipient to send the = containers back empty when they've been received (they collapse to a = small size when empty), and then you know there's room in the system for = it to be sent out full again, with a fresh sequence number (this is the = "stream"). And if you notice that a particular container *didn't* come = back in the expected sequence, you infer that it got lost somewhere and = send a replacement for its contents (making the delivery "reliable"). In fact, the actual containers are not sent back, but an acknowledgement = postcard basically saying "all containers up to XXX arrived safely, we = have room for YYY more, and the post office told us to tell you to slow = down the sending rate because they're getting overwhelmed." Some of = these postcards may themselves get lost in the system, but as long as = some *do* get through, the sender knows all is well. It's common to use TCP for transferring files or establishing a = persistent command-and-control connection. It's common to use UDP for = simple request-response applications (where both the request and = response are small) and where timeliness of delivery is far more = important than reliability (eg. multiplayer games, voice/video calls). - Jonathan Morton=