<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet href="/feed.css?v=208f42b55cff" type="text/css"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:site="https://lalitm.com/feed/ns#"><channel><title>Lalit Maganti (Tag: Networking)</title><link>https://lalitm.com/tags/networking/</link><description>Recent content tagged Networking on Lalit Maganti</description><site:notice>This is a feed.
Feeds let you subscribe to updates from this site using a feed reader. Copy this page's URL from your address bar and paste it into your reader.
New to feeds? Read: https://aboutfeeds.com</site:notice><docs>https://aboutfeeds.com</docs><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Tue, 16 Jun 2026 02:36:00 +0100</lastBuildDate><atom:link href="https://lalitm.com/tags/networking/index.xml" rel="self" type="application/rss+xml"/><item><title>TIL: Iroh: peer-to-peer networking for app developers</title><link>https://lalitm.com/post/til-iroh/</link><pubDate>Tue, 16 Jun 2026 02:36:00 +0100</pubDate><guid>https://lalitm.com/post/til-iroh/</guid><description>I came across Iroh (via, via) today as it hit 1.0 and found it a really interesting solution to a problem I knew existed but had not thought a lot about.
Judging from the comment sections, it seems pretty clear that lots of people are confused as to exactly what Iroh is. I don’t think their launch post does their product justice at all, and their tagline is “IP addresses break, dial keys instead” which sounds cool, but if you think about it for just a second, you’ll end up with lots of questions. The biggest one is: “so how is this different from a mesh VPN like Tailscale, ZeroTier, Netbird, etc.?”
It’s only after reading a lot of developers’ comments on the threads that I feel I understand: Iroh is aimed at application developers who want to communicate P2P between machines running their app, while mesh networks are aimed at network admins who want to connect devices they own/manage together.</description><content:encoded>&lt;p&gt;I came across &lt;a href="https://www.iroh.computer/"&gt;Iroh&lt;/a&gt;
(&lt;a href="https://news.ycombinator.com/item?id=48542480"&gt;via&lt;/a&gt;,
&lt;a href="https://lobste.rs/s/cslljn/iroh_1_0_dial_keys_not_ips"&gt;via&lt;/a&gt;) today as it hit
1.0 and found it a really interesting solution to a problem I knew existed but
had not thought a lot about.&lt;/p&gt;
&lt;p&gt;Judging from the comment sections, it seems pretty clear that &lt;em&gt;lots&lt;/em&gt; of people
are confused as to exactly &lt;em&gt;what&lt;/em&gt; Iroh is. I don&amp;rsquo;t think their
&lt;a href="https://www.iroh.computer/blog/v1"&gt;launch post&lt;/a&gt; does their product justice at
all, and their tagline is &amp;ldquo;IP addresses break, dial keys instead&amp;rdquo; which sounds
cool, but if you think about it for just a second, you&amp;rsquo;ll end up with lots of
questions. The biggest one is: &amp;ldquo;so how is this different from a mesh VPN like
Tailscale, ZeroTier, Netbird, etc.?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s only after reading a lot of developers&amp;rsquo; comments on the threads that I feel
I understand: Iroh is aimed at &lt;em&gt;application&lt;/em&gt; developers who want to communicate
P2P between machines running their app, while mesh networks are aimed
at &lt;em&gt;network admins&lt;/em&gt; who want to connect devices they own/manage together.&lt;/p&gt;
&lt;p&gt;Imagine you&amp;rsquo;re developing a peer-to-peer messaging app where, on one side, the
user is on a mobile device which constantly roams between WiFi/mobile data (so
doesn&amp;rsquo;t have a stable IP address), and the other side is a laptop sitting behind
a NAT and a CGNAT.&lt;/p&gt;
&lt;p&gt;If I want to get these folks to talk to each other, I need some mechanism to
deal with two problems at once: the mobile&amp;rsquo;s address keeps changing as it roams,
and neither side has a stable public IP the other can reach directly. Now,
historically to fix these problems, the developer would need to have an
intermediary server which both endpoints talk to so they can share state, create
a protocol to exchange IP addresses, and do NAT hole-punching to set up the
connection, falling back to acting as a real relay if none of that is possible
[1].&lt;/p&gt;
&lt;p&gt;What Iroh does instead is standardise this as a set of libraries and protocols
as well as offer it as a managed service that you can just drop into your app.
They also appear to be leaning heavily on standards like QUIC instead of
reinventing the wheel, which is always nice to see.&lt;/p&gt;
&lt;p&gt;Overall, this is a pretty neat idea for a difficult problem! I&amp;rsquo;m definitely
curious to try it out; I don&amp;rsquo;t have a use case in mind, but I&amp;rsquo;m now on the
lookout for one!&lt;/p&gt;
&lt;p&gt;[1] If you want to learn more on this, I would strongly suggest reading this
excellent
&lt;a href="https://tailscale.com/blog/how-nat-traversal-works"&gt;Tailscale article&lt;/a&gt; which I
learned a lot from myself.&lt;/p&gt;</content:encoded></item></channel></rss>