Communications Model
Download
Report
Transcript Communications Model
Review of Important Networking
Concepts
Introductory material.
Review of protocol architecture, protocol layers, encapsulation, network
abstractions.
1
Networking Concepts
• Protocol Architecture
• Protocol Layers
• Encapsulation
• Network Abstractions
2
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
3
TCP/IP Protocol Suite
• The TCP/IP protocol suite 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
Functions of the Layers
• Data Link Layer:
– Service:
Reliable transfer of frames over a link
– Functions: Framing (timing and synchronization)
Media access control
Error checking
• Network Layer:
– Service:
Direct packets hop by hop from source host to
destination host
– Functions: Forwarding
• Transport Layer:
– Service:
Delivery of data between hosts end to end
– Functions: Connection establishment/termination
error control
flow control
• Application Layer:
– Service:
Application specific (delivery of email, retrieval of HTML
documents, transfer of file)
– Functions: Application specific
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
Sending a packet from Argon to Neon
Argon
Neon
The actual path
followed by data
7
Layers in the Argon – Neon Example
HTTP
HTTP protocol
HTTP
TCP
TCP protocol
TCP
IP
Ethernet
IP
IP protocol
Ethernet
argon.tcpiplab.edu
128.143.137.144
Ethernet
IP protocol
Ethernet
Ethernet
router71.tcpip- router137.tcpiplab.edu
lab.edu
128.143.137.1
128.143.71.1
00:e0:f9:23:a8:20
IP
Ethernet
neon.tcpip-lab.edu
128.143.71.21
8
Layers in action 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 80
Open TCP connection to
128.143.71.21
port 80 is a TCP
IP datagram
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
Ethernet
HTTP
TCP
IP
SendEthernet
the datagram
to 128.143.7.21
argon.tcpipneon.tcpip-lab.edu
router71.tcpip- router137.tcpipSend Ethernet frame
Send Ethernet frame
lab.edu
128.143.71.21
lab.edu
to 00:20:af:03:98:28
to 00:e0:f9:23:a8:20 lab.edu
128.143.137.144
128.143.137.1
128.143.71.1
00:e0:f9:23:a8:20
9
Encapsulation
• 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
User data
Ethernet
Trailer
Ethernet frame
10
Encapsulation – Ethernet Header
6 bytes
destination address
4 bytes
source address
type
Ethernet Header
CRC
IP Header
TCP Header
Application data
Ethernet Trailer
Ethernet frame
11
Encapsulation:
Ethernet Header
6 bytes
00:e0:f9:23:a8:20
0:a0:24:71:e4:44
0x0800
4 bytes
CRC
12
Encapsulation - 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)
13
Encapsulation - IP Header
32 bits
0x4
0x5
0x0
9d08
12810
0x0
4410
0102
0x06
0000000000000 2
8bff
128.143.137.144
128.143.71.21
14
Encapsulation - 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
window size
urgent pointer
length
Max. segment size
TCP Header
Application data
Option:
maximum
segment size
Ethernet Trailer
Ethernet frame
15
Encapsulation and Demultiplexing:
TCP Header
32 bits
162710
8010
60783510
010
610
0000002
0000102
0x598e
210
819210
00002
410
146010
16
Encapsulation - Application data
Ethernet Header
IP Header
TCP Header
Application data
Ethernet Trailer
Ethernet frame
17
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
18
Network View of IP Protocol
128.143.137.144
128.143.71.21
128.143.137.1
128.143.71.1
Router
128.143.137.0/24
Network
128.143.71.0/24
Network
19
Network View of Ethernet
• Ethernet’s view of the network
Argon
(128.143.137.144)
Router137
(128.143.137.1)
Ethernet Network
20