Lecture 28: Internet Protocols 15-110 Principles of Computing, Spring 2016 Dilsun Kaynar, Margaret Reid-Miller, Stephanie Balzer
Reminder: Exam 2 Exam 2 will take place next Monday, on April 4. Further details will be provided in next class. 2
This unit Internet fundamentals Computer networks Important ideas: Abstraction and s Connection-oriented vs connectionless Current issues: network neutrality Internet s IP, TCP, UDP, domain names, world wide web Internet security encryption 3
This unit last time Internet fundamentals Computer networks Important ideas: Abstraction and s Connection-oriented vs connectionless Current issues: network neutrality Internet s IP, TCP, UDP, domain names, world wide web Internet security encryption 3
This unit today Internet fundamentals Internet s Internet networking architecture (TCP/IP model) Layer-specific s of TCP/IP model: Network/Internet: IP : TCP and UDP : Client-server: HTTP, DNS Peer-to-peer: BitTorrent, Skype, Bitcoin Internet security 4
Recap 5
Recap: abstraction for networking software computer 1 layer 4 computer 2 layer 4 layer 3 layer 3 layer 2 layer 2 layer 1 layer 1 physical medium 6
Recap: abstraction for networking software layer 3 implements service and offers it to layer 4 computer 1 layer 4 layer 3 layer 2 layer 1 computer 2 layer 4 layer 3 layer 2 layer 1 physical medium 6
Recap: abstraction for networking software layer 3 implements service and offers it to layer 4 layer 3 uses service of layer 2 computer 1 layer 4 layer 3 layer 2 layer 1 computer 2 layer 4 layer 3 layer 2 layer 1 physical medium 6
Recap: abstraction for networking software computer 1 layer 4 computer 2 layer 4 layer 3 layer 3 layer 2 layer 2 layer 1 layer 1 physical medium 7
Recap: abstraction for networking software layer 3 carries out a conversation with peer layer 3 computer 1 layer 4 layer 3 layer 2 layer 1 computer 2 layer 4 layer 3 layer 2 layer 1 physical medium 7
Recap: abstraction for networking software computer 1 computer 2 layer 3 carries out a conversation with peer layer 3 layer 4 layer 3 layer 4 layer 3 the rules are governed by implemented layer 2 layer 1 layer 2 layer 1 physical medium 7
Recap: abstraction for networking software computer 1 layer 4 layer 3 layer 2 layer 1 computer 2 layer 4 layer 3 layer 2 layer 1 physical medium 8
Recap: abstraction for networking software defines service of layer computer 1 layer 4 computer 2 layer 4 layer 3 layer 3 layer 2 layer 2 layer 1 layer 1 physical medium 8
Recap: abstraction for networking software defines service of layer computer 1 layer 4 computer 2 layer 4 layer 3 layer 2 layer 3 layer 2 implements service of layer layer 1 layer 1 physical medium 8
Recap: abstraction for networking software defines service of layer computer 1 layer 4 computer 2 layer 4 adds specific header to message layer 3 layer 2 layer 3 layer 2 implements service of layer layer 1 layer 1 physical medium 8
Recap: service offered by layer: two kinds Connection-oriented (circuit switching) Connection is established, used, and then released. Like a tube where sender pushes objects in at one end and receiver takes them out. Real-world example: telephone system Connectionless (packet switching) Each message carries destination address and is routed through network independently of subsequent messages. Messages with same destination may take different routes and arrive out of order. Real-world example: postal system 9
Internet networking architecture: TCP/IP model 10
A model networking architecture Network Tasks: programs that make use of internet (e.g., HTTP, SMTP, DNS) source-to-destination communication (e.g., TCP, UDP) routing of messages within entire network, congestion handling (e.g., IP) Link Physical sending of finite-length messages between directly connected computers transmission of bits as signals across different physical media 11
A model networking architecture Network Tasks: textbook networking programs architecture that make use of internet (e.g., HTTP, SMTP, DNS) source-to-destination communication (e.g., TCP, UDP) routing of messages within entire network, congestion handling (e.g., IP) Link Physical sending of finite-length messages between directly connected computers transmission of bits as signals across different physical media 11
A model networking architecture Network Tasks: textbook networking programs architecture that make use of internet (e.g., HTTP, SMTP, DNS) source-to-destination communication (e.g., TCP, UDP) there exist other architectures routing of messages within entire network, congestion handling (e.g., IP) Link Physical sending of finite-length messages between directly connected computers transmission of bits as signals across different physical media 11
Other networking architectures ISO OSI (Open Systems Interconnection) Presentation Session Network Data Link Physical 12
Other networking architectures ISO OSI (Open Systems Interconnection) Presentation model developed by ISO to serve as reference for networking architectures Session Network Data Link Physical 12
Other networking architectures ISO OSI (Open Systems Interconnection) Presentation Session model developed by ISO to serve as reference for networking architectures separate standards for layer-specific s available, but not used in practice Network Data Link Physical 12
Other networking architectures ISO OSI (Open Systems Interconnection) Presentation Session model developed by ISO to serve as reference for networking architectures separate standards for layer-specific s available, but not used in practice Network Data Link Physical model was developed first, then s 12
Other networking architectures ISO OSI (Open Systems Interconnection) Presentation Session Network Data Link Physical 13
Other networking architectures ISO OSI (Open Systems Interconnection) TCP/IP model Presentation Session Network Data Link Internet Link Physical 13
Other networking architectures ISO OSI (Open Systems Interconnection) Presentation Session Network Data Link Physical TCP/IP model Internet Link architecture of the internet, named after its two primary s 13
Other networking architectures ISO OSI (Open Systems Interconnection) Presentation Session Network Data Link Physical TCP/IP model Internet Link architecture of the internet, named after its two primary s s were developed first, then model as a description of existing s 13
Other networking architectures ISO OSI (Open Systems Interconnection) TCP/IP model Presentation Session Network Data Link Internet Link Physical 14
Other networking architectures ISO OSI (Open Systems Interconnection) Presentation Session Network Data Link Physical TCP/IP model Internet Link textbook architecture Network Link Physical 14
Other networking architectures ISO OSI (Open Systems Interconnection) Presentation Session Network Data Link Physical TCP/IP model OSI model without presentation and session layers Internet Link textbook architecture Network Link Physical 14
Other networking architectures ISO OSI (Open Systems Interconnection) Presentation Session Network Data Link Physical TCP/IP model Internet Link textbook architecture Network Link Physical 14
TCP/IP model TCP/IP model Protocols: HTTP, DNS, SMTP, RTP, POP, IMAP, FTP, and many more (see Wikipedia) Internet Link TCP, UDP, and many more (see Wikipedia) IP, ICP, and many more (see Wikipedia) Ethernet, DSL, Sonet, 802.11, and many more (see Wikipedia) 15
TCP/IP model TCP/IP model Protocols: HTTP, DNS, SMTP, RTP, POP, IMAP, FTP, and many more (see Wikipedia) Internet Link TCP, UDP, and many more (see Wikipedia) IP, ICP, and many more (see Wikipedia) Ethernet, DSL, Sonet, 802.11, and many more (see Wikipedia) 15
Protocols of TCP/IP model 16
Internet Layer: IP (Internet Protocol) s fixed-length packages from source to destination. Abstracts network boundaries: delivery irregardless of whether machines are on same network or whether there are other networks in between. Connectionless service (i.e., package switching). Package header includes, among other information, IP addresses of source and destination. Routers forward packages between networks 17
IP addresses Network address of a host or router on the internet, used in source and destination address fields in IP packets. An IP address refers to the network, not the physical machine. E.g., a router has an IP address for each network it is part of. IP addresses are hierarchical, with a network portion and a host portion. Network portion is the same for all hosts on a single network. Hierarchical routing allows routers to ignore host part, resulting in smaller routing tables. 18
IP addresses Originally, IP addresses were 32-bit long. They are defined by the IP Version 4 (IPv4). IPv4 limits the address space to roughly 4.3 billions. To prevent expected address exhaustion, IPv6 has been developed. IPv6 uses 128-bit addressing. Transition to IPv6 is still in process. 19
layer data from process on source machine to process on destination machine. Provides abstraction that applications need to use the network. Assigns port number to application. Splits up application data into packages. Note: transport-layer software runs entirely on user s machine, network-layer software runs on routers too. 20
layer s: TCP vs UDP TCP (Transmission Control Protocol) connection-oriented reliable, end-to-end byte stream over unreliable network predominantly used UDP (User Datagram Protocol) connection-less allows applications to send encapsulated IP packages without establishing a connection, thus exposing unreliability of network used for voice, video, and DNS lookup, for example 21
layer Actual internet applications and supporting s Client-server architecture (predominant) distinguishes provider (server) of a shared resource from its clients clients send requests to server, server responds with service Examples: HTTP, DNS Peer-to-peer architecture many computers pool their resources to form a content distribution system computers are peers because they both act as clients and servers Examples: BitTorrent, Skype, Bitcoin 22
layer s: HTTP and DNS HTTP (HyperText Transfer Protocol) Defines interaction between web client application (e.g., Firefox, Safari) and web server application (e.g., Apache). Agreement on how to ask for a web page, on how to send data entered into a form, on how to report errors, etc. DNS (Domain Name System) Provides mapping from high-level machine names (e.g., http:// www.cs.cmu.edu/~15110/index.html) to IP addresses. High-level names are more user-friendly and independent of network topology. Naming system is hierarchical and decentralized. 23
This unit Internet fundamentals Internet s Internet networking architecture (TCP/IP model) Layer-specific s of TCP/IP model: Network/Internet: IP : TCP and UDP : Client-server: HTTP, DNS Peer-to-peer: BitTorrent, Skype, Bitcoin next time Internet security 24