Upload
ilar
View
37
Download
1
Embed Size (px)
DESCRIPTION
Computer Networks and Communications [Δίκτυα Υπολογιστών και Επικοινωνίες] Lectures 4-7 : What is the Internet ? (2) Univ. of the Aegean Financial and Management Engineering Dpt. Petros KAVASSALIS. What you will learn in this course. - PowerPoint PPT Presentation
Citation preview
1
Computer Networks and Communications
[Δίκτυα Υπολογιστών και Επικοινωνίες]Lectures 4-7: What is the Internet? (2)
Univ. of the Aegean Financial and Management Engineering Dpt
Petros KAVASSALIS
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
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
Communication tools
e-mail: pkavassalis [at] atlantis-group.gr Course web site: see fme website
Course Textbook[http://books.google.gr/books?id=Pd-z64SJRBAC&dq=tanenbaum+networks&printsec=frontcover&source=bn&hl=el&ei=ml-dSfH9L4S2jAeJ5L3ZBQ&sa=X&oi=book_result&resnum=4&ct=result]
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
Students evaluation
Class Participation (20%)
+ Assignments (20%)
+ Final Exam (60%)
Reminder (1): Overview of the Internet
Petros KAVASSALIS <[email protected]> 8
The structure of the Internet is roughly hierarchical
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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 11
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 <[email protected]> 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 <[email protected]> 14
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 <[email protected]> 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
Petros KAVASSALIS <[email protected]> 17
A
B
packet being transmitted (delay)
packets queueing (delay)
free (available) buffers: arriving packets dropped (loss) if no free buffers
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 pre-specify the development of new applications
[I will come back!]
Petros KAVASSALIS <[email protected]> 18
What is a protocol?
Human protocols “what’s the time?” “I have a question” Introductions (“this is…”)
Specific msgs sent Specific actions taken
when msgs received, or other events
Machine protocols 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
Petros KAVASSALIS <[email protected]> 19
Human and Computer protocols
Make possible a series of interactions
Petros KAVASSALIS <[email protected]> 20
http:www.atlantis-group.gr
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 <[email protected]> 21
Layers: an example from another industry
Layers: each layer implements a service via its own internal-layer actions relying on services provided by layer below
Petros KAVASSALIS <[email protected]> 22
ticket (purchase)
baggage (check)
gates (load)
runway (takeoff)
airplane routing
departureairport
arrivalairport
intermediate air-trafficcontrol centers
airplane routing airplane routing
ticket (complain)
baggage (claim
gates (unload)
runway (land)
airplane routing
ticket
baggage
gate
takeoff/landing
airplane routing
Layers in the communication industry
Petros KAVASSALIS <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 27
Layers and interfaces (2)
Implementing interfaces Requires that each layer perform a specific collection of well-
understood 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 30
A network architecture
Petros KAVASSALIS <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 36
TCP/IP in practice
Petros KAVASSALIS <[email protected]> 37