Last Lecture
! How to send data from end to end: two switching
methods
! Circuit switching
! Packet switching
! Packet loss and delay in a packet switched network
SUNY AT BUFFALO; CSE489/589 – MODERN NETWORKING CONCEPTS; Fall 2010; INSTRUCTOR: HUNG Q. NGO 1
This Lecture
! Modular view of the Internet
! Layering, protocol architecture
! The TCP/IP reference model
SUNY AT BUFFALO; CSE489/589 – MODERN NETWORKING CONCEPTS; Fall 2010; INSTRUCTOR: HUNG Q. NGO 2
What Is a Protocol?
! We have just seen an example of a protocol (the
HTTP protocol)
! Protocol:
! A formal description of a set of rules and conventions that
govern how peer entities on a network exchange
information.
! Peer entities: same-level network entities like
processes, routers, modems, …
! A protocol’s key elements:
! Syntax: data format, signal levels
! Semantics: control information and error handlings
! Timing: speed matching and sequencing
SUNY AT BUFFALO; CSE 489/589 – MODERN NETWORKING CONCEPTS; Fall 2010; INSTRUCTOR: HUNG Q. NGO 6
What Is a protocol?
a human protocol and a computer network protocol:
Hi TCP connection
req
Hi
TCP connection
Got the response
time? Get http://www.awl.com/kurose-ross
2:00
<file>
time
SUNY AT BUFFALO; CSE 489/589 – MODERN NETWORKING CONCEPTS; Fall 2010; INSTRUCTOR: HUNG Q. NGO 7
An Example Protocol: HTTP
GET /dir/page.html HTTP/1.1! HTTP/1.1 200 OK!
HOST: www.buffalo.edu! Date: Wed, 29 Aug 2001 08:14:59
Connection: close! GMT!
User-agent: Mozilla/4.0! Server: Apache/1.3.20 Ben-SSL/
Accept-language:fr! 1.44 (Unix) PHP/4.0.6!
‘\n’! Connection: close!
Content-Type: text/html!
HTTP Request Message
(requested file ..)!
Optionally:
Cookie: 1634679!
HTTP Reply Message
Optionally:
Set-cookie: 1634679!
SUNY AT BUFFALO; CSE 489/589 – MODERN NETWORKING CONCEPTS; Fall 2010; INSTRUCTOR: HUNG Q. NGO 8
Protocol Architectures
! The Internet is extremely complicated
! Just imagine what happens in every detail how those
“simple” HTTP request and response get through the
network
! Key idea in CS: Modularize
! To simplify network design complexity,
! Organize protocols and the hardwares/softwares that
implement the protocols in to layers
! Each layer is a software and/or hardware module
! Upper layers use services provided by lower layers
! The protocol layers form a protocol stack
(protocol suite, protocol architecture)
SUNY AT BUFFALO; CSE 489/589 – MODERN NETWORKING CONCEPTS; Fall 2010; INSTRUCTOR: HUNG Q. NGO 9
A Practical Example
SUNY AT BUFFALO; CSE 489/589 – MODERN NETWORKING CONCEPTS; Fall 2010; INSTRUCTOR: HUNG Q. NGO 10
A More Practical Example
SUNY AT BUFFALO; CSE 489/589 – MODERN NETWORKING CONCEPTS; Fall 2010; INSTRUCTOR: HUNG Q. NGO 11
Our view in the first few weeks
SUNY AT BUFFALO; CSE 489/589 – MODERN NETWORKING CONCEPTS; Fall 2010; INSTRUCTOR: HUNG Q. NGO 12
A Theoretical Figure
PDU: Protocol Data Unit, H: header (control information)
SUNY AT BUFFALO; CSE 489/589 – MODERN NETWORKING CONCEPTS; Fall 2010; INSTRUCTOR: HUNG Q. NGO 13
Typical Functions of a Layer
! Connection setup: handshaking with peer
! Error Control
! Flow Control
! Segmentation & Reassembly
! Multiplexing
SUNY AT BUFFALO; CSE 489/589 – MODERN NETWORKING CONCEPTS; Fall 2010; INSTRUCTOR: HUNG Q. NGO 14
Service Characteristics
! Connection-Oriented
! Connection established, used, and released
(think of telephony systems)
! Connectionless
! Each packet carries the destination address, that’s it
(think of postal systems)
! Reliable
! I ensure the packet gets there, sooner or later
! Unreliable
! I will try my best to serve you
SUNY AT BUFFALO; CSE 489/589 – MODERN NETWORKING CONCEPTS; Fall 2010; INSTRUCTOR: HUNG Q. NGO 15
In Reality
99% of services are
! Reliable, connection-oriented (TCP)
! Unreliable, connectionless (UDP)
also called datagram service
Questions:
! Discuss Pros and Cons of these two types
! When to use what ?
SUNY AT BUFFALO; CSE 489/589 – MODERN NETWORKING CONCEPTS; Fall 2010; INSTRUCTOR: HUNG Q. NGO 16
Service Primitives
! The set of operations provided by the lower layer to
the upper layer to perform a service
! Example:
! Connection-oriented services:
connect, send, receive, disconnect!
! Connectionless services:
send, receive!
SUNY AT BUFFALO; CSE 489/589 – MODERN NETWORKING CONCEPTS; Fall 2010; INSTRUCTOR: HUNG Q. NGO 17
Service Access Points
! How do two processes on two computers identify
themselves to each other ?
! Answer: use a triple
(protocol, ip_address, port_number) = socket
e.g. (TCP, 192.168.0.1, 80)
! (Actually a socket is a quintuple, more later)
! In general: each entity of a layer access lower layer’s
services via Service Access Points
SUNY AT BUFFALO; CSE 489/589 – MODERN NETWORKING CONCEPTS; Fall 2010; INSTRUCTOR: HUNG Q. NGO 18
Services vs. Protocols
! Service: a set of function prototypes of a module
! Protocols: algorithms to implement those functions
! Algorithms can be changed without affecting users
of the functions
SUNY AT BUFFALO; CSE 489/589 – MODERN NETWORKING CONCEPTS; Fall 2010; INSTRUCTOR: HUNG Q. NGO 21
Our Protocol Stack
Supports Network Applications
Transports applications’ messages
TCP: connection-oriented, reliable
UDP: connectionless, unreliable
Routes data packets from hosts to hosts
IP: Internet Protocol, and many routing protocols
Deals with algorithms to achieve reliable, efficient
communication between two adjacent machines
Moves raw bits (0/1) between adjacent nodes
depending on the physical medium used
SUNY AT BUFFALO; CSE 489/589 – MODERN NETWORKING CONCEPTS; Fall 2010; INSTRUCTOR: HUNG Q. NGO 22
Summary
! Lots of basic concepts introduced
! Essential ones:
! Circuit switching vs. packet switching
! Small packets vs. large packets
! Protocols
! Protocol Architectures, TCP/IP Stack
! Services
SUNY AT BUFFALO; CSE 489/589 – MODERN NETWORKING CONCEPTS; Fall 2010; INSTRUCTOR: HUNG Q. NGO 25