Computer Networking Text books B.A. Forouzan, Data Communications and Networking, 4th Edition, McGraw Hill, 2007 Peterson and Davie ,Computer Networks: A Systems Approach (3rd edition), by Kurose and Ross, Computer Networking: A Top-Down Approach Featuring the Internet (3rd edition) William Stalling, Data and Computer Communications, 6th Edition, Prentice-Hall. 1997 A.S Tanenbaum, Computer Networks, 4th. Edition, Prentice Hall http://pkukmweb.ukm.my/~kbj/CN2008-PKP/ 2 Definitions of Computer Networking "Chain of interconnected computers" • Oxford Dictionary "A number of computers connected together for the purposes of communication of processing" • Knott, Waites and Callaghan, Computer Studies "1. A series of interconnected points 2. The interconnection of a number of points by communications facilities" • Sippl & Sippl, Computer Dictionary. "two or more interconnected computers able to facilitate exchange of information". • Personal. “However, an effective network is one which meets requirements and is used". 3 • Personal. Simplest Computer Networking Two computers are connected in a simplest computer networking system. A network will have: -Sender and receiver - something to share (data) - “physically” connected (transmission medium) - communication protocol 4 Figure 1.2 Data flow (simplex, half-duplex, and full-duplex) 5 1-2 NETWORKS A network is a set of devices (often referred to as nodes) connected by communication links. A node can be a computer, printer, or any other device capable of sending and/or receiving data generated by other nodes on the network. 6 Figure 1.3 Types of connections: point-to-point and multipoint 7 Figure 1.4 Categories of topology 8 Figure 1.5 A fully connected mesh topology (five devices) 9 Figure 1.6 A star topology connecting four stations 10 Figure 1.7 A bus topology connecting three stations 11 Figure 1.8 A ring topology connecting six stations 12 Figure 1.9 A hybrid topology: a star backbone with three bus networks 13 Figure 1.10 An isolated LAN connecting 12 computers to a hub in a closet 14 Figure 1.11 WANs: a switched WAN and a point-to-point WAN 15 Figure 1.12 A heterogeneous network made of four WANs and two LANs 16 Protocols and Network Architecture 17 1-4 PROTOCOLS AND STANDARDS In this section, we define two widely used terms: protocols and standards. First, we define protocol, which is synonymous with rule. Then we discuss standards, which are agreed-upon rules. Protocols and standards can easily become very complex. In order to reduce this complexity, the standard is divided to several layers. Each layer will have its own protocol. We can use the concept of layers in our daily life. As an example, let us consider two researchers who speaks only his own language discussing about a common subject and communicate through fax machine. 18 C01. 16 Protocol Architecture Language Translation Example Dr Wong Discussing DIS research Prof Stuber Interested in DIS in China Expert in DIS Speaks only Chinese Speaks only German Chinese Doc German Doc Mrs.. Wang Exchanging Documents Herr Muller Chinese - English in English German - English Translator Ms. Wu Translator Fax messages Expert on FAX 19 Data Communications and Distributed Processing INFS 612: Frau. Meier Expert on FAX J.M. Hanratty Protocols and Network Architecture 20 Protocols and Network Architecture 21 - cont Layered and Network Architecture 22 - cont THE OSI MODEL Established in 1947, the International Standards Organization (ISO) is a multinational body dedicated to worldwide agreement on international standards. An ISO standard that covers all aspects of network communications is the Open Systems Interconnection (OSI) model. It was first introduced in the late 1970s. 23 Figure 2.2 Seven layers of the OSI model 24 Figure 2.3 The interaction between layers in the OSI model 25 Figure 2.4 An exchange using the OSI model 26 Simulation http://www.humboldt.edu/~aeb3/tele com/Encapsulation.html 27 LAYERS IN THE OSI MODEL In this section we briefly describe the functions of each layer in the OSI model. Topics discussed in this section: Physical Layer Data Link Layer Network Layer Transport Layer Session Layer Presentation Layer Application Layer 28 Physical Layer The physical layer is responsible for movements of raw individual bits from one hop (node) to the next over a communication channel (physical medium); deals with the mechanical, electrical, functional, and procedural characteristics to access the physical medium Sample Issues: how to encode a 0 vs. 1? what voltage should be used? how long does a bit need to be signaled? what does the cable, plug, antenna, etc. look like? Examples: 29 modems “knock once for yes, twice for no” Figure 2.5 Physical layer 30 Data Link Layer The data link layer is responsible for moving frames from one hop (node) to the next. It provides the reliable transfer of information across the physical link; sends blocks of data (frames) with necessary synchronization, error control, and flow control Sample Issues: how big is a frame? can I detect an error in sending the frame? what demarks the end of the frame? how to control access to a shared channel? Examples: Ethernet framing 31 Figure 2.6 Data link layer 32 Figure 2.7 Hop-to-hop delivery 33 The Network Layer The network layer is responsible for the delivery of individual packets from the source host to the destination host. Sample Issues: How to route packets that have to travel several hops? control congestion – when there are too many messages at any one time accounting - charge for use of the network fragment or combine packets depending on rules of link layer Examples: IP 34 Figure 2.8 Network layer 35 Figure 2.9 Source-to-destination delivery 36 The Transport Layer The transport layer is responsible for the delivery of a message from one process to another. Provides reliable, transparent transfer of data between end points; provides end-to-end (host-to-host) error recovery and flow control Sample Issues: how to rearrange messages and detect any duplicates error detection (corrupt packets) and retransmission Examples: TCP 37 Figure 2.10 Transport layer 38 Figure 2.11 Reliable process-to-process delivery of a message 39 The Session & Presentation Layers Goal: Provides independence from the application processes for any differences in data representation (syntax), and To establishes, manages, and terminates connections (sessions) between application processes The session layer is responsible for dialog control and synchronization. The presentation layer is responsible for translation, compression, and encryption. Sample Issues: network representation of bytes, ints, floats, etc. encryption?? synchronization Examples: eXternal Data Representation (XDR) 40 Figure 2.12 Session layer 41 Figure 2.13 Presentation layer 42 Application Layer The application layer is responsible for providing services to the user Sample Issues: when sending email, what demarks the subject field how to represent cursor movement in a terminal Examples: Simple Mail Transport Protocol (SMTP) File Transfer Protocol (FTP) Hyper-Text Transport Protocol (HTTP) Simple Network Management Protocol (SNMP) Network File System (NFS) Network Time Protocol (NTP) Net News Transport Protocol (NNTP) X (X Window Protocol) 43 Figure 2.14 Application layer 44 Figure 2.15 Summary of layers 45 TCP/IP PROTOCOL SUITE The layers in the TCP/IP protocol suite do not exactly match those in the OSI model. The original TCP/IP protocol suite was defined as having four layers: host-tonetwork, internet, transport, and application. However, when TCP/IP is compared to OSI, we can say that the TCP/IP protocol suite is made of five layers: physical, data link, network, transport, and application. Topics discussed in this section: Physical and Data Link Layers Network Layer Transport Layer Application Layer 46 Figure 2.16 TCP/IP and OSI model 47 Stallings, High-Speed Networks, p. 38 48 Stallings, High-Speed Networks, p. 39. 49 Stallings, High-Speed Networks, p. 40. 50 Stallings, High-Speed Networks, p. 41. 51 2-5 ADDRESSING Four levels of addresses are used in an internet employing the TCP/IP protocols: physical, logical, port, and specific. Topics discussed in this section: Physical Addresses Logical Addresses Port Addresses Specific Addresses 52 Figure 2.17 Addresses in TCP/IP 53 Figure 2.18 Relationship of layers and addresses in TCP/IP 54 Example 2.1 In the following Figure, a node with physical address 10 sends a frame to a node with physical address 87. The two nodes are connected by a link (bus topology LAN). As the figure shows, the computer with physical address 10 is the sender, and the computer with physical address 87 is the receiver. 55 Figure 2.19 Physical addresses 56 Example 2.2 Most local-area networks use a 48-bit (6-byte) physical address written as 12 hexadecimal digits; every byte (2 hexadecimal digits) is separated by a colon, as shown below: 07:01:02:01:2C:4B A 6-byte (12 hexadecimal digits) physical address. 57 Example 2.3 In the following Figure, shows a part of an internet with two routers connecting three LANs. Each device (computer or router) has a pair of addresses (logical and physical) for each connection. In this case, each computer is connected to only one link and therefore has only one pair of addresses. Each router, however, is connected to three networks (only two are shown in the figure). So each router has three pairs of addresses, one for each connection. 58 Figure 2.20 IP addresses 59 Example 2.4 In the following Figure, shows two computers communicating via the Internet. The sending computer is running three processes at this time with port addresses a, b, and c. The receiving computer is running two processes at this time with port addresses j and k. Process a in the sending computer needs to communicate with process j in the receiving computer. Note that although physical addresses change from hop to hop, logical and port addresses remain the same from the source to destination. 60 Figure 2.21 Port addresses 61