Introduction Instructor: Visiting Instructor Adomas Svirskas, Vilnius University, Lithuania Learning Resources: Computer Networks, Third Edition, Andrew S. Tanenbaum, Prentice Hall, 1996 Computer Networks and Internets, Second Edition, Douglas E. Comer, Prentice Hall, 1999 http://www.stcloudstate.edu/~svirskas
Course Goals Understanding of key concepts of computer networking architecture Coverage of ISO/OSI and TCP/IP reference models Coverage of TCP/IP protocol stack and data transmission over the Internet Practical experience with TCP/IP protocols
Definition of Computer Network Computer network - interconnected collection of autonomous computers Mainframe computer with terminals is not a computer network Computer network is not a Distributed system Distributed system is a software, built on top of a network
Uses of Computer Networks Networks for companies Resource sharing High reliability Saving money Communication medium Networks for people Access to remote information Person-to-person communication Interactive entertainment
Classification of Computer Networks By transmission technology: Broadcast networks Point-to-point networks By scale: Local area networks Metropolitan area networks Wide area networks The Internet
Classification of Networks Figure from book Computer Networks 3rd ed., by A.S. Tanenbaum
Structure of Computer Network Figure from book Computer Networks 3rd ed., by A.S. Tanenbaum
Network Software Networks are organized as set layers or levels Purpose of each layer is to provide set of services Entities of the same layer on different machines are called peers Peers communicate using a protocol Protocol is set of rules and conventions of the communication
Layered Communication Model Figure from book Computer Networks 3rd ed., by A.S. Tanenbaum
Protocol Stacks Upper layer uses an interface to access services, provided by lower layer Comprehensive interface in a crucial thing in protocol stack implementation A set of layers and protocols is called a network architecture A set of protocols is referred to as a protocol stack
Multi-layer communication example Figure from book Computer Networks 3rd ed., by A.S. Tanenbaum
Multi-layer communication principles Figure from book Computer Networks 3rd ed., by A.S. Tanenbaum
Design Issues for the Layers Addressing of entities Rules for data transfer Error control Message order Message size Routing of messages Multiplexing/demultiplexing Transfer rate, quality of service
Layer n - service provider Layer n+1 - service user Interfaces and services Figure from book Computer Networks 3rd ed., by A.S. Tanenbaum
Types of services Connection-oriented - like telephone system works Reliable message stream - Sequence of pages Reliable byte stream - Remote login Unreliable connection - Digitized voice Connectionless - like postal system works Unreliable datagram - Electronic junk mail Acknowledged datagram - Registered mail Request-reply - Database query
Classification of service primitives Request - an entity wants the service to do some work Indication - an entity is to be informed about an event Response - an entity wants to respond to an event Confirm - the response to an earlier request has come back
Example of Interaction CONNECT.request - Request a connection to be established CONNECT.indication - Signal the called party CONNECT.response - Used by callee to accept/reject calls CONNECT.confirm - Tell the caller whether the call was accepted DATA.request - Request that data be sent DATA.indication - Signal the arrival of data DISCONNECT.request - Request a connection to be released DISCONNECT.indication - Signal the peer about the request Note: Services can be confirmed or unconfirmed
Example of Interaction Figure from book Computer Networks 3rd ed., by A.S. Tanenbaum
The Relationship of Services and Protocols A service - set of primitives (operations) provided by supplier to user A protocol - set of rules governing the format and meaning the frames, packets, or messages that are exchanged by the peer entities within a layer. A protocol can be referred to as an implementation of the service