0. Administrative A. Opening - Converse with Students to demonstrate computer networking principles 1. Who here lives in Chicago? 2. Pick out student and converse 3. How does this relate to computer networking? a. Physical: sound, air waves, ear drums, eye contact, mouth/words b. Network: medium access, basic req/ack, name, broadcast, unicast, multicast c. Protocols: English, "hello", half duplex B. Computer Networks - TDC 463 1. Instructor: who, office hours, e-mail, web pages, HyperNews 2. Textbook(s) 3. Schedule 4. Homework 5. Mid-term 6. Final project C. Attendance/New Students D. Questions I. Principles of Computer Networking A. Numbering Systems 1. Decimal - column placement 2. Hexadecimal 3. Binary a. Why? - encoding b. bps, Kbps, Mbps, Gbps, Tbps, etc. c. Example IP address d. Example addition B. Code Sets 1. Representation of 1's and 0's to an "alphabet" 2. Morse code - alphanumeric, special characters (stop/start) - binary! 3. ASCII - 7/8 bit code set C. Data Transmission 1. Serial 2. Parallel 3. Timing To detect data bits at the receiver, the detector must know the start time and the end time (duration) of each bit. a. Asynchronous Data is sent on a character by character basis consisting of 5 to 8 bits. i. a stop code (1-state) followed by a start bit (0-start) separate two successive characters ii. synchronization thus is not on a bit by bit basis, but between characters iii. length of stop code is random depending on interval generated at source ex: 111110 [character] 11111111111110 [character] 11111 b. Synchronous A bit-sync mechanism between transmitter and receiver is implemented. The exact arrival time of each bit is known. i. master clock connects sender/receiver via a separate channel or ii. sync provided by the data signal itself (i.e. Ethernet's manchester encoding) * bit sync enables a higher level sync: frame sync - Receiver needs to know the beginning and end of the data frame whose length varies. ex: [preamble][data block.....................][postamble] c. Isochronous D. Protocols and Layering 1. Protocols a. A set of rules and formats that govern the communication between communicating peers. Peers agree on a set of valid messages and the meaning of each message. Peers: Two or more parties communicating with each other at the same level (layer). ex: Compression scheme, error control scheme, addressing, etc. b. Open standards based, propietary ex: TCP/IP, IPX/SPX c. Protocol suites avoid a single, giant protocol that specifies the complete details for all possible forms of communication. Communications are divided into modules so that there is a separate protocol for each particular function. This makes each protocol easier to design, analyze, implement, test and change. Protocol suite examples: TCP/IP, IPX/SPX, SNA, AppleTalk, and OSI d. Bits, Frames, Packets, Datagrams and Cells (Encapsulation) 2. Layering A model which describes how a protocol suite can be designed and how peers communicate with each other. Specific protocols in the suite cab be described as operating at specific layers in the model. In theory, each layer communicates only with the layer above and the layer below. Layering is a form of information hiding. Sounds good in theory, but may increase protocol overhead (cost) and efficiency (performance). Must balance strict layering and software optimizations. a. OSI Reference Model A OSI protocol suite was defined, but for all practical purposes it is obsolete. It was too strict, too cumbersome, expensive, complex, etc... Read: http://members.aol.com/Telford011/debate.html for a historic look at OSI protocols versus the TCP/IP suite. The OSI Reference Model however is still widely used as the way to describe many existing protocols. Although many widely used protocols do not fit into the reference model exactly, it is still good enough to describe most network architectures. 7: Application (file transfer, mail) 6: Presentation (compression, encryption, code sets) 5: Session (login, disconnect) 4: Transport (retransmission, sequencing) 3: Network (routing, addressing) 2: Data link (synchronization, error control) 1: Physical (channel coding, connectors, bandwidth) Mnemonic: All People Seem To Need Data Processing [L1][L2][L3][L4][L5][L6][L7][Original User Data] End systems would contain all 7 seven layers, but intermediate devices may implement a subset, particularly the lowest layers such as that used by repeaters, bridges, switches and routers. Physical - Coding scheme used to represent bits on the medium - Connector shapes and sizes, wire gauges, radio frequency spectrum - Provides bit level transport for data link, doesn't understand frames Data Link - Packet framing (bit patterns to delimit frame beginning and end) - Data link addressing (hardware address) - Medium access control (MAC) - Sometimes there is error control and flow control (logical link control) - Datalink usually implemented along with physical layer (i.e. Ethernet NIC) Network Logically concatenate a set of datalinks to form the abstraction of an end-to-end link. Packet fragmentation, routing and addressing are used to hide upper layers from the data link. Fragmentation: If data link limits maximum/minimum packet sizes, network layer splits message from the transport at the sending station (or possibly at a intermediate station) and reassembles the packet at the destination. Routing: To properly move the packet from the sender to the receiver through a internetwork which may be comprised of multiple datalink networks. Addressing: To provide a unique network-wide address for all stations on the internet. Unlike datalink, usually corresponds to the network hierarchy. Note: Intermediate systems are primarily used for the routing function. End stations typically perform limited routing functions. Transport The transport layer is to the network layer as the data link layer is to the physical layer. "The transport layer fixes what the network layer breaks." Network-wide end-to-end functions are performed at the transport layer such as error control and flow control. Error-control: The transport layer will guarantee, with very high probability a message will reach it's destination despite packet losses, corruption and duplication. - Loss handled by retransmission - Corruption by detection, discard and retransmission - Duplication by detection and discard Flow-control: To match the capable transmission rate of the source to the rate sustainable by the destination over the entire network path. - Implicit: Heuristics to estimate service rate. - Explicit: Receiver notifies sender of capabilities. Multiplexing: To support multiple applications over the same end-to-end connection. In TCP, a protocol "port" is used. Session If necessary, full-duplex service, expedited data delivery and session synchronization are provided. Presentation Hides data representation between application layers. For example, systems which store a word in high order format (big endian) may need to be converted to a system which stores words in low order (little endian) format. Encryption and authentication may also operate in this layer. Like the session layer, this layer is often unnecessary. Application Any application that uses the Presentation Layer services. For example, an application that transfers files across a network between two stations. b. TCP/IP Protocol Suite We will be primarily concerned with the TCP/IP suite of protocols in this class. TCP/IP often combines the Session, Presentation and Application layers into a single layer. Physical Data link Internet Transport Application c. Novell NetWare Still widely popular networking system that grew out of connecting DOS based PCs. Uses the IPX/SPX protocol suite which was derived from a Xerox suite of protocols called XNS. Similar to TCP/IP except for it's propietary nature. Network addressing is based on a data link and network layer pair. Service advertisements also make for much of the system's ease of use. We may have a guest speaker to talk about Novell NetWare networks later in the quarter. For more on protocol layering, see Chapter 5 of _An Engineering Approach to Computer Networking_ by S. Keshav ISBN: 0-201-63442-2 E. Standards 1. Organizations a. IETF Primary group responsible for the design and maintenance of Internet (TCP/IP) based protocols. Open to public. i. RFCs ii. Internet-Drafts iii. mailing lists iv. conferences b. IEEE An organization of members and affiliates which promotes education, research and standards in all areas of engineering sciences including computer networking. Our attention in the IEEE organization will be with the 802 LAN/MAN standards groups. c. ITU International organization largely concerned with coordinating telecommunications based technology (most commonly associated with technology used over traditional telephone lines). d. ISO International Organizaiton for Standardization defines world-wide standards on everything from computer networks to weights and measurements. We are only concerned with the ISO OSI Reference Model in this course. e. ANSI A North American based standards group. US representatives in ISO. f. ATM Forum g. Frame Relay Forum h. ADSL Forum and so on .... 2. Benefits and Disadvantages of Proprietary versus Open- Class Discussion a. Cost b. Accessibility c. Efficiency d. Timeliness e. Design by Committee f. Competition g. Conflicting requirements h. Profit motive etc... Example Communication: Postal Service Customer (Sender) to Customer (Recipient) <--peers Carrier (Switch/Router) to Carrier (Switch/Router) <--peers Protocols to converse between peers Letter is data, addressing information, priority, route information Physical: trucks, bins, mailbags Language of message may need to be translated Mail department in an organization is the application F. Example Networks 1. PSTN a. Assumes endpoints are dumb. Intelligence is placed within the network intermediate stations (switches). Originally designed for a single application - voice. Guaranteed certain bandwidth, delay and loss. Network based on "circuits" as opposed to packets. Bandwidth wasted and inefficient for data applications. Implies a call setup and a call tear-down. Very inefficient for some data applications. Long-haul network->central offices->end systems Phone numbers form network addressing. Call routing based on number hierarchy. Now uses out-of-band signalling for call setup, ringing, call routing, etc. Network designed for short phone calls. Often bandwidth limited. Regulartory nature. Backwards compatibility. 2. Internet Packets Store and forward Addressing Routing Connectionless in nature (virtual circuits only) End-point control (makes upgrades/backward compatiblity tricky!) Bandwidth efficiency History 3. DePaul Diagrams Systems used Protocols Internet connectivity Tour/Equipment Demo?