From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail46.out.titan.email (mail46.out.titan.email [3.66.115.72]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 672243B29D for ; Tue, 27 Feb 2024 16:16:28 -0500 (EST) Received: from mail14.out.flockmail.com (ip-10-10-85-170.eu-central-1.compute.internal [10.10.85.170]) by smtp-out.titan.email (Postfix) with ESMTP id 3F756120323 for ; Tue, 27 Feb 2024 21:16:27 +0000 (UTC) Received: from smtp-out.flockmail.com (localhost [127.0.0.1]) by smtp-out.flockmail.com (Postfix) with ESMTP id D21C9600FD; Tue, 27 Feb 2024 21:16:26 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=zYibWCRl8ZskIFJPUQ6TXEpaatRUWiWoibBtCSQeUOM=; c=relaxed/relaxed; d=3kitty.org; h=from:message-id:date:cc:in-reply-to:mime-version:subject:to:references:from:to:cc:subject:date:message-id:in-reply-to:references:reply-to; q=dns/txt; s=titan1; t=1709068586; v=1; b=MzgOGc4cbMtUsQFCuR1fvR8TQWf0GMJzbaIkrGtNg6Tn68XUBO/P2oliZV9aXsxd5JaTwOEX zT+1tmYg2qT5l07AIERqIZi06pvG3WIV92I3xLrvzPuWLDqB6Labfv+xxMjlRnhCimGjWye06bm PuNqA/IyAAV6ecg0Lk64IJf4= Received: from [192.168.1.100] (c-76-137-180-175.hsd1.ca.comcast.net [76.137.180.175]) by smtp-out.flockmail.com (Postfix) with ESMTPA id 308CB60089; Tue, 27 Feb 2024 21:16:26 +0000 (UTC) Message-ID: <6baf5e84-c8b1-4327-b01d-4441df5d68fa@3kitty.org> Date: Tue, 27 Feb 2024 13:16:24 -0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Sebastian Moeller , =?UTF-8?Q?Network_Neutrality_is_back!_Let=C2=B4s_make_the_technical_aspects?= =?UTF-8?Q?_heard_this_time!?= References: <3d808d9df1a6929ecfba495e75b4fc1b@rjmcmahon.com> <09af7b4f2ff73657a1d1b24db3d23fac@rjmcmahon.com> <40cb4962-6c95-44b2-96b8-ee68a7c16b1f@3kitty.org> <698e2f7e-e174-474d-814c-64dca7ca9a87@3kitty.org> <223D4AB0-DBA9-4DF2-AEEE-876C7B994E89@gmx.de> Content-Language: en-US Feedback-ID: :jack@3kitty.org:3kitty.org:flockmailId From: Jack Haverty Autocrypt: addr=jack@3kitty.org; keydata= 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 TFdwePg= In-Reply-To: <223D4AB0-DBA9-4DF2-AEEE-876C7B994E89@gmx.de> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------0pEMR537xGK2EJcPnkJwh0gw" X-F-Verdict: SPFVALID X-Titan-Src-Out: 1709068586678904183.4256.2714452096832966654@prod-use1-smtp-out1001. X-CMAE-Score: 0 X-CMAE-Analysis: v=2.4 cv=d4zzywjE c=1 sm=1 tr=0 ts=65de512a a=cdvcmBiFVbz+0Uto4GLkPg==:117 a=cdvcmBiFVbz+0Uto4GLkPg==:17 a=CEWIc4RMnpUA:10 a=13zjGPudsaEWiJwPRgMA:9 a=BqEg4_3jAAAA:8 a=kurRqvosAAAA:8 a=doUQZJtgAAAA:8 a=vnREMb7VAAAA:8 a=GVOmBQAAAAAA:20 a=VhopHIYIAAAA:8 a=9wEFEmgGAAAA:8 a=U7_ZthDDAAAA:8 a=3G72ooJZM-w5Xfg5ySEA:9 a=QEXdDO2ut3YA:10 a=rowp9BDKcwBM0oiuzysA:9 a=E6f3DaxN8vGvMbfI:21 a=_W_S_7VecoQA:10 a=lqcHg5cX4UMA:10 a=mVcgwxjBTkr3zjpDlhIA:9 a=FfaGCDsud1wA:10 a=muA9ObxPkrkPawHk1PYA:9 a=0mFWnFbQd5xWBqmg7tTt:22 a=kbxRQ_lfPIoQnHsAj2-A:22 a=d0-0EwFVFT64L02gzcZV:22 a=MWj7j3wg__VA2-K6Jgv6:22 a=URuH0njPyasT08JpGQTJ:22 a=9JDB30BYp0WKznqG0cJI:22 X-Virus-Scanned: ClamAV using ClamSMTP Subject: Re: [NNagain] [M-Lab-Discuss] The FCC 2024 Section 706 Report, GN Docket No. 22-270 is out! X-BeenThere: nnagain@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: =?utf-8?q?Network_Neutrality_is_back!_Let=C2=B4s_make_the_technical_aspects_heard_this_time!?= List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Feb 2024 21:16:28 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------0pEMR537xGK2EJcPnkJwh0gw Content-Type: multipart/mixed; boundary="------------ld8TjSO0IyITaHaRw7mDIMtp"; protected-headers="v1" From: Jack Haverty To: Sebastian Moeller , =?UTF-8?Q?Network_Neutrality_is_back!_Let=C2=B4s_make_the_technical_aspects?= =?UTF-8?Q?_heard_this_time!?= Cc: rjmcmahon Message-ID: <6baf5e84-c8b1-4327-b01d-4441df5d68fa@3kitty.org> Subject: Re: [NNagain] [M-Lab-Discuss] The FCC 2024 Section 706 Report, GN Docket No. 22-270 is out! References: <3d808d9df1a6929ecfba495e75b4fc1b@rjmcmahon.com> <09af7b4f2ff73657a1d1b24db3d23fac@rjmcmahon.com> <40cb4962-6c95-44b2-96b8-ee68a7c16b1f@3kitty.org> <698e2f7e-e174-474d-814c-64dca7ca9a87@3kitty.org> <223D4AB0-DBA9-4DF2-AEEE-876C7B994E89@gmx.de> In-Reply-To: <223D4AB0-DBA9-4DF2-AEEE-876C7B994E89@gmx.de> --------------ld8TjSO0IyITaHaRw7mDIMtp Content-Type: multipart/mixed; boundary="------------Hr6syiJ0OVgF8iTWAAvFsnRD" --------------Hr6syiJ0OVgF8iTWAAvFsnRD Content-Type: multipart/alternative; boundary="------------hi2jDSjcgTBCEBgcxz1PBCLt" --------------hi2jDSjcgTBCEBgcxz1PBCLt Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 SGkgU2ViYXN0aWFuLA0KDQpBY3R1YWxseSwgInBhc3NpbmcgaW5mb3JtYXRpb24gb24gdG8g ZW5kcG9pbnRzIiBpcyBhbiBpZGVhIG11Y2ggb2xkZXIgDQp0aGFuIDIwMTkuwqAgSXQgd2Fz IGluIHRoZSBvcmlnaW5hbCBUQ1AgVjQgc3BlY2lmaWNhdGlvbiBpbiAxOTgxLsKgwqAgU2Vl IA0KUkZDNzkyICggaHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzc5MiApIHBh Z2VzIDEwLTExLg0KDQpJIHJlbWVtYmVyIHRoZSBkaXNjdXNzaW9ucyB3aGVuIHRoZSAiU291 cmNlIFF1ZW5jaCIgKFNRKSBtZWNoYW5pc20gd2FzIA0KYmVpbmcgZGVmaW5lZCBpbiB0aGUg SW50ZXJuZXQgTWVldGluZ3MgYXJvdW5kIDE5ODAuwqDCoCBQZXJzb25hbGx5IEkgbmV2ZXIg DQp0aG91Z2h0IFNRIHdhcyBhIHZpYWJsZSBmZWVkYmFjayB0ZWNobmlxdWUsIGJ1dCBpdCB3 YXMgT0sgYXMgYSANCnBsYWNlaG9sZGVyIGZvciBzb21lIGZ1dHVyZSBwcm90b2NvbCB0aGF0 IHN3aXRjaGVzIGNvdWxkIHVzZSB0byBleGVydCANCmJhY2stcHJlc3N1cmUgb24gdGhlIHVz ZXJzJyB0cmFmZmljLCBvbmNlIGEgbW9yZSBlZmZlY3RpdmUgbWVjaGFuaXNtIHdhcyANCmlu dmVudGVkLg0KDQpJbnN0ZWFkIG9mICJzbG93aW5nIGRvd24iLCBzb21lIGltcGxlbWVudG9y cyBvZiBUQ1AgY2lyY2EgMTk4MSBkZXNpZ25lZCANCnRoZWlyIHN5c3RlbXMgdG8gaW1tZWRp YXRlbHkgcmV0cmFuc21pdCBhIGRhdGFncmFtIHRoYXQgaGFkIGNhdXNlZCBhIFNRIA0KdG8g Y29tZSBiYWNrLCBmaWd1cmluZyB0aGF0IHRoZSBTUSBtZWFudCB0aGF0IHRoZWlyIG9yaWdp bmFsIGRhdGFncmFtIA0KaGFkIGJlZW4gZGlzY2FyZGVkLg0KDQpKYWNrDQoNCk9uIDIvMjcv MjQgMTI6NDUsIFNlYmFzdGlhbiBNb2VsbGVyIHdyb3RlOg0KPiBIaSBKYWNrLA0KPg0KPj4g T24gMjcuIEZlYiAyMDI0LCBhdCAyMToxMSwgSmFjayBIYXZlcnR5IHZpYSBObmFnYWluPG5u YWdhaW5AbGlzdHMuYnVmZmVyYmxvYXQubmV0PiAgd3JvdGU6DQo+Pg0KPj4gSGkgQm9iLA0K Pj4NCj4+IE1lYXN1cmluZyBhbmQgbW9uaXRvcmluZyBXaWZpIGJlaGF2aW9yIGlzbid0IG5l Y2Vzc2FyeSBvciBzdWZmaWNpZW50LiAgU2FtZSB3aXRoIFN0YXJsaW5rIG9yIHdoYXRldmVy IGVsc2UgY29tZXMgYWxvbmcgaW4gdGhlIGZ1dHVyZS4NCj4+DQo+PiBUaGUgYXJjaGl0ZWN0 dXJlIG9mIHRoZSBJbnRlcm5ldCBwbGFjZXMgZGlmZmVyZW50IG1lY2hhbmlzbXMsIHRoYXQg aW4gcGFzdCB0aW1lcyB3ZXJlIGNvbnRhaW5lZCBpbiB0aGUgc3dpdGNoaW5nIGVxdWlwbWVu dCwgbm93IGF0IG1hbnkgZGlmZmVyZW50IHBsYWNlcyBhbG9uZyBhIGRhdGEgcGF0aC4gIE11 Y2ggb2YgdGhlIG1lY2hhbmlzbSBpcyBldmVuIGluIHRoZSB1c2VycycgZGV2aWNlcyB0aGVt c2VsdmVzLCB3aGljaCBtYWtlIGFsbCBzb3J0cyBvZiBkZWNpc2lvbnMgYWJvdXQgZGF0YWdy YW0gc2l6ZSwgYWNrbm93bGVkZ2VtZW50cywgcmV0cmFuc21pc3Npb24sIGRpc2NhcmRpbmcg ZHVwbGljYXRlcywgZXQgYWwuICBUaG9zZSBtZWNoYW5pc21zIGludGVyYWN0IHdpdGggdGhl IGRlY2lzaW9ucyBiZWluZyBtYWRlIGluIG5ldHdvcmsgZXF1aXBtZW50IHN1Y2ggYXMgc3dp dGNoZXMuICAgVGhlIG92ZXJhbGwgYmVoYXZpb3IgZGljdGF0ZXMgd2hhdCB0aGUgZW5kIHVz ZXJzIHNlZSBhcyBiZWhhdmlvciBhbmQgcmVsaWFiaWxpdHkgb2YgInRoZSBuZXQiIGFzIHRo ZXkgZXhwZXJpZW5jZSBpdC4gICBUaGUgcGVyZm9ybWFuY2Ugb2YgdGhlIG92ZXJhbGwgc3lz dGVtIGlzIGluZmx1ZW5jZWQgYnkgdGhlIGludGVyYWN0aW9uIG9mIGl0cyBtYW55IHBpZWNl cy4NCj4+DQo+PiBNeSBwb2ludCB3YXMgdGhhdCB0byBtYW5hZ2UgbmV0d29yayBzZXJ2aWNl ICgibmV0d29yayIgYmVpbmcgZGVmaW5lZCBieSB0aGUgdXNlcnMpLCB5b3UgaGF2ZSB0byBt b25pdG9yIGFuZCBtZWFzdXJlIHBlcmZvcm1hbmNlIGFzIHNlZW4gYnkgdGhlIHVzZXJzLCBh cyBjbG9zZSB0byB0aGUga2V5Ym9hcmQvbW91c2Uvc2NyZWVuL3doYXRldmVyIGFzIHlvdSBj YW4gZ2V0LiAgVGhhdCdzIHdoeSB3ZSBkZWNpZGVkIHRvIHJlcXVpcmUgYSBjb21wdXRlciBv ZiBzb21lIGtpbmQgb24gZWFjaCB1c2VycycgTEFOIGVudmlyb25tZW50LCBzbyB3ZSBjb3Vs ZCBleHBlcmllbmNlIGFuZCBtZWFzdXJlIHdoYXQgdGhleSB3ZXJlIGxpa2VseSBleHBlcmll bmNpbmcsIGFuZCB1c2Ugb3VyIG1lYXN1cmVtZW50cyBvZiBzd2l0Y2hlcywgY2lyY3VpdHMs IGV0Yy4gdG8gYW5hbHl6ZSBhbmQgZml4IHByb2JsZW1zLiAgIEl0IHdhcyBhbHNvIGhlbHBm dWwgdG8gaGF2ZSBhIGRhdGFiYXNlIG9mIHRoZSBtZXRyaWNzIGNhcHR1cmVkIGR1cmluZyBw cmV2aW91cyAibm9ybWFsIiBuZXR3b3JrIGFjdGl2aXR5LCB0byB1c2UgYXMgY29tcGFyaXNv bnMuDQo+Pg0KPj4gQXMgb25lIGV4YW1wbGUsIEkgcmVtZW1iZXIgb25lIGV2ZW50IHdoZW4g YSBtb21lbnRhcnkgZ2xpdGNoIG9uIGEgdHJhbnNwYWNpZmljIGNpcmN1aXQgd291bGQgY2F1 c2UgYSBmbHVycnkgb2YgYWN0aXZpdHkgYXMgVENQcyBpbiB0aGUgdXNlcnMnIGNvbXB1dGVy cyBjb21wZW5zYXRlZCwgYW5kIHdvdWxkIHNldHRsZSBiYWNrIHRvIGEgc3RlYWR5IHN0YXRl IGFmdGVyIGEgZmV3IG1pbnV0ZXMuICBCdXQgdXNlcnMgY29tcGxhaW5lZCB0aGF0IHRoZWly IGZpbGUgdHJhbnNmZXJzIHdlcmUgbm93IHRha2luZyBtdWNoIGxvbmdlciB0aGFuIHVzdWFs LiAgQWZ0ZXIgb3VyIHBva2luZyBhbmQgcHJvZGRpbmcsIHVzaW5nIHRob3NlIHJlbW90ZSBj b21wdXRlcnMgYXMgdG9vbHMgdG8gc2VlIHdoYXQgdGhlIHVzZXJzIHdlcmUgZXhwZXJpZW5j aW5nLCB3ZSBkaXNjb3ZlcmVkIHRoYXQgZXZlcnl0aGluZyB3YXMgb3BlcmF0aW5nIGFzIGV4 cGVjdGVkLCBleGNlcHQgdGhhdCBldmVyeSBkYXRhZ3JhbSB3YXMgYmVpbmcgdHJhbnNtaXR0 ZWQgdHdpY2UgYW5kIHRoZSBkdXBsaWNhdGVzIGRpc2NhcmRlZCBhdCB0aGUgZGVzdGluYXRp b24uICAgVGhlIFRDUCByZXRyYW5zbWlzc2lvbiBtZWNoYW5pc21zIGhhZCBzZXR0bGVkIGlu dG8gYSBuZXcgc3RhYmxlIHN0YXRlLg0KPj4NCj4+IFRvIHRoZSBuZXR3b3JrIHN3aXRjaGVz LCB0aGUgZGF0YWdyYW1zIGFsbCBzZWVlbWVkIE9LLCBidXQgdGhlcmUgd2FzIHNpZ25pZmlj YW50bHkgbW9yZSB0cmFmZmljIHRoYW4gdXN1YWwuICBObyBvbmUgd2FzIG1vbml0b3Jpbmcg YWxsIHRob3NlIHVzZXIgZGV2aWNlcyBvdXQgb24gdGhlIExBTnMgc28gbm8gb25lIGV4Y2Vw dCB0aGUgdXNlcnMgbm90aWNlZCBhbnl0aGluZyB3cm9uZy4gICBFdmVudHVhbGx5IGFub3Ro ZXIgZ2xpdGNoIG9uIHRoZSBjaXJjdWl0IHdvdWxkIGNhdXNlIGFub3RoZXIgZmx1cnJ5IG9m IGFjdGl2aXR5IGFuZCBwZXJoYXBzIHNldHRsZSBiYWNrIGludG8gdGhlIGRlc2lyZWQgc3Rh dGUgd2hlcmUgZGF0YWdyYW1zIG9ubHkgZ290IHNlbnQgb25jZS4NCj4+DQo+PiBXZSBtb25p dG9yZWQgd2hhdGV2ZXIgd2UgY291bGQgdXNpbmcgU05NUCB0byB0aGUgcm91dGVycyBhbmQg Y29tcHV0ZXJzIHRoYXQgaGFkIGltcGxlbWVudGVkIHN1Y2ggdGhpbmdzLCBhbmQgd2UgdXNl ZCBvdXIgcmVtb3RlIGNvbXB1dGVycyB0byBhbHNvIGNvbGxlY3QgZGF0YSBmcm9tIHRoZSB1 c2VycycgcGVyc3BlY3RpdmUuICAgT2Z0ZW4gd2UgY291bGQgdGVsbCBhIExBTiBtYW5hZ2Vy IHRoYXQgc29tZSBwYXJ0aWN1bGFyIGRldmljZWF0IGhpcy9oZXIgc2l0ZSB3YXMgaGF2aW5n IHByb2JsZW1zLCBieSBsb29raW5nIGZvciBiZWhhdmlvciB0aGF0IGRpZmZlcmVkIGZyb20g dGhlICJub3JtYWwiIGhpc3RvcmljYWwgYmVoYXZpb3IgZnJvbSBhIHdlZWsgb3Igc28gZWFy bGllci4NCj4+DQo+PiBJdCB3b3VsZCBiZSBpbnRlcmVzdGluZyBmb3IgZXhhbXBsZSB0byBj b2xsZWN0IG1ldHJpY3MgZnJvbSBzd2l0Y2hlcyBhYm91dCAiYnVmZmVyIG9jY3VwYW5jeSIg YW5kICJ0cmFuc2l0IHRpbWUiIChJIGRvbid0IHJlY2FsbCBpZiBhbnkgTUlCIGluIFNOTVAg aGFkIHN1Y2ggbWV0cmljcyksIGFuZCBjb3JyZWxhdGUgdGhhdCB3aXRoIFRDUCBtZXRyaWNz IHN1Y2ggYXMgcmV0cmFuc21pc3Npb24gYmVoYXZpb3IgYW5kIGR1cGxpY2F0ZSBkZXRlY3Rp b24uDQo+IAlbU01dIFdlIGNvdWxkIGRvIGV2ZW4gYmV0dGVyLCBwYXMgdGhpcyBpbmZvcm1h dGlvbiBvbiB0byBlbmRwb2ludHMgdG8gYWN0dWFsbHkgYWxsb3cgdGhlbSB0byBub3Qgb25s eSByZWFjdCB0byBvdmVybG9hZCBidXQgYWxzbyB0byBpbW1pbmVudCBvdmVybG9hZC4uLiBz YXkgYnkgbm90IGNvbGxlY3RpbmcgdGhlIGFic29sdXRlIGJ1ZmZlciBvY2N1cGFuY3ksIGJ1 dCBzYXkgdGhlIG1heChjdXJyZW50IGhvcCBidWZmZXIgb2NjdXBhbmN5LCBidWZmZXIgb2Nj dXBhbmN5IGFscmVhZHkgcmVjb3JkZWQgaW4gcGFja2V0KSAoQXMgbXVjaCBhcyB3b3VsZCB3 aXNoLCB0aGlzIGlzIG5vdCBteSBpZGVhLCBidXQgQXJzbGFuLCwgYW5kIE1jS2VvdydzLiBp biAg4oCcU3dpdGNoZXMgS25vdyB0aGUgRXhhY3QgQW1vdW50IG9mIENvbmdlc3Rpb24u4oCd IEluIFByb2NlZWRpbmdzIG9mIHRoZSAyMDE5IFdvcmtzaG9wIG9uIEJ1ZmZlciBTaXppbmcs IDHigJM2LCAyMDE5LikNCj4NCj4gUmVnYXJkcw0KPiAJU2ViYXN0aWFuDQo+DQo+PiBKYWNr DQo+Pg0KPj4NCj4+DQo+PiBPbiAyLzI3LzI0IDA5OjQ4LCByam1jbWFob24gd3JvdGU6DQo+ Pj4gSGkgSmFjaywNCj4+Pg0KPj4+IE9uIExBTiBwcm9iZXMgJiBtb25pdG9yczsgSSd2ZSBi ZWVuIHRvbGQgdGhhdCA5MCUgb2YgdXNlcnMgZGV2aWNlcyBhcmUgbm93IHdpcmVsZXNzbHkg Y29ubmVjdGVkIHNvIHRoZSBjb25jZXB0IG9mIGNvbm5lY3RpbmcgdG8gYSBjb21tb24gd2F2 ZSBndWlkZSB0byBtZWFzdXJlIG9yIG9ic2VydmUgdXNlciBpbmZvcm1hdGlvbiAmIGZsb3cg c3RhdGUgaXNuJ3QgdmlhYmxlLiBBIFdpRmkgQVAgY291bGQgcHJvdmlkZSBpdHMgZW5kIHN0 YXRlIGJ1dCB3aXJlbGVzcyBjaGFubmVscycgc3RhdGVzIGFyZSBub24tdHJpdmlhbCBhbmQg dGhlIEFQcyBwcmlvcml0aXplIHBhY2tldCBmb3J3YXJkaW5nIGF0IEwyIG92ZXIgc3RhdGUg Y29sbGVjdGlvbi4gSSBzdXNwZWN0IGEgZnVsbHkgY2FwYWJsZSBBUCB0aGF0IGNvdWxkIHJl Y29yZCBwZXIgcXVpbnR1cGxlIGFuZCBSRiBjaGFubmVscycgc3RhdGVzIHdvdWxkIGJlIHRv byBleHBlbnNpdmUuIFRoaXMgaXMgcGFydCBvZiB0aGUgcmVhc29uIHdoeSBvdXIgaW5kdXN0 cnkgYW5kIHBvbGljeSBtYWtlcnMgbmVlZCB0byBkZWZpbmUgdGhlIGtleSBwZXJmb3JtYW5j ZSBtZXRyaWNzIHdlbGwuDQo+Pj4NCj4+PiBCb2INCj4+Pj4gWWVzLCBsYXRlbmN5IGlzIGNv bXBsaWNhdGVkLi4uLiAgQmFjayB3aGVuIEkgd2FzIGludm9sdmVkIGluIHRoZQ0KPj4+PiBl YXJseSBJbnRlcm5ldCAoZWFybHkgMTk4MHMpLCB3ZSBrbmV3IHRoYXQgbGF0ZW5jeSB3YXMg YW4gaXNzdWUNCj4+Pj4gcmVxdWlyaW5nIG11Y2ggZnVydGhlciByZXNlYXJjaCwgYnV0IHdl IGZpZ3VyZWQgdGhhdCBtZWFud2hpbGUNCj4+Pj4gcHJvYmxlbXMgY291bGQgYmUgYXZvaWRl ZCBieSBrZWVwaW5nIHRyYWZmaWMgbG9hZHMgd2VsbCBiZWxvdyBjYXBhY2l0eQ0KPj4+PiB3 aGlsZSB0aGUgYXBwcm9wcmlhdGUgYWxnb3JpdGhtcyBjb3VsZCBiZSBkaXNjb3ZlcmVkIGJ5 IHRoZSBlbmdpbmVlcnMNCj4+Pj4gKEkgd2FzIG9uZS4uLikuICBGb3J0eSB5ZWFycyBsYXRl ciwgaXQgc2VlbXMgbGlrZSBpdCdzIHN0aWxsIGENCj4+Pj4gcmVzZWFyY2ggdG9waWMuDQo+ Pj4+DQo+Pj4+IFllYXJzIGxhdGVyIGluIHRoZSA5MHMgSSB3YXMgaW52b2x2ZWQgaW4gb3Bl cmF0aW5nIGFuIGludGVybmF0aW9uYWwNCj4+Pj4gY29ycG9yYXRlIGludHJhbmV0LiAgV2Ug cXVpY2tseSBsZWFybmVkIHRoYXQga2VlcGluZyB0aGUgaHVtYW4gdXNlcnMNCj4+Pj4gaGFw cHkgcmVxdWlyZWQgbG9va2luZyBhdCBtb3JlIHRoYW4gdGhlIHJvdXRlcnMgYW5kIGNpcmN1 aXRzIGJldHdlZW4NCj4+Pj4gdGhlbS4gIFdpdGggbXVjaCBvZiB0aGUgInJlbGlhYmlsaXR5 IG1lY2hhbmlzbXMiIG9mIFRDUCBldCBhbCBub3cNCj4+Pj4gbG9jYXRlZCBpbiB0aGUgdXNl cnMnIGNvbXB1dGVycyByYXRoZXIgdGhhbiB0aGUgbmV0d29yayBzd2l0Y2hlcywNCj4+Pj4g ZXZhbHVhdGluZyB1c2VycycgZXhwZXJpZW5jZSB3aXRoICJ0aGUgbmV0IiByZXF1aXJlZCBt ZWFzdXJlbWVudHMgZnJvbQ0KPj4+PiB0aGUgdXNlcnMnIHBlcnNwZWN0aXZlLg0KPj4+Pg0K Pj4+PiBUbyBkbyB0aGF0LCB3ZSBjcmVhdGVkIGEgcG9saWN5IHdoZXJlYnkgZXZlcnkgTEFO IGF0dGFjaGVkIHRvIHRoZQ0KPj4+PiBsb25nLWhhdWwgYmFja2JvbmUgaGFkIHRvIGhhdmUg YSBjb21wdXRlciBvbiB0aGF0IExBTiB0byB3aGljaCB3ZSBoYWQNCj4+Pj4gcmVtb3RlIGFj Y2Vzcy4gICBUaGF0IGVuYWJsZWQgdXMgdG8gcGVyZm9ybSAicGluZyIgdGVzdHMgYW5kIGFs c28NCj4+Pj4gY29sbGVjdCBkYXRhIGFib3V0IFRDUCBiZWhhdmlvciAoZHVwbGljYXRlcywg cmV0cmFuc21pc3Npb25zLCBldGMuKQ0KPj4+PiB1c2luZyBTTk1QLCBldGhlcndhdGNoLCBl dCBhbC4gICBJdCB3YXMgbm90IHVudXN1YWwgZm9yIHRoZSB1c2VycycNCj4+Pj4gZGF0YSB0 byBpbmRpY2F0ZSB0aGF0ICJ0aGUgbmV0IiwgYXMgdGhleSBzYXcgaXQsIHdhcyBtaXNiZWhh dmluZyB3aGlsZQ0KPj4+PiB0aGUgbmV0d29yayBkYXRhLCBhcyBzZWVuIGJ5IHRoZSBvcGVy YXRvcnMsIGluZGljYXRlZCB0aGF0IGFsbCB0aGUNCj4+Pj4gcm91dGVycyBhbmQgY2lyY3Vp dHMgd2VyZSB3b3JraW5nIGp1c3QgZmluZS4NCj4+Pj4NCj4+Pj4gSWYgdGhlIGdvdmVybm1l bnQgcmVndWxhdG9ycyB3YW50IHRvIGtlZXAgdGhlIHVzZXJzIGhhcHB5LCBJTUhPIHRoZXkN Cj4+Pj4gbmVlZCB0byB1bmRlcnN0YW5kIHRoaXMuDQo+Pj4+DQo+Pj4+IEphY2sgSGF2ZXJ0 eQ0KPj4+Pg0KPj4+PiBPbiAyLzI2LzI0IDE2OjI1LCByam1jbWFob24gd3JvdGU6DQo+Pj4+ DQo+Pj4+PiBPbiB0b3Agb2YgYWxsIHRoYXQsIHRoZSBsYXRlbmN5IHJlc3BvbnNlcyB0ZW5k IHRvIGJlIG5vbiBwYXJhbWV0cmljDQo+Pj4+PiBhbmQgbWF5IG5lZWQgZnVsbCBwZGZzL2Nk ZnMgYWxvbmcgd2l0aCBub24tcGFyYW1ldHJpYyBzdGF0aXN0aWNhbA0KPj4+Pj4gcHJvY2Vz cyBjb250cm9scy4gQXR0YWNoZWQgaXMgYW4gZXhhbXBsZSBmcm9tIG1hbnkgeWVhcnMgYWdv IHdoaWNoDQo+Pj4+PiB3YXMgYSBmaXJtd2FyZSBidWcgdGhhdCBzb21ldGltZXMgZGVsYXll ZCBwYWNrZXQgcHJvY2Vzc2luZywNCj4+Pj4+IGNyZWF0aW5nIGEgc2Vjb25kIG5vZGUgaW4g dGhlIHBkZi4NCj4+Pj4+DQo+Pj4+PiBFbmdpbmVlcnMgYW5kIHRoZWlyIGFsZ29yaXRobXMg Y2FuIGJlIHRoaXMgd2F5IGl0IHNlZW1zLg0KPj4+Pj4NCj4+Pj4+IEJvYg0KPj4+Pj4gSSBk aWRuJ3Qgc3R1ZHkgdGhlIHdob2xlIHJlcG9ydCwgYnV0IEkgZGlkbid0IG5vdGljZSBhbnkg bWV0cmljcw0KPj4+Pj4gYXNzb2NpYXRlZCB3aXRoICp2YXJpYW5jZSogb2YgbGF0ZW5jeSBv ciBiYW5kd2lkdGguICBJdCdzIGNvbW1vbiBmb3INCj4+Pj4+DQo+Pj4+PiB2ZW5kb3JzIHRv IHBsYXkgZ2FtZXMgKCJMaWVzLCBkYW1uIGxpZXMsIGFuZCBzdGF0aXN0aWNzISIpIHRvIG1h a2UNCj4+Pj4+IHRoZWlyIG1ldHJpY3MgbG9vayBnb29kLiAgIEEgbWV0cmljIG9mIGxhdGVu Y3kgdGhhdCBzYXlzIHNvbWV0aGluZw0KPj4+Pj4gbGlrZSAiOTklIGxlc3MgdGhhbiBOIG1p bGxpc2Vjb25kcyIgZG9lc24ndCBuZWNlc3NhcmlseSB0cmFuc2xhdGUNCj4+Pj4+IGludG8N Cj4+Pj4+IGFuIGFjY2VwdGFibGUgdXNlciBwZXJmb3JtYW5jZS4NCj4+Pj4+DQo+Pj4+PiBJ dCdzIGFsc28gaW1wb3J0YW50IHRvIGxvb2sgYXQgdGhlIHNwZWNpZmljIHRlY2huaXF1ZXMg dXNlZCBmb3INCj4+Pj4+IHRha2luZw0KPj4+Pj4gbWVhc3VyZW1lbnRzLiAgRm9yIGV4YW1w bGUsIGlmIGEgbWVhc3VyZW1lbnQgaXMgcGVyZm9ybWVkIGV2ZXJ5DQo+Pj4+PiBmaWZ0ZWVu IG1pbnV0ZXMsIGV4dHJhcG9sYXRpbmcgdGhlIG1ldHJpYyBhcyByZXByZXNlbnRhdGl2ZSBv ZiBhbGwNCj4+Pj4+IHRoZQ0KPj4+Pj4gdGltZSBiZXR3ZWVuIG1lYXN1cmVtZW50cyBjYW4g YWxzbyBsZWFkIHRvIGEgbWV0cmljIGp1ZGdlbWVudCB3aGljaA0KPj4+Pj4gZG9lc24ndCBy ZWZsZWN0IHRoZSByZWFsaXR5IG9mIHdoYXQgdGhlIHVzZXIgYWN0dWFsbHkgZXhwZXJpZW5j ZXMuDQo+Pj4+Pg0KPj4+Pj4gSW4gYWRkaXRpb24sIHRoZXJlJ3MgYSBsb3Qgb2YgbWVjaGFu aXNtIGJldHdlZW4gdGhlIElTUHMnIGhhbmRsaW5nDQo+Pj4+PiBvZg0KPj4+Pj4gZGF0YWdy YW1zIGFuZCB0aGUgZW5kLXVzZXIuICAgVGhlIHVzZXJzJyBleHBlcmllbmNlIGlzIGFmZmVj dGVkIGJ5DQo+Pj4+PiBob3cNCj4+Pj4+IGFsbCBvZiB0aGF0IG1lY2hhbmlzbSBpbnRlcmFj dHMgYXMgdW5kZXJseWluZyBuZXR3b3JrIGJlaGF2aW9yDQo+Pj4+PiBjaGFuZ2VzLiAgV2hl biBhIFRDUCBydW5uaW5nIGluIHNvbWUgaG9zdCBkZWNpZGVzIGl0IG5lZWRzIHRvDQo+Pj4+ PiByZXRyYW5zbWl0LCBvciBhbiBpbnRlcmFjdGl2ZSBhdWRpby92aWRlbyBzZXNzaW9uIGRp c2NhcmRzIGRhdGFncmFtcw0KPj4+Pj4NCj4+Pj4+IGJlY2F1c2UgdGhleSBhcnJpdmUgdG9v IGxhdGUgdG8gYmUgdXNlZnVsLCB0aGUgdXNlciBzZWVzDQo+Pj4+PiB1bmFjY2VwdGFibGUN Cj4+Pj4+IHBlcmZvcm1hbmNlIGV2ZW4gdGhvdWdoIHRoZSBuZXR3b3JrIG9wZXJhdG9ycyBt YXkgdGhpbmsgZXZlcnl0aGluZw0KPj4+Pj4gaXMNCj4+Pj4+IHJ1bm5pbmcgZmluZS4gICBN ZWFzdXJlbWVudHMgZnJvbSB0aGUgZW5kLXVzZXJzJyBwZXJzcGVjdGl2ZSBtaWdodA0KPj4+ Pj4gaW5kaWNhdGUgcGVyZm9ybWFuY2UgaXMgcXVpdGUgZGlmZmVyZW50IGZyb20gd2hhdCBt ZWFzdXJlbWVudHMgYXQNCj4+Pj4+IHRoZQ0KPj4+Pj4gSVNQIGxldmVsIHN1Z2dlc3QuDQo+ Pj4+Pg0KPj4+Pj4gR2FtZXJzIGFyZSBlc3BlY2lhbGx5IHNlbnNpdGl2ZSB0byB2YXJpYW5j ZSwgYnV0IGl0IHdpbGwgYWxzbyBhcHBseQ0KPj4+Pj4gdG8NCj4+Pj4+IGludGVyYWN0aXZl IHVzZXMgc3VjaCBhcyBtaWdodCBvY2N1ciBpbiB0ZWxlbWVkaWNpbmUgb3IgcmVtb3RlDQo+ Pj4+PiBvcGVyYXRpb25zLiAgQSBmZXcgeWVhcnMgYWdvIEkgaGVscGVkIGEgZnJpZW5kIGRv IHNvbWUgdGVzdHMgZm9yIGENCj4+Pj4+IGdhbWluZyBzaXR1YXRpb24gYW5kIHdlIGRpc2Nv dmVyZWQgdGhhdCB0aGUgYXZlcmFnZSBsYXRlbmN5IHdhcw0KPj4+Pj4gcmVhc29uYWJseSBs b3csIGJ1dCBvY2Nhc2lvbmFsbHksIHBlcmhhcHMgYSBmZXcgdGltZXMgcGVyIGhvdXIsDQo+ Pj4+PiBsYXRlbmN5IHdvdWxkIGluY3JlYXNlIHRvIDEwcyBvZiBzZWNvbmRzLg0KPj4+Pj4N Cj4+Pj4+IEluIGEgZ2FtZSwgdGhhdCBvZnRlbiBtZWFucyB0aGUgcGxheWVyIGxvc2VzLiAg SW4gYSByZW1vdGUgc3VyZ2VyeQ0KPj4+Pj4gaXQNCj4+Pj4+IG1heSBtZWFuIGhvcnJlbmRv dXMgb3V0Y29tZXMuICBBcyBtb3JlIGZ1bmN0aW9uYWxpdHkgaXMgcGVyZm9ybWVkDQo+Pj4+ PiAiaW4NCj4+Pj4+IHRoZSBjbG91ZCIgc3VjaCBzaXR1YXRpb25zIHdpbGwgYmVjb21lIGlu Y3JlYXNpbmdseSBjb21tb24uDQo+Pj4+Pg0KPj4+Pj4gSmFjayBIYXZlcnR5DQo+Pj4+Pg0K Pj4+Pj4gT24gMi8yNi8yNCAxMjowMiwgcmptY21haG9uIHZpYSBObmFnYWluIHdyb3RlOg0K Pj4+Pj4NCj4+Pj4+IFRoYW5rcyBmb3Igc2hhcmluZyB0aGlzLiBJJ20gdHJ5aW5nIHRvIGZp bmQgb3V0IHdoYXQgYXJlIHRoZSBrZXkNCj4+Pj4+IG1ldHJpY3MgdGhhdCB3aWxsIGJlIHVz ZWQgZm9yIHRoaXMgbW9uaXRvcmluZy4gSSB3YW50IHRvIG1ha2Ugc3VyZQ0KPj4+Pj4gaXBl cmYgMiBjYW4gY292ZXIgdGhlIHRlY2huaWNhbCwgdHJhZmZpYyByZWxhdGVkIG9uZXMgdGhh dCBtYWtlDQo+Pj4+PiBzZW5zZSB0byBhIHNraWxsZWQgbmV0d29yayBvcGVyYXRvciwgaW5j bHVkaW5nIGEgV2lGaSBCU1MgbWFuYWdlci4gSQ0KPj4+Pj4NCj4+Pj4+IGRpZG4ndCByZWFk IGFsbCAzMjcgcGFnZXMgdGhvdWdoLCBmcm9tIHdoYXQgSSBkaWQgcmVhZCwgSSBkaWRuJ3Qg c2VlDQo+Pj4+Pg0KPj4+Pj4gYW55dGhpbmcgb2J2aW91cy4gSSBhc3N1bWUgdGhlc2UgdHlw ZXMgb2YgS1BJcyBtYXkgYmUgaW4gcmVmZXJlbmNlDQo+Pj4+PiBkb2NzIG9yIHNvbWV0aGlu Zy4NCj4+Pj4+DQo+Pj4+PiBUaGFua3MgaW4gYWR2YW5jZSBmb3IgYW55IGhlbHAgb24gdGhp cy4NCj4+Pj4+IEJvYg0KPj4+Pj4NCj4+Pj4+IEFuZC4uLg0KPj4+Pj4NCj4+Pj4+IE91ciBi dWZmZXJibG9hdC5uZXQgc3VibWl0dGFsIHdhcyBjaXRlZCBtdWx0aXBsZSB0aW1lcyEgVGhh bmsgeW91DQo+Pj4+PiBhbGwNCj4+Pj4+IGZvciBwYXJ0aWNpcGF0aW5nIGluIHRoYXQgcHJv Y2VzcyENCj4+Pj4+DQo+Pj4+PiBodHRwczovL2RvY3MuZmNjLmdvdi9wdWJsaWMvYXR0YWNo bWVudHMvRE9DLTQwMDY3NUExLnBkZiAgDQo+Pj4+Pg0KPj4+Pj4gSXQgaXMgYSBsb25nIHJl YWQsIGFuZCBkb2VzIHN0aWxsIHN0YXJ0IG9mZiBvbiB0aGUgd3JvbmcgZmVldA0KPj4+Pj4g KElNSE8pLA0KPj4+Pj4gaW4gcGFydGljdWxhciBub3QgdW5kZXJzdGFuZGluZyB0aGUgZGlm ZmVyZW5jZSBiZXR3ZWVuIGlkbGUgYW5kDQo+Pj4+PiB3b3JraW5nIGxhdGVuY3kuDQo+Pj4+ Pg0KPj4+Pj4gSXQgaXMgbXkgaG9wZSB0aGF0IGJ5IHdpZGVuaW5nIGF3YXJlbmVzcyBvZiBt b3JlIG9mIHRoZSByZWFsDQo+Pj4+PiBwcm9ibGVtcw0KPj4+Pj4gd2l0aCBsYXRlbmN5IHVu ZGVyIGxvYWQgdG8gcG9saWN5bWFrZXJzIGFuZCBvdGhlciBzdWJtaXR0ZXJzDQo+Pj4+PiBk b3duc3RyZWFtIGZyb20gdGhpcyBuZXcgRkNDIGRvY3VtZW50LCBhbmQgbW9yZSByZWFkaW5n IHdoYXQgd2UNCj4+Pj4+IGhhZCB0bw0KPj4+Pj4gc2F5LCB0aGF0IHdlIHdpbGwgYmVnaW4g dG8gbWFrZSBzZXJpb3VzIHByb2dyZXNzIHRvd2FyZHMgZmluYWxseQ0KPj4+Pj4gZml4aW5n IGJ1ZmZlcmJsb2F0IGluIHRoZSBVU0EuDQo+Pj4+Pg0KPj4+Pj4gSSBkbyBrZWVwIGhvcGlu ZyB0aGF0IHNvbWV3aGVyZSBhbG9uZyB0aGUgd2F5IGluIHRoZSBmdXR1cmUsIHRoZQ0KPj4+ Pj4gY29zdHMNCj4+Pj4+IG9mIElQdjQgYWRkcmVzcyBleGhhdXN0aW9uIGFuZCB0aGUgSVB2 NiB0cmFuc2l0aW9uLCB3aWxsIGFsc28gZ2V0DQo+Pj4+PiByYWlzZWQgdG8gdGhlIG5hdGlv bmFsIGxldmVsLiBbMV0NCj4+Pj4+DQo+Pj4+PiBXZSBhcmUgc3RpbGwgY29sbGVjdGluZyBz aWduYXR1cmVzIGZvciB3aGF0IHRoZSBidWZmZXJibG9hdA0KPj4+Pj4gcHJvamVjdA0KPj4+ Pj4gbWVtYmVycyB3cm90ZSwgYW5kIGhhdmUgMTIwMCBidWNrcyBpbiB0aGUga2l0dHkgZm9y IGZ1cnRoZXINCj4+Pj4+IGFydGljbGVzDQo+Pj4+PiBhbmQvb3IgcHVibGljaXR5LiBUaG91 Z2h0cyBhcHByZWNpYXRlZCBhcyB0byB3aGVyZSB3ZSBjYW4gZ28gbmV4dA0KPj4+Pj4gd2l0 aA0KPj4+Pj4gc2hpZnRpbmcgdGhlIG5hdGlvbmFsIGRlYmF0ZSBhYm91dCBiYW5kd2lkdGgg aW4gYSBiZXR0ZXINCj4+Pj4+IGRpcmVjdGlvbiENCj4+Pj4+IE5leHQgdXAgd291bGQgYmUg dHJ5aW5nIHRvIGdldCBhIG1lZXRpbmcsIGFuZCB0byBkbyBhbiBleC1wYXJ0ZQ0KPj4+Pj4g ZmlsaW5nLCBJIHRoaW5rLCBhbmQgSSB3aXNoIHdlIGNvdWxkIGRvIGEgbGl2ZSBkZW1vbnN0 cmF0aW9uIG9uDQo+Pj4+PiB0ZWxldmlzaW9uIGFib3V0IGl0IGFzIGdvb2QgYXMgZmV5bm1h biBkaWQgaGVyZToNCj4+Pj4+DQo+Pj4+PiBodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRj aD92PXJhTW1SS0drR0Q0ICANCj4+Pj4+DQo+Pj4+PiBPdXIgb3JpZ2luYWwgcG9zdGluZyBp cyBoZXJlOg0KPj4+PiBodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzE5QURC eWpha3pRWENqOVJlX3BVdnJiNVFlNU9LLVFtaGxZUkxNQlk0dkg0L2VkaXQgIA0KPj4+Pg0K Pj4+Pg0KPj4+Pj4+IExhcnJ5J3Mgd29uZGVyZnVsIHBvc3QgaXMgaGVyZToNCj4+Pj4+PiBo dHRwczovL2NpcmNsZWlkLmNvbS9wb3N0cy8yMDIzMTIxMS1pdHMtdGhlLWxhdGVuY3ktZmNj ICANCj4+Pj4+Pg0KPj4+Pj4+IFsxXSBIb3cgY2FuIHdlIGdldCBtb3JlIHRhbGtpbmcgYWJv dXQgSVB2NCBhbmQgSVB2NiwgdG9vPyBXaWxsIHdlDQo+Pj4+Pj4gaGF2ZQ0KPj4+Pj4+IHRv IHdhaXQgYW5vdGhlciB5ZWFyPw0KPj4+PiAgICANCj4+Pj4gaHR0cHM6Ly9oYWNrYWRheS5j b20vMjAyNC8wMi8xNC9mbG9zcy13ZWVrbHktZXBpc29kZS03NjktMTAtbW9yZS1pbnRlcm5l dC8gIA0KPj4+Pg0KPj4+Pg0KPj4+Pj4+IC0tIA0KPj4+Pj4+IGh0dHBzOi8vYmxvZy5jZXJv d3J0Lm9yZy9wb3N0LzIwMjRfcHJlZGljdGlvbnMvICANCj4+Pj4+PiBEYXZlIFTDpGh0IENT TywgTGlicmVRb3MNCj4+Pj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fDQo+Pj4+PiBObmFnYWluIG1haWxpbmcgbGlzdA0KPj4+Pj4gTm5hZ2Fp bkBsaXN0cy5idWZmZXJibG9hdC5uZXQgIA0KPj4+Pj4gaHR0cHM6Ly9saXN0cy5idWZmZXJi bG9hdC5uZXQvbGlzdGluZm8vbm5hZ2Fpbg0KPj4+PiAgIF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+Pj4+IE5uYWdhaW4gbWFpbGluZyBsaXN0 DQo+Pj4+IE5uYWdhaW5AbGlzdHMuYnVmZmVyYmxvYXQubmV0ICANCj4+Pj4gaHR0cHM6Ly9s aXN0cy5idWZmZXJibG9hdC5uZXQvbGlzdGluZm8vbm5hZ2Fpbg0KPj4gPE9wZW5QR1BfMHg3 NDZDQzMyMjQwM0I4RTUwLmFzYz5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXw0KPj4gTm5hZ2FpbiBtYWlsaW5nIGxpc3QNCj4+IE5uYWdhaW5AbGlz dHMuYnVmZmVyYmxvYXQubmV0DQo+PiBodHRwczovL2xpc3RzLmJ1ZmZlcmJsb2F0Lm5ldC9s aXN0aW5mby9ubmFnYWluDQoNCg== --------------hi2jDSjcgTBCEBgcxz1PBCLt Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi Sebastian,

Actually, "passing information on to endpoints" is an idea much older than 2019.=C2=A0 It was in the original TCP V4 specification in= 1981.=C2=A0=C2=A0 See RFC792 ( https://www.rfc-editor.org/rf= c/rfc792 ) pages 10-11.

I remember the discussions when the "Source Quench" (SQ) mechanism was being defined in the Internet Meetings around 1980.=C2=A0=C2=A0 P= ersonally I never thought SQ was a viable feedback technique, but it was OK as a placeholder for some future protocol that switches could use to exert back-pressure on the users' traffic, once a more effective mechanism was invented.

Instead of "slowing down", some implementors of TCP circa 1981 designed their systems to immediately retransmit a datagram that had caused a SQ to come back, figuring that the SQ meant that their original datagram had been discarded.

Jack

On 2/27/24 12:45, Sebastian Moeller wrote:
Hi Jack,

On 27. Feb 2024, at 21:11,=
 Jack Haverty via Nnagain <nnagain@lists.bufferbloat.net> wrote:

Hi Bob,

Measuring and monitoring Wifi behavior isn't necessary or sufficient.  Sa=
me with Starlink or whatever else comes along in the future.

The architecture of the Internet places different mechanisms, that in pas=
t times were contained in the switching equipment, now at many different =
places along a data path.  Much of the mechanism is even in the users' de=
vices themselves, which make all sorts of decisions about datagram size, =
acknowledgements, retransmission, discarding duplicates, et al.  Those me=
chanisms interact with the decisions being made in network equipment such=
 as switches.   The overall behavior dictates what the end users see as b=
ehavior and reliability of "the net" as they experience it.   The perform=
ance of the overall system is influenced by the interaction of its many p=
ieces.

My point was that to manage network service ("network" being defined by t=
he users), you have to monitor and measure performance as seen by the use=
rs, as close to the keyboard/mouse/screen/whatever as you can get.  That'=
s why we decided to require a computer of some kind on each users' LAN en=
vironment, so we could experience and measure what they were likely exper=
iencing, and use our measurements of switches, circuits, etc. to analyze =
and fix problems.   It was also helpful to have a database of the metrics=
 captured during previous "normal" network activity, to use as comparison=
s.=20

As one example, I remember one event when a momentary glitch on a transpa=
cific circuit would cause a flurry of activity as TCPs in the users' comp=
uters compensated, and would settle back to a steady state after a few mi=
nutes.  But users complained that their file transfers were now taking mu=
ch longer than usual.  After our poking and prodding, using those remote =
computers as tools to see what the users were experiencing, we discovered=
 that everything was operating as expected, except that every datagram wa=
s being transmitted twice and the duplicates discarded at the destination=
=2E   The TCP retransmission mechanisms had settled into a new stable sta=
te.

To the network switches, the datagrams all seeemed OK, but there was sign=
ificantly more traffic than usual.  No one was monitoring all those user =
devices out on the LANs so no one except the users noticed anything wrong=
=2E   Eventually another glitch on the circuit would cause another flurry=
 of activity and perhaps settle back into the desired state where datagra=
ms only got sent once.

We monitored whatever we could using SNMP to the routers and computers th=
at had implemented such things, and we used our remote computers to also =
collect data from the users' perspective.   Often we could tell a LAN man=
ager that some particular deviceat his/her site was having problems, by l=
ooking for behavior that differed from the "normal" historical behavior f=
rom a week or so earlier.

It would be interesting for example to collect metrics from switches abou=
t "buffer occupancy" and "transit time" (I don't recall if any MIB in SNM=
P had such metrics), and correlate that with TCP metrics such as retransm=
ission behavior and duplicate detection.
	[SM] We could do even better, pas this information on to endpoints to ac=
tually allow them to not only react to overload but also to imminent over=
load... say by not collecting the absolute buffer occupancy, but say the =
max(current hop buffer occupancy, buffer occupancy already recorded in pa=
cket) (As much as would wish, this is not my idea, but Arslan,, and McKeo=
w's. in  =E2=80=9CSwitches Know the Exact Amount of Congestion.=E2=80=9D =
In Proceedings of the 2019 Workshop on Buffer Sizing, 1=E2=80=936, 2019.)=


Regards
	Sebastian

Jack



On 2/27/24 09:48, rjmcmahon wrote:
Hi Jack,=20

On LAN probes & monitors; I've been told that 90% of users devices ar=
e now wirelessly connected so the concept of connecting to a common wave =
guide to measure or observe user information & flow state isn't viabl=
e. A WiFi AP could provide its end state but wireless channels' states ar=
e non-trivial and the APs prioritize packet forwarding at L2 over state c=
ollection. I suspect a fully capable AP that could record per quintuple a=
nd RF channels' states would be too expensive. This is part of the reason=
 why our industry and policy makers need to define the key performance me=
trics well.=20

Bob
Yes, latency is compli=
cated....  Back when I was involved in the=20
early Internet (early 1980s), we knew that latency was an issue=20
requiring much further research, but we figured that meanwhile=20
problems could be avoided by keeping traffic loads well below capacity=20
while the appropriate algorithms could be discovered by the engineers=20
(I was one...).  Forty years later, it seems like it's still a=20
research topic.=20

Years later in the 90s I was involved in operating an international=20
corporate intranet.  We quickly learned that keeping the human users=20
happy required looking at more than the routers and circuits between=20
them.  With much of the "reliability mechanisms" of TCP et al now=20
located in the users' computers rather than the network switches,=20
evaluating users' experience with "the net" required measurements from=20
the users' perspective.=20

To do that, we created a policy whereby every LAN attached to the=20
long-haul backbone had to have a computer on that LAN to which we had=20
remote access.   That enabled us to perform "ping" tests and also=20
collect data about TCP behavior (duplicates, retransmissions, etc.)=20
using SNMP, etherwatch, et al.   It was not unusual for the users'=20
data to indicate that "the net", as they saw it, was misbehaving while=20
the network data, as seen by the operators, indicated that all the=20
routers and circuits were working just fine.=20

If the government regulators want to keep the users happy, IMHO they=20
need to understand this.=20

Jack Haverty=20

On 2/26/24 16:25, rjmcmahon wrote:=20

On top of all that, =
the latency responses tend to be non parametric=20
and may need full pdfs/cdfs along with non-parametric statistical=20
process controls. Attached is an example from many years ago which=20
was a firmware bug that sometimes delayed packet processing,=20
creating a second node in the pdf.=20

Engineers and their algorithms can be this way it seems.=20

Bob=20
I didn't study the whole report, but I didn't notice any metrics=20
associated with *variance* of latency or bandwidth.  It's common for=20

vendors to play games ("Lies, damn lies, and statistics!") to make=20
their metrics look good.   A metric of latency that says something=20
like "99% less than N milliseconds" doesn't necessarily translate=20
into=20
an acceptable user performance.=20

It's also important to look at the specific techniques used for=20
taking=20
measurements.  For example, if a measurement is performed every=20
fifteen minutes, extrapolating the metric as representative of all=20
the=20
time between measurements can also lead to a metric judgement which=20
doesn't reflect the reality of what the user actually experiences.=20

In addition, there's a lot of mechanism between the ISPs' handling=20
of=20
datagrams and the end-user.   The users' experience is affected by=20
how=20
all of that mechanism interacts as underlying network behavior=20
changes.  When a TCP running in some host decides it needs to=20
retransmit, or an interactive audio/video session discards datagrams=20

because they arrive too late to be useful, the user sees=20
unacceptable=20
performance even though the network operators may think everything=20
is=20
running fine.   Measurements from the end-users' perspective might=20
indicate performance is quite different from what measurements at=20
the=20
ISP level suggest.=20

Gamers are especially sensitive to variance, but it will also apply=20
to=20
interactive uses such as might occur in telemedicine or remote=20
operations.  A few years ago I helped a friend do some tests for a=20
gaming situation and we discovered that the average latency was=20
reasonably low, but occasionally, perhaps a few times per hour,=20
latency would increase to 10s of seconds.=20

In a game, that often means the player loses.  In a remote surgery=20
it=20
may mean horrendous outcomes.  As more functionality is performed=20
"in=20
the cloud" such situations will become increasingly common.=20

Jack Haverty=20

On 2/26/24 12:02, rjmcmahon via Nnagain wrote:=20

Thanks for sharing this. I'm trying to find out what are the key=20
metrics that will be used for this monitoring. I want to make sure=20
iperf 2 can cover the technical, traffic related ones that make=20
sense to a skilled network operator, including a WiFi BSS manager. I=20

didn't read all 327 pages though, from what I did read, I didn't see=20

anything obvious. I assume these types of KPIs may be in reference=20
docs or something.=20

Thanks in advance for any help on this.=20
Bob=20

And...=20

Our bufferbloat.net submittal was cited multiple times! Thank you=20
all=20
for participating in that process!=20

https://docs.fcc.gov/public/attachments/DOC-4=
00675A1.pdf=20

It is a long read, and does still start off on the wrong feet=20
(IMHO),=20
in particular not understanding the difference between idle and=20
working latency.=20

It is my hope that by widening awareness of more of the real=20
problems=20
with latency under load to policymakers and other submitters=20
downstream from this new FCC document, and more reading what we=20
had to=20
say, that we will begin to make serious progress towards finally=20
fixing bufferbloat in the USA.=20

I do keep hoping that somewhere along the way in the future, the=20
costs=20
of IPv4 address exhaustion and the IPv6 transition, will also get=20
raised to the national level. [1]=20

We are still collecting signatures for what the bufferbloat=20
project=20
members wrote, and have 1200 bucks in the kitty for further=20
articles=20
and/or publicity. Thoughts appreciated as to where we can go next=20
with=20
shifting the national debate about bandwidth in a better=20
direction!=20
Next up would be trying to get a meeting, and to do an ex-parte=20
filing, I think, and I wish we could do a live demonstration on=20
television about it as good as feynman did here:=20

https://www.youtube.com/watch?v=3DraMmRKGkGD4=20

Our original posting is here:
https://docs.goog=
le.com/document/d/19ADByjakzQXCj9Re_pUvrb5Qe5OK-QmhlYRLMBY4vH4/edit=20


Larry's wonderful =
post is here:=20
https://circleid.com/posts/20231211-its-the-la=
tency-fcc=20

[1] How can we get more talking about IPv4 and IPv6, too? Will we=20
have=20
to wait another year?
 =20
https://hackaday.com/2024/0=
2/14/floss-weekly-episode-769-10-more-internet/=20


--=20
https://blog.cerowrt.org/post/2024_predictions/=20
Dave T=C3=A4ht CSO, LibreQos
____________________=
___________________________=20
Nnagain mailing list=20
Nnagain@lists.bufferbloat.net=20
https://lists.bufferbloat.net/listinfo/nnagain
 _____________________=
__________________________=20
Nnagain mailing list=20
Nnagain@lists.bufferbloat.net=20
https://lists.bufferbloat.net/listinfo/nnagain
<OpenPGP_0x746CC322403B8E50.asc>___________________________________=
____________
Nnagain mailing list
Nnagain@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/nnagain

    

--------------hi2jDSjcgTBCEBgcxz1PBCLt-- --------------Hr6syiJ0OVgF8iTWAAvFsnRD Content-Type: application/pgp-keys; name="OpenPGP_0x746CC322403B8E50.asc" Content-Disposition: attachment; filename="OpenPGP_0x746CC322403B8E50.asc" Content-Description: OpenPGP public key Content-Transfer-Encoding: quoted-printable -----BEGIN PGP PUBLIC KEY BLOCK----- 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 TFdwePg=3D =3D1/9g -----END PGP PUBLIC KEY BLOCK----- --------------Hr6syiJ0OVgF8iTWAAvFsnRD-- --------------ld8TjSO0IyITaHaRw7mDIMtp-- --------------0pEMR537xGK2EJcPnkJwh0gw Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- wsD5BAABCAAjFiEEZLvMn5vmvTAlFEILdGzDIkA7jlAFAmXeUSkFAwAAAAAACgkQdGzDIkA7jlBX 8wv/SF3mciQ/FL2YGwgOrSHjaGEmMIEJYhWewl/0uRIE8ygm6ojumbcCjX+AtVh0fLS5h7YprYaM 2jsKLt5rv9FGyJGnQmtTpfPigHHJTCk9GYbwsevcuKwqQzYlWW7pVnZY42FR5/BbtDZJ2pkzHI7x S4HHSooPQmBsgHR6Eii0evXmAewtSwe16BrRf7cXkZl6qOWgXmQdsRvCoyTJJORV+DLByvRbF4MP kbXEXqyeMS3JlB/oxYiulepZegnFSeElC9C4wxfMTzih/Nvn1RlOXk6bKqas0bdE8KoVSO4F3dBG ecKRaKoMtH3chIA+WUWnSINijYAQl5kvmb+9h9d+oy916iWNoIsjjUeGT+OA00ETeIHcZEQjKsvR xI6R8SVfvpxOa3rqZ5gYirD2hEcW7Ak6Upa7YDz+3Q0hvaGmyphDppRmxzV+2uy/4IdQr6AtQbYK ZsFOBHGsId5WDb38AQzLZZdC3tZOcEpudkV389M2zEvtdqHhd7d09unleYJ7 =mWtw -----END PGP SIGNATURE----- --------------0pEMR537xGK2EJcPnkJwh0gw--