<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Networking on Mulham Fetna</title>
    <link>https://mulhamfetna.com/tags/networking/</link>
    <description>Recent content in Networking on Mulham Fetna</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <managingEditor>contact@mulhamfetna.com (Mulham Fetna)</managingEditor>
    <webMaster>contact@mulhamfetna.com (Mulham Fetna)</webMaster>
    <copyright>© 2026 Mulham Fetna</copyright>
    <lastBuildDate>Wed, 16 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://mulhamfetna.com/tags/networking/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>ROS 2 across Docker containers: shared network, discovery and Fast DDS shared memory</title>
      <link>https://mulhamfetna.com/projects/ros2-tendon-driven-hand-mujoco-digital-twin-vision-teleoperation/ros2-docker-network-shared-memory/</link>
      <pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate>
      <author>contact@mulhamfetna.com (Mulham Fetna)</author>
      <guid>https://mulhamfetna.com/projects/ros2-tendon-driven-hand-mujoco-digital-twin-vision-teleoperation/ros2-docker-network-shared-memory/</guid>
      <description>&lt;div class=&#34;lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl&#34;&gt;&#xA;  &amp;ldquo;The topic shows up in &lt;code&gt;ros2 topic list&lt;/code&gt;, but &lt;code&gt;echo&lt;/code&gt; prints nothing&amp;rdquo; — the classic ROS-in-Docker&#xA;symptom. Here&amp;rsquo;s why it happens, how two containers in this project share a network and a block of&#xA;memory instead, and what that costs.&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;How ROS 2 nodes find each other&#xA;    &lt;div id=&#34;how-ros-2-nodes-find-each-other&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#how-ros-2-nodes-find-each-other&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;ROS 2 has no master. Nodes discover each other through &lt;strong&gt;DDS&lt;/strong&gt; — in Jazzy, &lt;strong&gt;eProsima Fast DDS&lt;/strong&gt; by&#xA;default — using the SPDP protocol:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Each participant announces itself over &lt;strong&gt;UDP multicast&lt;/strong&gt; (239.255.0.1) on ports derived from the&#xA;domain ID \(d\): discovery multicast on \(7400 + 250d\), unicast on \(7410 + 250d + 2p\) for&#xA;participant \(p\). For &lt;strong&gt;domain 42&lt;/strong&gt;: UDP &lt;strong&gt;17900&lt;/strong&gt; and &lt;strong&gt;17910+&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Peers exchange their topic endpoints; matching publishers and subscribers connect.&lt;/li&gt;&#xA;&lt;li&gt;Data flows over the best &lt;strong&gt;transport&lt;/strong&gt; both support — shared memory when they share a host and&#xA;&lt;code&gt;/dev/shm&lt;/code&gt;, UDP otherwise.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Why Docker&amp;rsquo;s default network breaks it&#xA;    &lt;div id=&#34;why-dockers-default-network-breaks-it&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#why-dockers-default-network-breaks-it&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Compose attaches services to a &lt;strong&gt;bridge network&lt;/strong&gt; — a private NATed subnet. Multicast isn&amp;rsquo;t reliably&#xA;routed across it, and machines on your LAN can&amp;rsquo;t reach container IPs at all.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://mulhamfetna.com/projects/ros2-tendon-driven-hand-mujoco-digital-twin-vision-teleoperation/ros2-docker-network-shared-memory/cover.png" />
    </item>
    
  </channel>
</rss>
