Why Ownly does not Work on the ndn6 Network? A Decade of Policy-Blind Routing

Stardate 1481.6, Antwerp. Three friends opened Ownly, the flagship NDN application developed and published by UCLA Internet Research Laboratory. They started typing into the decentralized collaborative editor, but one of them cannot see the edits. They checked the connection: 📶 online. They checked the prefix registration: ✅ successful. However, the document will not sync.

What worked seamlessly in a UCLA lab failed in the wild because of a missing feature in the routing protocol. This article moves beyond the #2856 confinement issue in the last episode and identifies additional gaps that prevent applications from working across autonomous system boundaries. In particular, we assume a relaxed prefix registration policy that allows the Ownly application to register its desired prefixes in both the global NDN testbed and the ndn6 network, and explore what other features are necessary in order to enable the sync-based communication patterns.

Inter-Domain Routing Built on Grep and Hope

I currently operate two global-scale networks: AS200690 and ndn6.

  • AS200690 is an IPv6-only network registered with RIPE NCC. I have eight routers connected with each other via WireGuard or GRE tunnels. Each router runs the BIRD Internet Routing Daemon in a KVM server.
  • ndn6 is an independent NDN network. I have six routers connected via UDP tunnels over IPv6. Each router runs the NDN Forwarding Daemon (NFD) and NDN Link State Routing (NLSR) in Docker containers.

Why Ownly does not Work on the ndn6 Network? A Decade of #2856

Christmas week 2024, Sydney. A user opened Ownly (then called NDN Workspace), the flagship NDN application developed and published by UCLA Internet Research Laboratory. Her laptop could reach the network, but it couldn't publish. Every attempt to register a prefix was met with a blunt "403 prefix-disallowed" error.

What worked seamlessly in a UCLA lab failed in the wild because of a collision between competing network philosophies. This article looks back on operations of two NDN networks under different philosophies, analyzes why the Ownly application is incompatible with one of the networks. Then I present the lessons learned and identify the practical gaps on why NDN is not ready for transitioning from a "UCLA experiment" to a "global Internet".

ndn6 Network and NDN-FCH 2021

Since 2021, I (re)started operating the ndn6 network, my own global scale NDN network. The ndn6 network is connected to the global NDN testbed but not a part of it. It's an independent network that conforms to the NDN protocol, but has its own routing protocol and prefix registration policies.

The same year, I participated in the NDN-FCH: The Big Rewrite™ project at the 11th NDN Hackathon, during which I led a team to build a new version of "Find Closest Hub" service:

Deep Atlantic Storage: Rewriting in Rust

I have been coding in C++, Go, and TypeScript for many years, but recently I started learning the Rust Programming Language.

Why Rust

I choose to study the Rust programming language because:

  • Rust is one of the major system languages that I do not know.
  • Rust, just like Go, is a memory safe language, apparently now a national security issue.
  • Rust, unlike Go, does not have a garbage collector.
  • Rust, unlike Go, does not have a nil pointer.

The last point is particularly important. In Go, I often find myself writing a method with pointer receiver:

New Avatar

2025 avatar

In computing, an avatar is a graphical representation of a user, the user's character, or persona. An avatar can be a two-dimensional picture, also known as a profile picture or userpic, or a three-dimensional digital representation, often used in games.

My existing avatar has been in use since 2010. It was created from a selfie taken at Expo 2010 Shanghai, where I proudly visited every pavilion. I stood in front of the Expo Axis, placed my Canon E1000D atop a trash can near the Hong Kong pavilion, and used the self-timer feature of the DSLR camera to capture the selfie. The picture depicts me wearing a white sleeveless shirt and a black backpack, in front of background of trees, people, and the Expo Axis. Subsequently, I cropped the image with Adobe Photoshop, blurred the background, and produced the final image.

Over the years, as I expanded my online presence, readers from dozens of social media websites and forums have seen my avatar. It has become part of my online identity, my personal brand.

In 2016, I realized that I still have the same shirt as shown in my avatar. On the 6-year anniversary of the original picture, I took a new photo of me in the same outfit, in front of a cactus behind the university. In 2020, I did it again for the 10-year anniversary, but indoors due to COVID-19 pandemic. Nevertheless, I did not adopt either picture as my avatar, because they have drastically different backgrounds and would make me unrecognizable online.

Multiverse: A Simulator for Evaluating Entanglement Routing in Quantum Networks

Published in: IEEE Internet Computing (Volume 30, Issue 1)

We present MQNS, a discrete-event simulator for rapid evaluation of entanglement routing under dynamic, heterogeneous configurations. MQNS supports runtime-configurable purification, swapping, memory management, and routing, within a unified qubit lifecycle and integrated link-architecture models. A modular, minimal design keeps MQNS architecture-agnostic, enabling fair, reproducible comparisons across paradigms and facilitating future emulation.

Read full paper at IEEE Xplore: Multiverse: A Simulator for Evaluating Entanglement Routing in Quantum Networks

MQNS logo

MQNS software available on GitHub: Multiverse Quantum Network Simulator

公交停运二游费城

2025 年独立日围着垃圾堆游费城归来,总觉得好多景点没有看清。 比如,费城美术馆精彩的亚洲艺术展,我只看了 2 小时。 所以,我打算再去一次费城。

7 月 9 日,也就是归来后两天,我就订好了火车票:

  • 9 月 6 日 164 次,BWI 09:43-11:07 PHL
  • 9 月 7 日 189 次,PHL 17:38-19:06 BWI

不料,8 月初,费城公交宣布财务危机

  1. 8 月 24 日,32 条公交线路停运、16 条公交线路缩线、地铁每晚 21 点关门
  2. 9 月 1 日,全面涨价 21.5%,其中公交车票从 2.50 元涨到 2.90 元
  3. 9 月 2 日,通勤列车也要减少班次

围着垃圾堆游费城!!!

2025 年 7 月 4 日是美国法定假日一一独立日。 趁此机会,我休假〇天,前往费城,自助旅游三天。 7 月 4 日出发,7 月 6 日归来,火车往返。 旅游预算一千元,用于支付住宿、交通、景点费用,而且要包括餐饮费用。 特此开帖记录,随时更新。

7 月 1 日起,代表费城 9000 多名市政工人的 DC33 工会宣布罢工。 停摆的业务有:911 调度,图书馆,游泳池,垃圾清运。 其中,911 调度因为涉及公共安全,被法院命令不得罢工。 其余岗位均已罢工,而市长不愿妥协。 据新闻报道,费城的大街小巷已经堆满垃圾袋,苍蝇与老鼠正在狂欢。 可是,我在 7 月 3 日才读到这条新闻,想要打退堂鼓为时已晚,只能继续出行。 这次旅游,恐怕是要绕着垃圾堆走。

7 月 4 日

车票是 6 月 24 日订的。 购票方式是积分+信用卡,这类票可以在开车前全额退票,但是不能改签。 Amtrak 火车票的价格并不固定,而是根据市场需求上下浮动,同样的里程从 10 元到 500 元都有可能。

去程列车从 BWI 站始发,可以选择 09:43 或 10:28 的班次。 我在上次纽约之行得知长途汽车只有 8 点、9 点的班次,而没有 7 点的班次。 8 点的 201 路一般会在 09:20 到达 BWI 火车站,但是过去一年内我已经两次遇到长途汽车机械故障;而且,5 月该车队有一辆车因为刹车故障而引发火灾,车辆被大火烧毁,所幸无人受伤。 所以,我决定订购 10:28 发车的 118 次列车,票价为 47.62 元 + 870 积分。 这样,即便遇上汽车故障,转乘下一班汽车也能赶上火车。

Would IPv6 even exist after 99 years?

Cloudflare takes over the world. OS kernel includes cloudflared functionality, which routes traffic by domain name.

When you open a page in an app, the request is accepted by the local cloudflared, which uses AI models to decide where to forward the request. The request leaves breadcrumbs along each node it traverses. When the response is found, it follows these breadcrumbs in the reverse path back to the requester.

There are no addresses, just domain names and single-hop wireless links identified by ifindex. Both RIPE and ARIN deadpooled, so is ICANN. Each person gets assigned a free-for-life domain name at birth. Additional domain names are charged at €7/year. If you commit a crime, your domain names get deleted and you basically cease to exist.

NeoPixels on Fipsy FPGA

Recently I re-discovered that I have a Fipsy FPGA Breakout Board. Back in 2018 when I received this board, I made a version of blinky with five LEDs, lighting up red-green-yellow-blue-white, one at a time. Now, I want to play with something more colorful: NeoPixels!

What is a NeoPixel?

The WS2812 Integrated Light Source, also known as NeoPixel, is a simple, scalable, and affordable full-color LED. Neopixels are commonly found on Adafruit-branded development boards such as the MagTag. They are also available standalone in a zillion form factors. The unit I have is Keyes 18-LED ring WS2812 module that contains a string of 18 WS2812 pixels.

Keyes 18-LED ring WS2812 module

Each WS2812 is a surface-mount package that integrates RGB LEDs alongside a driver chip, forming a complete control of a pixel point. The WS2812 is controlled through a single wire, in which "0" and "1" bits are encoded in the timing of high and low voltage states. During a data refresh cycle, a WS2812 chip accepts 24 bits of data for its green, red, and blue color components, and then forwards any subsequent bits to the next WS2812 chip. This forwarding feature enables cascading: when a string of pixels receives a sequence of 24-bit words, the initial 24 bits go to the first pixel, the next 24 bits go to the second pixel, and so on. Theoritically, you could control a zillion pixels through a single wire.

华盛顿周边一日游 2022-11-16 巴尔的摩暴动、马里兰州 9/11 纪念园

2022 年,马里兰州的疫情接近尾声,但是很多企事业单位仍然实行半居家办公。 州政府在原有公交 7 天票、31 天票之外,增加了一种“灵活 3 天票”,主要是方便隔日去办公室的人群通勤。 每次购买 6 张长途汽车票或 3 张市内公交一日票,票价享受 7 折优惠,买好的票 3 年有效。 这样,我每次去巴尔的摩的路费就从 16.40 元下降到了 14.10 元。

11 月 6 日星期日,是实行此制度后,我第一次前往巴尔的摩。 我的目标是巴尔的摩市的“内港”区域。 内港位于巴尔的摩的市中心,公交地铁四通八达,基本不会出现“等车一直不来”的沮丧现象。 上午 9 点,我坐上 201 路长途汽车,然后在 BWI 机场换乘 10:40 的头班轻轨。 轻轨列车内乌烟瘴气,有着骂骂咧咧的老太、背着四个蛇皮袋的无家可归者、响亮扰民的收音机、咳嗽的妇女,吓得我赶紧戴上了口罩。 11 点多,我到达了内港西北的 Camden 火车站,也是我参观的起始点。

Pratt Street

内港以北的 Pratt 街,是 1861 年“巴尔的摩暴动”的事发现场。 当年,美国内战刚刚开始,南方数州宣布退出联邦(Union)成立邦联(Confederacy),林肯刚刚就任总统。 4 月 17 日,弗吉尼亚州宣布退出联邦、加入邦联,此举对于近在咫尺的首都华盛顿产生了巨大的威胁。 联邦政府决定派遣马萨诸塞州第 6 兵团,南下保卫首都、收复叛乱州。 部队从波士顿出发,途径纽约、费城,19 日到达巴尔的摩。 巴尔的摩市中心没有铁路,载着部队的列车要先驶入内港以东的 President 街火车站,由马车牵引沿着 Pratt 街西行 2 公里,到达 Camden 车站重新挂上机车,才能继续南下。

巴尔的摩属于马里兰州,是北方联邦的势力范围。 然而,不少当地居民都是南方邦联的同情者。 他们在 Pratt 街的路边蹲守,马车一到便拿出板砖、石块、手枪,阻碍马车的前进。 部队不得不对袭击者开火,并且下车步行,最后在巴尔的摩警察的保护下才抵达 Camden 车站。 此次事件导致 17 人死亡,数百人受伤,被认为是美国内战的第一次流血冲突。