review of important networking concepts
DESCRIPTION
Review of Important Networking Concepts. Introductory material. This module uses the example from the previous module to review important networking concepts: protocol architecture, protocol layers, encapsulation, demultiplexing, network abstractions. Networking Concepts. - PowerPoint PPT PresentationTRANSCRIPT
1
Review of Important Networking Concepts
Introductory material.
This module uses the example from the previous module to review important networking concepts: protocol architecture, protocol layers, encapsulation, demultiplexing, network abstractions.
2
Networking Concepts
• Layered Architecture to reduce complexity– Encapsulation– Abstractions
3
neon.tcpip-lab.edu"Neon"
128.143.71.21
argon.tcpip-lab.edu"Argon"128.143.137.144
router137.tcpip-lab.edu"Router137"
128.143.137.1
router71.tcpip-lab.edu"Router71"128.143.71.1
Ethernet NetworkEthernet Network
Router
Sending a packet from Argon to Neon
4
DNS: The IP address of
“neon.tcpip-lab.edu” is 128.143.71.21
ARP: What is the MAC address of 128.143.137.1?
neon.tcpip-lab.edu"Neon"
128.143.71.21
argon.tcpip-lab.edu"Argon"128.143.137.144
router137.tcpip-lab.edu"Router137"
128.143.137.1
router71.tcpip-lab.edu"Router71"128.143.71.1
Ethernet NetworkEthernet Network
Router
Sending a packet from Argon to Neon
DNS: What is the IP address
of “neon.tcpip-lab.edu”?ARP: The MAC address of 128.143.137.1 is 00:e0:f9:23:a8:20
128.143.71.21 is not on my local network.Therefore, I need to send the packet to my
default gateway with address 128.143.137.1
frame
128.143.71.21 is on my local network.Therefore, I can send the packet directly.
ARP: The MAC address of 128.143.137.1 is 00:20:af:03:98:28
ARP: What is the MAC address of 128.143.71.21?
frame
5
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
6
What’s a protocol?
a human protocol and a computer network protocol:
Q: Other human protocols?
Hi
Hi
Got thetime?
2:00
TCP connection req
TCP connectionresponseGet http://www.awl.com/kurose-ross
<file>time
7
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
8
TCP/IP Protocol Suite
• The TCP/IP protocol suite is the protocol architecture of the Internet
• The TCP/IP suite has four layers: Application, Transport, Network, and Data Link Layer
• End systems (hosts) implement all four layers. Gateways (Routers) only have the bottom two layers.
Application
Transport
Network Operating system
User-level programs
Data Link
Data Link
Media AccessControl (MAC)
Sublayer inLocal AreaNetworks
9
Functions of the Layers
• Data Link Layer:– Service: Reliable transfer of frames over a link
Media Access Control on a LAN– Functions: Framing, media access control, error checking
• Network Layer:– Service: Move packets from source host to destination host– Functions: Routing, addressing
• Transport Layer:– Service: Delivery of data between hosts– Functions: Connection establishment/termination, error
control, flow control• Application Layer:
– Service: Application specific (delivery of email, retrieval of HTML documents, reliable transfer of file)
– Functions: Application specific
10
TCP/IP Suite and OSI Reference Model
ApplicationLayer
ApplicationLayer
PresentationLayer
SessionLayer
TransportLayer
NetworkLayer
(Data) LinkLayer
PhysicalLayer
TransportLayer
NetworkLayer
OSIReference
Model
(Data) LinkLayer
TCP/IP Suite
The TCP/IP protocol stack does not define the lower layers of a complete protocol stack
11
Assignment of Protocols to Layers
NetworkLayer
Routing Protocols
PIM
OSPF
RIP
ApplicationLayer
Data LinkLayer
IP
ARP Ethernet
NetworkInterface
TransportLayer
TCP UDP
SNMPFTP DNSHTTP
ICMP
IGMP
pingapplication Telnet
DHCP
12
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 LayerEntity
N+1 LayerEntity
N+1 Layer ProtocolN+1 Layer
N-1 LayerEntity
N-1 LayerEntity
N-1 Layer ProtocolN-1 Layer
N LayerEntity
N LayerEntity
N Layer ProtocolN Layer
layer N+1/Ninterface
layer N/N-1interface
13
Service Primitives
N+1 LayerEntity
N+1 LayerEntity
N LayerEntity
N LayerEntity
N+1 Layer Peer Protocol
Request Delivery
IndicateDelivery
Communication services are invoked via function calls. The functions are called service primitives
14
Service Primitives
Recall: A layer N+1 entity sees the lower layers only as a service provider
Service Provider
N+1 LayerEntity
N+1 LayerEntity
N+1 Layer Peer Protocol
Request Delivery
IndicateDelivery
15
Layers in the Example
HTTP
TCP
IP
argon.tcpip-lab.edu
128.143.137.144
Ethernet Ethernet Ethernet
IP
HTTP
TCP
IP
neon.tcpip-lab.edu128.143.71.21
Ethernet
router71.tcpip-lab.edu
128.143.137.100:e0:f9:23:a8:20
router137.tcpip-lab.edu
128.143.71.1
HTTP protocol
TCP protocol
IP protocol
Ethernet
IP protocol
Ethernet
16
Layers in the Example
HTTP
TCP
IP
argon.tcpip-lab.edu
128.143.137.144
Ethernet Ethernet Ethernet
IP
HTTP
TCP
IP
neon.tcpip-lab.edu128.143.71.21
Ethernet
router71.tcpip-lab.edu
128.143.137.100:e0:f9:23:a8:20
router137.tcpip-lab.edu128.143.71.1
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
Send a datagram (which contains a connection request) to 128.143.71.21Send IP datagram to
128.143.71.21
Send the datagram to 128.143.137.1
Send Ethernet frame to 00:e0:f9:23:a8:20
Send Ethernet frame to 00:20:af:03:98:28
Send IP data-gram to 128.143.71.21
Send the datagram to 128.143.7.21
Frame is an IP datagram
Frame is an IP datagram
IP datagram is a TCP segment for port 80
17
Layers and Services
• Service provided by TCP to HTTP:– reliable transmission of byte streams over a logical
connection• Service provided by IP to TCP:
– unreliable transmission of IP datagrams across an IP network
• Service provided by Ethernet to IP:– 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
18
Encapsulation and Demultiplexing
• As data is moving down the protocol stack, each protocol is adding layer-specific control information
HTTP
TCP
IP
Ethernet
User data
User dataHTTP Header
TCP Header
TCP HeaderIP Header
TCP HeaderIP HeaderEthernetHeader
EthernetTrailer
IP datagram
TCP segment
Ethernet frame
User dataHTTP Header
User dataHTTP Header
User dataHTTP Header
19
Encapsulation and 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 f923 a820 00a0 2471 e444 0800 4500 002c 9d08 4000 8006 8bff 808f 8990 808f 4715 065b 0050 0009 465b 0000 0000 6002 2000 598e 0000 0204 05b4
20
Encapsulation and Demultiplexing
Application dataTCP HeaderIP HeaderEthernet Header Ethernet Trailer
Ethernet frame
destination address
source address
type
6 bytes
CRC
4 bytes
21
00:e0:f9:23:a8:20
0:a0:24:71:e4:44
0x0800
6 bytes
CRC
4 bytes
Encapsulation and Demultiplexing: Ethernet Header
Application dataTCP HeaderIP HeaderEthernet Header Ethernet Trailer
Ethernet frame
22
Encapsulation and Demultiplexing: IP Header
Application dataTCP HeaderEthernet Header Ethernet Trailer
Ethernet frame
IP Header
DS ECNversion(4 bits)
headerlength
Total Length (in bytes)(16 bits)
Identification (16 bits)flags
(3 bits)Fragment Offset (13 bits)
Source IP address (32 bits)
Destination IP address (32 bits)
TTL Time-to-Live(8 bits)
Protocol(8 bits)
Header Checksum (16 bits)
32 bits
23
Encapsulation and Demultiplexing: IP Header
Application dataTCP HeaderEthernet Header Ethernet Trailer
Ethernet frame
IP Header
0x0 0x00x4 0x5 4410
9d08 0102 00000000000002
128.143.137.144
128.143.71.21
12810 0x06 8bff
32 bits
24
Encapsulation and Demultiplexing: TCP Header
Application dataEthernet Header Ethernet Trailer
Ethernet frame
IP Header TCP Header
Sequence number (32 bits)
Source Port Number Destination Port Number
Acknowledgement number (32 bits)
window sizeheaderlength
0 Flags
TCP checksum urgent pointer
32 bits
length Max. segment sizeoptiontype Option:
maximum segment size
25
Encapsulation and Demultiplexing: TCP Header
Application dataEthernet Header Ethernet Trailer
Ethernet frame
IP Header TCP Header
60783510
162710 8010
010
819210610 0000002 0000102
0x598e 00002
32 bits
410 146010210
26
Encapsulation and Demultiplexing: Application data
Application dataEthernet Header Ethernet Trailer
Ethernet frame
IP Header TCP Header
27
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 the network.
HTTP client
TCP client
Argon128.143.137.144
HTTPserver
TCP server
Neon128.143.71.21
IP Network
HTTPserver
TCP server
28
Network View of IP Protocol
128.143.71.21128.143.137.144
Router
128.143.137.0/24Network
128.143.137.1 128.143.71.1
128.143.71.0/24Network
29
Network View of Ethernet
• Ethernet’s view of the network
Argon(128.143.137.144)
Router137(128.143.137.1)
Ethernet Network
30
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.
31
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.
32
Internet History
• 1961: Kleinrock - queueing theory shows effectiveness of packet-switching
• 1964: Baran - packet-switching in military nets
• 1967: ARPAnet conceived by Advanced Research Projects Agency
• 1969: first ARPAnet node operational
• 1972: – ARPAnet demonstrated
publicly– NCP (Network Control
Protocol) first host-host protocol
– first e-mail program– ARPAnet has 15 nodes
1961-1972: Early packet-switching principles
33
Internet History
• 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
1972-1980: Internetworking, new and proprietary nets
34
Internet History
• 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
1990, 2000’s: commercialization, the Web, new apps
35
Applications of the Internet
• Traditional core applications:EmailNewsRemote LoginFile Transfer
• The killer application:World-Wide Web (WWW), P2P
• Future applications:Videoconferencing and TelephonyMultimedia ServicesInternet Broadcast
36
Growth of the Internet
Source: Internet Software Consortium
37
Internet Infrastructure
local ISP
campusnetwork
corporatenetwork
IXP
RegionalNetwork
RegionalNetwork
local ISP
local ISP
IXP
IXP
Backbone Network
Backbone Network
RegionalNetwork
RegionalNetwork
38
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)
39
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.
40
Tier-1 ISP: e.g., Sprint
Sprint US backbone network
41
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.
42
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)
43
Assigning Identifiers for the Internet
• Who gives University the domain name “tcpip-lab.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.
44
Summary
• Layered Internet architecture– Reduce complexity– Higher layer views lower layer as service provider– Application layer, transport layer, network layer, and link
layer