<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US">
  
  <title>Cyborg Resilience Co-lab — Ideas</title>
  <link href="https://crcolab.art/en/ideas/"/>
  <link rel="self" href="https://crcolab.art/en/ideas/feed.xml"/>
  <id>https://crcolab.art/en/ideas/</id>
  
  <updated>2026-07-28T00:00:00+08:00</updated>
  
  <entry>
    <title>The 2026 Urban Resilience Exercise: Your 30-Minute Network Survival Guide</title>
    <link href="https://crcolab.art/en/ideas/2026-07-28-30-minute-network-survival-guide/"/>
    <id>https://crcolab.art/en/ideas/2026-07-28-30-minute-network-survival-guide/</id>
    <updated>2026-07-28T00:00:00+08:00</updated>
    <category term="NOTE"/>
    <summary type="text">Mobile data slows for 30 minutes from 2:30 pm on August 10 (central Taiwan) and August 13 (northern Taiwan). This guide gets you ready with 3 settings, 3 screenshots and 3 conversations, plus a 14:20 wrap-up checklist and what to do — and avoid — during the half hour.</summary>
    <content type="html">&lt;p&gt;Three settings, three screenshots, three agreements and you will get through this exercise just fine. This is only mobile data throttling — you can still make calls and send texts!&lt;/p&gt;

&lt;p&gt;※ For the actual dates, times and content of the exercise, please follow the announcements of the government authorities ※&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2026-JUL-28-30-minute-network-survival-guide-2.jpg&quot; alt=&quot;Claymation-style card headed &amp;quot;It&apos;s not an outage, it&apos;s a slowdown.&amp;quot; A map of Taiwan at the top has two pins: &amp;quot;Central 8/10 Mon&amp;quot; and &amp;quot;North 8/13 Thu,&amp;quot; with an alarm clock and text beside it reading &amp;quot;2:30 - 3:00 pm, 30 minutes each.&amp;quot; Bottom left, &amp;quot;Will get slow / phone 4G／5G · phone hotspot,&amp;quot; with a snail crawling over a phone and a laptop spinning a loading icon; bottom right, &amp;quot;All normal / calls · SMS · landline · fixed-broadband Wi-Fi,&amp;quot; with a landline phone, a message bubble, an envelope and a smiling router.&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Check the time and place of the exercise first — 30 minutes each&lt;/p&gt;

&lt;p&gt;Once the exercise starts, browsing on your phone’s 4G／5G, and the hotspot you share to laptops and tablets, will be extremely slow&lt;/p&gt;

&lt;p&gt;Phone calls, text messages, disaster warning alerts, 110／119: all normal&lt;/p&gt;

&lt;p&gt;※ For the actual dates, times and content of the exercise, please follow the announcements of the government authorities ※&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2026-JUL-28-30-minute-network-survival-guide-3.jpg&quot; alt=&quot;Claymation-style card headed &amp;quot;Change 3 settings,&amp;quot; with a three-tier shelf holding, from top to bottom: 1 offline maps (map app → profile picture → offline maps), a paper map and location pin unfolding out of a phone; 2 set files to offline (do it in the phone app too), a cloud dangling three document tags onto a phone with a check mark; 3 download media first (test it in airplane mode), a phone showing an airplane icon beside headphones and a music note. A clay figure in glasses gives a thumbs-up at the bottom left.&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;change-3-settings&quot;&gt;Change 3 settings&lt;/h2&gt;

&lt;p&gt;All of them are free features built into your phone or computer — a few taps and they are working.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Set up offline maps&lt;/strong&gt; Google Maps → tap the profile picture in the top right → “Offline maps” → “Select your own map” → download the area around your home, the area around your office, and everywhere else you regularly pass through.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Set cloud files to be available offline&lt;/strong&gt; For the slide decks, quotations and contract PDFs you need that afternoon, right-click them on Google Drive／OneDrive／Dropbox or whichever cloud drive you use and choose “Available offline” or “Always keep on this device.” &lt;strong&gt;Do it once in the mobile app as well&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Save music and videos&lt;/strong&gt; Download the podcasts / music / videos you want for your commute in advance.&lt;/p&gt;

&lt;p&gt;Once you are done, remember to turn off all Wi-Fi + switch on airplane mode, and test that these offline files really work.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2026-JUL-28-30-minute-network-survival-guide-4.jpg&quot; alt=&quot;Claymation-style corkboard card headed &amp;quot;Take 3 kinds of screenshots,&amp;quot; in three rows: 1 phone numbers / you have their messaging app but not their number, beside a contact list, a paper note and two message bubbles marked with crosses; 2 that day&apos;s schedule / meeting time · place · their phone number, beside a calendar, a name card and a clock; 3 tickets and addresses / booking code · event QR · nearby shelters, beside a train ticket, a QR code and a shelter sign. A clay figure in glasses holds up a phone to take a photo at the bottom right.&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;take-3-kinds-of-screenshots&quot;&gt;Take 3 kinds of screenshots&lt;/h2&gt;

&lt;p&gt;Just save them to your photo album — you can look at them without a network.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Phone numbers&lt;/strong&gt; Family, school／after-school care, your manager, the clients you need to contact that day. &lt;strong&gt;Plenty of people only have someone’s LINE and have no idea what their mobile number is.&lt;/strong&gt; Remember to copy them onto a slip of paper for your wallet too — that survives a dead phone battery.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. That day’s schedule&lt;/strong&gt; Meeting times, places, the other party’s name and phone number.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Tickets and addresses&lt;/strong&gt; For paid high speed rail and Taiwan Railway bookings, screenshot the “booking code (number)” and then collect the paper ticket with the booking holder’s ID; event QR codes, the street addresses you are visiting, and the shelters near your home／office (you can look these up in the air-raid shelter section of the National Police Agency, Ministry of the Interior, or download the 「警政服務」 police services app in advance and save the offline map inside the 「消防防災 e 點通」 fire and disaster prevention app).&lt;/p&gt;

&lt;p&gt;Note 1: Both the high speed rail and Taiwan Railway companies explicitly prohibit the use of screenshotted ticket QR codes.&lt;/p&gt;

&lt;p&gt;Note 2: For rules on screenshotting event QR codes, please follow the terms of each organization/company.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2026-JUL-28-30-minute-network-survival-guide-5.jpg&quot; alt=&quot;Claymation-style cubby-shelf card headed &amp;quot;Say 3 agreements out loud&amp;quot;: 1 to family / a message not going through is the drill, not an emergency, showing an office worker at a desk and an elder making tea at home each holding a landline handset, their cords joined; 2 to colleagues / no online meetings in this half hour, a hand sliding the 14:30 meeting block down an arrow to after 15:30; 3 to whoever does pickups / if the call doesn&apos;t connect, go wait at the agreed spot, a mother waving to a child with a backpack at the school gate.&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;make-3-agreements&quot;&gt;Make 3 agreements&lt;/h2&gt;

&lt;p&gt;It doesn’t cost a cent — you just have to say it out loud.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. To family, elders and friends&lt;/strong&gt; “Between 2:30 and 3:00 pm on 8/13, LINE messages may not go through — that’s the network throttling drill. If anything comes up I’ll call you directly, and you can text me.” → This one sentence saves the other person a whole afternoon of anxiety~&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. To colleagues&lt;/strong&gt; “No online meetings during this half hour.” Move the 14:30 video call earlier to 14:00, or later to 15:10; if it absolutely has to happen, switch it to a voice-only call or walk over and talk face to face.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. To colleagues out in the field and whoever picks up the children&lt;/strong&gt; Agree on a “check-in time ＋ meeting point,” for example “I’ll call you at 15:00; if you can’t get through, wait for me in the ground-floor lobby.” &lt;strong&gt;Whenever you cannot reach each other at the agreed time, head instead for the fixed meeting point you settled on in advance.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2026-JUL-28-30-minute-network-survival-guide-6.jpg&quot; alt=&quot;Claymation-style card headed &amp;quot;14:20, a three-minute wrap-up,&amp;quot; subtitled &amp;quot;send off what&apos;s pending · log into systems first · carry cash and physical cards.&amp;quot; An open wallet holds a NT$1,000 note, two cards and 50- and 10-dollar coins; an alarm clock in the middle points to 2:20; on the right a laptop is connected to Wi-Fi, with a paper plane and an opened envelope in front of it.&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;1420-on-the-day-a-3-minute-wrap-up&quot;&gt;14:20 on the day: a 3-minute wrap-up&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Approvals, reports and attachments you send from your phone: hit send before 14:25 and don’t cut it fine.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;If your company systems, VPN or online banking &lt;strong&gt;need push verification from a phone app, log in on your computer beforehand and don’t log out during that half hour&lt;/strong&gt; (systems that use SMS verification codes are unaffected)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;If you need to place an order, transfer money or upload a tender, handle it on a computer on fixed broadband, or simply avoid this half hour&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Wallet check: &lt;strong&gt;cash ＋ a physical EasyCard／iPASS ＋ a physical credit card&lt;/strong&gt;. When the connection is very slow, the payment barcode in a mobile payment app may not open.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Check that your laptop is on the office Wi-Fi rather than your own phone hotspot&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2026-JUL-28-30-minute-network-survival-guide-7.jpg&quot; alt=&quot;Claymation-style side-by-side card headed &amp;quot;How to spend this half hour.&amp;quot; On the left, a green check mark: &amp;quot;make calls · do offline work · talk face to face,&amp;quot; with a person in glasses proofreading a stack of paper by a desk lamp, phone lying quietly on the desk; on the right, an orange cross: &amp;quot;don&apos;t spam refresh · don&apos;t change network settings,&amp;quot; with another person breaking into a sweat and jabbing at a phone, a router on the desk.&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;14301500-how-to-spend-these-30-minutes&quot;&gt;14:30–15:00: how to spend these 30 minutes&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Things you can do&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Connect to the fixed-broadband Wi-Fi at the office or at home and you will barely notice a thing&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;If you need someone, call them; if it isn’t urgent, text them&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Schedule it as an “offline work block”: proofread on paper, write documents, tidy your desktop, walk over and finish a conversation with a colleague&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Things not to do&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Don’t hammer refresh. The more people retry, the slower it feels&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Don’t go changing network settings or the APN — it is very easy to forget how to change them back afterwards&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Don’t rush to call your telecom’s customer service&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2026-JUL-28-30-minute-network-survival-guide-8.jpg&quot; alt=&quot;Claymation-style card whose text reads &amp;quot;After the drill ends at 3⋯&amp;quot;, &amp;quot;Mobile data still down? Restart the phone&amp;quot;, &amp;quot;Note down the thing that stalled the most and talk through backup plans with family and friends&amp;quot;, &amp;quot;because a real disaster outage gives you no advance notice.&amp;quot; On the right a clay figure in glasses writes notes with a pencil at a desk holding a pen pot, a plant and a propped-up phone; the wall clock points to 3.&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;after-1500&quot;&gt;After 15:00&lt;/h2&gt;

&lt;p&gt;If the network doesn’t come back on its own: &lt;strong&gt;switch airplane mode on for 10 seconds and then off again&lt;/strong&gt;, or simply restart the phone.&lt;/p&gt;

&lt;p&gt;Then spend two minutes asking yourself one question: &lt;strong&gt;which thing just now was the most stuck?&lt;/strong&gt; Was it not being able to find someone’s phone number, not being able to pay, or not being able to open a file? Write it down — because when the network is damaged by a real typhoon or earthquake, nobody announces the time in advance.&lt;/p&gt;

&lt;p&gt;Further reading: &lt;a href=&quot;/en/ideas/2026-07-22-mobile-network-throttling-drill/&quot;&gt;Why Run a Mobile-Network Throttling Drill? Is There Any Point?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;※ For the actual dates, times and content of the exercise, please follow the announcements of the government authorities ※&lt;/p&gt;
</content>
    <author><name>Cyborg Resilience Co-lab</name></author>
  </entry>

  <entry>
    <title>Why Run a Mobile-Network Throttling Drill? Is There Any Point?</title>
    <link href="https://crcolab.art/en/ideas/2026-07-22-mobile-network-throttling-drill/"/>
    <id>https://crcolab.art/en/ideas/2026-07-22-mobile-network-throttling-drill/</id>
    <updated>2026-07-22T00:00:00+08:00</updated>
    <category term="NOTE"/>
    <summary type="text">Taiwan&apos;s 2026 Urban Resilience Exercise throttles mobile data for the first time: 30 minutes from 2:30 pm on August 10 and August 13. From quake- and typhoon-damaged base stations to drills in Japan, South Korea, NATO and Finland, this piece discusses the significance of bringing outage scenarios into disaster preparedness drills.</summary>
    <content type="html">&lt;p&gt;Taiwan ranks among the world’s best for mobile data pricing, connection speed, and connection quality. That is the fruit of years of construction and maintenance by the three major telecom operators and the government, and it is why the public enjoys a mobile network environment that is both stable and inexpensive.&lt;/p&gt;

&lt;p&gt;Taiwan is also, however, a country where typhoons and earthquakes are frequent. Beyond damaging water supply and the power grid, natural disasters also reach network and communications equipment such as base stations and cables: the magnitude 7.2 Hualien earthquake of April 3, 2024 affected 172 mobile base stations at its peak (mostly concentrated in the Yilan–Hualien area)[1]; in July 2025, Typhoon Danas put more than 1,300 base stations in and around the Chiayi–Tainan area out of service through power loss or damage[2][3], and some of them were not fully repaired until the end of October that year[4]. A mobile network outage does not just make it hard for residents of a disaster area to reach family and friends; it also obstructs the coordination of relief work.&lt;/p&gt;

&lt;p&gt;It is worth noting that damage to base stations mostly produces a “localized outage,” whereas damage to Taiwan’s international subsea cables could produce an “island-wide slowdown”: the core servers of many everyday apps and websites sit overseas, so once international bandwidth drops sharply, services will still stall badly even when the domestic network is working normally. The &lt;a href=&quot;/en/ideas/2026-03-25-crc-march-25-decks/&quot;&gt;“Digital Resilience Forum: Subsea Cables and Network Infrastructure in an Age of Geopolitics”&lt;/a&gt;, held by Cyborg Resilience Co-lab (CRC) on March 25 this year, ran a simulation and analysis of exactly this kind of partially damaged network scenario[5]; one of its conclusions at the time was that “drills, whether run by government or by civil society, need to include scenarios in which the network is damaged.”&lt;/p&gt;

&lt;p&gt;The government has long promoted disaster prevention and relief education and evacuation drills, so that people become familiar with response procedures before a disaster arrives and build the capacity to handle sudden situations. The core of disaster mitigation (and prevention) is to reduce the impact of natural disasters on daily life as far as possible; as everyday life grows more dependent on the internet, “network slowdown or outage” should be brought into drill scenarios too.&lt;/p&gt;

&lt;p&gt;Drills of this kind, dealing with networks and communications, are not unprecedented internationally: the “Council for Emergency Communications” (Japanese: 非常通信協議会), formed by Japan’s Ministry of Internal Affairs and Communications together with telecommunications organizations, regularly runs “emergency communications training,” in which disaster information is relayed over backup power and alternative communications circuits when public lines and disaster-prevention radio are down[6]; South Korea’s 2025 “Ulchi exercise” (을지연습) mobilized roughly 4,000 agencies and 580,000 people, with scenarios covering not only communications outages and destruction of network infrastructure but also GPS jamming[7]; and NATO’s Cooperative Cyber Defence Centre of Excellence (CCDCOE) holds Locked Shields, the world’s largest live-fire cyber defense exercise, in Tallinn, Estonia every year, mobilizing 41 nations and more than 4,000 people to practice defending critical infrastructure, including scenarios in which communications infrastructure is destroyed[8].&lt;/p&gt;

&lt;p&gt;Finland has gone further still: for nine consecutive years the Digital and Population Data Services Agency (DVV) has run the nationwide “TAISTO” cyber and information security exercise, open free of charge to every public-sector organization, with more than 450 agencies and institutions taking part in recent editions; working with the police and national security agencies, it simulates scenarios such as cyberattacks, systems being hacked, and even AI information security[9].&lt;/p&gt;

&lt;p&gt;This year’s Urban Resilience Exercise includes a “mobile network throttling” drill for the first time: starting at 2:30 pm on August 10 (7 central counties and cities) and August 13 (7 northern counties and cities), it simulates the shortage of bandwidth that follows the activation of disaster roaming and tiered traffic limiting, throttling speeds for 30 minutes; voice calls, SMS, Public Warning System cell broadcasts, and emergency numbers such as 110 and 119 are all unaffected, and Wi-Fi running over fixed broadband is unaffected as well[10]. The public can use the occasion to practice alternatives such as offline maps, cash payment, and reaching people by phone number, preparing in advance for the natural disasters that may come.&lt;/p&gt;

&lt;p&gt;We are glad to see this item added to this year’s exercise, and we hope future exercises and disaster-prevention education will keep broadening and deepening scenarios related to digital resilience!&lt;/p&gt;

&lt;p&gt;With half a month to go before the exercise, CRC will share next week how to prepare for the “mobile network throttling” drill. We’d love for all you brilliant people to leave a comment and share what you, your family, or your friends have already arranged for this one~~&lt;/p&gt;

&lt;h2 id=&quot;references&quot;&gt;References&lt;/h2&gt;

&lt;ol&gt;
  &lt;li&gt;Central News Agency, “&lt;a href=&quot;https://www.cna.com.tw/news/ahel/202404030090.aspx&quot;&gt;Strong quake affects 172 base stations across the three major telecom operators; NCC estimates repairs today&lt;/a&gt;,” April 3, 2024.&lt;/li&gt;
  &lt;li&gt;Executive Yuan, “&lt;a href=&quot;https://www.ey.gov.tw/Page/448DE008087A1971/d6215b19-fc53-4373-989b-80ef81bf8277&quot;&gt;Typhoon Danas response measures and recovery status&lt;/a&gt;” (figures as of July 9, 2025; 1,360 base stations damaged).&lt;/li&gt;
  &lt;li&gt;United Daily News, “&lt;a href=&quot;https://udn.com/news/story/7326/8925595&quot;&gt;Typhoon Danas devastates communications in Chiayi–Tainan; NCC activates disaster roaming to avert digital isolation&lt;/a&gt;” (1,293 base stations in southern Taiwan knocked out by power loss or damage).&lt;/li&gt;
  &lt;li&gt;Central News Agency, “&lt;a href=&quot;https://www.cna.com.tw/news/afe/202508040028.aspx&quot;&gt;Typhoon Danas devastates base stations; Chunghwa Telecom: restoration scheduled by the end of October&lt;/a&gt;,” August 4, 2025.&lt;/li&gt;
  &lt;li&gt;CRC Cyborg Resilience Co-lab, &lt;a href=&quot;/en/ideas/2026-03-25-crc-march-25-decks/&quot;&gt;“Digital Resilience Forum: Subsea Cables and Network Infrastructure in an Age of Geopolitics”&lt;/a&gt;, March 25, 2026.&lt;/li&gt;
  &lt;li&gt;Council for Emergency Communications (非常通信協議会), &lt;em&gt;&lt;a href=&quot;https://www.bousai.go.jp/kaigirep/houkokusho/hukkousesaku/saigaitaiou/output_html_1/pdf/4.pdf&quot;&gt;非常通信確保のためのガイド・マニュアル&lt;/a&gt;&lt;/em&gt;.&lt;/li&gt;
  &lt;li&gt;이치저널, &lt;em&gt;&lt;a href=&quot;https://www.eachj.co.kr/news/articleView.html?idxno=13386&quot;&gt;“드론과 GPS가 멈춘다”… 전 국민이 훈련에 들어가는 3박 4일, 2025 을지연습&lt;/a&gt;&lt;/em&gt;, August 2025.&lt;/li&gt;
  &lt;li&gt;NATO CCDCOE, “&lt;a href=&quot;https://ccdcoe.org/locked-shields/&quot;&gt;Locked Shields&lt;/a&gt;.”&lt;/li&gt;
  &lt;li&gt;Digi- ja väestötietovirasto (DVV), “&lt;a href=&quot;https://dvv.fi/taisto&quot;&gt;TAISTO-harjoitus&lt;/a&gt;”; see also the &lt;a href=&quot;https://dvv.fi/-/tanaan-kaynnistyva-taisto-harjoitus-kokoaa-yli-330-organisaatiota-harjoittelemaan-ajankohtaisten-digiuhkien-varalle&quot;&gt;DVV press release&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Central News Agency, “&lt;a href=&quot;https://www.cna.com.tw/news/aipl/202607210026.aspx&quot;&gt;Urban Resilience Exercise: phones throttled, not disconnected, across 14 counties and cities — the affected scope explained in one read&lt;/a&gt;,” July 21, 2026.&lt;/li&gt;
&lt;/ol&gt;
</content>
    <author><name>Cyborg Resilience Co-lab</name></author>
  </entry>

  <entry>
    <title>CRC Digital Resilience Forum: Simulating a Drastic Drop in Taiwan&apos;s International Internet Traffic</title>
    <link href="https://crcolab.art/en/ideas/2026-03-25-crc-march-25-decks/"/>
    <id>https://crcolab.art/en/ideas/2026-03-25-crc-march-25-decks/</id>
    <updated>2026-03-25T00:00:00+08:00</updated>
    <category term="NOTE"/>
    <summary type="text">Speakers and further reading from CRC&apos;s March 2026 Digital Resilience Forum.</summary>
    <content type="html">&lt;p&gt;Original slides and materials published at &lt;a href=&quot;https://paulpengtw.github.io/crc-march-25-decks/&quot;&gt;https://paulpengtw.github.io/crc-march-25-decks/&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;topic-outline&quot;&gt;Topic Outline&lt;/h2&gt;

&lt;p&gt;At the March 2026 Digital Resilience Forum, Cheng Peng presented a simulation titled “Degradation of Taiwan’s International Internet Traffic.” The scenario: submarine cables severed by an earthquake, causing Taiwan to instantly lose 50% of its international bandwidth (*note 1). The talk then walks through the cascade of failures likely to appear within the first six hours, VoIP calls (LINE voice, Messenger voice) dropping, web pages freezing, apps breaking one after another, accounts logging out, and the maddening experience of full Wi-Fi bars yet nothing loading.&lt;/p&gt;

&lt;p&gt;This talk aims to explain the possible causes behind these network failures and what paths might mitigate their impact.&lt;/p&gt;

&lt;p&gt;*Note 1: Losing half the submarine cables does not equal losing half the international internet traffic.&lt;/p&gt;

&lt;div class=&quot;phase-header&quot;&gt;
  &lt;span class=&quot;phase-badge phase-badge--1&quot;&gt;0–5 min&lt;/span&gt;
  &lt;h2&gt;Phase 1: Why Did Voice Calls Suddenly Drop?&lt;/h2&gt;
&lt;/div&gt;

&lt;h3 id=&quot;what-you-might-experience&quot;&gt;What You Might Experience&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;LINE voice call → robotic audio → disconnected ☎️❌&lt;/li&gt;
  &lt;li&gt;Instagram → blank screen&lt;/li&gt;
  &lt;li&gt;Google Drive → half-loaded, stuck&lt;/li&gt;
  &lt;li&gt;Glance at the top-right corner&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Wi-Fi signal: full bars 📶&lt;/strong&gt;&lt;/p&gt;

&lt;h3 id=&quot;is-it-the-wi-fi-router-or-the-internet&quot;&gt;“Is It the Wi-Fi Router or the Internet?”&lt;/h3&gt;

&lt;p&gt;Full Wi-Fi bars ≠ working internet&lt;/p&gt;

&lt;div style=&quot;margin-top: 1em; text-align: left;&quot;&gt;
  &lt;p&gt;📱 → 📡 &lt;strong&gt;Wi-Fi&lt;/strong&gt;: your phone to your home router&lt;/p&gt;
  &lt;p style=&quot;color: #aaa;&quot;&gt;This part is perfectly fine ✓&lt;/p&gt;
&lt;/div&gt;

&lt;div style=&quot;text-align: left;&quot;&gt;
  &lt;p&gt;📡 → 🌏 &lt;strong&gt;Internet&lt;/strong&gt;: your router to the rest of the world&lt;/p&gt;
  &lt;p style=&quot;color: #e74c3c;&quot;&gt;This is where the problem lies ✗&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;The problem isn’t at home, it’s on the &lt;strong&gt;ocean floor&lt;/strong&gt;.&lt;/p&gt;

&lt;h3 id=&quot;what-is-the-internet-really&quot;&gt;What Is the Internet, Really?&lt;/h3&gt;

&lt;p&gt;Think of the internet as a system of &lt;strong&gt;thousands of post offices&lt;/strong&gt;.&lt;/p&gt;

&lt;div style=&quot;margin-top: 1em;&quot;&gt;
  &lt;p&gt;🏣 Each post office = a network node (ISP, data center)&lt;/p&gt;
&lt;/div&gt;

&lt;div&gt;
  &lt;p&gt;✉️ Your data = individual letters (packets)&lt;/p&gt;
&lt;/div&gt;

&lt;div&gt;
  &lt;p&gt;🛣️ Post offices are connected by many routes for relaying letters&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;Sending a letter from Taipei to Tokyo means it passes through several post offices, relayed from one to the next.&lt;/p&gt;

&lt;p&gt;The internet isn’t a single line, it’s many nodes relaying data to each other. Each ISP and data center is like a post office. Your data is like letters, forwarded hop by hop to the destination.&lt;/p&gt;

&lt;h3 id=&quot;how-does-a-post-office-know-where-to-send-a-letter&quot;&gt;How Does a Post Office Know Where to Send a Letter?&lt;/h3&gt;

&lt;p&gt;Every post office has a &lt;strong&gt;signboard&lt;/strong&gt; out front 🪧&lt;/p&gt;

&lt;div style=&quot;margin-top: 0.5em; background: rgba(255,255,255,0.05); padding: 0.8em; border-radius: 8px;&quot;&gt;
  &lt;p style=&quot;text-align: left;&quot;&gt;&quot;Going to Japan? → Hand it to the post office to the south&quot;&lt;/p&gt;
  &lt;p style=&quot;text-align: left;&quot;&gt;&quot;Going to the US? → Hand it to the post office to the east&quot;&lt;/p&gt;
  &lt;p style=&quot;text-align: left;&quot;&gt;&quot;Going to Kaohsiung? → Hand it to the one next door&quot;&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;This signboard, in networking, is called a &lt;strong&gt;routing table&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The way post offices keep each other’s signboards up to date is called &lt;strong&gt;BGP&lt;/strong&gt; (Border Gateway Protocol).&lt;/p&gt;

&lt;p&gt;A routing table is each network node’s “directional guide.” BGP is the protocol the global internet uses to synchronize routing information. No need to memorize the jargon, just remember: BGP = the system through which post offices notify each other “how to get there.”&lt;/p&gt;

&lt;h3 id=&quot;cables-cut--routes-cut&quot;&gt;Cables Cut = Routes Cut&lt;/h3&gt;

&lt;p&gt;The light beams inside the fiber &lt;strong&gt;vanish instantly&lt;/strong&gt; (they’re severed, after all).&lt;/p&gt;

&lt;p&gt;The post office nearest to the break is the first to notice: &lt;span style=&quot;color: #e74c3c;&quot;&gt;“This route is down!”&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;It immediately broadcasts to its neighbors: “Attention everyone! The southbound route is broken! Stop sending letters this way!”&lt;/p&gt;

&lt;p style=&quot;color: #f39c12;&quot;&gt;The message starts spreading from one post office to the next…&lt;/p&gt;

&lt;p&gt;Submarine cables are fiber optic. When severed, the optical signal disappears instantly, not a gradual fade, but an immediate zero. The router (post office) connected to that cable detects the link failure and announces via BGP to its neighbors: this route is no longer valid. That announcement ripples outward across the global internet.&lt;/p&gt;

&lt;h3 id=&quot;the-chaos-of-rerouting&quot;&gt;The Chaos of Rerouting&lt;/h3&gt;

&lt;p style=&quot;color: #aaa;&quot;&gt;BGP Reconvergence&lt;/p&gt;

&lt;p&gt;Thousands of post offices worldwide receive the news, but not &lt;strong&gt;simultaneously&lt;/strong&gt;.&lt;/p&gt;

&lt;div style=&quot;margin-top: 0.8em; background: rgba(255,255,255,0.05); padding: 0.8em; border-radius: 8px;&quot;&gt;
  &lt;p style=&quot;text-align: left;&quot;&gt;🏣 Post office A has already updated its signboard ✓&lt;/p&gt;
  &lt;p style=&quot;text-align: left;&quot;&gt;🏣 Post office B doesn&apos;t know the route is down yet ✗&lt;/p&gt;
  &lt;p style=&quot;text-align: left;&quot;&gt;🏣 Post office C got the message but is still computing new routes ⏳&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;Your letters end up…&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Sent down a route that’s already broken → &lt;strong&gt;lost&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;Bouncing back and forth between two post offices → &lt;strong&gt;looping&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;No post office willing to accept them → &lt;strong&gt;returned&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p style=&quot;color: #f39c12;&quot;&gt;This chaotic period: 30 seconds to several minutes&lt;/p&gt;

&lt;p&gt;BGP reconvergence is the process by which the entire internet reaches a new consensus. The problem: information propagation has latency, and different nodes update at different speeds. During this transition, routing tables are in an inconsistent state, some routers think the old route still exists, others have already switched. This causes packets to be dropped, looped, or sent into dead ends. Duration depends on network topology complexity and BGP convergence speed.&lt;/p&gt;

&lt;h3 id=&quot;to-you-it-probably-feels-like-everything-is-down&quot;&gt;To You, It Probably Feels Like, Everything Is Down&lt;/h3&gt;

&lt;div style=&quot;margin-top: 1em; text-align: left;&quot;&gt;
  &lt;p&gt;Packets dropped → web pages may not load&lt;/p&gt;
  &lt;p&gt;Packets rerouted the long way → latency may jump from 20ms to 2000ms&lt;/p&gt;
  &lt;p&gt;Packets looping → may never reach the destination&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;50% of international traffic is technically still there, but until routing reconverges, for the average person it may feel like &lt;strong&gt;total gridlock&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;50% of capacity remains, but during BGP convergence it’s nearly unusable. It’s like a major highway pileup, the next lane is still open, but because the signs are scrambled, every car is stuck at the interchange. Once BGP converges (all signboards are consistent again), the remaining 50% can actually be utilized, but then congestion becomes the next problem.&lt;/p&gt;

&lt;h3 id=&quot;line-voice-may-drop-but-text-might-survive&quot;&gt;LINE Voice May Drop, but Text Might Survive?&lt;/h3&gt;

&lt;div style=&quot;display: flex; justify-content: center; gap: 2em; flex-wrap: wrap;&quot;&gt;
  &lt;div style=&quot;background: rgba(46,204,113,0.1); padding: 1em; border-radius: 8px; flex: 1; min-width: 250px; max-width: 350px;&quot;&gt;
    &lt;p style=&quot;font-size: 1.2em;&quot;&gt;💬 Text messages&lt;/p&gt;
    &lt;p&gt;Tiny packets (maybe just a few KB)&lt;/p&gt;
    &lt;p&gt;Can squeeze through gaps in the chaos&lt;/p&gt;
    &lt;p&gt;A few seconds&apos; delay doesn&apos;t matter&lt;/p&gt;
  &lt;/div&gt;
  &lt;div style=&quot;background: rgba(231,76,60,0.1); padding: 1em; border-radius: 8px; flex: 1; min-width: 250px; max-width: 350px;&quot;&gt;
    &lt;p style=&quot;font-size: 1.2em;&quot;&gt;🎙️ Voice calls&lt;/p&gt;
    &lt;p&gt;Continuous real-time streams&lt;/p&gt;
    &lt;p&gt;Dropping a few packets = robotic voice&lt;/p&gt;
    &lt;p&gt;Latency over 300ms = call drops&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;div style=&quot;margin-top: 1.2em; border-top: 1px solid rgba(255,255,255,0.2); padding-top: 0.8em;&quot;&gt;
  &lt;p&gt;What we&apos;re not sure about:&lt;/p&gt;
  &lt;p style=&quot;color: #e74c3c;&quot;&gt;
    LINE&apos;s call servers &lt;strong&gt;might be in Japan?&lt;/strong&gt;&lt;br /&gt;
    Voice calls within Taiwan &lt;strong&gt;might have to cross the ocean&lt;/strong&gt; to connect?
  &lt;/p&gt;
&lt;/div&gt;

&lt;div class=&quot;phase-header&quot;&gt;
  &lt;span class=&quot;phase-badge phase-badge--2&quot;&gt;5–30 min&lt;/span&gt;
  &lt;h2&gt;Phase 2: Zombie Internet&lt;/h2&gt;
&lt;/div&gt;

&lt;p&gt;Entering Phase 2. BGP has finished reconverging and routing has stabilized. But people will notice: the internet is “alive” yet almost unusable. This phase explains two things: congestion collapse and the Trombone Effect.&lt;/p&gt;

&lt;h3 id=&quot;what-you-might-experience-1&quot;&gt;What You Might Experience&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Web pages half-loaded… stuck&lt;/li&gt;
  &lt;li&gt;Images half-rendered, the rest just gray&lt;/li&gt;
  &lt;li&gt;YouTube possibly spinning forever&lt;/li&gt;
  &lt;li&gt;LINE text barely sending, taking ages to deliver&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Signal is full 📶, appears “connected,” &lt;strong&gt;but may be too slow to use&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Unlike Phase 1 (complete disconnection during BGP convergence), this is “connected but extremely slow”, which is actually more confusing. People keep refreshing and retrying, which only makes things worse.&lt;/p&gt;

&lt;h3 id=&quot;wait-wasnt-the-route-fixed&quot;&gt;Wait, Wasn’t the Route Fixed?&lt;/h3&gt;

&lt;p&gt;BGP reconvergence complete ✓, all post office signboards are consistent now.&lt;/p&gt;

&lt;p&gt;The remaining 50% of international traffic works normally ✓, routes are open, letters can be delivered.&lt;/p&gt;

&lt;p style=&quot;color: #f39c12;&quot;&gt;So why is it still this slow?&lt;/p&gt;

&lt;p&gt;The routes aren’t broken, they’re just &lt;strong style=&quot;color: #e74c3c;&quot;&gt;too crowded&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The previous phase’s problem was “scrambled signboards” (BGP convergence). This phase’s problem is “too few lanes, too many cars” (congestion collapse). Two completely different failure mechanisms, but to users they feel about the same.&lt;/p&gt;

&lt;h3 id=&quot;imagine-a-highway&quot;&gt;Imagine a Highway&lt;/h3&gt;

&lt;p&gt;Taiwan’s international traffic = a &lt;strong&gt;10-lane&lt;/strong&gt; highway 🛣️&lt;/p&gt;

&lt;p&gt;Normally, traffic fills about &lt;strong&gt;7–8 lanes&lt;/strong&gt;, there’s room to spare, everyone moves smoothly.&lt;/p&gt;

&lt;p style=&quot;color: #e74c3c;&quot;&gt;Losing 50% of capacity = suddenly only &lt;strong&gt;5 lanes&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;But traffic volume hasn’t changed, &lt;strong&gt;same number of cars, half the road&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Highway analogy for congestion. Normally, submarine cable utilization is around 40–60%, so there’s headroom. After losing half, the remaining capacity is instantly saturated. Traffic doesn’t decrease just because there are fewer lanes.&lt;/p&gt;

&lt;h3 id=&quot;the-chain-reaction-of-gridlock&quot;&gt;The Chain Reaction of Gridlock&lt;/h3&gt;

&lt;p style=&quot;color: #aaa;&quot;&gt;Why isn&apos;t it &quot;half as fast&quot; but rather &quot;barely moving&quot;?&lt;/p&gt;

&lt;div style=&quot;background: rgba(255,255,255,0.05); padding: 0.8em; border-radius: 8px;&quot;&gt;
  &lt;p style=&quot;text-align: left;&quot;&gt;🚗 Too many cars, some can&apos;t merge → &lt;strong&gt;packets dropped&lt;/strong&gt;&lt;/p&gt;
  &lt;p style=&quot;text-align: left;&quot;&gt;🔄 Dropped cars say &quot;Let me try again!&quot; → &lt;strong&gt;back on the road&lt;/strong&gt;&lt;/p&gt;
  &lt;p style=&quot;text-align: left;&quot;&gt;🚗🚗🚗 Everyone retrying → &lt;strong&gt;even more cars on the road&lt;/strong&gt;&lt;/p&gt;
  &lt;p style=&quot;text-align: left;&quot;&gt;💥 More cars dropped → more retries → &lt;strong&gt;vicious cycle&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;p style=&quot;color: #e74c3c;&quot;&gt;This is called &quot;congestion collapse&quot;&lt;br /&gt;&lt;span style=&quot;color: #aaa;&quot;&gt;Congestion Collapse&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;This is the core mechanism of congestion collapse. TCP retransmits when it detects packet loss. But when all connections retransmit simultaneously, they generate even more traffic, worsen the congestion, cause more packet loss, and trigger more retransmissions. This vicious cycle is congestion collapse.&lt;/p&gt;

&lt;h3 id=&quot;understanding-it-through-letters&quot;&gt;Understanding It Through Letters&lt;/h3&gt;

&lt;p style=&quot;color: #aaa;&quot;&gt;(Continuing the post office analogy)&lt;/p&gt;

&lt;p&gt;You sent a letter to the US ✉️&lt;/p&gt;

&lt;p&gt;Too much traffic on the route, the letter was lost → you never got a reply.&lt;/p&gt;

&lt;p&gt;You think: “Probably got lost, let me send another!”, your computer thinks the same way (TCP retransmission).&lt;/p&gt;

&lt;p style=&quot;color: #f39c12;&quot;&gt;Now imagine 23 million people in Taiwan, all with their phones &quot;sending another&quot; at the same time…&lt;/p&gt;

&lt;p style=&quot;color: #e74c3c;&quot;&gt;🏔️ Letter avalanche&lt;/p&gt;

&lt;p&gt;TCP retransmission works great under normal conditions, occasionally drop a packet, just resend it. But under total congestion, everyone resending simultaneously becomes a disaster. It’s like everyone honking and cutting lanes during a traffic jam, it only makes things worse.&lt;/p&gt;

&lt;p&gt;50% physical capacity ≠ 50% usable bandwidth. Due to the nonlinear effects of congestion collapse, once link utilization exceeds a certain threshold, effective throughput drops sharply. Some studies show that under severe congestion, effective bandwidth utilization can drop to 15–20%.&lt;/p&gt;

&lt;h3 id=&quot;what-your-experience-might-look-like&quot;&gt;What Your Experience Might Look Like&lt;/h3&gt;

&lt;div style=&quot;text-align: left;&quot;&gt;
  &lt;p&gt;📄 Web pages → text may load, but images spin forever&lt;/p&gt;
  &lt;p&gt;🎬 Video → possibly 240p pixelated, constantly buffering&lt;/p&gt;
  &lt;p&gt;📥 Downloads → speeds may drop from 100 Mbps to 2 Mbps&lt;/p&gt;
  &lt;p&gt;📱 Apps → may open, but every action takes 10+ seconds&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;Not disconnected, but &lt;strong&gt;slow enough to make you cry&lt;/strong&gt; qq&lt;/p&gt;

&lt;p&gt;This is the concrete impact of congestion collapse. “Too slow to use” is worse than “completely offline,” because you keep retrying, keep waiting, wasting huge amounts of time. And you can’t tell if it’s your problem or the entire network.&lt;/p&gt;

&lt;h3 id=&quot;the-next-problem-is-even-stranger&quot;&gt;The Next Problem Is Even Stranger&lt;/h3&gt;

&lt;p&gt;Some websites have servers &lt;strong&gt;physically in Taiwan&lt;/strong&gt;, theoretically don’t need international routes, and shouldn’t be affected.&lt;/p&gt;

&lt;p style=&quot;color: #e74c3c;&quot;&gt;&lt;strong&gt;But they may also be broken&lt;/strong&gt; 🤯&lt;/p&gt;

&lt;p&gt;Why?&lt;/p&gt;

&lt;p&gt;Congestion collapse explains “why international traffic is slow.” But next we need to explain an even more bizarre phenomenon: why services whose servers are in Taiwan, requiring no submarine cables, are also broken. This is where the Trombone Effect comes in.&lt;/p&gt;

&lt;h3 id=&quot;-the-convenience-store-story&quot;&gt;🏪 The Convenience Store Story&lt;/h3&gt;

&lt;p&gt;There’s a 7-Eleven on your street corner. You want to buy a bottle of water.&lt;/p&gt;

&lt;p&gt;Normally: 🏠 → 🚶 30-second walk → 🏪 Done!&lt;/p&gt;

&lt;p&gt;It’s like connecting to a &lt;strong&gt;server in Taiwan&lt;/strong&gt; from Taiwan, data doesn’t need to cross the ocean, it stays on the island.&lt;/p&gt;

&lt;p&gt;The convenience store analogy explains the Trombone Effect. Server is in Taiwan, you’re in Taiwan, data transfers directly within the island. As simple as walking to your corner 7-Eleven.&lt;/p&gt;

&lt;h3 id=&quot;but-some-isps-say&quot;&gt;But Some ISPs Say…&lt;/h3&gt;

&lt;div style=&quot;background: rgba(231,76,60,0.1); padding: 1em; border-radius: 8px;&quot;&gt;
  &lt;p&gt;&quot;No! You can&apos;t just go to the one on your corner!&quot;&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;Some ISPs dictate this route:&lt;/p&gt;

&lt;div style=&quot;background: rgba(255,255,255,0.05); padding: 0.8em; border-radius: 8px;&quot;&gt;
  &lt;p&gt;
    🏠 Your home&lt;br /&gt;
    → ✈️ First, fly to &lt;strong&gt;Tokyo&lt;/strong&gt;&lt;br /&gt;
    → 🏪 Check out at a Tokyo 7-Eleven&lt;br /&gt;
    → ✈️ Fly back to Taiwan&lt;br /&gt;
    → 🏠 Get your water
  &lt;/p&gt;
&lt;/div&gt;

&lt;p style=&quot;color: #f39c12;&quot;&gt;All for a bottle of water available on your street corner 🤦&lt;/p&gt;

&lt;p&gt;Your request is forced overseas and back. The server is right next to you, but your ISP’s routing configuration sends the traffic to Japan or Hong Kong before looping it back, absurd indeed.&lt;/p&gt;

&lt;h3 id=&quot;why-do-some-isps-route-this-way&quot;&gt;Why Do Some ISPs Route This Way?&lt;/h3&gt;

&lt;p&gt;Because Taiwan’s ISPs &lt;strong&gt;don’t “shake hands” locally&lt;/strong&gt;.&lt;/p&gt;

&lt;div style=&quot;background: rgba(255,255,255,0.05); padding: 0.8em; border-radius: 8px; text-align: left;&quot;&gt;
  &lt;p&gt;🤝 &lt;strong&gt;Peering&lt;/strong&gt;: two providers agree, &quot;your users can directly reach my servers&quot;&lt;/p&gt;
  &lt;p style=&quot;margin-top: 0.5em;&quot;&gt;🏢 &lt;strong&gt;Internet Exchange&lt;/strong&gt;: a place where everyone comes to shake hands&lt;/p&gt;
&lt;/div&gt;

&lt;p style=&quot;color: #e74c3c;&quot;&gt;Problem: some Taiwan ISPs aren&apos;t keen on shaking hands with others&lt;br /&gt;&lt;span style=&quot;color: #aaa;&quot;&gt;or they share very little traffic&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;Explaining peering and Internet Exchange concepts. “Handshake” as an analogy for peering. TPIX is one of Taiwan’s internet exchange points, in theory, ISPs can directly exchange traffic there without routing overseas. But in practice, many ISPs (especially large ones) refuse to peer at TPIX, believing their network is big enough not to need to “shake hands” with smaller ones, or they show up but only open minimal bandwidth.&lt;/p&gt;

&lt;h3 id=&quot;you-dont-notice-under-normal-conditions&quot;&gt;You Don’t Notice Under Normal Conditions&lt;/h3&gt;

&lt;p&gt;The detour through Tokyo only adds &lt;strong&gt;20–30 milliseconds&lt;/strong&gt;, you wouldn’t notice the difference.&lt;/p&gt;

&lt;p&gt;So some ISPs think: “Users won’t notice anyway, why spend money on local peering?”&lt;/p&gt;

&lt;p style=&quot;color: #e74c3c;&quot;&gt;Until the cables go down: &lt;strong&gt;that overseas detour is now jammed&lt;/strong&gt;&lt;/p&gt;

&lt;p style=&quot;color: #f39c12;&quot;&gt;Your bottle of water is stuck in a queue on the Tokyo airport runway&lt;/p&gt;

&lt;h3 id=&quot;result-server-right-next-to-you-but-you-cant-connect&quot;&gt;Result: Server Right Next to You, but You Can’t Connect&lt;/h3&gt;

&lt;div style=&quot;display: flex; justify-content: center; gap: 1.5em; flex-wrap: wrap;&quot;&gt;
  &lt;div style=&quot;background: rgba(255,255,255,0.05); padding: 0.8em; border-radius: 8px; min-width: 200px; text-align: center;&quot;&gt;
    &lt;p&gt;📍 Server location&lt;/p&gt;
    &lt;p style=&quot;font-weight: bold;&quot;&gt;Taipei, Neihu&lt;/p&gt;
    &lt;p style=&quot;color: #aaa;&quot;&gt;10 km from you&lt;/p&gt;
  &lt;/div&gt;
  &lt;div style=&quot;background: rgba(255,255,255,0.05); padding: 0.8em; border-radius: 8px; min-width: 200px; text-align: center;&quot;&gt;
    &lt;p&gt;📍 Actual route your data takes&lt;/p&gt;
    &lt;p style=&quot;font-weight: bold;&quot;&gt;Taipei → Tokyo → Taipei&lt;/p&gt;
    &lt;p style=&quot;color: #aaa;&quot;&gt;A 4,000 km detour&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p style=&quot;color: #e74c3c;&quot;&gt;International congestion → detour jammed → you can&apos;t reach a server 10 km away&lt;/p&gt;

&lt;p&gt;This is &lt;strong&gt;tromboning&lt;/strong&gt; 🎺, the “trombone effect”: data loops around like the slide of a trombone.&lt;/p&gt;

&lt;h3 id=&quot;two-main-bottlenecks-of-this-phase&quot;&gt;Two Main Bottlenecks of This Phase&lt;/h3&gt;

&lt;div style=&quot;display: flex; justify-content: center; gap: 2em; flex-wrap: wrap;&quot;&gt;
  &lt;div style=&quot;background: rgba(231,76,60,0.1); padding: 1em; border-radius: 8px; flex: 1; min-width: 250px; max-width: 380px;&quot;&gt;
    &lt;p style=&quot;color: #e74c3c;&quot;&gt;❶ Massive Gridlock&lt;/p&gt;
    &lt;p&gt;50% capacity ≠ 50% speed&lt;br /&gt;Usable bandwidth may drop to just &lt;strong&gt;15–20%&lt;/strong&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div style=&quot;background: rgba(243,156,18,0.1); padding: 1em; border-radius: 8px; flex: 1; min-width: 250px; max-width: 380px;&quot;&gt;
    &lt;p style=&quot;color: #f39c12;&quot;&gt;❷ Massive Detours&lt;/p&gt;
    &lt;p&gt;Insufficient domestic peering&lt;br /&gt;Domestic traffic forced overseas&lt;br /&gt;Even &lt;strong&gt;local servers&lt;/strong&gt; affected&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;These two problems combined: &lt;strong&gt;“having internet” may not mean “usable internet.”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Summarizing the two core concepts of this phase. Congestion collapse: the nonlinear relationship between physical capacity and actual usable bandwidth. Trombone Effect: routing policies causing traffic that shouldn’t cross the ocean to also suffer. Together, they create “zombie internet”, looks alive, practically unusable.&lt;/p&gt;

&lt;h3 id=&quot;but-it-may-get-even-worse&quot;&gt;But It May Get Even Worse…&lt;/h3&gt;

&lt;p&gt;The services still working, maybe Google Search occasionally returns results, some web pages are still viewable, they’re still alive possibly because of &lt;strong&gt;“caching”&lt;/strong&gt;: copies previously stored in Taiwan that still work temporarily.&lt;/p&gt;

&lt;p&gt;But caches have &lt;strong&gt;expiration dates&lt;/strong&gt;…&lt;/p&gt;

&lt;p style=&quot;color: #e74c3c;&quot;&gt;&lt;strong&gt;When they expire, services may break one by one ⏳&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Many services still functioning are relying on CDN caches. Caches have TTLs (time-to-live); once expired, they must fetch fresh data from overseas origin servers. But with submarine cable congestion, the fetch fails → cache expires → service goes down. This pattern of “gradual degradation” is explained in detail in the next phase.&lt;/p&gt;

&lt;div class=&quot;phase-header&quot;&gt;
  &lt;span class=&quot;phase-badge phase-badge--3&quot;&gt;30–60 min&lt;/span&gt;
  &lt;h2&gt;Phase 3: It Was Just Working, Why Is It Broken Again?&lt;/h2&gt;
&lt;/div&gt;

&lt;p&gt;Entering Phase 3. Congestion has stabilized, ISPs have started traffic management. But people notice a peculiar phenomenon: things that were working start breaking one by one. This phase explains three mechanisms: CDN cache expiry, Auth Token expiry, and DNS cache expiry. The “gradual degradation” caused by these three mechanisms is more dangerous than total disconnection, because it makes it impossible to pinpoint where the problem lies.&lt;/p&gt;

&lt;h3 id=&quot;what-you-experience&quot;&gt;What You Experience&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Google Drive was working a moment ago, now it’s stuck&lt;/li&gt;
  &lt;li&gt;News sites show text but all images are gone&lt;/li&gt;
  &lt;li&gt;LINE may crash and you can’t log back in&lt;/li&gt;
  &lt;li&gt;Banking app asks you to re-enter your password, then spins forever&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Not everything breaks at once, &lt;strong&gt;they break one by one&lt;/strong&gt;, seemingly at random.&lt;/p&gt;

&lt;p&gt;This kind of “gradual failure” is the most confusing. Total disconnection actually lets people know “the internet is down” and prompts them to find alternatives. But when things break one at a time, some still working, some not, people keep retrying, wasting time, and growing more anxious. Next we explain why things “break one by one.” The answer: three different “expiration timers” are all counting down simultaneously.&lt;/p&gt;

&lt;h3 id=&quot;back-to-the-convenience-store&quot;&gt;Back to the Convenience Store&lt;/h3&gt;

&lt;p&gt;Your neighborhood &lt;strong&gt;7-Eleven&lt;/strong&gt; 🏪, the shelves have “copies” of drinks, bento boxes, and snacks.&lt;/p&gt;

&lt;p&gt;Where do these products come from? &lt;strong&gt;Overseas warehouses&lt;/strong&gt; 🚢, the 7-Eleven doesn’t make anything; it stocks goods from warehouses and puts them on shelves for you.&lt;/p&gt;

&lt;p&gt;The digital world works the same way. &lt;strong&gt;CDN&lt;/strong&gt; is your neighborhood’s digital convenience store (Content Delivery Network).&lt;/p&gt;

&lt;p&gt;CDN = Content Delivery Network. Companies like Cloudflare, Akamai, and CloudFront have “edge nodes” in Taiwan. These nodes are like convenience stores: they copy content from overseas servers and store it locally in Taiwan, so users don’t have to fetch from overseas every time. The web page images, CSS, and JavaScript files you browse often come from CDN nodes in Taiwan.&lt;/p&gt;

&lt;h3 id=&quot;expiration-date-ttl&quot;&gt;Expiration Date: TTL&lt;/h3&gt;

&lt;p style=&quot;color: #aaa;&quot;&gt;Time To Live&lt;/p&gt;

&lt;p&gt;Convenience store bento boxes have &lt;strong&gt;expiration dates&lt;/strong&gt;, once expired, they can’t be sold and must be restocked from the warehouse.&lt;/p&gt;

&lt;p&gt;CDN caches have a similar expiration mechanism called &lt;strong&gt;TTL&lt;/strong&gt; (Time To Live: how long this copy remains valid).&lt;/p&gt;

&lt;p&gt;TTL might be &lt;strong&gt;5 minutes&lt;/strong&gt; or &lt;strong&gt;24 hours&lt;/strong&gt;, every website and every file has different settings.&lt;/p&gt;

&lt;p style=&quot;color: #f39c12;&quot;&gt;For the first 30 minutes, most caches haven&apos;t expired yet, so things &quot;still work.&quot; Now, expiration dates are starting to hit one by one.&lt;/p&gt;

&lt;p&gt;TTL is set by the server, telling the CDN “how long this copy can be used.” A news site’s homepage images might have a TTL of just 5 minutes (needs real-time updates). A jQuery library might have a TTL of 1 year (rarely changes). In the first 30 minutes after the cable break, most caches are still within their validity period, so users feel things are “okay.” But as time passes, various caches’ TTLs expire one by one, and problems start appearing.&lt;/p&gt;

&lt;h3 id=&quot;the-convenience-store-cant-restock&quot;&gt;The Convenience Store Can’t Restock&lt;/h3&gt;

&lt;p&gt;Bento boxes on the shelf have expired → time to restock from the warehouse.&lt;/p&gt;

&lt;p style=&quot;color: #e74c3c;&quot;&gt;But the road to the warehouse is jammed 🚛💨&lt;/p&gt;

&lt;p&gt;(International traffic congestion = extremely slow international connections)&lt;/p&gt;

&lt;p&gt;The restocking truck has departed… but is stuck in traffic and can’t get back. The CDN requests fresh data from the overseas origin server → timeout → failure.&lt;/p&gt;

&lt;p style=&quot;color: #e74c3c;&quot;&gt;&lt;strong&gt;Expired cache + can&apos;t restock = empty shelves&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When a CDN cache’s TTL expires, the CDN node sends a revalidation request to the overseas “origin server.” Normally this takes just milliseconds. But now international connections are congested, the request either times out or responds extremely slowly. The CDN can’t get new data, so it can’t continue serving content; users see a loading failure.&lt;/p&gt;

&lt;h3 id=&quot;why-can-some-things-load-but-not-others&quot;&gt;Why Can Some Things Load but Not Others?&lt;/h3&gt;

&lt;div style=&quot;display: flex; justify-content: center; gap: 2em; flex-wrap: wrap; margin-top: 0.8em;&quot;&gt;
  &lt;div style=&quot;background: rgba(46,204,113,0.1); padding: 1em; border-radius: 8px; flex: 1; min-width: 250px; max-width: 350px;&quot;&gt;
    &lt;p&gt;✅ Still viewable&lt;/p&gt;
    &lt;p style=&quot;color: #aaa;&quot;&gt;Popular YouTube videos&lt;br /&gt;Commonly used website CSS/JS&lt;br /&gt;News images everyone&apos;s viewing&lt;/p&gt;
    &lt;p style=&quot;color: #2ecc71;&quot;&gt;→ Cache recently refreshed, TTL not yet expired&lt;/p&gt;
  &lt;/div&gt;
  &lt;div style=&quot;background: rgba(231,76,60,0.1); padding: 1em; border-radius: 8px; flex: 1; min-width: 250px; max-width: 350px;&quot;&gt;
    &lt;p&gt;❌ Can&apos;t view&lt;/p&gt;
    &lt;p style=&quot;color: #aaa;&quot;&gt;Niche pages, old articles&lt;br /&gt;Documents you haven&apos;t opened in a while&lt;br /&gt;Real-time content with short TTLs&lt;/p&gt;
    &lt;p style=&quot;color: #e74c3c;&quot;&gt;→ Cache expired, restock failed&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;This is why &lt;strong&gt;some parts of the same website work while others don’t&lt;/strong&gt;, leading people to think the site is broken, when really it’s just different cache expiration times.&lt;/p&gt;

&lt;p&gt;This explains why users feel the failures are “random.” On the same website, HTML text might have a 24-hour cache TTL (still valid), but images might have just a 1-hour TTL (already expired). So you see text appearing but all images blank, a bizarre sight. Content accessed by more people stays “fresher” because restocking is constantly triggered. Niche content is the opposite, the cache has likely expired long ago.&lt;/p&gt;

&lt;h3 id=&quot;what-is-an-auth-token&quot;&gt;What Is an Auth Token?&lt;/h3&gt;

&lt;p&gt;Imagine going to an &lt;strong&gt;amusement park&lt;/strong&gt; 🎢&lt;/p&gt;

&lt;p&gt;At the entrance, you &lt;strong&gt;buy a ticket and verify your identity&lt;/strong&gt;, then a staff member stamps your hand with a &lt;strong&gt;stamp&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Using the amusement park analogy to explain Auth Tokens. This concept is unfamiliar to non-technical audiences, but it’s key to understanding “why apps log you out one by one.”&lt;/p&gt;

&lt;h3 id=&quot;the-stamp-on-your-hand--auth-token&quot;&gt;The Stamp on Your Hand = Auth Token&lt;/h3&gt;

&lt;p&gt;With the stamp, you can:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Ride the roller coaster 🎢, show the staff your stamp ✓&lt;/li&gt;
  &lt;li&gt;Ride the carousel 🎠, show stamp ✓&lt;/li&gt;
  &lt;li&gt;Buy park food 🍔, show stamp ✓&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No need to re-queue, re-purchase tickets, or re-verify your identity each time. The stamp represents “this person has already been verified.”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;An Auth Token is that stamp on your hand.&lt;/strong&gt; After logging into Google, your browser receives a “stamp”, then opening Gmail, Drive, or YouTube doesn’t require logging in again.&lt;/p&gt;

&lt;p&gt;Auth Token is this “stamp.” You log into Google once, and your browser gets a token. Every subsequent request to Gmail, Google Drive, or YouTube includes this token. The server sees the token and knows “this is an authenticated user” without asking for your password each time.&lt;/p&gt;

&lt;h3 id=&quot;but-the-stamp-fades&quot;&gt;But the Stamp Fades&lt;/h3&gt;

&lt;p&gt;The amusement park’s stamp uses &lt;strong style=&quot;color: #f39c12;&quot;&gt;special ink&lt;/strong&gt;, after 15 minutes to 1 hour, the stamp fades and becomes invisible.&lt;/p&gt;

&lt;p&gt;Why not use permanent ink?&lt;/p&gt;

&lt;div style=&quot;background: rgba(231,76,60,0.1); padding: 0.8em; border-radius: 8px;&quot;&gt;
  &lt;p style=&quot;text-align: left;&quot;&gt;🔒 If someone &lt;strong&gt;copies your stamp&lt;/strong&gt; (token stolen)&lt;/p&gt;
  &lt;p style=&quot;text-align: left; color: #aaa;&quot;&gt;Fading ink → the thief can use it for 15 minutes at most&lt;/p&gt;
  &lt;p style=&quot;text-align: left; color: #aaa;&quot;&gt;Permanent ink → the thief can &lt;strong&gt;impersonate you forever&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;So tokens are intentionally designed to expire: it’s a security mechanism.&lt;/p&gt;

&lt;p&gt;Tokens being short-lived is a deliberate security decision. If a token were valid forever, once stolen (e.g., via XSS attack, man-in-the-middle attack), the attacker could impersonate you permanently. Short-lived tokens limit the damage of theft: even if stolen, it expires in 15 minutes. It’s like a credit card expiration date, not for your convenience, but to limit the risk of fraud.&lt;/p&gt;

&lt;h3 id=&quot;stamp-faded-go-back-to-the-ticket-booth&quot;&gt;Stamp Faded? Go Back to the Ticket Booth&lt;/h3&gt;

&lt;p&gt;Stamp faded → walk back to the entrance ticket booth 🎫, show your season pass, staff re-stamps your hand. The whole process takes seconds; you barely notice.&lt;/p&gt;

&lt;p&gt;Normally, this is a total non-issue, the app automatically “re-stamps” you in the background without you ever noticing.&lt;/p&gt;

&lt;p style=&quot;color: #e74c3c;&quot;&gt;But… what if the ticket booth is on the &lt;strong&gt;other side of the ocean&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;Under normal conditions, the “re-authentication” after token expiry happens automatically in the background. The browser or app uses a refresh token (like a season pass) to request a new access token from the authentication server. The entire process takes a few hundred milliseconds, users are completely unaware. But the critical question is: where is the authentication server?&lt;/p&gt;

&lt;h3 id=&quot;the-ticket-booth-is-across-the-ocean&quot;&gt;The Ticket Booth Is Across the Ocean&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Google’s authentication server is likely in 🇺🇸 the US&lt;/li&gt;
  &lt;li&gt;LINE’s authentication server is likely in 🇯🇵 Japan&lt;/li&gt;
  &lt;li&gt;Microsoft’s authentication server is likely in 🇺🇸 the US&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your stamp faded → you may need to cross the ocean to get re-stamped.&lt;/p&gt;

&lt;p style=&quot;color: #e74c3c;&quot;&gt;But international traffic is congested = that route is jammed 🚗🚗🚗&lt;/p&gt;

&lt;p&gt;The re-stamp request was &lt;strong&gt;sent… but the reply can’t get back&lt;/strong&gt;, waited 30 seconds → timeout → failed.&lt;/p&gt;

&lt;p style=&quot;color: #e74c3c;&quot;&gt;&lt;strong&gt;You&apos;ve been logged out. And you can&apos;t log back in.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is the core Auth Token problem during a submarine cable event. Google’s OAuth authentication servers are primarily in the US (accounts.google.com resolves to US IPs). LINE’s authentication goes through Japanese servers. Microsoft’s Azure AD is also in the US. When tokens expire and the app tries to re-authenticate with these overseas servers, the international connection is congested, requests time out, and you get logged out. And the login page itself also needs to connect to overseas servers, so even “logging back in” is impossible.&lt;/p&gt;

&lt;h3 id=&quot;everyone-gets-logged-out-at-different-times&quot;&gt;Everyone Gets Logged Out at Different Times&lt;/h3&gt;

&lt;div style=&quot;background: rgba(255,255,255,0.05); padding: 0.8em; border-radius: 8px;&quot;&gt;
  &lt;p style=&quot;text-align: left;&quot;&gt;
    ⏱️ 20 min after cable break: &lt;span style=&quot;color: #e74c3c;&quot;&gt;Google Drive&lt;/span&gt; stamp may have faded → possibly logged out&lt;br /&gt;
    ⏱️ 35 min after: &lt;span style=&quot;color: #e74c3c;&quot;&gt;LINE&lt;/span&gt; stamp may have faded → may crash and can&apos;t log back in&lt;br /&gt;
    ⏱️ 45 min after: &lt;span style=&quot;color: #e74c3c;&quot;&gt;Online banking&lt;/span&gt; stamp has faded → asks to re-login → fails&lt;br /&gt;
    ⏱️ 50 min after: &lt;span style=&quot;color: #e74c3c;&quot;&gt;Company Slack&lt;/span&gt; stamp may have faded → possibly disconnected entirely
  &lt;/p&gt;
&lt;/div&gt;

&lt;p style=&quot;color: #f39c12;&quot;&gt;This is why it seems &quot;completely random&quot;, because each app&apos;s stamp fades at a different time.&lt;/p&gt;

&lt;p&gt;Each service has a different token validity period: Google is typically 1 hour, some banking apps 15 minutes. And each user logged in at a different time, so tokens expire at different times. This creates the chaotic “gradual failure” scenario: your colleague’s Google Drive still works (they just logged in), yours doesn’t (your token just expired). Everyone asks each other “is yours working?” and gets different answers, even more confusing.&lt;/p&gt;

&lt;h3 id=&quot;the-true-face-of-a-token&quot;&gt;The True Face of a Token&lt;/h3&gt;

&lt;p&gt;Technically, a token looks like this:&lt;/p&gt;

&lt;div style=&quot;background: rgba(255,255,255,0.05); padding: 0.8em; border-radius: 8px; font-family: monospace; font-size: 0.7em; word-break: break-all; text-align: left;&quot;&gt;
  eyJhbGciOiJSUzI1NiJ9.&lt;span style=&quot;color: #3498db;&quot;&gt;eyJ1c2VyIjoi5bCP5piOIiwic2NvcGUiOiJkcml2ZSIsImV4cCI6MTcxMTEyMzQ1Nn0&lt;/span&gt;.SflKxwRJSMeKKF2QT4fw
&lt;/div&gt;

&lt;p&gt;This is called a &lt;strong&gt;JWT&lt;/strong&gt; (JSON Web Token), containing:&lt;/p&gt;

&lt;div style=&quot;display: flex; justify-content: center; gap: 1.5em; flex-wrap: wrap; margin-top: 0.5em;&quot;&gt;
  &lt;div style=&quot;background: rgba(52,152,219,0.1); padding: 0.6em 1em; border-radius: 8px;&quot;&gt;
    &lt;p style=&quot;margin: 0;&quot;&gt;👤 Who you are&lt;/p&gt;
    &lt;p style=&quot;margin: 0; color: #aaa; font-size: 0.8em;&quot;&gt;user: Xiao-Ming&lt;/p&gt;
  &lt;/div&gt;
  &lt;div style=&quot;background: rgba(52,152,219,0.1); padding: 0.6em 1em; border-radius: 8px;&quot;&gt;
    &lt;p style=&quot;margin: 0;&quot;&gt;🔑 What you can do&lt;/p&gt;
    &lt;p style=&quot;margin: 0; color: #aaa; font-size: 0.8em;&quot;&gt;scope: drive&lt;/p&gt;
  &lt;/div&gt;
  &lt;div style=&quot;background: rgba(52,152,219,0.1); padding: 0.6em 1em; border-radius: 8px;&quot;&gt;
    &lt;p style=&quot;margin: 0;&quot;&gt;⏰ When it expires&lt;/p&gt;
    &lt;p style=&quot;margin: 0; color: #aaa; font-size: 0.8em;&quot;&gt;exp: 1 hr&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;The last segment is a &lt;strong&gt;digital signature&lt;/strong&gt;: prevents forgery, only the server can generate it.&lt;/p&gt;

&lt;p&gt;JWT is the most common token format today. It has three parts (separated by &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.&lt;/code&gt;): header (algorithm), payload (content), signature. The middle payload section is base64-encoded, containing JSON data. The key part is the final signature: it’s signed with the server’s private key, so nobody can forge it. When the server receives a token, verifying the signature confirms whether it issued the token.&lt;/p&gt;

&lt;h3 id=&quot;the-life-of-a-token&quot;&gt;The Life of a Token&lt;/h3&gt;

&lt;div style=&quot;max-width: 90%;&quot;&gt;
  &lt;div style=&quot;background: rgba(46,204,113,0.1); padding: 0.6em 1em; border-radius: 8px; margin-bottom: 0.5em;&quot;&gt;
    &lt;p style=&quot;text-align: left; margin: 0;&quot;&gt;1️⃣ &lt;strong&gt;Login&lt;/strong&gt;: enter username &amp;amp; password → server gives you two things&lt;/p&gt;
    &lt;p style=&quot;text-align: left; margin: 0; color: #aaa; font-size: 0.9em;&quot;&gt;　　Access Token (entry stamp) valid for 15 min–1 hour&lt;/p&gt;
    &lt;p style=&quot;text-align: left; margin: 0; color: #aaa; font-size: 0.9em;&quot;&gt;　　Refresh Token (season pass) valid for days–weeks&lt;/p&gt;
  &lt;/div&gt;
  &lt;div style=&quot;background: rgba(52,152,219,0.1); padding: 0.6em 1em; border-radius: 8px; margin-bottom: 0.5em;&quot;&gt;
    &lt;p style=&quot;text-align: left; margin: 0;&quot;&gt;2️⃣ &lt;strong&gt;In use&lt;/strong&gt;: every action carries the Access Token&lt;/p&gt;
    &lt;p style=&quot;text-align: left; margin: 0; color: #aaa; font-size: 0.9em;&quot;&gt;　　Server sees the stamp and lets you through, no need to verify password each time&lt;/p&gt;
  &lt;/div&gt;
  &lt;div style=&quot;background: rgba(243,156,18,0.1); padding: 0.6em 1em; border-radius: 8px; margin-bottom: 0.5em;&quot;&gt;
    &lt;p style=&quot;text-align: left; margin: 0;&quot;&gt;3️⃣ &lt;strong&gt;Stamp fades&lt;/strong&gt;: Access Token expires → automatically renewed using Refresh Token&lt;/p&gt;
    &lt;p style=&quot;text-align: left; margin: 0; color: #aaa; font-size: 0.9em;&quot;&gt;　　Done automatically in the background, you never notice&lt;/p&gt;
  &lt;/div&gt;
  &lt;div style=&quot;background: rgba(231,76,60,0.1); padding: 0.6em 1em; border-radius: 8px;&quot;&gt;
    &lt;p style=&quot;text-align: left; margin: 0;&quot;&gt;4️⃣ &lt;strong&gt;Season pass also expires&lt;/strong&gt;: Refresh Token expires too → must re-enter username &amp;amp; password&lt;/p&gt;
    &lt;p style=&quot;text-align: left; margin: 0; color: #aaa; font-size: 0.9em;&quot;&gt;　　This is why you occasionally get asked to &quot;log in again&quot;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;The standard OAuth 2.0 flow. Access Token is short-lived (like the stamp on your hand), Refresh Token is long-lived (like a season pass). Normally, when the Access Token expires, the app automatically uses the Refresh Token to get a new Access Token from the server. This entire process happens in the background, users notice nothing. Only when the Refresh Token also expires (typically days to weeks) are you asked to re-enter your credentials.&lt;/p&gt;

&lt;h3 id=&quot;why-not-issue-a-permanent-pass&quot;&gt;Why Not Issue a Permanent Pass?&lt;/h3&gt;

&lt;div style=&quot;display: flex; justify-content: center; gap: 2em; flex-wrap: wrap;&quot;&gt;
  &lt;div style=&quot;background: rgba(231,76,60,0.1); padding: 1em; border-radius: 8px; flex: 1; min-width: 250px; max-width: 350px;&quot;&gt;
    &lt;p&gt;🔓 If tokens were permanent&lt;/p&gt;
    &lt;p style=&quot;color: #aaa;&quot;&gt;Stolen → attacker impersonates you forever&lt;/p&gt;
    &lt;p style=&quot;color: #aaa;&quot;&gt;Permissions changed → old token still has old permissions&lt;/p&gt;
    &lt;p style=&quot;color: #aaa;&quot;&gt;Left the company → token still works&lt;/p&gt;
  &lt;/div&gt;
  &lt;div style=&quot;background: rgba(46,204,113,0.1); padding: 1em; border-radius: 8px; flex: 1; min-width: 250px; max-width: 350px;&quot;&gt;
    &lt;p&gt;🔒 Tokens expire periodically&lt;/p&gt;
    &lt;p style=&quot;color: #aaa;&quot;&gt;Stolen → invalid in 15 minutes at most&lt;/p&gt;
    &lt;p style=&quot;color: #aaa;&quot;&gt;Permissions changed → updated at next renewal&lt;/p&gt;
    &lt;p style=&quot;color: #aaa;&quot;&gt;Left the company → token naturally expires&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Token expiration isn’t a design flaw, it’s a &lt;strong style=&quot;color: #2ecc71;&quot;&gt;security mechanism&lt;/strong&gt;, like periodically changing door lock codes: inconvenient, but more secure.&lt;/p&gt;

&lt;p&gt;This is the fundamental trade-off between security and convenience. A permanent token is like a key that never gets changed, convenient, but once copied, you’re done. Short-lived tokens are like periodically changed passcodes, annoying, but damage from a breach is limited. Under normal network conditions, the trade-off makes sense: re-authentication takes just a few hundred milliseconds, invisible to users. But during a submarine cable event, the “re-authentication” step suddenly becomes a fatal weakness.&lt;/p&gt;

&lt;h3 id=&quot;the-chain-reaction-during-a-cable-break&quot;&gt;The Chain Reaction During a Cable Break&lt;/h3&gt;

&lt;div style=&quot;max-width: 90%;&quot;&gt;
  &lt;div style=&quot;border-left: 3px solid #3498db; padding-left: 1em; margin-bottom: 0.5em;&quot;&gt;
    &lt;p style=&quot;margin: 0;&quot;&gt;Access Token expires&lt;/p&gt;
    &lt;p style=&quot;margin: 0; color: #aaa; font-size: 0.9em;&quot;&gt;App may attempt to use Refresh Token in the background for a new one&lt;/p&gt;
  &lt;/div&gt;
  &lt;div style=&quot;border-left: 3px solid #f39c12; padding-left: 1em; margin-bottom: 0.5em;&quot;&gt;
    &lt;p style=&quot;margin: 0;&quot;&gt;Refresh request possibly sent to overseas auth server&lt;/p&gt;
    &lt;p style=&quot;margin: 0; color: #aaa; font-size: 0.9em;&quot;&gt;But international connection is congested… waiting 10 sec, 20 sec…&lt;/p&gt;
  &lt;/div&gt;
  &lt;div style=&quot;border-left: 3px solid #e74c3c; padding-left: 1em; margin-bottom: 0.5em;&quot;&gt;
    &lt;p style=&quot;margin: 0; color: #e74c3c;&quot;&gt;Timeout failure ✗&lt;/p&gt;
    &lt;p style=&quot;margin: 0; color: #aaa; font-size: 0.9em;&quot;&gt;App determines &quot;authentication invalid&quot; → possibly forces logout&lt;/p&gt;
  &lt;/div&gt;
  &lt;div style=&quot;border-left: 3px solid #e74c3c; padding-left: 1em; margin-bottom: 0.5em;&quot;&gt;
    &lt;p style=&quot;margin: 0;&quot;&gt;Login page appears → you enter your credentials&lt;/p&gt;
    &lt;p style=&quot;margin: 0; color: #e74c3c; font-size: 0.9em;&quot;&gt;But the login page itself may need to connect to overseas servers → also times out ✗&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p style=&quot;color: #e74c3c;&quot;&gt;&lt;strong&gt;Logged out, and possibly can&apos;t log back in.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is a cascading failure:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;Access Token expires (normal mechanism)&lt;/li&gt;
  &lt;li&gt;Refresh request times out due to congestion (abnormal)&lt;/li&gt;
  &lt;li&gt;App determines authentication is invalid, forces logout (normal response)&lt;/li&gt;
  &lt;li&gt;User tries to log back in, but the login flow itself also requires international connectivity (fatal weakness)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Especially for OAuth login flows, the “Sign in with Google” button connects to accounts.google.com, and that server is in the US. So you can’t even open the login page.&lt;/p&gt;

&lt;h3 id=&quot;your-apps-may-be-logging-out-one-by-one&quot;&gt;Your Apps May Be Logging Out One by One&lt;/h3&gt;

&lt;div style=&quot;background: rgba(255,255,255,0.05); padding: 0.8em; border-radius: 8px;&quot;&gt;
  &lt;p style=&quot;text-align: left;&quot;&gt;
    &lt;span style=&quot;color: #2ecc71;&quot;&gt;t+0 min&lt;/span&gt;　International traffic drops: all Token timers start counting down&lt;br /&gt;
    &lt;span style=&quot;color: #2ecc71;&quot;&gt;t+15 min&lt;/span&gt;　&lt;span style=&quot;color: #aaa;&quot;&gt;Banking token expires → logged out&lt;/span&gt;&lt;br /&gt;
    &lt;span style=&quot;color: #f39c12;&quot;&gt;t+25 min&lt;/span&gt;　&lt;span style=&quot;color: #aaa;&quot;&gt;Slack token expires → possibly offline&lt;/span&gt;&lt;br /&gt;
    &lt;span style=&quot;color: #f39c12;&quot;&gt;t+35 min&lt;/span&gt;　&lt;span style=&quot;color: #aaa;&quot;&gt;LINE needs re-verification → possibly fails&lt;/span&gt;&lt;br /&gt;
    &lt;span style=&quot;color: #e74c3c;&quot;&gt;t+45 min&lt;/span&gt;　&lt;span style=&quot;color: #aaa;&quot;&gt;Google Drive token expires → possibly can&apos;t access files&lt;/span&gt;&lt;br /&gt;
    &lt;span style=&quot;color: #e74c3c;&quot;&gt;t+60 min&lt;/span&gt;　&lt;span style=&quot;color: #aaa;&quot;&gt;Possibly almost all authenticated services have failed&lt;/span&gt;
  &lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;A “single disconnection” is unlikely to happen, &lt;strong style=&quot;color: #e74c3c;&quot;&gt;it’s more like a slow-motion mass logout&lt;/strong&gt;. Different people, different apps, different times: it looks completely random.&lt;/p&gt;

&lt;p&gt;This is a timeline summary of the entire auth token story. The key takeaway: it’s not as simple as “the internet went down.” There’s an invisible countdown timer running inside every app, and the moment it hits zero, that app “dies.” And because every service has a different token validity period and every person logged in at a different time, the whole process looks completely random and without pattern.&lt;/p&gt;

&lt;h3 id=&quot;next-up-dns&quot;&gt;Next Up: DNS&lt;/h3&gt;

&lt;p&gt;CDN cache expires → content disappears. Auth Token expires → logged out.&lt;/p&gt;

&lt;p style=&quot;color: #f39c12;&quot;&gt;There&apos;s a third thing also counting down…&lt;/p&gt;

&lt;p&gt;And if this one breaks, &lt;strong&gt;you can’t even find where the website is&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The previous two problems were “can’t get content” and “can’t authenticate identity.” The third is even more fundamental: “can’t even look up the address.” So we need to explain from the very basics.&lt;/p&gt;

&lt;h3 id=&quot;what-is-dns-the-internets-phone-book&quot;&gt;What Is DNS? The Internet’s Phone Book&lt;/h3&gt;

&lt;p&gt;You type &lt;strong&gt;google.com&lt;/strong&gt; into your browser, but your computer doesn’t understand “google.com.”&lt;/p&gt;

&lt;p&gt;Computers only understand &lt;strong&gt;numeric addresses&lt;/strong&gt;: &lt;span style=&quot;color: #3498db;&quot;&gt;142.250.185.46&lt;/span&gt;, this is called an IP address, like a phone number, every server has one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DNS&lt;/strong&gt; = a phone book 📒, translating “names” to “phone numbers” (google.com → 142.250.185.46).&lt;/p&gt;

&lt;p style=&quot;color: #f39c12;&quot;&gt;Without this phone book, even knowing someone&apos;s name doesn&apos;t let you call them.&lt;/p&gt;

&lt;p&gt;DNS = Domain Name System. We use domain names to browse the internet, but computers communicate using IP addresses. DNS is the translation layer in between, converting human-readable names into computer-readable numbers. Without DNS, you’d have to memorize every website’s IP address to go online, like having to memorize everyone’s phone number without a contact list.&lt;/p&gt;

&lt;h3 id=&quot;how-does-dns-lookup-work-like-calling-directory-assistance&quot;&gt;How Does DNS Lookup Work? Like Calling Directory Assistance&lt;/h3&gt;

&lt;p&gt;Your phone wants to find &lt;strong&gt;google.com&lt;/strong&gt;’s phone number:&lt;/p&gt;

&lt;div style=&quot;max-width: 90%;&quot;&gt;
  &lt;div style=&quot;border-left: 3px solid #3498db; padding-left: 1em; margin-bottom: 0.4em;&quot;&gt;
    &lt;p style=&quot;margin: 0;&quot;&gt;1️⃣ First, check your own contacts (local cache)&lt;/p&gt;
    &lt;p style=&quot;margin: 0; color: #aaa; font-size: 0.85em;&quot;&gt;If you&apos;ve looked it up before, use it directly, no need to ask anyone&lt;/p&gt;
  &lt;/div&gt;
  &lt;div style=&quot;border-left: 3px solid #3498db; padding-left: 1em; margin-bottom: 0.4em;&quot;&gt;
    &lt;p style=&quot;margin: 0;&quot;&gt;2️⃣ Not there → call your ISP&apos;s directory service (DNS resolver)&lt;/p&gt;
    &lt;p style=&quot;margin: 0; color: #aaa; font-size: 0.85em;&quot;&gt;Your ISP has a server dedicated to looking up numbers for you&lt;/p&gt;
  &lt;/div&gt;
  &lt;div style=&quot;border-left: 3px solid #3498db; padding-left: 1em; margin-bottom: 0.4em;&quot;&gt;
    &lt;p style=&quot;margin: 0;&quot;&gt;3️⃣ ISP doesn&apos;t have it either → ask all the way up to &quot;headquarters&quot;&lt;/p&gt;
    &lt;p style=&quot;margin: 0; color: #aaa; font-size: 0.85em;&quot;&gt;Root Server → .com administrator → google.com&apos;s authoritative server&lt;/p&gt;
  &lt;/div&gt;
  &lt;div style=&quot;border-left: 3px solid #2ecc71; padding-left: 1em;&quot;&gt;
    &lt;p style=&quot;margin: 0; color: #2ecc71;&quot;&gt;4️⃣ Found it! Save the result in your contacts for next time&lt;/p&gt;
    &lt;p style=&quot;margin: 0; color: #aaa; font-size: 0.85em;&quot;&gt;This is &quot;DNS caching&quot;: remember the result to avoid calling every time&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;DNS lookup hierarchy:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;Local cache (your device remembers previous lookups)&lt;/li&gt;
  &lt;li&gt;ISP’s DNS resolver (like 8.8.8.8 or your ISP’s DNS)&lt;/li&gt;
  &lt;li&gt;Root servers → TLD servers (managing .com) → authoritative servers (google.com’s administrator)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Normally, this entire process takes just tens of milliseconds. And results are cached at each level, so next time you don’t have to start from scratch. But caches also have expiration dates.&lt;/p&gt;

&lt;h3 id=&quot;dns-cache-also-has-an-expiration-date&quot;&gt;DNS Cache Also Has an Expiration Date&lt;/h3&gt;

&lt;p&gt;The phone numbers in your contacts also “expire”, google.com’s TTL might be set to 300 seconds (5 minutes), some .tw websites might be set to 3600 seconds (1 hour).&lt;/p&gt;

&lt;p&gt;Why not remember permanently? Because servers might move (change IP), do load balancing, or perform failover. If you always use the old number, you might be calling a disconnected line.&lt;/p&gt;

&lt;p style=&quot;color: #f39c12;&quot;&gt;So DNS caches also have TTL: once expired, you must &lt;strong&gt;look up the number again&lt;/strong&gt;, normally takes tens of milliseconds, completely unnoticeable.&lt;/p&gt;

&lt;p&gt;DNS record TTLs are set by website administrators. Large websites typically have short TTLs (minutes) because they need to frequently adjust traffic distribution. Small websites may have longer TTLs (hours to a day). Under normal conditions, DNS re-lookup is very fast, but during a submarine cable event, many websites’ authoritative DNS servers are overseas, making re-lookups travel through congested international connections.&lt;/p&gt;

&lt;h3 id=&quot;dns-cache-expires--cant-find-the-address&quot;&gt;DNS Cache Expires = Can’t Find the Address&lt;/h3&gt;

&lt;p&gt;Imagine a website &lt;strong&gt;service.gov.tw&lt;/strong&gt; with its server right in Taipei 🏢.&lt;/p&gt;

&lt;p&gt;Your device looked it up before, your contacts have its IP → connection works, fast ✓&lt;/p&gt;

&lt;p&gt;But the DNS cache has expired: time to look up the number again. Where’s the authoritative DNS server? &lt;span style=&quot;color: #e74c3c;&quot;&gt;Possibly in the US (e.g., AWS Route 53)&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;color: #e74c3c;&quot;&gt;The lookup call can&apos;t get through → you &lt;strong&gt;can&apos;t find the address&lt;/strong&gt;, the server is just 10 km away, but you can&apos;t find it.&lt;/p&gt;

&lt;p&gt;The server isn’t down, the internet isn’t cut, &lt;strong style=&quot;color: #f39c12;&quot;&gt;you’ve just forgotten the address, and you can’t ask anyone&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This is the most ironic DNS cache scenario: a .tw website, server physically in Taiwan, data in Taiwan, no international connection needed at all. But its authoritative DNS server uses AWS Route 53 (in the US). When your DNS cache expires and you need to re-query, the query request has to reach the US, through congested submarine cables, and then times out. Result: a completely domestic service, unreachable because the DNS can’t be resolved. This is the concept of “dependency chains”, on the surface it’s a domestic service, but it hides overseas dependencies.&lt;/p&gt;

&lt;div class=&quot;phase-header&quot;&gt;
  &lt;span class=&quot;phase-badge phase-badge--4&quot;&gt;1–6 hr&lt;/span&gt;
  &lt;h2&gt;Phase 4 and Beyond: Control Plane Depends on Overseas&lt;/h2&gt;
&lt;/div&gt;

&lt;p&gt;Entering Phase 4. The cable break happened over an hour ago. BGP reconverged long ago, congestion has stabilized, and the “gradual degradation” from various cache and token expirations has mostly run its course. But people notice a new phenomenon: some things are starting to recover, while others are completely dead. This phase explains two things: (1) ISPs begin manual traffic management, (2) cloud “control planes” depend on overseas infrastructure. Together, they create a new dividing line: purely domestic services come back to life; services with an overseas “brain” stay dead.&lt;/p&gt;

&lt;h3 id=&quot;what-you-experience-1&quot;&gt;What You Experience&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;LINE text messages: possibly working again! ✅&lt;/li&gt;
  &lt;li&gt;Some previously visited web pages: possibly viewable&lt;/li&gt;
  &lt;li&gt;YouTube: possibly watchable, but maybe only at 144p pixelated quality&lt;/li&gt;
  &lt;li&gt;Instagram: possibly text only, all images are gray boxes 🖼️❌&lt;/li&gt;
  &lt;li&gt;Logging into any SaaS tool: possibly spinning, failing&lt;/li&gt;
  &lt;li&gt;AWS / GCP admin console: possibly completely inaccessible&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A &lt;strong&gt;new dividing line&lt;/strong&gt; emerges, what works vs. what doesn’t depends on where the service’s “brain” is located.&lt;/p&gt;

&lt;p&gt;The key feeling at this phase is “unfairness”: why are some things recovering while others are getting worse? LINE text recovers because ISPs start traffic management, giving messages high priority. SaaS and cloud admin consoles are completely dead because their “control planes” are overseas. Next, we explain in two parts: (1) what ISPs are doing, (2) the “brain overseas” problem of cloud services.&lt;/p&gt;

&lt;h3 id=&quot;what-are-isps-doing-behind-the-scenes&quot;&gt;What Are ISPs Doing Behind the Scenes?&lt;/h3&gt;

&lt;p&gt;Imagine an &lt;strong&gt;emergency room&lt;/strong&gt; 🏥&lt;/p&gt;

&lt;p&gt;During a major disaster, &lt;strong&gt;a surge of patients floods the ER&lt;/strong&gt;, doctors are limited, can’t treat everyone at once, so the ER uses &lt;strong&gt;triage&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Using the ER analogy to explain ISP traffic engineering. After the cable break, international bandwidth is halved, but traffic demand hasn’t decreased, like a surge of patients but not enough doctors. ISP network engineers must manually intervene to decide which traffic gets priority. This is the internet’s version of “triage.”&lt;/p&gt;

&lt;h3 id=&quot;triage-who-gets-treated-first&quot;&gt;Triage: Who Gets Treated First?&lt;/h3&gt;

&lt;div style=&quot;display: flex; justify-content: center; gap: 1em; flex-wrap: wrap;&quot;&gt;
  &lt;div style=&quot;background: rgba(231,76,60,0.15); padding: 0.8em; border-radius: 8px; flex: 1; min-width: 180px; max-width: 250px; border-left: 4px solid #e74c3c;&quot;&gt;
    &lt;p style=&quot;color: #e74c3c;&quot;&gt;🔴 Likely highest priority&lt;/p&gt;
    &lt;p style=&quot;color: #aaa; font-size: 0.85em;&quot;&gt;DNS queries&lt;br /&gt;Government websites&lt;br /&gt;Instant messaging (LINE text)&lt;br /&gt;Financial transactions&lt;/p&gt;
  &lt;/div&gt;
  &lt;div style=&quot;background: rgba(243,156,18,0.15); padding: 0.8em; border-radius: 8px; flex: 1; min-width: 180px; max-width: 250px; border-left: 4px solid #f39c12;&quot;&gt;
    &lt;p style=&quot;color: #f39c12;&quot;&gt;🟡 Likely secondary priority&lt;/p&gt;
    &lt;p style=&quot;color: #aaa; font-size: 0.85em;&quot;&gt;General web browsing&lt;br /&gt;Email&lt;br /&gt;Low-resolution streaming&lt;/p&gt;
  &lt;/div&gt;
  &lt;div style=&quot;background: rgba(46,204,113,0.15); padding: 0.8em; border-radius: 8px; flex: 1; min-width: 180px; max-width: 250px; border-left: 4px solid #2ecc71;&quot;&gt;
    &lt;p style=&quot;color: #2ecc71;&quot;&gt;🟢 Likely deferrable&lt;/p&gt;
    &lt;p style=&quot;color: #aaa; font-size: 0.85em;&quot;&gt;YouTube HD&lt;br /&gt;Instagram images/video&lt;br /&gt;Software updates&lt;br /&gt;Cloud backups&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;ISP engineers &lt;strong&gt;may manually intervene&lt;/strong&gt;, deciding whose packets get priority, this is why some things “recover” while others get even slower.&lt;/p&gt;

&lt;p&gt;ISP traffic management (traffic engineering) is mostly automated under normal conditions. But during a submarine cable event, engineers manually intervene to set QoS (Quality of Service) rules. DNS and government websites get the highest priority because DNS is the foundation of all internet services. Instant messaging (LINE text) has small traffic volume but high public impact, so it also gets priority. YouTube and Instagram images/video have massive traffic volumes (high percentage of total traffic) and get deprioritized. This is why you see YouTube quality plummet and Instagram show only text without images.&lt;/p&gt;

&lt;h3 id=&quot;why-might-line-text-be-working-again&quot;&gt;Why Might LINE Text Be Working Again?&lt;/h3&gt;

&lt;p&gt;1️⃣ LINE text messages = &lt;strong&gt;relatively small packets&lt;/strong&gt;, one text message is about 1 KB, one Instagram photo is about 2,000 KB, a &lt;strong&gt;2,000x&lt;/strong&gt; difference.&lt;/p&gt;

&lt;p&gt;2️⃣ ISPs may have listed messaging as &lt;strong&gt;high priority&lt;/strong&gt;, small packets + local routing + high priority = can possibly squeeze through ✅&lt;/p&gt;

&lt;p style=&quot;color: #f39c12;&quot;&gt;Instagram images? Large packets + overseas source + possibly deprioritized = possibly spinning 🖼️&lt;/p&gt;

&lt;p&gt;LINE text recovery is due to three compounding factors: (1) Extremely small packets, text messages use negligible data; even under extreme congestion they can squeeze through. (2) LINE has peering connections at TPIX (Taiwan Internet Exchange), meaning much of LINE’s text messaging actually routes domestically, not even needing submarine cables. (3) ISP traffic management lists instant messaging as high priority, ranked first in triage. All three factors combined, LINE text messages recover. By contrast, Instagram photos are often several MB, sourced overseas, and deprioritized, hence only gray boxes.&lt;/p&gt;

&lt;h3 id=&quot;your-internet-may-not-be-broken-it-may-be-managed&quot;&gt;Your Internet May Not Be Broken, It May Be “Managed”&lt;/h3&gt;

&lt;p&gt;🚦 ISP engineers = &lt;strong&gt;traffic officers at an intersection&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Normal times: green light, all cars pass, you don’t even notice the traffic officer.&lt;/p&gt;

&lt;p&gt;Crisis times: officer steps out to direct 🖐️, “Ambulance goes first! Bus can pass! Private cars wait!”&lt;/p&gt;

&lt;p&gt;Your YouTube may not be “broken”, it might have been &lt;strong&gt;asked to yield&lt;/strong&gt; to more important traffic.&lt;/p&gt;

&lt;p&gt;The key point here is understanding: the “partial recovery” you’re experiencing isn’t random, it’s the deliberate result of ISP engineer decisions. ISPs have the ability to differentiate types of traffic and set priorities. You never notice normally because there’s enough bandwidth for everyone to pass. But when bandwidth tightens, ISPs’ “choices” directly determine what you can and can’t use.&lt;/p&gt;

&lt;h3 id=&quot;what-does-this-mean-something-you-should-know&quot;&gt;What Does This Mean? Something You Should Know&lt;/h3&gt;

&lt;div style=&quot;background: rgba(52,152,219,0.1); padding: 1em; border-radius: 8px; text-align: left;&quot;&gt;
  &lt;p&gt;ISPs &lt;strong&gt;have the capability&lt;/strong&gt; to classify and manage traffic, they know which packets go where and what type they are&lt;/p&gt;
&lt;/div&gt;

&lt;div style=&quot;background: rgba(243,156,18,0.1); padding: 1em; border-radius: 8px; margin-top: 0.8em; text-align: left;&quot;&gt;
  &lt;p&gt;This means ISPs&apos; &lt;strong&gt;everyday routing decisions&lt;/strong&gt; are also &quot;choices&quot;, choosing to route your traffic overseas and back instead of peering locally&lt;/p&gt;
&lt;/div&gt;

&lt;p style=&quot;color: #e74c3c;&quot;&gt;&lt;strong&gt;If ISPs can choose who to save in a crisis, it means ISPs are also choosing who to sacrifice in normal times&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is the core insight of the ISP traffic management section. Everyone just saw that ISPs have the ability to classify and prioritize traffic during a crisis, which means ISPs also have this ability during normal times. The Trombone Effect from Phase 2, where ISPs route local traffic to Tokyo and back, isn’t a technical limitation, it’s a cost-driven choice. Not peering locally at TPIX is also a choice. This section connects Phase 2’s critique with Phase 4’s observation: ISPs aren’t passive pipes, they’re actors with capability, choices, and accountability.&lt;/p&gt;

&lt;h3 id=&quot;next-the-cloud-problem&quot;&gt;Next: The Cloud Problem&lt;/h3&gt;

&lt;p&gt;LINE text may be back, some web pages may be viewable, but SaaS tools and cloud services may be &lt;strong&gt;completely dead&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;To understand why, we first need to understand one thing: &lt;strong&gt;what exactly is “the cloud”?&lt;/strong&gt; ☁️🤔&lt;/p&gt;

&lt;p&gt;Transitioning to the cloud control plane section. Many people’s understanding of “the cloud” stays at a vague level, “data is stored on the cloud.” We need to explain “the cloud” clearly before we can explain why “cloud in Taiwan” ≠ safe.&lt;/p&gt;

&lt;h3 id=&quot;the-cloud-is-actually-someone-elses-computer&quot;&gt;“The Cloud” Is Actually… Someone Else’s Computer&lt;/h3&gt;

&lt;p&gt;You’ve heard “data is stored in the cloud” ☁️, sounds light, abstract, floating in the sky.&lt;/p&gt;

&lt;p&gt;The truth: &lt;strong&gt;your data is stored on someone else’s computer.&lt;/strong&gt; That computer sits in a massive building with air conditioning, security, and backup generators. That building is called a &lt;strong&gt;“data center.”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Taiwan has such buildings 🏢, both AWS and GCP have data centers in Taiwan. Your data &lt;strong&gt;does&lt;/strong&gt; physically reside on Taiwan’s soil ✓&lt;/p&gt;

&lt;p&gt;First, breaking the abstraction of “the cloud.” Many people hear “cloud” and think data floats in some ethereal space. But the cloud is someone else’s computer, housed in large data centers. AWS launched a Taiwan region in 2022 (with data center in Banqiao, New Taipei). GCP also has a data center in Changhua. So “data is in Taiwan” is physically true, but what follows explains why that’s not enough.&lt;/p&gt;

&lt;h3 id=&quot;the-factory-and-headquarters&quot;&gt;The Factory and Headquarters&lt;/h3&gt;

&lt;p&gt;Imagine a &lt;strong&gt;multinational corporation&lt;/strong&gt; that built a &lt;strong&gt;factory&lt;/strong&gt; in Taiwan:&lt;/p&gt;

&lt;div style=&quot;display: flex; justify-content: center; gap: 2em; flex-wrap: wrap;&quot;&gt;
  &lt;div style=&quot;background: rgba(46,204,113,0.1); padding: 1em; border-radius: 8px; flex: 1; min-width: 240px; max-width: 320px;&quot;&gt;
    &lt;p&gt;🏭 Taiwan factory&lt;/p&gt;
    &lt;p style=&quot;color: #aaa;&quot;&gt;Produces goods (stores your files)&lt;/p&gt;
    &lt;p style=&quot;color: #aaa;&quot;&gt;Ships to customers (responds to your requests)&lt;/p&gt;
    &lt;p style=&quot;color: #aaa;&quot;&gt;Warehouse has raw materials (your data)&lt;/p&gt;
    &lt;p style=&quot;color: #2ecc71;&quot;&gt;→ This is the &quot;Data Plane&quot;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div style=&quot;background: rgba(231,76,60,0.1); padding: 1em; border-radius: 8px; flex: 1; min-width: 240px; max-width: 320px;&quot;&gt;
    &lt;p&gt;🏢 US headquarters&lt;/p&gt;
    &lt;p style=&quot;color: #aaa;&quot;&gt;Issues employee badges (identity auth, IAM)&lt;/p&gt;
    &lt;p style=&quot;color: #aaa;&quot;&gt;Approves budgets (resource provisioning)&lt;/p&gt;
    &lt;p style=&quot;color: #aaa;&quot;&gt;Signs contracts (SSL certificates)&lt;/p&gt;
    &lt;p style=&quot;color: #e74c3c;&quot;&gt;→ This is the &quot;Control Plane&quot;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p style=&quot;color: #f39c12;&quot;&gt;Factory is in Taiwan ✓　But every important decision requires &lt;strong&gt;calling headquarters&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Cloud services split into two layers: (1) Data Plane: where data is actually stored and processed, this is in Taiwan. (2) Control Plane: management, authentication, authorization, provisioning, this is usually in the US. Many of AWS’s control plane core functions are concentrated in us-east-1 (Virginia). GCP’s global control plane has a similar centralized design. The factory can produce goods, but without headquarters’ authorization, the factory can’t open its doors, can’t ship, can’t do anything.&lt;/p&gt;

&lt;h3 id=&quot;factory-in-taiwan-but-the-key-may-be-in-the-us&quot;&gt;Factory in Taiwan, but the Key May Be in the US&lt;/h3&gt;

&lt;p&gt;🔑 &lt;strong&gt;Employee needs to enter the factory&lt;/strong&gt; (you need to log into AWS) → may need to verify identity with US headquarters (IAM authentication) → request travels via submarine cable to Virginia → &lt;span style=&quot;color: #e74c3c;&quot;&gt;timeout&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;📋 &lt;strong&gt;Factory needs to ship&lt;/strong&gt; (website needs to renew security certificate) → may need US headquarters to sign the contract (SSL certificate validation) → request travels via submarine cable → &lt;span style=&quot;color: #e74c3c;&quot;&gt;timeout&lt;/span&gt; → HTTPS connection fails&lt;/p&gt;

&lt;p&gt;📞 &lt;strong&gt;Customer wants the factory’s address&lt;/strong&gt; (DNS resolution) → address book may be in the US (Route 53 is in us-east-1) → query travels via submarine cable → &lt;span style=&quot;color: #e74c3c;&quot;&gt;timeout&lt;/span&gt; → can’t find the factory&lt;/p&gt;

&lt;p style=&quot;color: #e74c3c;&quot;&gt;&lt;strong&gt;Factory intact, materials stocked, machines running, but the doors just won&apos;t open&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Three concrete scenarios illustrating control plane dependency impacts: (1) IAM (Identity and Access Management), AWS’s identity verification system. Logging into the AWS Console or API calls all require IAM verification. IAM’s core service is in us-east-1. During submarine cable congestion, verification requests time out, and you can’t log in. (2) SSL/TLS certificates, HTTPS connections require valid security certificates. Certificate verification and renewal need to connect to overseas CAs (Certificate Authorities) or AWS Certificate Manager (also in us-east-1). Certificate expires and can’t renew → HTTPS connection can’t be established. (3) Route 53, AWS’s DNS service. If your website uses Route 53 for DNS, your “address book” is in the US. DNS query timeout → can’t find your website. The common conclusion across all three scenarios: your data and servers are in Taiwan, but “the key to open the door” is in the US.&lt;/p&gt;

&lt;h3 id=&quot;your-data-is-right-here-but-you-dont-have-authorization-to-open-it&quot;&gt;Your Data Is Right Here, but You Don’t Have “Authorization” to Open It&lt;/h3&gt;

&lt;div style=&quot;background: rgba(231,76,60,0.1); padding: 1em; border-radius: 8px;&quot;&gt;
  &lt;p&gt;🔐&lt;/p&gt;
  &lt;p&gt;Your Google Drive files may physically reside in GCP&apos;s Changhua data center&lt;/p&gt;
  &lt;p style=&quot;color: #e74c3c;&quot;&gt;&lt;strong&gt;But you just can&apos;t open them&lt;/strong&gt;&lt;/p&gt;
  &lt;p style=&quot;color: #aaa;&quot;&gt;Because you may need a US server to confirm authorization&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;It’s like putting a &lt;strong&gt;safe in your house&lt;/strong&gt; but leaving the key at a &lt;strong&gt;bank overseas&lt;/strong&gt; 🏦, the bank is operating normally, but you can’t make an international call anymore.&lt;/p&gt;

&lt;p&gt;The safe/key analogy is very intuitive: if the key isn’t at home but overseas, you wouldn’t think “the safe is at home so it’s secure.” But this is exactly the current state of most Taiwanese enterprises’ cloud architecture, data in Taiwan, but authorization mechanisms overseas. The December 2021 AWS us-east-1 outage was a precedent: other physically healthy AWS regions were also affected because IAM, Route 53, and other control plane services are concentrated in us-east-1. That incident wasn’t a submarine cable issue, it was us-east-1 itself having problems, but the effect was identical: your region is fine, but the control plane is down, so you go down too.&lt;/p&gt;

&lt;h3 id=&quot;cloud-in-taiwan--safe&quot;&gt;“Cloud in Taiwan” ≠ Safe&lt;/h3&gt;

&lt;div style=&quot;display: flex; justify-content: center; gap: 1.5em; flex-wrap: wrap;&quot;&gt;
  &lt;div style=&quot;flex: 1; min-width: 140px; max-width: 200px; text-align: center;&quot;&gt;
    &lt;p style=&quot;font-size: 2.5em; margin: 0;&quot;&gt;🏭&lt;/p&gt;
    &lt;p&gt;Factory in Taiwan&lt;/p&gt;
    &lt;p style=&quot;color: #2ecc71;&quot;&gt;✓&lt;/p&gt;
  &lt;/div&gt;
  &lt;div style=&quot;flex: 1; min-width: 140px; max-width: 200px; text-align: center;&quot;&gt;
    &lt;p style=&quot;font-size: 2.5em; margin: 0;&quot;&gt;🔑&lt;/p&gt;
    &lt;p&gt;Key in the US&lt;/p&gt;
    &lt;p style=&quot;color: #e74c3c;&quot;&gt;✗&lt;/p&gt;
  &lt;/div&gt;
  &lt;div style=&quot;flex: 1; min-width: 140px; max-width: 200px; text-align: center;&quot;&gt;
    &lt;p style=&quot;font-size: 2.5em; margin: 0;&quot;&gt;📞&lt;/p&gt;
    &lt;p&gt;Phone line jammed&lt;/p&gt;
    &lt;p style=&quot;color: #e74c3c;&quot;&gt;✗&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;“We use Taiwan’s AWS/GCP” may ≠ “our services will still work when international traffic drops significantly”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is the core conclusion of the cloud control plane section. Many enterprises and government agencies, when answering “is your service resilient?”, say “we use the Taiwan AWS region” or “our GCP data center is in Changhua.” But that only means “the factory is in Taiwan”, not “the key is also in Taiwan.” If the control plane depends on overseas infrastructure, then when submarine cables are severed, your service goes down with them. “Taiwan cloud” creates a false sense of security, this is the most critical misconception that needs to be shattered.&lt;/p&gt;

&lt;h3 id=&quot;winners-truly-domestic-only-services&quot;&gt;Winners: Truly Domestic-Only Services&lt;/h3&gt;

&lt;p&gt;In this simulation, some services may be completely unaffected.&lt;/p&gt;

&lt;div style=&quot;background: rgba(46,204,113,0.12); padding: 1em; border-radius: 8px; text-align: left; border: 1px solid rgba(46,204,113,0.3);&quot;&gt;
  &lt;p style=&quot;color: #2ecc71;&quot;&gt;&lt;strong&gt;✅ Services that survive look like this:&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Server in Taiwan&lt;/p&gt;
  &lt;p&gt;Authentication (Auth) in Taiwan&lt;/p&gt;
  &lt;p&gt;Authoritative DNS server in Taiwan&lt;/p&gt;
  &lt;p&gt;CDN origin in Taiwan&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;The entire dependency chain stays on the island → submarine cable status is irrelevant&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The emphasis here: surviving a submarine cable event isn’t just about “having a server in Taiwan.” Your entire dependency chain, server, authentication, DNS, CDN origin, must all be in Taiwan. Any single link depending on overseas infrastructure is a weak point. Services completely unaffected in this simulation are those that “chose” to make every layer domestically self-sufficient. That’s not coincidence, it’s a deliberate architectural decision.&lt;/p&gt;

&lt;h3 id=&quot;whats-the-difference-one-table&quot;&gt;What’s the Difference? One Table&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt; &lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;Server&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;Auth&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;DNS&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;CDN Origin&lt;/th&gt;
      &lt;th&gt;During Cable Break&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Fully domestic stack&lt;/strong&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;🟢 Taiwan&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;🟢 Taiwan&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;🟢 Taiwan&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;🟢 Taiwan&lt;/td&gt;
      &lt;td&gt;✅ Normal operation&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Taiwan cloud&lt;/strong&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;🟢 Taiwan&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;🔴 US&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;🔴 US&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;🟢 Taiwan&lt;/td&gt;
      &lt;td&gt;⚠️ Runs but can’t log in&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Fully overseas&lt;/strong&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;🔴 Overseas&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;🔴 Overseas&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;🔴 Overseas&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;🔴 Overseas&lt;/td&gt;
      &lt;td&gt;❌ Completely down&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;Most Taiwanese enterprise services fall in &lt;strong&gt;the middle row&lt;/strong&gt;, appears to be in Taiwan, but dependencies are overseas.&lt;/p&gt;

&lt;p&gt;This table makes the differences across three architectures immediately clear. The focus is the middle row, “Taiwan cloud.” Most Taiwanese enterprise and government services fall here: server indeed in Taiwan (AWS Taiwan region, GCP Changhua), but authentication, DNS, and even some CDN logic depend on overseas control planes. This gives the illusion of “being in Taiwan,” but during a submarine cable event, it still breaks. This is also the most dangerous state, because until something goes wrong, nobody examines these hidden dependencies.&lt;/p&gt;

&lt;h3 id=&quot;is-it-a-technical-limitation&quot;&gt;Is It a Technical Limitation?&lt;/h3&gt;

&lt;p&gt;Those services that survived didn’t get lucky, someone &lt;strong&gt;chose&lt;/strong&gt; to spend extra time, extra money, and make every layer domestically self-sufficient.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“If the submarine cables broke, would our services still work?”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is the most important message of this section: resilience is a choice, not fate. The default configuration of AWS and GCP naturally depends on overseas control planes, because these are global services, that’s a reasonable default. But if you operate critical services in Taiwan, you need to proactively change that default. Most enterprises haven’t done so, not because they can’t, but because nobody asked the question. This is also why we need policy and regulations to drive change, because relying on corporate self-awareness alone isn’t enough.&lt;/p&gt;

&lt;h2 id=&quot;simulation-recap&quot;&gt;Simulation Recap&lt;/h2&gt;

&lt;table class=&quot;phase-table&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;Phase&lt;/th&gt;&lt;th&gt;Your Experience&lt;/th&gt;&lt;th&gt;Possible Cause&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;0–5 min&lt;/td&gt;&lt;td&gt;VoIP calls drop&lt;/td&gt;&lt;td&gt;BGP reconvergence + call control server in Japan&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;5–30 min&lt;/td&gt;&lt;td&gt;Everything slows, freezes&lt;/td&gt;&lt;td&gt;Congestion collapse + Trombone Effect&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;30–60 min&lt;/td&gt;&lt;td&gt;Services drop one by one, logouts&lt;/td&gt;&lt;td&gt;Cache TTL expiry, Token expiry, DNS failure&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;1–6 hr&lt;/td&gt;&lt;td&gt;Cloud admin consoles all down&lt;/td&gt;&lt;td&gt;Control plane depends on overseas&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;Building the complete causal chain: experience → technical cause → decision-makers. The point is to show that no failure is a “natural phenomenon”, every one is the result of some organization’s engineering or policy choices.&lt;/p&gt;

&lt;h3 id=&quot;simulation-complete&quot;&gt;Simulation Complete&lt;/h3&gt;

&lt;p&gt;All stakeholders need to conduct a &lt;strong&gt;network outage drill&lt;/strong&gt;.&lt;/p&gt;

&lt;h3 id=&quot;-questions-for-everyone&quot;&gt;🤔 Questions for Everyone&lt;/h3&gt;

&lt;p&gt;In the scenario we just walked through, would &lt;strong&gt;government websites (gov.tw)&lt;/strong&gt; hold up?&lt;br /&gt;
&lt;a href=&quot;http://poslab.info/slide/20260325&quot;&gt;http://poslab.info/slide/20260325&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How are the &lt;strong&gt;submarine cables&lt;/strong&gt; doing right now?&lt;br /&gt;
&lt;a href=&quot;https://drive.google.com/file/d/1n9mbFNVeukMt3g_ywP8ne9366JWWhnT5/view&quot;&gt;https://drive.google.com/file/d/1n9mbFNVeukMt3g_ywP8ne9366JWWhnT5/view&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&quot;further-reading&quot;&gt;Further Reading&lt;/h2&gt;

&lt;p&gt;Submarine cable and backbone network fragility are only half the story of a disconnection scenario; the other half is offline communication when bandwidth drops to zero. Over the past six months, one direction the Taiwanese open-source community has been working on is mesh networking with Meshtastic and Reticulum: see the &lt;a href=&quot;/records/2026-04-20-kuma-academy-mesh-workshop/&quot;&gt;Mesh Workshop Record&lt;/a&gt; and &lt;a href=&quot;/records/2026-06-15-rti-meshtastic/&quot;&gt;Rti’s Coverage of Taiwan’s Civilian Meshtastic Efforts&lt;/a&gt;.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Original slide deck: &lt;a href=&quot;https://paulpengtw.github.io/crc-march-25-decks/&quot;&gt;https://paulpengtw.github.io/crc-march-25-decks/&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;CRC past records: &lt;a href=&quot;/records/&quot;&gt;/records/&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;CRC news &amp;amp; announcements: &lt;a href=&quot;/news/&quot;&gt;/news/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    <author><name>Cyborg Resilience Co-lab</name></author>
  </entry>


</feed>
