My grandson, consider the shark. He swims up to a school of fish like the missionary's cat stalking an unsuspecting bird. Then - KA! - he strikes, rushing the school, gulping down as many fish as he can before they scatter. Now he has his belly full. But is he satisfied? No, the greedy bastard has to chase down every solitary fish, one at a time, until he is hopelessly stuffed and tired. There are plenty of fish in the sea and plenty of time to hunt them. The shark could wait until he is hungry again and the school has re-formed; then he'd enjoy it more.

OK, I admit it: I get obsessive over my work. I've always been that way, and grad school encourages it. When I left home I wanted to change the world, and even then I had a pretty good idea of how I wanted to do it. Now that I finally seem to be on the right path, I don't want to make one step that doesn't advance me to my goal. I want to build protocols; I want to write RFC documents; I want to teach the computers of the world to sing in harmony. Is that a crime?

Maybe it's true that I've been more obsessive than usual about this phantom traffic problem. It must have seemed so. As I walked down the hall of the admin building with Dr. Sakharoff, explaining my latest theory (cross-talk in the fiber amplifier loops - just as incorrect as all the other guesses, but it seemed possible at the time), she suddenly whirled on me, raising her hands as if she were about to seize me by the throat. "Enough phantom traffic! For the past two weeks it has been phantom traffic this, phantom traffic that, nothink but phantom traffic! Concentration on work is laudable, yes, but have you no life? You can write a perfectly good thesis with 87 percent of the packets delivered correctly. That is far more than the best anyone else has achieved in this environment. It is not necessary to make it 88. Leave it for someone else to worry about."

We were standing next to the bulletin board outside the Provost's office, and Dr. Sakharaoff scanned it desperately, then ripped off a poster, thumbtacks flying off and ricocheting from the far wall. "Look, a lecture on linguistics this evenink. Nothing to do with computer networks. Go." She handed the poster to me, wrenched the slide projector I'd been carrying from my hands, and stormed off down the hall, leaving me standing there with the torn poster. Almost at the end of the hall, she stopped and hollered back at me, "Ordinarily I'd tell you to ket laid, but!" Then she disappeared around the corner.

The missionary allowed me to look at a book that he said was the book of his God. The words inside were in his language, of course, and I could not understand any of them. He asked rather mockingly if Pele had ever taken the time to write down laws for Her people; when I explained that she speaks to us continually in the rumble of the volcano and the other voices of nature, so no writing is needed, he didn't like that at all. He said the next ship would bring many copies of his book written in our language, and I could have one, and he would teach me to read it, so I might see how a proper God would have people live. I said that of course, I appreciated his gracious gift, and I always wish to learn new stories. But since the book was in his language, how could it be in ours too? He said it would say the same thing in the two languages - just as his "Heloa" is the same as "Aloha". But the missionary must be a fool to speak so, for he knows perfectly well that our words and his are not the same at all, and "Heloa" does not mean "Aloha" even if both may be said when people meet. Consider, trying to write his words in our language would be like the fish trying to crawl on land; even if it could succeed, briefly and after a fashion, it would not be the same. There is nothing wrong with the fish or the land that it should be so; only fish ought to stay in the sea! This is why you must learn our stories, my grandson; the missionary means well when he listens to me and tries to write the stories in his books, but I fear the stories he hears are quite different from the ones I tell.

The lecture was about the tragedy of dying languages. It was given by a little Asian man with a whiny voice; he had a lot of slides with graphs showing how the number of languages in the world has decreased exponentially in the last 50 years. My immediate thought, of course, was "So what?", but he then proceeded to explain why he thought it was a bad thing, and I must admit, he seemed to have a good point.

Basically, he thought that every language was tied to its own unique world-view; when a language dies (by having no more speakers, or no more native speakers), we lose a way of looking at the world. That's a bad thing for the meme pool in just the same way that monoculture and the extinction of species are bad things for the gene pool; limiting humanity's pool of languages screws up our ability to adapt to our changing world, and to cook up new ideas. The lecturer blamed the spread of electronic communications and computers as the biggest causes of language extinction.

Naturally, I wasn't going to let that one pass unchallenged. In the question period I stood up and said, "I don't think anyone would deny that television and the Internet encourage everyone to speak a similar language, but isn't it true that people incorporate their own ideas and words into the language they speak, whatever language that happens to be? Maybe your declining number of languages is being counteracted by greater diversity in the remaining languages, and in that case, surely the move towards a single diverse language, enabling everyone to talk to everyone else, is a Good Thing, right?" The response went off on a tangent about how parent's choices in educating their children represent a Prisoner's Dilemma of individuals wanting to be understood by the most people, versus the common good of language diversity. But I hadn't expected a real answer anyway; I was just trying to stick up for computer networks.

You have told me of what you call mikini ho`onalu, considering machines (or surfing machines?) with amazing powers. I smile and nod and we both know that I don't understand. That is okay, my grandson. You are young and growing; these islands are likewise young, and growing not only by the fire of Pele's lava but in more abstract ways. Truly, she moves mysteriously. I am near the end of my life and it is not mine to understand your path. But remember my stories when I am gone.
When the lecture ended at about 9:15 I crept back to the networking lab and booted up the network analyzer. Yes, I suppose I felt a bit guilty, as it were disobeying my advisor's "get a life" order, but I told myself that if I could just get another set of test traces when the LAN was quiet, maybe the problem would become clear. I started ring circulation, locked in a standard virtual circuit test, and triggered the beacons. As usual, the channel utilization quickly stabilized at 87%. I told the machines to log everything to disk, even collision fragments, and went home to bed. (Alone, Dr. Sakharoff. Sorry.)

I awoke to an angry email from the sysadmin for having filled up the communal disk partition. Fortunately, he'd dumped my logs to tape rather than deleting them outright. I sent off an apology and started hacking my analysis program to work from tape. That was non-trivial because it had been designed assuming random access to the trace file, but I managed to collapse the algorithm down into two sequential passes, and I started running the logs.

I systematically went through all the different categories of packets, looking for the missing 1%. I was in luck - general LAN traffic had been low that night, so I had relatively little unrelated garbage to mask out of my stats. I compared the observed results back and forth with the model, adjusting the model as I went along, until it agreed with the observed statistics except for one point: predicted collisions 4.26%, observed 5.32%. Now (assuming I wasn't totally off base) all I had to do was go through all my captured collision fragments and I'd have the phantom packets.

I have only once seen a ghost, my grandson. It was on the great feast night many years ago, after everyone had eaten their fill and the stars were out and the singing and dancing had begun. My uncle, then unmarried, was trying to put the move on a lovely girl, but he was unaware that his clothing had come unfastened and he was making a ridiculous spectacle of himself. I saw my grandfather, many years dead, standing behind my uncle, tapping him on the shoulder, trying to whisper in his ear and tell him what was wrong. But over the noise of the music, the ghost could not make himself heard. Finally he gave up. He looked at me standing on the other side of the beach, shook his head sadly, and then ran into the surf and disappeared. I consider that no-one else saw him.

Filtering the collision fragments turned out to be easy; soon I was looking at a dump of pure phantoms. At first I thought there must be bugs in my analysis program, because the phantom fragments obviously weren't fragments of any packets that had any business being on the lab network. All the addresses were wrong; several were even in network 10. Some of them seemed to be neither UDP nor TCP. I'd have thought I had left the noise generator on, but they were fully valid IP packets (or pieces of such); they just had apparently random higher-level traffic. The hop counts were strangest of all; a packet would go by with a hop count of 65, then it'd be 63, then jump up to 67, but they'd all be the same packet, as if it were getting repeated somewhere.

I got out the storage scope and spent several pleasant hours examining the bits on the wire, microsecond by microsecond. I'd forgotten how much I like electronic debugging. It was true: I'd gotten so balled up in software concerns that I'd neglected other worthwhile pursuits. I won't bore you with exactly what I did (and I have another reason not to tell you). The punchline, anyway, was that I found a very general bug in the way our network handled packets. Under certain rare data-dependent circumstances, when packets collided the fragments would make their way to the ends of the cable, bounce back weakly from the terminators or from impedance mismatches along the cable, but then the two or more weak copies would constructively interfere and produce a new packet almost identical to the old one and just barely strong enough to be picked up by the receivers. Some differences would appear in certain fields - most notably, the low bits of the hop count. Certain packets with exactly the right bit patterns could persist indefinitely this way, never consuming enough resources to be noticed but also never quite dying; the continual random changes would give them some ability to evolve and "live" on other networks.

After a little poking around on the Net, I found a DOS-based network analyzer from 1993, and an emulator to run it. The phantom packets began to scroll up my screen. Sure enough, they were all valid fragments of packets from obsolete protocols; bits snipped out of time and repeated for years by the oddities of network propagation. Display Support Protocol, NI MAIL, Micro Focus Cobol, EMFIS Control Service, HEMS. With a little concentration I could recognize each separate thread as it slid out of my LAN, circled the world, and returned. Sometimes the hop count come back higher, sometimes lower; sometimes I'd see dozens of copies and other times only one or two. Occasionally a protocol would disappear completely, but just when I'd be ready to give up hope, it'd be renewed in a flurry of packets from all over the Net. I opened up the collision tolerance on the lab system, and watched the traffic rate climb as the ghostly voices gained power. I left them telling their stories as I went home to write my thesis.

My grandson, you must consider the shark, and forget your ho`onalu technobabble.
Related pages:


No comments yet.

New comments are disabled, pending transition to new site code.
Copyright 2017 Matthew Skala
Updates to this site: [RSS syndication file]