Computer Networks and Communications [Δίκτυα Υπολογιστών και Επικοινωνίες] Lectures 8&9: Internet Protocols in Detail – TCP/IP Univ. of the Aegean Financial and Management Engineering Dpt Petros KAVASSALIS 1 What you will learn in this course A set of fundamental concepts for understanding Data Networks and the Internet What is the Internet? Internet architecture and layers Internet applications and services New concepts in the evolution of the Internet The Internet goes Wireless… Familiarization with the structure and organization of Digital Networks Business and Social Networks Electronic Markets and Online Feedback Mechanisms <pkavassalis@atlantis-group.gr> 2 Who am I? PhD in Economics and Management (Univ. Paris Dauphine & Ecole polytechnique) Research experience Ecole polytechnique, Paris MIT Center of Technology Policy and Industrial Development, MIT CTPID (MIT Internet Telecommunications Convergence Consortium) Current positions Univ. of the Aegean (FME): Assoc. Professor RACTI: Director of ATLANTIS Group <pkavassalis@atlantis-group.gr> 3 Communication tools e-mail: pkavassalis [at] atlantis-group.gr Course web site: see fme website <pkavassalis@atlantis-group.gr> 4 Course Textbook [http://books.google.gr/books?id=Pdz64SJRBAC&dq=tanenbaum+networks&printsec=frontcover&source=bn&hl=el&ei=mldSfH9L4S2jAeJ5L3ZBQ&sa=X&oi=book_result&resnum=4&ct=result] <pkavassalis@atlantis-group.gr> 5 Supplementary Texts & References William Stallings, Computer Networking with Internet Protocols, Prentice Hall, 2004 James F. Kurose and Keith W. Ross, Computer Networking: A Top-Down Approach, Addison-Wesley, 2008 <pkavassalis@atlantis-group.gr> 6 Students evaluation Class Participation (20%) + Assignments (20%) + Final Exam (60%) <pkavassalis@atlantis-group.gr> 7 Reminder: Overview of the Internet The structure of the Internet is roughly hierarchical Petros KAVASSALIS <petros@cfp.mit.edu> 8 Reminder: A network architecture Petros KAVASSALIS <petros@cfp.mit.edu> 9 Reminder: TCP/IP in practice Petros KAVASSALIS <petros@cfp.mit.edu> 10 Operation of TCP/IP Petros KAVASSALIS <petros@cfp.mit.edu> 11 Internet Transport Layer Common layer shared by all applications Provides reliable delivery of data In same order as sent Commonly uses TCP Example: Web browsing Uses also UDP (for real-time traffic) Petros KAVASSALIS <petros@cfp.mit.edu> 12 Internet Transport Layer key role Provide logical communication between app processes running on different hosts Transport protocols run in end systems Send side: breaks app messages into segments, passes to network layer Receive side: reassembles segments into messages, passes to app layer Two mail transport protocol available to apps Internet: TCP and UDP Petros KAVASSALIS <petros@cfp.mit.edu> application transport network data link physical application transport network data link physical 13 Internet Transport Layer Protocols Reliable, in-order delivery (TCP) Unreliable, unordered delivery: UDP Congestion control Flow control Connection setup No-frills extension of “besteffort” IP Services not available: application transport network data link physical network data link physical network data link physical network data link physicalnetwork data link physical network data link physical network data link physical application transport network data link physical Delay guarantees Bandwidth guarantees Petros KAVASSALIS <petros@cfp.mit.edu> 14 TCP header socket door application writes data application reads data TCP send buffer TCP receive buffer socket door segment Petros KAVASSALIS <petros@cfp.mit.edu> 15 UDP header Petros KAVASSALIS <petros@cfp.mit.edu> 16 Internet Network Layer Exchange of data between an end system and attached network Concerned with issues like : Destination address provision Invoking specific services like priority Access to & routing data across a network link between two attached systems Allows layers above to ignore link specifics Petros KAVASSALIS <petros@cfp.mit.edu> 17 Internet Network Layer key role Transport segment from sending to receiving host On sending side encapsulates segments into datagrams On receiving side, delivers segments to transport layer Petros KAVASSALIS <petros@cfp.mit.edu> Network layer protocols in every host, router Host: Creates datagrams / headers Router examines header fields in all IP datagrams passing through it 18 Internet Network Layer in a nutshell No call setup at network layer Routers: no state about end-to-end connections no network-level concept of “connection” Packets forwarded using destination host address packets between same source-dest pair may take different paths application transport network data link physical 1. Send data Petros KAVASSALIS <petros@cfp.mit.edu> 2. Receive data application transport network data link physical 19 Internet Network Layer functionality Forwarding Move packets from router’s input to appropriate router output application transport network data link physical network data link physical Routing Determine route taken by packets from source to destination Petros KAVASSALIS <petros@cfp.mit.edu> network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical application transport network data link physical 20 Addressing requirements Two levels of addressing required Each host on a subnet needs a unique global network address IP address Each application on a (multi-tasking) host needs a unique address within the host Port Petros KAVASSALIS <petros@cfp.mit.edu> 21 IP header Petros KAVASSALIS <petros@cfp.mit.edu> 22 IPv6 header Petros KAVASSALIS <petros@cfp.mit.edu> 23