,the ,hitchhikers ,guide to the ,internet #be ,august #aihg ,ed ,krol kroluxc4cso4uiuc4edu ,this document was produced through funding of the ,national ,science ,foundation4 ,copyright 7,c7 #aihg1 by the ,board of ,trustees of ,the ,university of ,illinois4 ,permission to duplicate this document1 in whole or part1 is granted provided reference is made to the source and this copyright is included in whole copies4 ,this document assumes that one is familiar with the workings of a non-connected simple ,,ip network 7e4g4 a few #d4b ,,bsd systems on an ,ethernet not connected to anywhere else74 ,appendix ,a contains remedial information to get one to this point4 ,its purpose is to get that person1 familiar with a simple net1 versed in the oral tradition of the ,internet to the point that that net can be connected to the ,internet with little danger to either4 ,it is not a tutorial1 it consists of pointers to other places1 literature1 and hints which are not normally documented4 ,since the ,internet is a dynamic environment1 changes to this document will be made regularly4 ,the author welcomes comments and suggestions4 ,this is especially true of terms for the glossary 7definitions are not necessary74 ,in the beginning there was the ,a,r,p,anet1 a wide area experimental network connecting hosts and terminal servers together4 ,procedures were set up to regulate the allocation of addresses and to create voluntary standards for the network4 ,as local area networks became more pervasive1 many hosts became gateways to local networks4 ,a network layer to allow the interoperation of these networks was developed and called ,,ip 7,internet ,protocol74 ,over time other groups created long haul ,,ip based networks 7,,nasa1 ,,nsf1 states44474 ,these nets1 too1 interoperate because of ,,ip4 ,the collection of all of these interoperating networks is the ,internet4 ,two groups do much of the research and information work of the ,internet 7,,isi and ,,sri74 ,,isi 7the ,informational ,sciences ,institute7 does much of the research1 standardization1 and allocation work of the ,internet4 ,,sri ,international provides information services for the ,internet4 ,in fact1 after you are connected to the ,internet most of the information in this document can be retrieved from the ,network ,information ,center 7,,nic7 run by ,,sri4 ,operating the ,internet ,each network1 be it the ,a,r,p,anet1 ,n,s,fnet or a regional network1 has its own operations center4 ,the ,a,r,p,anet is run by ,,bbn1 ,inc4 under contract from ,,darpa4 ,their facility is called the ,network ,operations ,center or ,,noc4 ,cornell ,university temporarily operates ,n,s,fnet 7called the ,network ,information ,service ,center1 ,,nisc74 ,it goes on to the -#b- regionals having similar facilities to monitor and keep watch over the goings on of their portion of the ,internet4 ,in addition1 they all should have some knowledge of what is happening to the ,internet in total4 ,if a problem comes up1 it is suggested that a campus network liaison should contact the network operator to which he is directly connected4 ,that is1 if you are connected to a regional network 7which is gatewayed to the ,n,s,fnet1 which is connected to the ,a,r,p,anet4447 and have a problem1 you should contact your regional network operations center4 ,r,f,cs ,the internal workings of the ,internet are defined by a set of documents called ,r,f,cs 7,request for ,comments74 ,the general process for creating an ,,rfc is for someone wanting something formalized to write a document describing the issue and mailing it to ,jon ,postel 7postelisi4edu74 ,he acts as a referee for the proposal4 ,it is then commented upon by all those wishing to take part in the discussion 7electronically of course74 ,it may go through multiple revisions4 ,should it be generally accepted as a good idea1 it will be assigned a number and filed with the ,r,f,cs4 ,the ,r,f,cs can be divided into five groups3 required1 suggested1 directional1 informational and obsolete4 ,required ,,rfc's 7e4g4 ,,rfc-#gia1 ,the ,internet ,protocol7 must be implemented on any host connected to the ,internet4 ,suggested ,r,f,cs are generally implemented by network hosts4 ,lack of them does not preclude access to the ,internet1 but may impact its usability4 ,,rfc-#gic 7,transmission ,control ,protocol7 is a suggested ,,rfc4 ,directional ,r,f,cs were discussed and agreed to1 but their application has never come into wide use4 ,this may be due to the lack of wide need for the specific application 7,,rfc-#icg ,the ,post ,office ,protocol7 or that1 although technically superior1 ran against other pervasive approaches 7,,rfc-#hia ,hello74 ,it is suggested that should the facility be required by a particular site1 animplementation be done in accordance with the ,,rfc4 ,this insures that1 should the idea be one whose time has come1 the implementation will be in accordance with some standard and will be generally usable4 ,informational ,r,f,cs contain factual information about the ,internet and its operation 7,,rfc-#iij1 ,assigned ,numbers74 ,finally1 as the ,internet and technology have grown1 some ,r,f,cs have become unnecessary4 ,these obsolete ,r,f,cs cannot be ignored1 however4 ,frequently when a change is made to some ,,rfc that causes a new one to be issued obsoleting others1 the new ,,rfc only contains explanations and motivations for the change4 ,understanding the model on which the whole facility is based may involve reading the original and subsequent ,r,f,cs on the topic4 -#c- 7,appendix ,b contains a list of what are considered to be the major ,r,f,cs necessary for understanding the ,internet74 ,the ,network ,information ,center ,the ,,nic is a facility available to all ,internet users which provides information to the community4 ,there are three means of ,,nic contact3 network1 telephone1 and mail4 ,the network accesses are the most prevalent4 ,interactive access is frequently used to do queries of ,,nic service overviews1 look up user and host names1 and scan lists of ,,nic documents4 ,it is available by using telnet sri-nic4arpa on a ,,bsd system and following the directions provided by a user friendly prompter4 ,from poking around in the databases provided one might decide that a document named ,,netinfo3,,nug4,,doc 7,the ,users ,guide to the ,a,r,p,anet7 would be worth having4 ,it could be retrieved via an anonymous ,,ftp4 ,an anonymous ,,ftp would proceed something like the following4 7,the dialogue may vary slightly depending on the implementation of ,,ftp you are using74 ftp sri-nic4arpa ,connected to sri-nic4arpa4 #bbj ,,sri,,nic4,,arpa ,,ftp ,server ,process #e,z7#dg7-f at ,wed #ag-;,jun-#hg #ab3jj ,,pdt ,name 7sri-nic4arpa3myname73 anonymous #cca ,,anonymous user ok1 send real ident as password4 ,password3 myname #bcj ,user ,,anonymous logged in at ,wed #ag-;,jun-#hg #ab3ja ,,pdt1 job #ae4 ftp get netinfo3nug4doc #bjj ,port #ah4add at host #abh4agd4e4ej accepted4 #aej ,,ascii retrieve of ,,netinfo,,nug4,,doc4#aa started4 #bbf ,transfer ,completed #aegfge 7#h7 bytes transferred local3 netinfo3nug4doc remote3netinfo3nug4doc #aegfge bytes in #d4e;e#jb seconds 7#j4cd ,kbytes_/s7 ftp quit #bba ,,quit command received4 ,goodbye4 7,another good initial document to fetch is ,,netinfo3,,what-,,the-,,nic-,,does4,,tx t76 ,questions of the ,,nic or problems with services can be asked of or reported to using electronic mail4 ,the following addresses can be used3 ,,nic,,sri-,,nic4,,arpa ,general user assistance1 document requests ,,registrar,,sri-,,nic4,,arpa ,user registration and ,,whois updates ,,hostmaster,,sri-,,nic4,,arpa ,hostname and domain changes and updates ,,action,,sri-,,nic4,,arpa ,,sri-,,nic computer operations ,,suggestions,,sri-,,nic4,,arpa ,comments on ,,nic publications and services -#d- ,for people without network access1 or if the number of documents is large1 many of the ,,nic documents are available in printed form for a small charge4 ,one frequently ordered document for starting sites is a compendium of major ,r,f,cs4 ,telephone access is used primarily for questions or problems with network access4 7,see appendix ,b for mail_/telephone contact numbers74 ,the ,n,s,fnet ,network ,service ,center ,the ,n,s,fnet ,network ,service ,center 7,,nnsc7 is funded by ,,nsf to provide a first level of aid to users of ,n,s,fnet should they have questions or encounter problems traversing the network4 ,it is run by ,,bbn ,inc4 ,karen ,roubicek 7roubiceknnsc4nsf4net7 is the ,,nnsc user liaison4 ,the ,,nnsc1 which currently has information and documents online and in printed form1 plans to distribute news through network mailing lists1 bulletins1 newsletters1 and online reports4 ,the ,,nnsc also maintains a database of contact points and sources of additional information about ,n,s,fnet component networks and supercomputer centers4 ,prospective or current users who do not know whom to call concerning questions about ,n,s,fnet use1 should contact the ,,nnsc4 ,the ,,nnsc will answer general questions1 and1 for detailed information relating to specific components of the ,internet1 will help users find the appropriate contact for further assistance4 7,appendix ,b7 ,mail ,reflectors ,the way most people keep up to date on network news is through subscription to a number of mail reflectors4 ,mail reflectors are special electronic mailboxes which1 when they receive a message1 resend it to a list of other mailboxes4 ,this in effect creates a discussion group on a particular topic4 ,each subscriber sees all the mail forwarded by the reflector1 and if one wants to put his two cents in sends a message with the comments to the reflector4444 ,the general format to subscribe to a mail list is to find the address reflector and append the string -,,request to the mailbox name 7not the host name74 ,for example1 if you wanted to take part in the mailing list for ,n,s,fnet reflected by ,,nsfnet,,nnsc4,,nsf4,,net1 one sends a request to -#e- ,,nsfnet-,,request,,nnsc4,,nsf4,,net4 ,this may be a wonderful scheme1 but the problem is that you must know the list exists in the first place4 ,it is suggested that1 if you are interested1 you read the mail from one list 7like ,,nsfnet7 and you will probably become familiar with the existence of others4 ,a registration service for mail reflectors is provided by the ,,nic in the files ,,netinfo3,,interest-,,groups-#a4,,txt1 ,,netinfo3,,interest-,,groups-#b4,,txt1 and ,,netinfo3,,interest-,,groups- #c4,,txt4 ,the ,,nsfnet mail reflector is targeted at those people who have a day to day interest in the news of the ,n,s,fnet 7the backbone1 regional network1 and ,internet inter-connection site workers74 ,the messages are reflected by a central location and are sent as separate messages to each subscriber4 ,this creates hundreds of messages on the wide area networks where bandwidth is the scarcest4 ,there are two ways in which a campus could spread the news and not cause these messages to inundate the wide area networks4 ,one is to re-reflect the message on the campus4 ,that is1 set up a reflector on a local machine which forwards the message to a campus distribution list4 ,the other is to create an alias on a campus machine which places the messages into a notesfile on the topic4 ,campus users who want the information could access the notesfile and see the messages that have been sent since their last access4 ,one might also elect to have the campus wide area network liaison screen the messages in either case and only forward those which are considered of merit4 ,either of these schemes allows one message to be sent to the campus1 while allowing wide distribution within4 ,address ,allocation ,before a local network can be connected to the ,internet it must be allocated a unique ,,ip address4 ,these addresses are allocated by ,,isi4 ,the allocation process consists of getting an application form received from ,,isi4 7,send a message to hostmastersri-nic4arpa and ask for the template for a connected address74 ,this template is filled out and mailed back to hostmaster4 ,an address is allocated and e-mailed back to you4 ,this can also be done by postal mail 7,appendix ,b74 ,,ip addresses are #cb bits long4 ,it is usually written as four decimal numbers separated by periods 7e4g41 #aib4ag4e4ajj74 ,each number is the value of an octet of the #cb bits4 ,it was seen from the beginning that some networks might choose to organize themselves as very flat 7one net with a lot of nodes7 and some might organize hierarchically -#f- 7many interconnected nets with fewer nodes each and a backbone74 ,to provide for these cases1 addresses were differentiated into class ,a1 ,b1 and ,c networks4 ,this classification had to with the interpretation of the octets4 ,class ,a networks have the first octet as a network address and the remaining three as a host address on that network4 ,class ,c addresses have three octets of network address and one of host4 ,class ,b is split two and two4 ,therefore1 there is an address space for a few large nets1 a reasonable number of medium nets and a large number of small nets4 ,the top two bits in the first octet are coded to tell the address format4 ,all of the class ,a nets have been allocated4 ,so one has to choose between ,class ,b and ,class ,c when placing an order4 7,there are also class ,d 7,multicast7 and ,e 7,experimental7 formats4 ,multicast addresses will likely come into greater use in the near future1 but are not frequently used now74 ,in the past sites requiring multiple network addresses requested multiple discrete addresses 7usually ,class ,c74 ,this was done because much of the software available 7not ably #d4b;,,bsd7 could not deal with subnetted addresses4 ,information on how to reach a particular network 7routing information7 must be stored in ,internet gateways and packet switches4 ,some of these nodes have a limited capability to store and exchange routing information 7limited to about #cjj networks74 ,therefore1 it is suggested that any campus announce 7make known to the ,internet7 no more than two discrete network numbers4 ,if a campus expects to be constrained by this1 it should consider subnetting4 ,subnetting 7,,rfc-#icb7 allows one to announce one address to the ,internet and use a set of addresses on the campus4 ,basically1 one defines a mask which allows the network to differentiate between the network portion and host portion of the address4 ,by using a different mask on the ,internet and the campus1 the address can be interpreted in multiple ways4 ,for example1 if a campus requires two networks internally and has the #cb1jjj addresses beginning #abh4agd4,x4,x 7a ,class ,b address7 allocated to it1 the campus could allocate #abh4agd4e4,x to one part of campus and #abh4agd4aj4,x to another4 ,by advertising #abh4agd to the ,internet with a subnet mask of ,,ff4,,ff4#jj4jj1 the ,internet would treat these two addresses as one4 ,within the campus a mask of ,,ff4,,ff4,,ff4#jj would be used1 allowing the campus to treat the addresses as separate entities4 7,in reality you don't pass the subnet mask of ,,ff4,,ff4#jj4jj to the ,internet1 the octet meaning is implicit in its being a class ,b address74 ,a word of warning is necessary4 ,not all systems know how to do subnetting4 ,some #d4b;,,bsd systems require additional software4 #d4c;,,bsd systems subnet as released4 ,other devices -#g- and operating systems vary in the problems they have dealing with subnets4 ,frequently these machines can be used as a leaf on a network but not as a gateway within the subnetted portion of the network4 ,as time passes and more systems become #d4c;,,bsd based1 these problems should disappear4 ,there has been some confusion in the past over the format of an ,,ip broadcast address4 ,some machines used an address of all zeros to mean broadcast and some all ones4 ,this was confusing when machines of both type were connected to the same network4 ,the broadcast address of all ones has been adopted to end the grief4 ,some systems 7e4g4 #d4b ,,bsd7 allow one to choose the format of the broadcast address4 ,if a system does allow this choice1 care should be taken that the all ones format is chosen4 7,this is explained in ,,rfc-#ajji and ,,rfc-#ajaj74 ,internet ,problems ,there are a number of problems with the ,internet4 ,solutions to the problems range from software changes to long term research projects4 ,some of the major ones are detailed below3 ,number of ,networks ,when the ,internet was designed it was to have about #ej connected networks4 ,with the explosion of networking1 the number is now approaching #cjj4 ,the software in a group of critical gateways 7called the core gateways of the ,a,r,p,anet7 are not able to pass or store much more than that number4 ,in the short term1 core reallocation and recoding has raised the number slightly4 ,by the summer of '#hh the current ,,pdp-#aa core gateways will be replaced with ,,bbn ,butterfly gateways which will solve the problem4 ,routing ,issues ,along with sheer mass of the data necessary to route packets to a large number of networks1 there are many problems with the updating1 stability1 and optimality of the routing algorithms4 ,much research is being done in the area1 but the optimal solution to these routing problems is still years away4 ,in most cases the the routing we have today works1 but sub-optimally and sometimes unpredictably4 -#h- ,trust ,issues ,gateways exchange network routing information4 ,currently1 most gateways accept on faith that the information provided about the state of the network is correct4 ,in the past this was not a big problem since most of the gateways belonged to a single administrative entity 7,,darpa74 ,now with multiple wide area networks under different administrations1 a rogue gateway somewhere in the net could cripple the ,internet4 ,there is design work going on to solve both the problem of a gateway doing unreasonable things and providing enough information to reasonably route data between multiply connected networks 7multi-homed networks74 ,capacity ,congestion ,many portions of the ,a,r,p,anet are very congested during the busy part of the day4 ,additional links are planned to alleviate this congestion1 but the implementation will take a few months4 ,these problems and the future direction of the ,internet are determined by the ,internet ,architect 7,dave ,clark of ,,mit7 being advised by the ,internet ,activities ,board 7,,iab74 ,this board is composed of chairmen of a number of committees with responsibility for various specialized areas of the ,internet4 ,the committees composing the ,,iab and their chairmen are3 ,committee ,chair ,autonomous ,networks ,deborah ,estrin ,end-to-,end ,services ,bob ,braden ,internet ,architecture ,dave ,mills ,internet ,engineering ,phil ,gross ,,egp#b ,mike ,petry ,name ,domain ,planning ,doug ,kingston ,gateway ,monitoring ,craig ,partridge ,internic ,jake ,feinler ,performance ,congestion ,control,robert ,stine ,,nsf ,routing ,chuck ,hedrick ,misc4 ,mil,sup ,issues ,mike ,st4 ,johns ,privacy ,steve ,kent ,,irinet ,requirements ,vint ,cerf ,robustness ,survivability ,jim ,mathis ,scientific ,requirements ,barry ,leiner ,note that under ,internet ,engineering1 there are a set of task forces and chairs to look at short term concerns4 ,the chairs of these task forces are not part of the ,,iab4 -#i- ,routing ,routing is the algorithm by which a network directs a packet from its source to its destination4 ,to appreciate the problem1 watch a small child trying to find a table in a restaurant4 ,from the adult point of view the structure of the dining room is seen and an optimal route easily chosen4 ,the child1 however1 is presented with a set of paths between tables where a good path1 let alone the optimal one to the goal is not discernible4999999 ,a little more background might be appropriate4 ,,ip gateways 7more correctly routers7 are boxes which have connections to multiple networks and pass traffic between these nets4 ,they decide how the packet is to be sent based on the information in the ,,ip header of the packet and the state of the network4 ,each interface on a router has an unique address appropriate to the network to which it is connected4 ,the information in the ,,ip header which is used is primarily the destination address4 ,other information 7e4g4 type of service7 is largely ignored at this time4 ,the state of the network is determined by the routers passing information among themselves4 ,the distribution of the database 7what each node knows71 the form of the updates1 and metrics used to measure the value of a connection1 are the parameters which determine the characteristics of a routing protocol4 ,under some algorithms each node in the network has complete knowledge of the state of the network 7the adult algorithm74 ,this implies the nodes must have larger amounts of local storage and enough ,,cpu to search the large tables in a short enough time 7remember this must be done for each packet74 ,also1 routing updates usually contain only changes to the existing information 7or you spend a large amount of the network capacity passing around megabyte routing updates74 ,this type of algorithm has several problems4 ,since the only way the routing information can be passed around is across the network and the propagation time is non-trivial1 the view of the network at each node is a correct historical view of the network at varying times in the past4 7,the adult algorithm1 but rather than looking directly at the dining area1 looking at a photograph of the dining room4 ,one is likely to pick the optimal route and find a bus-cart has moved in to block the path after the photo was taken74 ,these inconsistencies can cause circular routes 7called routing loops7 where once a packet enters it is routed in a closed path until its time to live 7,,ttl7 field expires and it is discarded4 ,other algorithms may know about only a subset of the network4 ,to prevent loops in these protocols1 they are usually used in a hierarchical network4 ,they know completely about their own area1 but to leave that area they go to one particular place 7the default gateway74 ,typically these are used in smaller networks 7campus1 regional44474 -#aj- ,routing protocols in current use3 ,static 7no protocol-table_/default routing7 ,don't laugh4 ,it is probably the most reliable1 easiest to implement1 and least likely to get one into trouble for a small network or a leaf on the ,internet4 ,this is1 also1 the only method available on some ,,cpu-operating system combinations4 ,if a host is connected to an ,ethernet which has only one gateway off of it1 one should make that the default gateway for the host and do no other routing4 7,of course that gateway may pass the reachablity information somehow on the other side of itself74 ,one word of warning1 it is only with extreme caution that one should use static routes in the middle of a network which is also using dynamic routing4 ,the routers passing dynamic information are sometimes confused by conflicting dynamic and static routes4 ,if your host is on an ethernet with multiple routers to other networks on it and the routers are doing dynamic routing among themselves1 it is usually better to take part in the dynamic routing than to use static routes4 ,,rip ,,rip is a routing protocol based on ,,xns 7,xerox ,network ,system7 adapted for ,,ip networks4 ,it is used by many routers 7,proteon1 cisco1 ,,ub4447 and many ,,bsd ,unix systems ,,bsd systems typically run a program called routed to exchange information with other systems running ,,rip4 ,,rip works best for nets of small diameter where the links are of equal speed4 ,the reason for this is that the metric used to determine which path is best is the hop-count4 ,a hop is a traversal across a gateway4 ,so1 all machines on the same ,ethernet are zero hops away4 ,if a router connects connects two net- works directly1 a machine on the other side of the router is one hop away4444 ,as the routing information is passed through a gateway1 the gateway adds one to the hop counts to keep them consistent across the net- work4 ,the diameter of a network is defined as the largest hop-count possible within a network4 ,unfor- tunately1 a hop count of #af is defined as infinity in ,,rip meaning the link is down4 ,therefore1 ,,rip will not allow hosts separated by more than #ae gateways in the ,,rip space to communicate4 ,the other problem with hop-count metrics is that if links have different speeds1 that difference is not -#aa- reflected in the hop-count4 ,so a one hop satellite link 7with a 4#e sec delay7 at #efkb would be used instead of a two hop ,t#a connection4 ,congestion can be viewed as a decrease in the efficacy of a link4 ,so1 as a link gets more congested1 ,,rip will still know it is the best hop-count route and congest it even more by throwing more packets on the queue for that link4 ,the protocol is not well documented4 ,a group of people are working on producing an ,,rfc to both define the current ,,rip and to do some extensions to it to allow it to better cope with larger networks4 ,currently1 the best documentation for ,,rip appears to be the code to ,,bsd routed4 ,routed ,the ,,routed program1 which does ,,rip for #d4b;,,bsd systems1 has many options4 ,one of the most frequently used is3 routed -q 7quiet mode7 which means listen to ,,rip infor- mation but never broadcast it4 ,this would be used by a machine on a network with multiple ,,rip speaking gate- ways4 ,it allows the host to determine which gateway is best 7hopwise7 to use to reach a distant network4 7,of course you might want to have a default gateway to prevent having to pass all the addresses known to the ,internet around with ,,rip74 ,there are two ways to insert static routes into routed1 the _/etc_/gateways file and the route add command4 ,static routes are useful if you know how to reach a distant network1 but you are not receiving that route using ,,rip4 ,for the most part the route add command is preferable to use4 ,the reason for this is that the command adds the route to that machine's routing table but does not export it through ,,rip4 ,the _/etc_/gateways file takes precedence over any routing information received through a ,,rip update4 ,it is also broadcast as fact in ,,rip updates produced by the host without question1 so if a mistake is made in the _/etc_/gateways file1 that mistake will soon permeate the ,,rip space and may bring the network to its knees4 ,one of the problems with routed is that you have very little control over what gets broadcast and what doesn't4 ,many times in larger networks where various parts of the network are under different administrative controls1 you would like to pass on through ,,rip only nets which you receive from ,,rip and you know are reasonable4 ,this prevents people from adding ,,ip addresses to the network which may be illegal and you being responsible for passing them on to the ,internet4 ,this -#ab- type of reasonability checks are not available with routed and leave it usable1 but inadequate for large networks4 ,hello 7,,rfc-#hia7 ,hello is a routing protocol which was designed and implemented in a experimental software router called a ,fuzzball which runs on a ,,pdp-#aa4 ,it does not have wide usage1 but is the routing protocol currently used on the ,n,s,fnet backbone4 ,the data transferred between nodes is similar to ,,rip 7a list of networks and their metrics74 ,the metric1 however1 is milliseconds of delay4 ,this allows ,hello to be used over nets of various link speeds and performs better in congestive situations4 ,one of the most interesting side effects of ,hello based networks is their great timekeeping ability4 ,if you consider the problem of measuring delay on a link for the metric1 you find that it is not an easy thing to do4 ,you cannot measure round trip time since the return link may be more congested1 of a different speed1 or even not there4 ,it is not really feasible for each node on the network to have a builtin ,,wwv 7nationwide radio time standard7 receiver4 ,so1 you must design an algorithm to pass around time between nodes over the network links where the delay in transmission can only be approximated4 ,hello routers do this and in a nationwide network maintain synchronized time within milliseconds4 ,exterior ,gateway ,protocol 7,,egp ,,rfc-#ijd7 ,,egp is not strictly a routing protocol1 it is a reacha- bility protocol4 ,it tells only if nets can be reached through a particular gateway1 not how good the connec- tion is4 ,it is the standard by which gateways to local nets inform the ,a,r,p,anet of the nets they can reach4 ,there is a metric passed around by ,,egp but its usage is not standardized formally4 ,its typical value is value is #a to #h which are arbitrary goodness of link values understood by the internal ,,ddn gateways4 ,the smaller the value the better and a value of #h being unreach- able4 ,a quirk of the protocol prevents distinguishing between #a and #b1 #c and #d4441 so the usablity of this as a metric is as three values and unreachable4 ,within ,n,s,fnet the values used are #a1 #c1 and unreachable4 ,many routers talk ,,egp so they can be used for ,a,r,p,anet gateways4 -#ac- ,gated ,so we have regional and campus networks talking ,,rip among themselves1 the ,n,s,fnet backbone talking ,hello1 and the ,,ddn speaking ,,egp4 ,how do they interoperate8 ,in the beginning there was static routing1 assembled into the ,fuzzball software configured for each site4 ,the problem with doing static routing in the middle of the network is that it is broadcast to the ,internet whether it is usable or not4 ,therefore1 if a net becomes unreachable and you try to get there1 dynamic routing will immediately issue a net unreachable to you4 ,under static routing the routers would think the net could be reached and would continue trying until the application gave up 7in #b or more minutes74 ,mark ,fedor of ,cornell 7fedordevvax4tn4cornell4edu7 attempted to solve these problems with a replacement for routed called gated4 ,gated talks ,,rip to ,,rip speaking hosts1 ,,egp to ,,egp speakers1 and ,hello to ,hello'ers4 ,these speakers frequently all live on one ,ethernet1 but luckily 7or unluckily7 cannot understand each others ruminations4 ,in addition1 under configuration file control it can filter the conversion4 ,for example1 one can produce a configuration saying announce ,,rip nets via ,hello only if they are specified in a list and are reachable by way of a ,,rip broadcast as well4 ,this means that if a rogue network appears in your local site's ,,rip space1 it won't be passed through to the ,hello side of the world4 ,there are also configuration options to do static routing and name trusted gateways4 ,this may sound like the greatest thing since sliced bread1 but there is a catch called metric conversion4 ,you have ,,rip measuring in hops1 ,hello measuring in milliseconds1 and ,,egp using arbitrary small numbers4 ,the big questions is how many hops to a millisecond1 how many milliseconds in the ,,egp number #c4444 ,also1 remember that infinity 7unreachability7 is #af to ,,rip1 #cjjjj or so to ,hello1 and #h to the ,,ddn with ,,egp4 ,getting all these metrics to work well together is no small feat4 ,if done incorrectly and you translate an ,,rip of #af into an ,,egp of #f1 everyone in the ,a,r,p,anet will still think your gateway can reach the unreachable and will send every packet in the world your way4 ,for these reasons1 ,mark requests that you consult closely with him when configuring and using gated4 -#ad- ,names ,all routing across the network is done by means of the ,,ip address associated with a packet4 ,since humans find it difficult to remember addresses like #abh4agd4e4ej1 a symbolic name register was set up at the ,,nic where people would say ,i would like my host to be named 'uiucuxc'4 ,machines connected to the ,internet across the nation would connect to the ,,nic in the middle of the night1 check modification dates on the hosts file1 and if modified move it to their local machine4 ,with the advent of workstations and micros1 changes to the host file would have to be made nightly4 ,it would also be very labor intensive and consume a lot of network bandwidth4 ,,rfc-#hhb and a number of others describe domain name service1 a distributed data base system for mapping names into addresses4 ,we must look a little more closely into what's in a name4 ,first1 note that an address specifies a particular connec- tion on a specific network4 ,if the machine moves1 the address changes4 ,second1 a machine can have one or more names and one or more network addresses 7connections7 to different networks4 ,names point to a something which does useful work 7i4e4 the machine7 and ,,ip addresses point to an interface on that provider4 ,a name is a purely symbolic representation of a list of addresses on the network4 ,if a machine moves to a different network1 the addresses will change but the name could remain the same4 ,domain names are tree structured names with the root of the tree at the right4 ,for example3 uxc4cso4uiuc4edu is a machine called 'uxc' 7purely arbitrary71 within the subdomains method of allocation of the ,u of ,i7 and 'uiuc' 7the ,university of ,illinois at ,urbana71 registered with 'edu' 7the set of educational institutions74 ,a simplified model of how a name is resolved is that on the user's machine there is a resolver4 ,the resolver knows how to contact across the network a root name server4 ,root servers are the base of the tree structured data retrieval system4 ,they know who is responsible for handling first level domains 7e4g4 'edu'74 ,what root servers to use is an installation parameter4 ,from the root server the resolver finds out who provides 'edu' service4 ,it contacts the 'edu' name server which supplies it with a list of addresses of servers for the subdomains 7like 'uiuc'74 ,this action is repeated with the subdomain servers until the final sub- domain returns a list of addresses of interfaces on the host in question4 ,the user's machine then has its choice of which of these addresses to use for communication4 -#ae- ,a group may apply for its own domain name 7like 'uiuc' above74 ,this is done in a manner similar to the ,,ip address allocation4 ,the only requirements are that the requestor have two machines reachable from the ,internet1 which will act as name servers for that domain4 ,those servers could also act as servers for subdomains or other servers could be designated as such4 ,note that the servers need not be located in any particular place1 as long as they are reach- able for name resolution4 7,u of ,i could ask ,michigan ,state to act on its behalf and that would be fine74 ,the biggest problem is that someone must do maintenance on the database4 ,if the machine is not convenient1 that might not be done in a timely fashion4 ,the other thing to note is that once the domain is allocated to an administrative entity1 that entity can freely allocate subdomains using what ever manner it sees fit4 ,the ,berkeley ,internet ,name ,domain 7,,bind7 ,server implements the ,internet name server for ,,unix systems4 ,the name server is a distributed data base system that allows clients to name resources and to share that information with other net- work hosts4 ,,bind is integrated with #d4c;,,bsd and is used to lookup and store host names1 addresses1 mail agents1 host information1 and more4 ,it replaces the _/etc_/hosts file for host name lookup4 ,,bind is still an evolving program4 ,to keep up with reports on operational problems1 future design decisions1 etc1 join the ,,bind mailing list by sending a request to bind-requestucbarp4,berkeley4,,edu4 ,,bind can also be obtained via anonymous ,,ftp from ucbarpa4berkley4edu4 ,there are several advantages in using ,,bind4 ,one of the most important is that it frees a host from relying on _/etc_/hosts being up to date and complete4 ,within the 4uiuc4edu domain1 only a few hosts are included in the host table distributed by ,,sri4 ,the remainder are listed locally within the ,,bind tables on uxc4cso4uiuc4edu 7the server machine for most of the 4uiuc4edu domain74 ,all are equally reachable from any other ,internet host running ,,bind4 ,,bind can also provide mail forwarding information for inte- rior hosts not directly reachable from the ,internet4 ,these hosts can either be on non-advertised networks1 or not con- nected to a network at all1 as in the case of ,,uucp-reachable hosts4 ,more information on ,,bind is available in the ,name ,server ,operations ,guide for ,,bind in ,,unix ,system ,manager's ,manual1 #d4c;,,bsd release4 ,there are a few special domains on the network1 like ,,sri- ,,nic4,,arpa4 ,the 'arpa' domain is historical1 referring to hosts registered in the old hosts database at the ,,nic4 ,there are others of the form ,,nnsc4,,nsf4,,net4 ,these special domains are used sparingly and require ample justification4 ,they refer to servers under the administrative control of -#af- the network rather than any single organization4 ,this allows for the actual server to be moved around the net while the user interface to that machine remains constant4 ,that is1 should ,,bbn relinquish control of the ,,nnsc1 the new provider would be pointed to by that name4 ,in actuality1 the domain system is a much more general and complex system than has been described4 ,resolvers and some servers cache information to allow steps in the resolution to be skipped4 ,information provided by the servers can be arbitrary1 not merely ,,ip addresses4 ,this allows the system to be used both by non-,,ip networks and for mail1 where it may be necessary to give information on intermediate mail bridges4 ,what's wrong with ,berkeley ,unix ,university of ,california at ,berkeley has been funded by ,,darpa to modify the ,unix system in a number of ways4 ,included in these modifications is support for the ,internet protocols4 ,in earlier versions 7e4g4 ,,bsd #d4b7 there was good support for the basic ,internet protocols 7,,tcp1 ,,ip1 ,,smtp1 ,,arp7 which allowed it to perform nicely on ,,ip ether- nets and smaller ,internets4 ,there were deficiencies1 how- ever1 when it was connected to complicated networks4 ,most of these problems have been resolved under the newest release 7,,bsd #d4c74 ,since it is the springboard from which many vendors have launched ,unix implementations 7either by porting the existing code or by using it as a model71 many implementations 7e4g4 ,ultrix7 are still based on ,,bsd #d4b4 ,therefore1 many implementations still exist with the ,,bsd #d4b problems4 ,as time goes on1 when ,,bsd #d4c trickles through vendors as new release1 many of the problems will be resolved4 ,following is a list of some problem scenarios and their handling under each of these releases4 ,,icmp redirects ,under the ,internet model1 all a system needs to know to get anywhere in the ,internet is its own address1 the address of where it wants to go1 and how to reach a gateway which knows about the ,internet4 ,it doesn't have to be the best gateway4 ,if the system is on a network with multiple gateways1 and a host sends a packet for delivery to a gateway which feels another directly connected gateway is more appropriate1 the gateway sends the sender a message4 ,this message is an ,,icmp redirect1 which politely says ,i'll deliver this message for you1 but you really ought to use that gate- way over there to reach this host4 ,,bsd #d4b ignores these messages4 ,this creates more stress on the gate- ways and the local network1 since for every packet -#ag- sent1 the gateway sends a packet to the originator4 ,,bsd #d4c uses the redirect to update its routing tables1 will use the route until it times out1 then revert to the use of the route it thinks is should use4 ,the whole process then repeats1 but it is far better than one per packet4 ,trailers ,an application 7like ,,ftp7 sends a string of octets to ,,tcp which breaks it into chunks1 and adds a ,,tcp header4 ,,tcp then sends blocks of data to ,,ip which adds its own headers and ships the packets over the network4 ,all this prepending of the data with headers causes memory moves in both the sending and the receiving machines4 ,someone got the bright idea that if packets were long and they stuck the headers on the end 7they became trailers71 the receiving machine could put the packet on the beginning of a page boundary and if the trailer was ,,ok merely delete it and transfer control of the page with no memory moves involved4 ,the problem is that trailers were never standardized and most gateways don't know to look for the routing information at the end of the block4 ,when trailers are used1 the machine typically works fine on the local network 7no gateways involved7 and for short blocks through gateways 7on which trailers aren't used74 ,so ,,telnet and ,,ftp's of very short files work just fine and ,,ftp's of long files seem to hang4 ,on ,,bsd #d4b trailers are a boot option and one should make sure they are off when using the ,internet4 ,,bsd #d4c negotiates trailers1 so it uses them on its local net and doesn't use them when going across the network4 ,retransmissions ,,tcp fires off blocks to its partner at the far end of the connection4 ,if it doesn't receive an acknowledge- ment in a reasonable amount of time it retransmits the blocks4 ,the determination of what is reasonable is done by ,,tcp's retransmission algorithm4 ,there is no correct algorithm but some are better than others1 where better is measured by the number of retransmis- sions done unnecessarily4 ,,bsd #d4b had a retransmission algorithm which retransmitted quickly and often4 ,this is exactly what you would want if you had a bunch of machines on an ethernet 7a low delay network of large bandwidth74 ,if you have a network of relatively longer delay and scarce bandwidth 7e4g4 #efkb lines71 it tends to retransmit too aggressively4 ,therefore1 it makes the networks and gateways pass more traffic than is really necessary for a given conversation4 ,retransmis- sion algorithms do adapt to the delay of the network -#ah- after a few packets1 but #d4b's adapts slowly in delay situations4 ,,bsd #d4c does a lot better and tries to do the best for both worlds4 ,it fires off a few retransmissions really quickly assuming it is on a low delay network1 and then backs off very quickly4 ,it also allows the delay to be about #d minutes before it gives up and declares the connection broken4 -#ai- ,appendix ,a ,references to ,remedial ,information ,quaterman and ,hoskins1 ,notable ,computer ,networks1 ,communications of the ,,acm1 ,vol #bi1 #aj1 pp4 #icb-iga 7,october1 #aihf74 ,tannenbaum1 ,andrew ,s41 ,computer ,networks1 ,prentice ,hall1 #aiha4 ,hedrick1 ,chuck1 ,introduction to the ,internet ,protocols1 ,anonymous ,,ftp from topaz4rutgers4edu1 directory pub_/tcp-ip-docs1 file tcp-ip-intro4doc4 -#bj- ,appendix ,b ,list of ,major ,r,f,cs ,,rfc-#gfh ,user ,datagram ,protocol 7,,udp7 ,,rfc-#gia ,internet ,protocol 7,,ip7 ,,rfc-#gib ,internet ,control ,message ,protocol 7,,icmp7 ,,rfc-#gic ,transmission ,control ,protocol 7,,tcp7 ,,rfc-#hba ,simple ,mail ,transfer ,protocol 7,,smtp7 ,,rfc-#hbb ,standard for the ,format of ,,arpa ,internet ,text ,messages ,,rfc-#hed ,telnet ,protocol ,,rfc-#iag 99 ,internet ,subnets ,,rfc-#iai 99 ,broadcasting ,internet ,datagrams ,,rfc-#ibb 99 ,broadcasting ,internet ,datagrams in the ,presence of ,subnets ,,rfc-#idj 99 ,toward an ,internet ,standard ,scheme for ,subnetting ,,rfc-#idg 99 ,multi-network ,broadcasting within the ,internet ,,rfc-#iej 99 ,internet ,standard ,subnetting ,procedure ,,rfc-#iei ,file ,transfer ,protocol 7,,ftp7 ,,rfc-#iff 99 ,host ,groups3 ,a ,multicast ,extension to the ,internet ,protocol ,,rfc-#ihh 99 ,host ,extensions for ,,ip ,multicasting ,,rfc-#iig 99 ,internet ,numbers ,,rfc-#ajaj 99 ,assigned ,numbers ,,rfc-#ajaa 99 ,official ,,arpa-,internet ,protocols ,,rfc's marked with the asterisk 7997 are not included in the #aihe ,,ddn ,protocol ,handbook4 ,note3 ,this list is a portion of a list of ,,rfc's by topic retrieved from the ,,nic under ,,netinfo3,,rfc-,,sets4,,txt 7anonymous ,,ftp of course74 ,the following list is not necessary for connection to the ,internet1 but is useful in understanding the domain system1 mail system1 and gateways3 ,,rfc-#hhb ,domain ,names - ,concepts and ,facilities ,,rfc-#hhc ,domain ,names - ,implementation ,,rfc-#igc ,domain ,system ,changes and ,observations ,,rfc-#igd ,mail ,routing and the ,domain ,system ,,rfc-#ajji ,requirements for ,internet ,gateways -#ba- ,appendix ,c ,contact ,points for ,network ,information ,network ,information ,center 7,,nic7 ,,ddn ,network ,information ,center ,,sri ,international1 ,room ,,ej#bia #ccc ,ravenswood ,avenue ,menlo ,park1 ,,ca #idjbe 7#hjj7 #bce-caee or 7#dae7 #hei-cfie ,,nic,,sri-,,nic4,,arpa ,,nsf ,network ,service ,center 7,,nnsc7 ,,nnsc ,,bbn ,laboratories ,inc4 #aj ,moulton ,st4 ,cambridge1 ,,ma #jbbch 7#fag7 #dig-cdjj ,,nnsc,,nnsc4,,nsf4,,net -#bb- ,glossary core gateway ,the innermost gateways of the ,a,r,p,anet4 ,these gateways have a total picture of the reacha- bility to all networks known to the ,a,r,p,anet with ,,egp4 ,they then redistribute reachabil- ity information to all those gateways speak- ing ,,egp4 ,it is from them your ,,egp agent 7there is one acting for you somewhere if you can reach the ,a,r,p,anet7 finds out it can reach all the nets on the ,a,r,p,anet4 ,which is then passed to you via ,hello1 gated1 ,,rip4444 count to infinity ,the symptom of a routing problem where routing information is passed in a circular manner through multiple gateways4 ,each gate- way increments the metric appropriately and passes it on4 ,as the metric is passed around the loop1 it increments to ever increasing values til it reaches the maximum for the routing protocol being used1 which typically denotes a link outage4 hold down ,when a router discovers a path in the network has gone down announcing that that path is down for a minimum amount of time 7usually at least two minutes74 ,this allows for the pro- pagation of the routing information across the network and prevents the formation of routing loops4 split horizon ,when a router 7or group of routers working in consort7 accept routing information from mul- tiple external networks1 but do not pass on information learned from one external network to any others4 ,this is an attempt to prevent bogus routes to a network from being propagated because of gossip or counting to infinity4 -#bc-