Notes on Computer Networks Bob Dickerson January 2005
Preface These notes formed the main material for a one semester Computer Science course on networks. The course was last taught in the academic year 2005–6. The course was primarily about the Internet, the TCP/IP protocol family. The rest of the preface is part of the original written for the course (or “elective module” as it was called) and it tries to show how the material in these notes relates to the units that made up the course, and references to sections or chapters in books that provide better, or alternative, explanations. The notes and books This is a description of the teaching material, its organisation and how it relates to the units in the Open Systems and Networks elective module. The main material for the module is provided by these notes. The notes try to cover the range of material that I think is appropriate to this course (module), and they are meant to be at a suitable level, ie. depth of treatment of each topic. This means that there is no required textbook. However the notes are written by me (Bob Dickerson) and therefore it is possible that they are: shallow, incomplete, difficult to understand and perhaps wrong. Even if they are not as bad as that it is still very useful to have alternative explanations for some topics so I am recommending some books as supporting material. Since the books are only meant to supplement or clarify the notes you should really only consult relevant sections or chapters of the books after reading the notes; this is because they might have a different emphasis and on individual topics have too much or too little material. Because the use of a textbook is just to reinforce the notes it is not compulsory, if you are brave, lazy, or, in fact, the notes are enough, you can try to manage without extra reading. All the following books are quite good, you can use bits of whichever one you want: 1. Douglas E. Comer. Computer Networks and Internets with Internet Applications. Prentice Hall, fourth edition, 2003. Good introduction, mainly TCP/IP, some stuff on data transmission. 2. James F. Kurose and Keith W. Ross. Computer Networking: A Top-Down Approach Featuring the Internet. Addison-Wesley, third edition, 2005. Good introduction, has some deeper treatment, no data transmission stuff. 3. L. L. Peterson and B. S. Davie. Computer networks, a systems approach. Morgan Kaufman, third edition, 2003. Good introduction, practical implementation examples, mainly TCP/IP, not much on data transmission stuff. 4. William Stallings. Computer Networking with Internet Protocols. Prentice Hall, first edition, 2004. Less conventional introduction, more advanced, has special chapters on congestion and quality of service, no data transmission stuff. 5. A. S. Tanenbaum. Computer networks. Prentice-Hall, fourth edition, 2003. Very good introduction, wide coverage, some data communications stuff too. The units This is a list of the units, links to the related notes and references to chapters or sections in the books. It is possible to vary the order of presentation of topics. In most books (Comer, Tanenbaum and Peterson) they are presented “bottom-up”, starting from the lowest level, or (in Kurose and Rose, and Stallings) “topdown”, starting with high-level application protocols. Even as I type this I cannot decide how to do it this time . . . , wait while I decide . . . , OK bottom up but with an overview of some general concepts first. Another choice is whether to include any material on data transmission, this is about how binary data is actually transmitted by “guided” media (wires or fibre optic) or by “unguided” media (wireless). This course (module) doesn’t cover the topic. This is a serious, but deliberate omission. There is not space or time to discuss signal propogation, noise, bandwidth, modulation etc. These topics not required for the assessment but if you feel unhappy reading about sending data over network connections without knowing how the bits are actually transmitted you can find some information in the books: Comer: chapter 4, 5, 6 and 7 deal with data transmission, iii
Notes on Computer Networks iv Peterson & Davie: no chapter on data transmission, but some stuff about bandwith and latency in chapter 1, Kurose & Ross: no chapters on data transmission but one section on “Physical media” in chapter 1, Tanenbaum: chapter 2, about 90 pages on data transmission, quite good, Stallings: nothing on data transmission, 1. Introduction: layers and protocols This unit includes a brief overview of what protocols and layers are, and how a message moves down through the layers acqiring different protocol headers. The unit introduces the concepts of: • division of responsibility in networking: layers that carry out different functions, • equivalent layers on different machines called peers, • protocols that allow peer layers on different machines to communicate, • message encapsulation the way layers attach their own headers to the messages they are asked to pass on by higher layers. There is one chapter in the notes Introduction, layers and protocols (chapter 1). Relevant material in the textbooks: Comer: these concepts are explained in chapter 16, “Protocols and Layering”, Peterson & Davie: no separate chapter but the is a section on “Network architecture” in chapter 1, Kurose & Ross: two separate sections on protocols and layers in chapter 1, Tanenbaum: some stuff on layers in chapter 1, Stallings: idea of protocols and layers in chapter 2. 2. Data link layer and network topologies The data-link layer is responsible for sending packets (lumps) of data between directly connected machines, ethernet, PPP, and wireless 802.11 are data-link protocols. The issues dealt with are: • network topologies, • the functions of data-link, simple encoding, framing and error checking, • how ethernet operates, • ethernet bridges, hubs and switches, • some stuff on wireless LANs The chapter on data-link and ethernet is Data link layer and network topologies (chapter 2). The chapter on wireless LAN is 802.11 Local Area Wireless Networks (chapter 3). Relevant material in the textbooks: Comer: this topic is covered in Comer’s book in chapters 7, 8 and 9. Then chapter 10 deals with physical connecting ethernets, chapter 11 with bridges, chapter 12 and 13 are about longer distance networks and are less relevant. Peterson & Davie: direct data-link networks are dealt with in chapter 2 this is relevant to the module, chapter 3 is about more complicated networks like ATM, this goes beyond what is required for the module, Kurose & Ross: chapter 5 is “The link layer and local area networks”, chapter 6 is about wireless and mobile networks and contains more material than is dealt with in the module, Tanenbaum: the treatment of data link is split into chapter 3 called “The data link layer”, and chapter 4 called “The medium access control sublayer” which actually contains most of the material about ethernet and wireless. These chapters contain more material than is needed by the module so be guided by the coverage of the notes, Stallings: data link is covered in Part 6, the first chapter is 13 on “Wide area networks” which is not really necessary for this module (too “wide”?), chapter 14 “Data link control” about issues in data link is more useful, and chapter 15 on “Local area networks” is relevant too.