Lecture 28: Internet Protocols
15-110 Principles of Computing, Spring 2016
Reminder: Exam 2
•
Exam 2 will take place next Monday, on April 4.
•
Further details will be provided in next class.
This unit
Internet fundamentals
• Computer networks
• Important ideas:
• Abstraction and protocols
• Connection-oriented vs connectionless
• Current issues: network neutrality
Internet protocols
This unit
Internet fundamentals
• Computer networks
• Important ideas:
• Abstraction and protocols
• Connection-oriented vs connectionless
• Current issues: network neutrality
Internet protocols
• IP, TCP, UDP, domain names, world wide web
Internet security
• encryption
3
This unit
Internet fundamentals
Internet protocols
• Internet networking architecture (TCP/IP model)
• Layer-specific protocols of TCP/IP model:
• Network/Internet: IP
• Transport: TCP and UDP
• Application:
• Client-server: HTTP, DNS
Recap
Recap: abstraction for networking software
6
physical medium layer 1
computer 1
[A. S. Tanenbaum. Computer Networks. 5th Edition.]
Recap: abstraction for networking software
7
physical medium layer 1
computer 1
[A. S. Tanenbaum. Computer Networks. 5th Edition.]
Recap: abstraction for networking software
computer 1 layer 2 layer 3 layer 4 computer 2 layer 2 layer 3 layer 4 interface interface interface layer 3 carries out a conversationRecap: abstraction for networking software
7
physical medium layer 1
computer 1
[A. S. Tanenbaum. Computer Networks. 5th Edition.]
layer 2 layer 3 layer 4 layer 1 computer 2 layer 2 layer 3 layer 4 interface interface interface layer 3 carries out a conversation
with peer layer 3
protocol protocol
protocol
protocol
the rules are governed by implemented
Recap: abstraction for networking software
8
physical medium layer 1
computer 1
[A. S. Tanenbaum. Computer Networks. 5th Edition.]
Recap: abstraction for networking software
8
physical medium layer 1
computer 1
[A. S. Tanenbaum. Computer Networks. 5th Edition.]
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)
Internet networking architecture:
TCP/IP model
A model networking architecture
Application Transport
Network
sending of finite-length messages between routing of messages within entire network, congestion handling (e.g., IP)
source-to-destination communication (e.g., TCP, UDP)
programs that make use of internet (e.g., HTTP, SMTP, DNS)
A model networking architecture
11
[A. S. Tanenbaum. Computer Networks. 5th Edition.]
Application Transport
Network Link
Physical transmission of bits as signals across different physical media
sending of finite-length messages between directly connected computers
routing of messages within entire network, congestion handling (e.g., IP)
source-to-destination communication (e.g., TCP, UDP)
programs that make use of internet (e.g., HTTP, SMTP, DNS)
Tasks:
A model networking architecture
Application Transport
Network
sending of finite-length messages between routing of messages within entire network, congestion handling (e.g., IP)
source-to-destination communication (e.g., TCP, UDP)
programs that make use of internet (e.g., HTTP, SMTP, DNS)
Tasks:
textbook networking architecture
Other networking architectures
12
[A. S. Tanenbaum. Computer Networks. 5th Edition.]
Network Data Link Physical Transport Session Presentation Application ISO OSI
Other networking architectures
Network Transport Session Presentation Application ISO OSI(Open Systems Interconnection)
Other networking architectures
12
[A. S. Tanenbaum. Computer Networks. 5th Edition.]
Network Data Link Physical Transport Session Presentation Application ISO OSI
(Open Systems Interconnection)
model developed by ISO to serve as reference for networking architectures
separate standards for layer-specific protocols available, but not used in
Other networking architectures
Network Transport Session Presentation Application ISO OSI(Open Systems Interconnection)
model developed by ISO to serve as reference for networking architectures
separate standards for layer-specific protocols available, but not used in
Other networking architectures
13
[A. S. Tanenbaum. Computer Networks. 5th Edition.]
Network Data Link Physical Transport Session Presentation Application ISO OSI
Other networking architectures
Network Transport Session Presentation Application ISO OSI(Open Systems Interconnection)
Internet Transport Application
Other networking architectures
13
[A. S. Tanenbaum. Computer Networks. 5th Edition.]
Network Data Link Physical Transport Session Presentation Application ISO OSI
(Open Systems Interconnection)
Internet Link Transport Application TCP/IP model architecture of the
Other networking architectures
Network Transport Session Presentation Application ISO OSI(Open Systems Interconnection)
Internet Transport Application
TCP/IP model
architecture of the
internet, named after its two primary protocols
protocols were developed first, then model as a description of
Other networking architectures
14
[A. S. Tanenbaum. Computer Networks. 5th Edition.]
Network Data Link Physical Transport Session Presentation Application ISO OSI
(Open Systems Interconnection)
Internet Link
Transport Application
Other networking architectures
Network Transport Session Presentation Application ISO OSI(Open Systems Interconnection)
Other networking architectures
14
[A. S. Tanenbaum. Computer Networks. 5th Edition.]
Network Data Link Physical Transport Session Presentation Application ISO OSI
(Open Systems Interconnection)
Internet Link Transport Application TCP/IP model Network Link Physical Transport Application “textbook” architecture
OSI model without
Other networking architectures
Network Transport Session Presentation Application ISO OSI(Open Systems Interconnection)
TCP/IP model
15
[A. S. Tanenbaum. Computer Networks. 5th Edition.]
Internet Link
Transport Application
TCP/IP model Protocols:
HTTP, DNS, SMTP, RTP, POP, IMAP, FTP, and many more (see Wikipedia)
TCP, UDP, and many more (see Wikipedia) IP, ICP, and many more (see Wikipedia)
TCP/IP model
Internet Transport Application
TCP/IP model Protocols:
HTTP, DNS, SMTP, RTP, POP, IMAP, FTP, and many more (see Wikipedia)
Protocols of TCP/IP model
Internet Layer: IP (Internet Protocol)
•
Transports 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.
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 interface, 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.
IP addresses
•
Originally, IP addresses were 32-bit long. They are
defined by the IP Version 4 (IPv4) protocol.
•
IPv4 limits the address space to roughly 4.3 billions.
•
To prevent expected address exhaustion, IPv6 has been
developed.
Transport layer
•
Transport
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.
Transport layer protocols: TCP vs UDP
TCP (Transmission Control Protocol)
• connection-oriented protocol
• reliable, end-to-end byte stream over unreliable network
• predominantly used
UDP (User Datagram Protocol)
• connection-less protocol
Application layer
•
Actual internet applications and supporting protocols
•
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
Application layer protocols: 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)
This unit
Internet fundamentals
Internet protocols
• Internet networking architecture (TCP/IP model)
• Layer-specific protocols of TCP/IP model:
• Network/Internet: IP
• Transport: TCP and UDP
• Application:
• Client-server: HTTP, DNS
• Peer-to-peer: BitTorrent, Skype, Bitcoin
Internet security
24