_____________________________________________________________________________ news@ftp The FTP Software (R) Newsletter Volume III, Number 1 January 1990 _____________________________________________________________________________ ____________________________________ Give us a call and we'll send you a copy of each. Inside... Item Page Version 1.16 of PC/TCP (R) To Be New Product News 2 Retired Masthead 2 This coming April we will be halting shipments of PC/TCP Version Technical Support 4, 6, 8 1.16, the original software produced by FTP Software. PC/TCP Version Internetworking News 9 1.16 has evolved from the original ____________________________________ PC/IP code developed at MIT by John Romkey, Dave Bridgham and others. FTP Software was founded to enhance New Literature Available this code, and out of this effort came Version 1.0 of PC/TCP. Recently we have released three new pieces of literature for our Over time it became clear that PC/TCP product line. several important structural changes were necessary for the long-term 1. Our six-page PC/TCP Plus success of PC/TCP. We needed to add glossy has been revised to include a Berkeley Sockets emulation, the new 2.04 features. NetBIOS and NFS. To support these programs, we developed a Terminate 2. The Compatibility Sheet has and Stay Resident (TSR) kernel, been revised and updated. The new which became the core of PC/TCP 2.0. version describes PC/TCP Plus' level Since Version 2.0 was introduced in of compatibility with NetWare TM, 1987, most PC/TCP users have VINES (R), LAN Manager and other converted to it. The work on network operating systems. It also NetBIOS and InterDrive TM, our talks about support for the four implementation of NFS, couldn't have standard driver interfaces (Packet been completed without the Driver, NDIS, ODI and ASI), as well transition to Version 2.0. as compatibility with Microsoft Windows. Because of our commitment to supporting our software, we have 3. We have a new Third Party continued to maintain Version 1.16 Software sheet with the names and for the past two years to provide a addresses of companies whose gradual transition for our software runs on top of the PC/TCP customers. Now that most people kernel. It lists manufacturers of have converted to Version 2.04, we emulators for a variety of DEC (R), feel that it is in our customers' HP (R), Tektronix, IBM and other best interests for us to focus on terminals, as well as companies who PC/TCP Version 2.04 so that they can make X-Windows and distributed get the best possible support from database products for PC/TCP, plus us. memory extenders that work with PC/TCP Plus. _____________________________________________________________________________ January 1990 2 ____________________________________ International Business Machines Corporation. news@ftp NetWare is a trademark of Novell, Inc. Volume III, Number 1 January 1990 ProNET-10 is a registered trademark of Proteon, Inc. Published by FTP Software, Inc. NFS is a trademark of Sun Editor: Nancy Connor. Microsystems, Inc. Communications pertaining to this 3Com, 3+ and 3+Open are trademarks newsletter should be directed to: of 3Com Corporation. Ethernet is a trademark of Xerox news@ftp Corporation. FTP Software, Inc. ____________________________________ 26 Princess Street Wakefield, MA 01880-3004 Phone: (617) 246-0900 LANWatch (R) 2.0 Released FAX: (617) 246-0901 Electronic mail: news@ftp.com by James VanBokkelen FTP Software welcomes suggestions Since last spring, when we and contributions from readers. released version 1.21 of LANWatch, Submissions for the next issue of we've been working on version 2.0. the newsletter must be received no It's in beta test right now, and later than February 30, 1990. everything looks good for a release in mid January. (C) 1988, 1989, 1990 by FTP Software, Inc. Permission to use, The most visible difference copy, modify, and distribute this between versions 1.21 and 2.0 is the publication for any purpose and restructuring of the in-memory without fee is hereby granted, packet buffers. We've eliminated provided that this copyright and the limit of 254 buffers and the permission notice appear on all array that required it. Version 2.0 copies, the name of FTP Software, allows up to 4096 packets in memory, Inc. not be used in advertising or and they're kept in a circular publicity pertaining to distribution linked list, allowing us to do a few of the material without specific tricks that weren't possible before, prior permission, and notice be like incremental capture and trigger given that copying and distribution filters. is by permission of FTP Software, Inc. A less obvious difference arises from a change in the memory model; PC/TCP, LANWatch and FTP Software version 1.21 (and its predecessors) are registered trademarks, and were small-model programs, and there InterDrive is a trademark of FTP wasn't enough room in the code Software, Inc. segment for all the filters and VINES is a registered trademark of packet parsers we had, let alone Banyan Systems, Inc. those we wanted to add. Version 2.0 DEC and VT are registered trademarks uses medium memory model (large of Digital Equipment Corporation. code, small data), and as a result, HP is a registered trademark of it understands many more protocols Hewlett-Packard Corp. out of the box. IBM and IBM Personal Computer are registered trademarks, and Micro The number of packets is now Channel is a trademark of limited by available DOS memory. If you use the default capture length _____________________________________________________________________________ January 1990 3 of 100 bytes (enough for almost all matches, and the new trigger filter protocol headers, and usually some lets you leave an unattended data), we usually wind up allocating LANWatch running, for days if about 3000 packets on a 640K necessary, to capture a hard-to- machine. If you need to capture all reproduce event. 2042 bytes of data on an 802.5 token ring, the same machine has enough There are several new network room for about 200 packets. If you management functions: New on-line only need to see the first 70 bytes commands activate a running display of each packet, it can store about of network throughput in bytes and 4000 of them. If your Personal packets per second. Throughput Computer (R) has less memory, we output, per-protocol statistics, handle it gracefully. hardware statistics and packet length statistics can be written to Since we use all the available a file as well as displayed on the memory, DOS features that depend on screen. A new off-line traffic the transient part of command.com analyzer reports usage by node and remaining intact (like the F3 key) protocol, while tana has been won't work unless you use the "-m enhanced to detect more errors and xxx" switch when you start LANWatch provide better state information. to request that it not use all of DOS' memory. Use of the shell For those of you who are escape ("!") command requires this interested in adding your own switch also, to leave some memory parsers, filters or off-line for the command processor. analyzers to LANWatch, we have greatly improved the manual in these We've added several Examine-mode areas. Commenting in the source commands to make three or four files themselves has been improved, thousand packets manageable: The and there is a whole new file of most important of these are forward help routines to simplify using and reverse search commands that use LANWatch data structures and code in standard packet filters to find off-line analyzers. specific events in the data stream. Ctrl-U is a universal command We're already working with many of multiplier, executing the next these new features as we test in- command four times, to move your house, and we find them quite viewpoint faster. useful. Since much of the new development reflects comments and To make it easier to compare suggestions from users of previous sequences of events, we've added versions, we expect that our incremental capture mode, where we customers will like LANWatch 2.0 as try not to overwrite previous well, and we're hoping for a good captures with new packets for as response. long as possible. If you don't want this, the new "R" command clears all NOTE: Some of the new parsers and buffers and stops LANWatch when all filters were contributed by our of its packet buffers have been customers; If you have done any refilled. development you feel would be of general interest, we'd be happy to Besides the search filters, there consider it for inclusion as a have been several other improvements fully-supported part of this and in the packet filtering. We've future releases. Copyrighted code added one level of AND or OR to the is fine as long as FTP Software and top level filters. The new alarm our paying customers may legally use filter rings the bell when a packet _____________________________________________________________________________ January 1990 4 it, and depending on your wishes, we C:> set VT220_KEYMAP=c:\etc\vt220key can either give you or your organization credit in the source Similar commands are used to set code, or protect your privacy. the VT100 or 3270 remapping files. Note that the VT100_KEYMAP variable only applies to PC/TCP versions 1.16 Keyboard Remapping Revealed! through 2.03 -- the VT100 emulation disappeared as a separate Telnet by Vicka Corey executable in version 2.03 and from Rlogin in version 2.04. It is now It happens often in foreign lands. considered a subset of the VT220 It can happen eventually to anybody. emulator, and therefore uses the That plain old US-English ASCII VT220_KEYMAP variable. These table suddenly isn't enough, and variables can be set from within it's time for a user to remap the autoexec.bat or other batch files keyboard. for additional convenience. You can use keyboard remapping to Now, what goes into this gain easy access to special mysterious file? In essence, the scientific or mathematical program needs to know what keys are characters, to change the placement to be remapped and what value each of hard-to-reach keys such as Alt or of these keys is to send. Each case Insert, or to customize to foreign of each key is handled as a separate alphabets. You can remap one key, item -- the remapping of lowercase switch two keys, or rearrange "g" is not going to affect the everything on your keyboard. handling of "Ctrl-Shift-Alt g". So, Keyboard remapping provides access each individual remapping entry to a range of characters much contains a code to specify case, a greater than is apparent in the code to identify which key is default configuration. pressed, and a "remapping value" which tells the emulator what to If you use the tnvt or rloginvt send in place of the default. programs, you can remap both the VT (R)220 emulation (the default) and Each line of the file defines a VT100. You can also remap the single remapping. The first code on keyboard of the IBM (R) 3278 each line refers to the case of the emulator used by the tn3270 program. key in question, as described on the Note that if you are using a third bottom of page 3-3 of the 2.04 party emulator through tnglass, that User's Guide. This value lets emulator may be remappable through PC/TCP know in which of its internal a mechanism of its own. See the tables to find the value for the key emulator's documentation for help. in question. The table on page 3-3 shows all the values, from "0" for a All of the remapping information plain character to "7" for a Ctrl- is stored in an ordinary text file Alt-Shifted character. located on your PC or on an NFS- mounted drive. You tell PC/TCP The second code is a unique "scan where this information is located by code" generated by the key itself. setting an environment variable. Diagrams showing unique scan codes For example, the following command for different keys on a variety of lets PC/TCP know that remapping keyboards are to be found in User's information for the VT220 emulator Guide Appendix D. Scan codes can is to be found in the file vt220key also be determined by using the in the etc directory on the "C:" program sc, which comes included in drive. your PC/TCP distribution. (Though it _____________________________________________________________________________ January 1990 5 is not installed by the standard values for these keys can be found installation program, it is located in Chapter 3, entitled "Terminal on the last disk as the file Emulation", in our User's Guide. sc.exe.) Type sc and then press a For example, the remapping value for key to generate the equivalent scan the VT220 PF1 (Gold) Key is given code associated with the key being on page 3-10, and is 0x150. (That's pressed, then with its release. For hex; you could convert it to decimal example: and substitute that value if you preferred.) C:> sc Type ESC to exit Let's step through an example 0x0a dn 0x0a remapping: Let's suppose that you 0x8a up 0x0a wanted to remap the Alt-9 key (normally not very useful) to the This output was generated when the VT220 Gold key (quite handy in "9" key was pressed after starting certain VMS editors). First, you the scan code program. Pressing the set the VT220_KEYMAP environment Escape key exits the program; variable to point to a file: pressing any other key generates the relevant scan codes. In the C:> set VT220_KEYMAP=c:\etc\9togold keyboard remap file, you would use only one of the codes generated -- Then, using a plain text editor the one that is unique to the key like edlin, vi, or emacs, you create pressed. Generally, sc displays a file named 9togold on the "C:" this unique value last. Referring drive in the directory \etc, and put to the tables in Appendix D, the in it the line: scan code shown for the "9" key is "0a". 4, 0x0a, 0x150 The third code is the most Then, you connect to a host using important one -- it is the tnvt or rloginvt with VT220 replacement value. This is called emulation, and whenever you press the "remapping table" value. For Alt-9, the foreign host will respond characters and codes representable as though you had pressed a real with standard ASCII values below VT220's PF1 key. You can check this 128, this third code will be the by pressing another key which appropriate ASCII number, expressed normally defaults to VT220 PF1, the either in decimal or in hex with PC F1 key. the 0x prefix. This is a very simple and The VT220 terminal emulator also pedestrian example of what keyboard supports the DEC Multinational remapping can do, but given the Character set, which contains many level of difficulty of remapping the unusual and interesting characters. keyboard, it very well should be. These are of great use when Once all the codes and the methods supporting non-English languages. of construction are understood, These values can be found in the DEC keyboard remapping becomes a VT220 terminal reference put out by straightforward and extremely useful DEC, and reprinted here. The 3270 way to customize a PC keyboard for emulator supports the IBM Extended more powerful terminal emulation. ASCII codes for the remapping table For a great deal more information values. and detail, you can refer to the invaluable "Terminal Emulation" Many special terminal control keys chapter of the User's Guide and the can also be remapped. The remapping _____________________________________________________________________________ January 1990 6 section on terminal emulation in the manufacturers making Token Ring Command Reference, or call us here boards has increased. in Tech Support. IBM now sells 16 Megabit Token One last hint -- as far as the Ring boards for both Micro Channel foreign host is concerned, a PC TM Adapters and the standard PC Bus running a terminal emulation is just computers. With Texas Instruments' the same as a real terminal of the release of their 16 Megabit Token type that the PC is claiming to Ring chipset (TMS380C16) several represent. In the words of James manufacturers (Proteon, and VanBokkelen, "Pretend it really is a Ungermann-Bass among others) will be DEC VT220 (or VT100, or Big Blue releasing 16 Megabit Token Ring 3278 Model 2) and you will be boards soon. A 16 Megabit Token rewarded". Ring board can run at either 4 or 16 Megabits per second. And it can be used with any existing software that Notes uses the ASI to talk to the Token Ring board. A bridge can be used to A few of the VT220 remapping codes connect a 4 Megabit Token Ring to a were incorrectly given in version 16 Megabit Token Ring. 2.04 of the User's Guide. The correct values, which should have The list of Token Ring Board appeared on page 3-11, are: manufactures for the PC now includes CNet Technology, Compex, DSC VT220 Key Remap Value Communications, Gateway Communications, Hughes LAN Systems, Keypad , 0x71d IBM, Inmac, Lanmaster, Lantana Keypad Enter 0x71c Technology, Madge Networks, NCR, Keypad - 0x71e Plexcom, Proteon, Pure Data, Racore Keypad . 0x71b Computer Products, Tiara Computer Systems, Thomas Conrad, Ungermann- On another matter, it often causes Bass, Western Digital and 3Com TM. some confusion that some terminal keys do not have associated remapping values, and that some Wiring extended PC keys are not shown as having useful scan codes in Appendix IBM Token Ring boards have a DB-9 D. The reasons are simple: these (a nine pin, D shaped connector) and terminal keys have hardware use IBM Cabling System data grade functions in the original, and the media (Types 1, 2 & 6, shielded PC keys send scan code sequences twisted pair wire) to connect to the that do not have convenient unique MAU (and to connect MAUs to other values to be remapped. For example, MAUs). 4 Megabit IBM Token Ring in remapping one of the extended AT boards can use RJ-11 (a four or six keys, you might find you had pin telephone type modular plug) for accidentally remapped your Return use with Type 3 Media, instead of key as well! the standard data connector. Some of the other Token Ring manufacturers offer both DB-9 and Token Ring Networks: An Update RJ-11 connectors and some use shielded and unshielded twisted pair By Benjamin M. Levy cables to connect to the MAU. Also some manufacturers offer boards that IBM has released a 16 Megabit can use coaxial cables. Token ring board, and the number of _____________________________________________________________________________ January 1990 7 If you are using RJ-11 modular Does the board come with connectors please make sure that you diagnostic software? This is very are connecting your Token Ring board useful for testing to make sure that to the Token Ring and not your it is working and properly telephone system. installed. Note that the Token Ring board Does the board come with a driver will tell you if the cable is not equivalent to tokreui or a driver attached to the board, but it won't that can be used with the LAN tell you if the cable is not Support Program? In order for the attached to the MAU. If you are board to be used with software that having a problem with a Token Ring expects an ASI, you will either need board that is neither sending nor the LAN Support Program or tokreui receiving packets, tmake sure the (or the equivalent). far end of the cable is attached to the MAU. If it takes more than the Does the board come with any other usual ten to fifteen seconds to software? There are some software enter the Token Ring, then the board applications that might require a might be thinking that its the only particular driver, such as Banyan board in the ring. VINES, Novell NetWare, and 3Com 3+ TM, though most just require an ASI. The MAU can be a simple device. If you have a specific network The basic MAU will have several application in mind, you might want ports for Token Ring boards to to find out if the application comes attach them selves to the ring. It with network drivers. has two extra ports to attach the MAU to other MAUs to form an even Does the board come with a cable larger Token Ring. When a Token to attach it to the MAU? If not, Ring board enters the ring, it you'll also need to buy a cable. applies power to the MAU which will cause a relay to close which adds How many ports does the MAU have? the board to the ring. When this If you are planning to have lots of happens there is usually faint computers on the Token Ring you may click, which you can hear if you are need several MAUs. standing near the MAU. Does the MAU require electrical There are various types of MAUs. power? This might affect where you Some come with ports for two, four, locate the MAU. eight, or sixteen Token Ring boards. Most MAUs are passive, permitting How many Token Ring boards can the Token Ring boards to do the work their network support? If the of entering and leaving Ring. Some number is too low, you might want to MAUs can actively monitor the status get a Token Ring bridge to subdivide of the Token Ring and report it to a the network. remote computer. The remote computer can tell the MAU to remove What is the maximum length for a itself from the ring if it sees a Token Ring cable? This will affect problem. where you can place your MAU and computers. Questions Can the Token Ring board use unshielded twisted-pair wires? If If you are going to buy a board so, you might be able to use from a dealer here are some existing, unused telephone wiring. questions that you should ask. _____________________________________________________________________________ January 1990 8 NetWare Compatibility proprietary, you can use either commercial or freeware TCP/IP by James VanBokkelen stacks, as well as the freeware Packet Drivers from Clarkson. The There are three ways you can make exact TCP/IP features you get with NetWare and TCP/IP usable from the this approach vary, depending on same PC while using only one network which TCP/IP package you use interface card. Each has advantages (PC/TCP, NCSA, PC-IP, WIN/PC or KA9Q and disadvantages; I sell one, but at the moment), but in general, this I'll list them in order of choice gives you the widest variety introduction: of applications (3270 Telnet, Rcp, TFTP, etc.) to choose from. 1. You can modify the IPX module so that it is possible to share the Disadvantages: The LAN you're hardware interface, and use a TCP/IP connected to has to be one on which protocol stack side-by-side with TCP/IP is widely used (Ethernet, NetWare. BICC Data networks did Starlan, ProNET-10 (R), 802.5). The this first, initially with PC-IP and PC has to have an IP address, and later with our PC/TCP product, but the software has to be installed on they didn't make their interface it. sharing specification public. Proteon did the same thing, but with Note that you get the same effect a different, P1300-specific as if a Packet Driver was in use on interface and our PC/TCP. We didn't 802.5 interfaces which support IBM's want to write drivers for a dozen ASI software driver specification private interfaces, so John Romkey (tokreui or LAN Support Program). came up with the Packet Driver It is different in structure, but it specification (which isn't specific serves the same purpose, of letting to NetWare, but has been most widely many protocol stacks use the same used with it) and published it. card at the same time. PC/TCP and Later, Excelan did the same thing IBM's DOS TCP/IP both support 802.5 using a private interface and their via this interface. Ethernet board's on-board TCP/IP. You should also note that Banyan You can build your Packet Driver VINES has supported this scheme of into ipx.com (as Acer, D-Link, interface sharing on Ethernet since Gateway, IMC Networks, Interlan, version 2.10, with a private Schneider & Koch, Sytek, Univation interface. 3Com 3+Open TM supports and others did), in which case you the same scheme via the published can stick with the normal, illegal, NDIS interface. NetWare encapsulation. Alternatively, you can require that 2. You can get the Interlan your users run econfig, to make "gateway" product, and install it in NetWare use a legal "Bluebook" your NetWare server. This is an packet, and build an ipx.com which NP600 intelligent Ethernet card and uses a separate Packet Driver to do software which acts as a high-level its network I/O (Kelly McDonald's translating gateway between IPX freeware shelldrv.obj from BYU does protocols on one side and TCP/IP on it this way). the other. It supports Telnet and FTP from the workstation, and Advantages: It is faster, and incoming FTP to the server. The there is no load on the server Telnet user interface is via a user- because the IP traffic goes direct supplied terminal emulation program to the other IP host. If the on the PC. I am told that it interface is Packet Driver and not _____________________________________________________________________________ January 1990 9 supports 16 connections via a single Bit Ordering of Addresses in MSB and server. LSB LANs Advantages: The PC can use any by Roger Pfister NetWare-supported media (Ethernet, BICC Data Networks Arcnet, Omninet, etc.) without consideration of whether or not IP Earlier versions of this paper is used on it. PCs don't have to were presented to ANSI X3T9.5 (FDDI) have an IP address (but some MAC Bridge Interest Group and to the software must be installed on them). IEEE 802.1 MAC Bridging subgroup. Disadvantages: You can only use A lot of confusion exists on the protocols the gateway understands subject of bit ordering in the (it can do normal Telnet, but not address and data fields on different 3270-mode Telnet, for instance). LANs. This paper attempts to Each active connection loads the illustrate the similarities and gateway some, and this approach will differences between Most Significant probably be the slowest of the 3 Bit (MSB) first and Least even when only one person is using Significant Bit (LSB) first LANs. it. This paper brings out, and tries to clarify the apparently confusing 3. Wollongong has a version of statement that "some addresses on WIN/PC which uses NETBIOS datagrams MSB LANs do not travel MSB first". to transport IP packets over NetWare. They have published an RFC This paper does not attempt to use describing the protocol, but I don't the language of standards, instead know of anyone else who has yet it uses a tutorial style. implemented it. There have also been academic developments which I understand used different mechanisms Two types of LAN to do roughly the same thing. Either requires a separate, The world is divided into two dedicated router to forward the IP types of standardized LAN: The packets onto an Ethernet or other LSBs -- 802.3 and 802.4 -- and the TCP/IP media. Wollongong supplies a MSBs -- 802.5 and FDDI. PC-based router which accomplishes this. In the following discussion I shall ignore the fact that FDDI does Advantages: You can run any not literally have an MSB "on the TCP/IP application which supports wire", this is because it uses the interface, and you won't care symbols which are 4B5B encoded, and what media the PC is using. The I shall assume a virtual bit order. server is not loaded. Note that in FDDI networks, the symbol carrying the MSB does go Disadvantages: You must install first. software on individual PCs. A dedicated router is required, which may be a throughput bottleneck. Definitions So, there it is, as I understand On an LSB LAN the source and it, today, May 22, 1989. destination addresses are transmitted group bit first and the LLC data fields are transmitted LSB first. _____________________________________________________________________________ January 1990 10 On an MSB LAN the source and addresses (in the destination or destination addresses are source field) will arrive in store transmitted group bit first and the in a different bit order depending LLC data fields are transmitted MSB on the LAN type from which it was first. received. I maintain the following statement is true. On an MSB LAN the "on the Comparing Examples wire" bit order of the source and destination address is different Compare the examples A and B, than the "on the wire" bit order of given at the end of this document. those same addresses when carried as This is the same frame shown LLC data. transmitted on both an LSB and an MSB LAN. The following points This can be restated as: On an should be noted. MSB LAN the addresses when traveling as LLC data look different, they do 1. The addresses (in the source not travel MSB first. and destination MAC fields) are the same "on the wire" in both cases, For completeness, the following is but they will arrive "in store" with true of LSB. On an LSB LAN the "on different bit orders. This is from the wire" bit order of the source the rule that puts the group bit and destination address is the same first. as the "on the wire" bit order of those same addresses when carried as 2. The group bit in the LLC data. destination LSAP is transmitted first on an LSB LAN and transmitted The previous definitions and last on an MSB LAN. (The LLC fields statements have an interesting are all data, so of course they go a effect when observed within real different way round depending on the implementations. Let us consider a LAN type). possible implementation of LSB and MSB MACs. In both cases a real 3. The group bit in the SNAP implementation can be expected to do (SubNetwork Access Protocol) the following two things. organizational identifier is transmitted first on an LSB LAN and 1. To deposit all the fields of a transmitted last (bit in the byte) received frame in store without on an MSB LAN. special treatment to any field. 4. The data, the characters "OSI" 2. To have LLC data fields which in ASCII, travels MSB first on an will be received such that any two MSB LAN and LSB first on an LSB LAN. MAC implementations produce mutually compatible data. That is, ASCII, 5. On the MSB LAN the same sent as data on one LAN, arrives in address will have a different bit store with the same bit order as order depending on whether it ASCII sent via the other LAN, and travels as one of the MAC addresses with the same bit order as ASCII is or as LLC data. Contrast the SNAP held internally. and MAC addresses in the MSB example. It follows then, that if the data looks the same when received from The SNAP is a standard method for both LANs then the source and supporting proprietary protocols destination addresses will look within LLC and therefore within OSI. different. That is, the same _____________________________________________________________________________ January 1990 11 Using the three byte encoding for A Plea for a Common Management Dest LSAP, Srce LSAP and LLC frame Encoding type which is used in the examples together with a company specific Having collectively caused organizational identifier ensures confusion in the encoding of MAC that any protocol so headed is addresses in LANS we now have a unique. The organizational chance, before it is too late, to identifier is the same code as is agree on encoding of MAC addresses issued by the IEEE to generate across the management interface. It unique 48 bit MAC addresses. is necessary and reasonable that, if a station is asked "what is your MAC I have used SNAP in the examples address" the station should give an because it allows me to demonstrate answer whose meaning is independent an example of where a MAC (type) of the type of MAC. address is transmitted as data and hence has different encodings on the two LANs. An alternative would have A History -- How we got here been to quote a management standard and this would generate unnecessary This is a light hearted look at detail. how we came to have the odd requirement of having to reverse addresses when we cross between MSB Other Points and LSB LANs. The main players are the Romans, the Arabs and the two The main content of this paper is now famous tribes of Big and Little taken from the Draft IEEE Standard Endians. It will probably expose my 802.1A "Overview and Architecture", own particular prejudices. which at the time of writing this paper is an 802.1 working document This problem goes back the best and so not widely available. part of two millennia. The Romans decided to take up writing and Readers of the 802.2 LLC standard decided they would start words on will know that the LLC standard the left side of the paper and work 802.2 gives examples of LLC fields towards the right. In fact they in diagrammatic binary. In this stole this idea from the Greeks who style the LLC standard puts the LSB themselves had been unsure of how to on the left. This convention, which do this thing called writing. For a is the opposite of most others, may while the Greeks tried doing one have been of use when there were line left to right and the next line only LSB LANs, but now there are LSB right to left! and MSB LANs its main effect is to confuse the issue. So there we are, with the Romans writing left to right, but being No real attempt has been made to very poor at numbers. Try give the order of MAC particular multiplying a few "M"s, "X"s and fields other than destination and "I"s and you will see what I mean. source addresses. This is because Also the Romans were in the Big the direction of this paper is to Endian camp, I mean those silly long clarify issues relating to MAC dates that have an "M" as the first bridging. When bridging identical digit the eye bumps into, that seems MACs such issues should be trivial. very Big Endian to me. When bridging different MACs the only areas of concern are the data, As all the merchants who were the addresses to which it is going, trading, and builders who were and from which it has come. engineering, needed to calculate _____________________________________________________________________________ January 1990 12 quickly some bright spark hit upon Then came the early days of the idea of stealing the numbers the standard LANs and two events, both Arabs used. This leads us to the of which are necessary to cause the Arabs. The Arabs had decided to present mess. Firstly 802, or some write right to left. other equally august body, decided that the first bit of an address Have you ever wondered why, out of must always be the individual/group the four simple ways to write, left bit. This advice or ruling must to right, right to left, up-down and surely predate the seven layer OSI down-up, that three were adopted model, because the bit order and separately by major early cultures style of transmission within a MAC (I don't know any down-ups). If is a local matter to a MAC. What only there had been an ISO then, would the ruling have meant if the imagine a meeting to standardize first MACs used 8 bit parallel data writing. or even more confusingly 16 bit parallel data? I suppose the idea Back to the Arabs -- they are a at the time was that it is a "good sensible people -- not only did they thing" to be able to put a scope on develop positional numerals, but the wire and see the global bit "go they were definitely Little Endians. past" first, perhaps if FDDI had Just think about it, if you are been about with 4B5B no one would reading right to left and you see an have cared. Arabic number, then the first digit you reach is the least significant The second event that happened, is digit -- Little Endians rule. OK. that the sponsors of the first standardized Token Ring, which later So the intellectual descendants of became 802.5, chose MSB first. (Had the Romans came to inherit a system the ancient scholar done the digit in which the words grow in meaning reversal then the modern western and significance left to right and world would have been completely the numbers grow in significance Little Endian, and so the idea of right to left. From that time on we going MSB instead of LSB, would were doomed to fall into the bit never have been considered by any reversing trap. It could all have chip blowing engineer). MSB first been avoided if the first scholar to is a perfectly reasonable way of use the new counting system and who doing things, because as I have also used left to right writing had said, transmission between MACs is, done a simple digit reversal! So or should be, a local matter for 1776 would have become written as that MAC type. 6771, easy really. But now the real complication The story now jumps to the early occurred. When the Token Ring days of data transmission, back sponsors chose to use MSB they also, before the characters RS232 had ever in my opinion, should have chosen to been typeset. How to transmit data send all MAC addresses with the on a serial line -- well of course group bit eighth (This can be the Little Endians were very clear thought of as sending the complete and the data went out LSB first. frame, including the MAC address in Why the numbers that form the data the MSB style. They should have tended to be transmitted MSB convinced the standards body to remains, at least to me, a mystery. relax the apparent restriction of I suppose it is because "higher sending the global bit first or they layer people" tend to be, first should not have used MSB. To have digit you see, first digit you send, done one without the other gives us hence natural Big Endians. all the complications we have today. _____________________________________________________________________________ January 1990 13 Finally with the arrival of FDDI P.S. A final sad postscript. The they had to pick a method. Once fact that addresses need to be there were two standard methods, reversed when bridging between 802.4 each was equally valid and so FDDI and 802.5 is all that prevents the chose MSB. same Frame Check Sequence from being used on both LANs, the algorithm is Big Endian and Little Endian are the same but once the MAC used with acknowledgment to Danny destination and source addresses are Cohen (and Johnathon Swift) in his reversed the input bit stream is 1981 article "A Plea for Peace". different. _____________________________________________________________________________ January 1990 14 Example A. A frame on 802.3 (an LSB LAN) MAC fields DEST addr 08-00-4E-01-02-03 SRCE addr 08-00-4E-04-05-06 802.3 LEN 01 23 LLC fields (an example) DEST LSAP AA AA 03 SNAP organizational id 08 00 4E SNAP sub identifier 07 08 other data e.g. "O" "S" "I" In the above example the addresses are shown in what 802 calls "canonical form" or "illustrative hex" it can be distinguished as a notation by the hyphens between the hex pairs. On an LSB LAN the following bit pattern is transmitted. The following example has the "illustrative hex" on the top line followed by the on the wire binary pattern, in which the left most bit is transmitted first the bit adjacent to it is transmitted next and so on. 0 8 0 0 4 E 0 1 0 2 0 3 0001 0000 0000 0000 0111 0010 1000 0000 0100 0000 1100 0000 ^the individual/group (multi-cast) bit 0 8 0 0 4 E 0 4 0 5 0 6 0001 0000 0000 0000 0111 0010 0010 0000 1010 0000 0110 0000 ^the individual/group (multi-cast) bit 0 1 2 3 1000 0000 1100 0100 A A A A 0 3 0101 0101 0101 0101 1100 0000 DEST LSAP SRCE LSAP LLC frame type (e.g. unnumbered info) ^the individual/group (multi-cast) bit 0 8 0 0 4 E 0 7 0 8 0001 0000 0000 0000 0111 0010 1110 0000 0001 0000 ^the individual/group (multi-cast) bit "O" "S" "I" 4 F 5 3 4 9 1111 0010 1100 1010 1001 0010 ^the individual/group (multi-cast) bit _____________________________________________________________________________ January 1990 15 Example B. The same frame on FDDI (an MSB LAN) MAC fields FC 50 DEST addr 10 00 72 80 40 C0 (the same addresses SRCE addr 10 00 72 20 A0 60 as before !!!!) LLC fields (an example) DEST LSAP AA AA 03 SNAP organizational id 08 00 4E SNAP sub identifier 07 08 other data e.g. "O" "S" "I" In the above example the addresses are shown in pseudo illustrative HEX which attempts mirror the value that an implementor would load into a frame. On an MSB LAN the following bit pattern is transmitted. The following example has the hex on the top line followed by the on the wire binary pattern, in which the left most bit is transmitted first the bit adjacent to it is transmitted next and so on. 5 0 0101 0000 (an asynchronous LLC frame with 48 bit addressing) 1 0 0 0 7 2 8 0 4 0 C 0001 0000 0000 0000 0111 0010 1000 0000 0100 0000 1100 0000 ^the individual/group (multi-cast) bit 1 0 0 0 7 2 2 0 A 0 6 0 0001 0000 0000 0000 0111 0010 0010 0000 1010 0000 0110 0000 ^the individual/group (multi-cast) bit (Different!) A A A A 0 3 1010 1010 1010 1010 0000 0011 DEST LSAP SRCE LSAP LLC frame type (e.g. unnumbered info) ^the individual/group (multi-cast) bit (Different!) 0 8 0 0 4 E 0 7 0 8 0000 1000 0000 0000 0100 1110 0000 0111 0000 1000 ^the individual/group (multi-cast) bit "O" "S" "I" 4 F 5 3 4 9 0100 1111 0101 0011 0100 1001 ^the individual/group (multi-cast) bit (Different!)