Slide 1 - Department of Financial and Management Engineering

advertisement
Computer Networks and
Communications
[Δίκτυα Υπολογιστών και Επικοινωνίες]
Lectures 4-7: What is the Internet? (2)
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 (1): Overview of the Internet
The structure of the Internet is roughly hierarchical
Petros KAVASSALIS <petros@cfp.mit.edu>
8
Reminder (2): Transmission of packets

When a process on some host has a message to be sent to
a process on some other host:



The sending host first cuts the message into packets, each one
bearing its number in the sequence
These packets are then injected into the network one at a time in
quick succession
The packets are transported individually over the network and
deposited at the receiving host, where they are reassembled into the
original message and delivered to the receiving process
Petros KAVASSALIS <petros@cfp.mit.edu>
9
Routing of packets

Routing decisions are
made locally


When a packet arrives at
router A,itis up to A to
decide if this packet
should be sent on the
line to B or the line to C
How A makes that
decision is called the
routing algorithm.
Petros KAVASSALIS <petros@cfp.mit.edu>
10
Probing the Internet

The program begins by walking through the Domain Name System
(DNS),

system that stores names for computers and then uses a program that tests
to see whether the computer is currently online [I will come later]

Tools used to probe the Internet are also available to users

One of the simplest probing tools is a program known as ping:



Example: ping www.fme.aegean.gr/
Example: ping www.nytimes.com
The ping program sends a message to the specified computer and then
waits a short time for a response.


If a response arrives, ping reports to the user that the computer is alive
otherwise, ping reports that the computer is not responding
Petros KAVASSALIS <petros@cfp.mit.edu>
11
An example of “ping”

Please
ping a
website
Petros KAVASSALIS <petros@cfp.mit.edu>
12
How to interpret “ping”



Ping sends one request each second and produces one line
of output for each response received
The output tells the size of the packet received, the
sequence number, and the round-trip time in milliseconds
When the user interrupts the program, ping produces a
summary that specifies




the number of packets sent and received
packet loss
and the minimum / mean / maximum round-trip times
* But when no response is received, ping can neither help
determine the reason nor to determine the cause of the
problem
Petros KAVASSALIS <petros@cfp.mit.edu>
13
Tracing a route

Traceroute used to determine the intermediate computers
along the path to a remote destination




Ex: traceroute www.aegean.gr
Traceroute provides more information than ping
Each line corresponds to each of intermediate computersand
one corresponds to the final destination itself
Traceroute cannot be used for all destinations

NW administrators may choose to disable it to prevent outsiders from
obtaining detailed information about their architecture
Petros KAVASSALIS <petros@cfp.mit.edu>
14
An example of “traceroute”

Please try!
Petros KAVASSALIS
<petros@cfp.mit.edu>
15
How to interpret “traceroute”

A treceroute table illustrates another features of traceroute: a report of
packet loss

Traceroute sends three probes for each intermediate computer

When the three responses arrive, traceroute prints the name of the
intermediate computer, and gives the minimum, average, and maximum
round-trip times.
The line with asterisks indicates two of three probes received no
response (i.e., packets were lost)
If all probes are going to be received successfully, we can conclude that
the loss was a temporary condition probably caused by congestion on
one of the paths between the source and destination


Petros KAVASSALIS <petros@cfp.mit.edu>
16
Reminder: How do loss and delay
occur?

Packets queue in router buffers


packet arrival rate to link exceeds output link capacity
packets queue, wait for turn
packet being transmitted (delay)
A
B
packets queueing (delay)
free (available) buffers: arriving packets
dropped (loss) if no free buffers
Petros KAVASSALIS <petros@cfp.mit.edu>
17
The Internet: change view

IP (spanning-layer)
separates information
bitways from applications

Applications may work over
multiple substrates
(network techs) and these
substrates do not prespecify the development of
new applications
[I will come back!]

Petros KAVASSALIS <petros@cfp.mit.edu>
18
What is a protocol?

Human protocols






Machine protocols
“what’s the time?”
“I have a question”
Introductions (“this is…”)

Specific msgs sent
Specific actions taken
when msgs received, or
other events

Petros KAVASSALIS <petros@cfp.mit.edu>

Machines “talk each other”
(rather than humans)
All communication activity in
Internet governed by
protocols
Protocols define format, order
of msgs sent and received
among network entities, and
actions taken on msg
transmission, receipt
19
Human and Computer protocols

Make possible a series of interactions
http:www.atlantis-group.gr
Petros KAVASSALIS <petros@cfp.mit.edu>
20
Layers: in general




To reduce their design complexity, most networks are
organized as a stack of layers or levels, each one built upon
the one below it
The number of layers, the name of each layer, the contents
of each layer, and the function of each layer differ from
network to network
The purpose of each layer is to offer certain services to the
higher layers, shielding those layers from the details of how
the offered services are actually implemented.
In a sense, each layer is a kind of virtual machine, offering
certain services to the layer above it
Petros KAVASSALIS <petros@cfp.mit.edu>
21
Layers: an example from another
industry
ticket (purchase)
ticket (complain)
ticket
baggage (check)
baggage (claim
baggage
gates (load)
gates (unload)
gate
runway (takeoff)
runway (land)
takeoff/landing
airplane routing
airplane routing
airplane routing
departure
airport

airplane routing
airplane routing
intermediate air-traffic
control centers
arrival
airport
Layers: each layer implements a service


via its own internal-layer actions
relying on services provided by layer below
Petros KAVASSALIS <petros@cfp.mit.edu>
22
Layers in the communication industry
Petros KAVASSALIS <petros@cfp.mit.edu>
23
An example: file transfer (1)



An example: file transfer (I am going to send to one of you my
presentation)
There must be a data path between our computers
Also need:




Source to activate Communications Path or inform network of
destination
Source must check destination is prepared to receive
File transfer application on source must check destination file
management system will accept and store file for his user
May need file format translation
Petros KAVASSALIS <petros@cfp.mit.edu>
24
An example: file transfer (2)
Instead of implementing the complex logic for this as a single
module, the task is broken up into subtasks, implemented
separately
 In a protocol architecture, the modules are arranged in a
vertical stack, each layer in the stack performs a related subset
of the functions
 It relies on the next lower layer to perform more primitive
functions
 It provides services to the next higher layer

The peer layers communicate using a set of rules or
conventions (known as a protocol, see next page)
Petros KAVASSALIS <petros@cfp.mit.edu>
25
Layers and protocols

Layer n on one machine
carries on a conversation
with layer n on another
machine


The rules and conventions
used in this conversation are
collectively known as the
layer n protocol
A protocol is an agreement
between the communicating
parties on how
communication is to proceed
Petros KAVASSALIS <petros@cfp.mit.edu>
26
Layers and interfaces (1)

Between each pair of
adjacent layers is an interface


The interface defines which
primitive operations and
services the lower layer makes
available to the upper one
When network designers decide
how many layers to include in a
network and what each one
should do, one of the most
important considerations is
defining clean interfaces
between the layers
Petros KAVASSALIS <petros@cfp.mit.edu>
27
Layers and interfaces (2)

Implementing interfaces

Requires that each layer perform a specific collection of wellunderstood functions

In addition to minimizing the amount of information that must be
passed between layers, clear-cut interfaces also make it simpler to
replace the implementation of one layer with a completely different
implementation (e.g., all the telephone lines are replaced by satellite
channels) because all that is required of the new implementation is
that it offer exactly the same set of services to its upstairs neighbor as
the old implementation did

It is common that different hosts use different implementations.
Petros KAVASSALIS <petros@cfp.mit.edu>
28
Protocol

The key features of a protocol are:



Syntax: Concerns the format of the data blocks
Semantics: Includes control information for coordination and error handling
Timing: Includes speed matching and sequencing
Petros KAVASSALIS <petros@cfp.mit.edu>
29
Network architecture

A set of layers and protocols is called a network
architecture



The specification of an architecture must contain enough information
to allow an implementer to write the program or build the hardware for
each layer so that it will correctly obey the appropriate protocol.
Neither the details of the implementation nor the specification of the
interfaces is part of the architecture because these are hidden away
inside the machines and not visible from the outside. It is not even
necessary that the interfaces on all machines in a network be the
same, provided that each machine can correctly use all the protocols.
A list of protocols used by a certain system, one protocol per layer, is
called a protocol stack
Petros KAVASSALIS <petros@cfp.mit.edu>
30
A network architecture
Petros KAVASSALIS <petros@cfp.mit.edu>
31
Physical layer


Concerned with physical interface between computer and
network
Concerned with issues like:




characteristics of transmission medium
signal levels
data rates
other related matters
Petros KAVASSALIS <petros@cfp.mit.edu>
32
Network Access 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>
33
Network layer (IP)

Routing functions across multiple networks





For systems attached to different networks
IP protocol
Spanning layer (spans over undelying networks)
Implemented in end systems and routers
routers connect two networks and relays data between them
Petros KAVASSALIS <petros@cfp.mit.edu>
34
Transport layer





Common layer shared by all applications
Provides reliable delivery of data
In same order as sent
Commonly uses TCP
UDP for delay sensitive applications
Petros KAVASSALIS <petros@cfp.mit.edu>
35
Application layer



Provide support for user applications
Need a separate module for each type of application
Examples








instant messaging
remote login
p2p file sharing
multi-user network games
streaming stored video clips
voice over IP
real-time video conferencing
grid computing
Petros KAVASSALIS <petros@cfp.mit.edu>
36
TCP/IP in practice
Petros KAVASSALIS <petros@cfp.mit.edu>
37
Download