ppt

advertisement
Review of Important
Networking Concepts
Introductory material using Prof. Liebeherr on-line notes
Review of important networking concepts: protocol architecture, protocol
layers, encapsulation, demultiplexing, network abstractions.
Networking Concepts

Layered Architecture to reduce complexity


Encapsulation
Abstractions
Sending a packet from Argon to Neon
neon.netlab.edu
"Neon"
128.143.71.21
argon.netlab.edu
"Argon"
128.143.137.144
router137.netlab.edu
"Router137"
128.143.137.1
router71.netlab.edu
"Router71"
128.143.71.1
Router
Ethernet Network
Ethernet Network
Sending a packet from Argon to Neon
128.143.71.21 is not on my local network.
Therefore, I need to send the packet to my
128.143.71.21
on my local
network.
default
gateway withisaddress
128.143.137.1
DNS:
DNS:
The is
IPisthe
address
address
of
Therefore, I can send the packet directly.
ARP:What
What
theIPMAC
of“neon.netlab.edu
“neon.netlab.edu
””is? of
address
128.143.137.1?
ARP:
TheofMAC
address
128.143.71.21
128.143.137.1 is 00:e0:f9:23:a8:20
argon.netlab.edu
"Argon"
128.143.137.144
ARP: What is the MAC
ARP:
TheofMAC
address of
address
128.143.71.21?
neon.netlab.edu
128.143.137.1 is 00:20:af:03:98:28
"Neon"
128.143.71.21
router137.netlab.edu
"Router137"
128.143.137.1
router71.netlab.edu
"Router71"
128.143.71.1
Router
frame
Ethernet Network
frame
Ethernet Network
What’s a protocol?
human protocols:
 “what’s the time?”
 “I have a question”
 introductions
… specific msgs sent
… specific actions taken when
msgs received, or other
events
network protocols:
 machines 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
What’s a protocol?
a human protocol and a computer network protocol:
Hi
TCP connection
req
Hi
TCP connection
response
Got the
time?
Get http://www.awl.com/kurose-ross
2:00
<file>
time
Q: Other human protocols?
Communications Architecture

The complexity of the communication task is reduced by
using multiple protocol layers:




Each protocol is implemented independently
Each protocol is responsible for a specific subtask
Protocols are grouped in a hierarchy
A structured set of protocols is called a communications
architecture or protocol suite
TCP/IP Protocol Suite



The TCP/IP protocol suite is
the protocol architecture of the
Internet
Application
The TCP/IP suite has four
layers: Application, Transport,
Network, and Data Link Layer
Network
End systems (hosts)
implement all four layers.
Gateways (Routers) only have
the bottom two layers.
User-level programs
Transport
Operating system
Data Link
Data Link
Media Access
Control (MAC)
Sublayer in
Local Area
Networks
Functions of the Layers


Data Link Layer:

Service:

Functions:
Network Layer:



Service:
Functions:
Move packets from source host to destination host
Routing, addressing
Transport Layer:



Reliable transfer of frames over a link
Media Access Control on a LAN
Framing, media access control, error checking
Service:
Functions:
Delivery of data between hosts
Connection establishment/termination, error
control, flow control
Application Layer:

Service:

Functions:
Application specific (delivery of email, retrieval of HTML
documents, reliable transfer of file)
Application specific
TCP/IP Suite and OSI Reference Model
The TCP/IP protocol stack does not define
the lower layers of a complete protocol
stack
Application
Layer
Application
Layer
Transport
Layer
Network
Layer
(Data) Link
Layer
Presentation
Layer
Session
Layer
Transport
Layer
Network
Layer
(Data) Link
Layer
Physical
Layer
TCP/IP Suite
OSI
Reference
Model
Assignment of Protocols to Layers
ping
application
HTTP
Telnet
FTP
TCP
DNS
SNMP
Application
Layer
Transport
Layer
UDP
Routing Protocols
ICMP
RIP
IP
IGMP
PIM
Network
Layer
OSPF
DHCP
ARP
Ethernet
Network
Interface
Data Link
Layer
Layered Communications

An entity of a particular layer can only communicate with:
1. a peer layer entity using a common protocol (Peer
Protocol)
2. adjacent layers to provide services and to receive
services
N+1 Layer
N+1 Layer
Entity
N+1 Layer Protocol
N+1 Layer
Entity
N Layer
Entity
N Layer Protocol
N Layer
Entity
N-1 Layer
Entity
N-1 Layer Protocol
N-1 Layer
Entity
layer N+1/N
interface
N Layer
layer N/N-1
interface
N-1 Layer
Service Primitives
Communication services are invoked via function calls.
The functions are called service primitives
N+1 Layer
Entity
Request
Delivery
N Layer
Entity
N+1 Layer Peer Protocol
N+1 Layer
Entity
Indicate
Delivery
N Layer
Entity
Service Primitives
Recall: A layer N+1 entity sees the lower layers only as a
service provider
N+1 Layer
Entity
N+1 Layer Peer Protocol
N+1 Layer
Entity
Indicate
Delivery
Request
Delivery
Service Provider
Layers in the Example
HTTP
HTTP protocol
HTTP
TCP
TCP protocol
TCP
IP
Ethernet
IP
IP protocol
Ethernet
argon.netlab.edu
128.143.137.144
Ethernet
IP protocol
Ethernet
Ethernet
router71.netlab.edu router137.netlab.edu
128.143.137.1
128.143.71.1
00:e0:f9:23:a8:20
IP
Ethernet
neon.netlab.edu
128.143.71.21
Layers in the Example
HTTP
TCP
IP
Frame is an IP
datagram
Ethernet
HTTP
Send HTTP Request
to neon
Establish a connection to 128.143.71.21 at
port 80Open TCP connection to
128.143.71.21 port 80
IP datagram is a TCP
segment for port 80
IP data-gram
to
Send a datagram (which
contains
a connection
IPSend
Send IP datagram
to
128.143.71.21
request) to 128.143.71.21
128.143.71.21
Frame is an IP
datagram
Send the datagram to 128.143.137.1
Ethernet
Ethernet
TCP
IP
Send the datagram
Ethernet
to 128.143.7.21
argon.netlab.edu
neon.tcpip-lab.edu
router71.netlab.edu router137.netlab.edu
Send Ethernet frame
Send Ethernet frame
128.143.71.1
128.143.137.144
128.143.71.21
128.143.137.1
to 00:20:af:03:98:28
to 00:e0:f9:23:a8:20
00:e0:f9:23:a8:20
Layers and Services

Service provided by TCP to HTTP:


Service provided by IP to TCP:


unreliable transmission of IP datagrams across an IP network
Service provided by Ethernet to IP:


reliable transmission of byte streams over a logical connection
transmission of a frame across an Ethernet segment
Other services:


DNS: translation between domain names and IP addresses
ARP: Translation between IP addresses and MAC addresses
Encapsulation & Demultiplexing

As data is moving down the protocol stack, each protocol
is adding layer-specific control information
User data
HTTP
HTTP Header
User data
HTTP Header
User data
TCP
TCP Header
IP
TCP segment
IP Header
Ethernet
TCP Header
HTTP Header
User data
IP datagram
Ethernet
Header
IP Header
TCP Header
HTTP Header
Ethernet frame
User data
Ethernet
Trailer
Encapsulation & Demultiplexing in our Example

Let us look in detail at the Ethernet frame between Argon
and the Router, which contains the TCP connection
request to Neon.

This is the frame in hexadecimal notation.
00e0
002c
4715
2000
f923
9d08
065b
598e
a820
4000
0050
0000
00a0
8006
0009
0204
2471 e444 0800 4500
8bff 808f 8990 808f
465b 0000 0000 6002
05b4
Encapsulation & Demultiplexing
6 bytes
destination address
4 bytes
source address
type
Ethernet Header
CRC
IP Header
TCP Header
Ethernet frame
Application data
Ethernet Trailer
Encapsulation & Demultiplexing: Ethernet Header
6 bytes
00:e0:f9:23:a8:20
4 bytes
0:a0:24:71:e4:44
0x0800
Ethernet Header
CRC
IP Header
TCP Header
Ethernet frame
Application data
Ethernet Trailer
Encapsulation & Demultiplexing: IP Header
32 bits
version
(4 bits)
header
length
DS
flags
(3 bits)
Identification (16 bits)
TTL Time-to-Live
(8 bits)
Total Length (in bytes)
(16 bits)
ECN
Protocol
(8 bits)
Fragment Offset (13 bits)
Header Checksum (16 bits)
Source IP address (32 bits)
Destination IP address (32 bits)
Ethernet Header
IP Header
TCP Header
Ethernet frame
Application data
Ethernet Trailer
Encapsulation & Demultiplexing: IP Header
32 bits
0x4
0x5
0x0
0x0
9d08
12810
4410
0102
00000000000002
0x06
8bff
128.143.137.144
128.143.71.21
Ethernet Header
IP Header
TCP Header
Ethernet frame
Application data
Ethernet Trailer
Encapsulation & Demultiplexing: TCP Header
32 bits
Source Port Number
Destination Port Number
Sequence number (32 bits)
Acknowledgement number (32 bits)
header
length
0
Flags
TCP checksum
option
type
Ethernet Header
IP Header
length
window size
urgent pointer
Max. segment size
TCP Header
Ethernet frame
Application data
Option:
maximum
segment size
Ethernet Trailer
Encapsulation & Demultiplexing: TCP Header
32 bits
162710
8010
60783510
010
610
0000002
0000102
0x598e
210
Ethernet Header
IP Header
819210
00002
410
TCP Header
Ethernet frame
146010
Application data
Ethernet Trailer
Encapsulation & Demultiplexing: Application data
Ethernet Header
IP Header
TCP Header
Ethernet frame
Application data
Ethernet Trailer
Different Views of Networking

Different Layers of the protocol stack have a different
view of the network. This is HTTP’s and TCP’s view of
Neon
the network.Argon
128.143.137.144
128.143.71.21
HTTP client
HTTP
server
HTTP
server
TCP client
TCP server
TCP server
IP Network
Network View of IP Protocol
Network View of Ethernet

Ethernet’s view of the network
The Evolution of Internet
Introductory material.
An overview lecture that covers Internet related topics, including a
definition of the Internet, an overview of its history and growth, and
standardization and naming.
A Definition

On October 24, 1995, the FNC unanimously passed
a resolution defining the term Internet.
•RESOLUTION: The Federal Networking Council (FNC) agrees that the
following language reflects our definition of the term "Internet".
"Internet" refers to the global information system that -•(i) is logically linked together by a globally unique address space
based on the Internet Protocol (IP) or its subsequent
extensions/follow-ons;
•(ii) is able to support communications using the Transmission
Control Protocol/Internet Protocol (TCP/IP) suite or its subsequent
extensions/follow-ons, and/or other IP-compatible protocols; and
•(iii) provides, uses or makes accessible, either publicly or privately,
high level services layered on the communications and related
infrastructure described herein.
Internet History
1961-1972: Early packet-switching principles

1961: Kleinrock - queueing
theory shows effectiveness of
packet-switching

1972:



1964: Baran - packetswitching in military nets


1967: ARPAnet conceived by
Advanced Research Projects
Agency

1969: first ARPAnet node
operational

ARPAnet demonstrated
publicly
NCP (Network Control
Protocol) first host-host
protocol
first e-mail program
ARPAnet has 15 nodes
Internet History
1972-1980: Internetworking, new and proprietary nets






1970: ALOHAnet satellite
network in Hawaii
1973: Metcalfe’s PhD thesis
proposes Ethernet
1974: Cerf and Kahn architecture for interconnecting
networks
late70’s: proprietary
architectures: DECnet, SNA,
XNA
late 70’s: switching fixed length
packets (ATM precursor)
1979: ARPAnet has 200 nodes
Cerf and Kahn’s internetworking
principles:
 minimalism, autonomy - no
internal changes required to
interconnect networks
 best effort service model
 stateless routers
 decentralized control
define today’s Internet architecture
Internet History
1990, 2000’s: commercialization, the Web, new apps



Early 1990’s: ARPAnet
decommissioned
1991: NSF lifts restrictions on
commercial use of NSFnet
(decommissioned, 1995)
early 1990s: Web
 hypertext [Bush 1945, Nelson
1960’s]
 HTML, HTTP: Berners-Lee
 1994: Mosaic, later Netscape
 late 1990’s: commercialization
of the Web
Late 1990’s – 2000’s:




more killer apps: instant
messaging, P2P file
sharing
network security to forefront
est. 50 million host, 100
million+ users
backbone links running at
Gbps
Applications of the Internet



Traditional core applications:
Email
News
Remote Login
File Transfer
The killer application:
World-Wide Web (WWW), P2P
Future applications:
Videoconferencing and Telephony
Multimedia Services
Internet Broadcast
Growth of the Internet
Source: Internet Software Consortium
Internet Infrastructure
Regional
Network
Backbone Network
Regional
Network
IXP
local ISP
IXP
Backbone Network
local ISP
Regional
Network
local ISP
IXP
corporate
network
Regional
Network
campus
network
Internet Infrastructure

The infrastructure of the Internet consists of a federation
of connected networks that are each independently
managed (“autonomous system”)


Note: Each “autononmous system may consist of multiple IP
networks
Hierarchy of network service providers



Tier-1: nation or worldwide network (US: less than 20)
Tier-2: regional networks (in US: less than 100)
Tier-3: local Internet service provider (in US: several thousand)
Internet Infrastructure


Location where a network (ISP, corporate network, or
regional network) gets access to the Internet is called a
Point-of-Presence (POP).
Locations (Tier-1 or Tier-2) networks are connected for
the purpose of exchanging traffic are called peering
points.


Public peering: Traffic is swapped in a specific location, called
Internet exchange points (IXPs)
Private peering: Two networks establish a direct link to each
other.
Tier-1 ISP: e.g., Sprint
Sprint US backbone network
Who is Who on the Internet ?





Internet Society (ISOC): Founded in 1992, an international nonprofit
professional organization that provides administrative support for the
Internet. Founded in 1992, ISOC is the organizational home for the
standardization bodies of the Internet.
Internet Engineering Task Force (IETF): Forum that coordinates the
development of new protocols and standards. Organized into working
groups that are each devoted to a specific topic or protocol. Working groups
document their work in reports, called Request For Comments (RFCs).
IRTF (Internet Research Task Force): The Internet Research Task Force
is a composed of a number of focused, long-term and small Research
Groups.
Internet Architecture Board (IAB): a technical advisory group of the
Internet Society, provides oversight of the architecture for the protocols and
the standardization process
The Internet Engineering Steering Group (IESG): The IESG is
responsible for technical management of IETF activities and the Internet
standards process. Standards. Composed of the Area Directors of the IETF
working groups.
Internet Standardization Process




Working groups present their work i of the Internet are
published as RFC (Request for Comments).
RFCs are the basis for Internet standards.
Not all RFCs become Internet Standards ! (There are
>3000 RFCs and less than 70 Internet standards
A typical (but not only) way of standardization is:





Internet Drafts
RFC
Proposed Standard
Draft Standard (requires 2 working implementation)
Internet Standard (declared by IAB)
Assigning Identifiers for the Internet
Who gives University the domain name “netlab.edu” and who assigns
it the network prefix “128.143.0.0/16”? Who assigns port 80 as the
default port for web servers?
 The functions associated with the assignment of numbers is referred to
as Internet Assigned Number Authority (IANA).
 Early days of the Internet: IANA functions are administered by a single
person (Jon Postel).
Today:
 Internet Corporation for Assigned Names and Numbers (ICANN)
assumes the responsibility for the assignment of technical protocol
parameters, allocation of the IP address space, management of the
domain name system, and others.
 Management of IP address done by Regional Internet Registries
(RIRs):




APNIC (Asia Pacific Network Information Centre)
RIPE NCC (Réseaux IP Européens Network Coordination Centre)
ARIN (American Registry for Internet Numbers)
Domain names are administered by a large number of private organizations
that are accredited by ICANN.
Summary

Layered Internet architecture



Reduce complexity
Higher layer views lower layer as service provider
Application layer, transport layer, network layer, and link layer
Download