PPT (Part 2)
Download
Report
Transcript PPT (Part 2)
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.
1
Sending a packet from Argon to Neon
neon.tcpip-lab.edu
"Neon"
128.143.71.21
255.255.255.0
argon.tcpip-lab.edu
"Argon"
128.143.137.144
255.255.255.0
"Router137"
128.143.137.1
255.255.255.0
Ethernet Network
Router
"Router71"
128.143.71.1
255.255.255.0
Ethernet Network
2
Sending a packet128.143.71.21
from Argon
to
Neon
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.tcpip-lab.edu
“neon.tcpip-lab.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.tcpip-lab.edu
"Argon"
128.143.137.144
255.255.255.0
"Router137"
128.143.137.1
255.255.255.0
frame
Ethernet Network
ARP: What is the MAC
ARP:
TheofMAC
address
of
neon.tcpip-lab.edu
address
128.143.71.21?
"Neon"
128.143.137.1 is 00:20:af:03:98:28
128.143.71.21
255.255.255.0
Router
"Router71"
128.143.71.1
255.255.255.0
frame
Ethernet Network
3
TCP/IP Protocol Architecture
• The TCP/IP protocol architecture
is the protocol architecture of the
Internet
Application
User-level programs
Transport
• 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.
Operating system
Network
Data Link
Data Link
Media Access
Control (MAC)
Sublayer in
Local Area
Networks
4
TCP/IP Suite and OSI Reference Model
A p p lica tio n
L a ye r
The TCP/IP protocol stack does not
define the lower layers of a complete
protocol stack
A p p lica tio n
L a ye r
P re s e n ta tio n
L a ye r
S e ssio n
L a ye r
T ra n sp o rt
L a ye r
T ra n sp o rt
L a ye r
N e tw o rk
L a ye r
N e tw o rk
L a ye r
(D a ta ) L in k
L a ye r
(D a ta ) L in k
L a ye r
P h ysica l
L a ye r
T C P /IP S u ite
OSI
R e fe re n c e
M od el
5
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
6
Layered Communications
• An entity of a particular layer can only communicate with:
1. a remote entity a the same layer using a common protocol
2. adjacent entities at the local system via service interfaces
N + 1 L a ye r
N +1 Layer
E n tity
N + 1 L a ye r P ro to co l
N +1 Layer
E n tity
N Layer
E n tity
N L a ye r P ro to co l
N Layer
E n tity
N -1 L a y e r
E n tity
N -1 L a ye r P ro to co l
N -1 L a y e r
E n tity
la ye r N + 1 /N
in te rfa ce
N L a ye r
la ye r N /N -1
in te rfa ce
N -1 L a ye r
7
Layers in the Example
HTTP
HTTP protocol
HTTP
TCP
TCP protocol
TCP
IP
Ethernet
IP
IP protocol
Ethernet
argon.tcpiplab.edu
128.143.137.144
Ethernet
128.143.137.1
00:e0:f9:23:a8:20
IP protocol
Ethernet
128.143.71.1
Ethernet
IP
Ethernet
neon.tcpip-lab.edu
128.143.71.21
00:20:af:03:98:28
8
Layers in the Example
HTTP
TCP
IP
Frame is an IP
datagram
Ethernet
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
Send
IP data-gram
to
Send a datagram (which
contains
a connection
Send IP datagram
to
IP
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
argon.tcpip128.143.137.1
Send Ethernet frame
lab.edu
00:e0:f9:23:a8:20
to 00:e0:f9:23:a8:20
128.143.137.144
Ethernet
HTTP
TCP
IP
Send the datagram
Ethernet
to 128.143.7.21
neon.tcpip-lab.edu
128.143.71.1
Send Ethernet frame
128.143.71.210
to 00:20:af:03:98:28
0:20:af:03:98:28
9
Encapsulation and Demultiplexing
• As data is moving down the protocol stack, each protocol
adds 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
User data
Ethernet frame
10
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
9d08
0050
0204
f923 a820 00a0 2471 e444 0800 4500 002c
4000 8006 8bff 808f 8990 808f 4715 065b
0009 465b 0000 0000 6002 2000 598e 0000
05b4
11
Parsing the information in the frame
4 bytes
destination address
00:e0:f9:23:a8:20
Ethernet
header
(14 bytes)
source address
0:a0:24:71:e4:44
type
0x0800
version
0x4
IP Header
(20 bytes)
Type of Service/TOS
0x5
0x00
Identification
0x9d08
header length
time-to;ive
0x80
flags
0102
protocol
0x06
cource IP address
128.143.137.144
destination IP address
128.143.71.21
source port number
162710
TCP Header
(24 bytes)
0x6
header checksum
0x8bff
destination port number
8010
sequence number
0x0009465b
acknowledgement number
0x00000000
flags
0000102
unused
0000002
TCP checksum
0x598e
option type
option length
0x02
0x04
header length
total length (in bytes)
0x002c
fragment offset
00000000000002
window size
819210
urgent pointer
0x0000
maximum segment size
146010
12
Encapsulation and Demultiplexing
6 bytes
destination address
source address
type
Ethernet Header
IP Header
TCP Header
Application data
Ethernet frame
13
Encapsulation and Demultiplexing:
Ethernet Header
6 bytes
00:e0:f9:23:a8:20
0:a0:24:71:e4:44
0x0800
Ethernet Header
IP Header
TCP Header
Application data
Ethernet frame
14
Encapsulation and Demultiplexing:
IP Header
32 bits
version
(4 bits)
header
length
DS
Identification (16 bits)
TTL Time-to-Live
(8 bits)
Protocol
(8 bits)
Total Length (in bytes)
(16 bits)
ECN
flags
(3 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
Application data
Ethernet frame
15
Encapsulation and 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
Application data
Ethernet frame
16
Encapsulation and 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
TCP Header
window size
urgent pointer
Max. segment size
Option:
maximum
segment size
Application data
Ethernet frame
17
Encapsulation and Demultiplexing:
TCP Header
32 bits
162710
8010
60783510
010
610
0000002
0000102
0x598e
210
Ethernet Header
IP Header
819210
00002
410
TCP Header
146010
Application data
Ethernet frame
18
Encapsulation and Demultiplexing:
TCP Header
32 bits
162710
8010
60783510
010
610
0000002
0000102
0x598e
210
Ethernet Header
IP Header
819210
00002
410
TCP Header
146010
Application data
Ethernet frame
19
Encapsulation and Demultiplexing:
Application data
No Application Data
in this frame
Ethernet Header
IP Header
TCP Header
Application data
Ethernet frame
20
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.
Argon
128.143.137.144
Neon
128.143.71.21
HTTP client
HTTP
server
HTTP
server
TCP client
TCP server
TCP server
IP Network
21
Network View of IP Protocol
22
Network View of Ethernet
• Ethernet’s view of the network
23