Download Review of Important Networking Concepts TCP/IP Introductory

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Airborne Networking wikipedia , lookup

Multiprotocol Label Switching wikipedia , lookup

Network tap wikipedia , lookup

CAN bus wikipedia , lookup

Asynchronous Transfer Mode wikipedia , lookup

Wake-on-LAN wikipedia , lookup

SIP extensions for the IP Multimedia Subsystem wikipedia , lookup

Power over Ethernet wikipedia , lookup

Deep packet inspection wikipedia , lookup

Computer network wikipedia , lookup

IEEE 802.1aq wikipedia , lookup

IEEE 1355 wikipedia , lookup

AppleTalk wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

TCP congestion control wikipedia , lookup

Point-to-Point Protocol over Ethernet wikipedia , lookup

Real-Time Messaging Protocol wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

UniPro protocol stack wikipedia , lookup

Internet protocol suite wikipedia , lookup

Transcript
Review of Important
Networking Concepts
TCP/IP
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
Networking Concepts
• Addressing TCP/IP
• Protocol Architecture
• Protocol Layers
• Encapsulation
• Network Abstractions
2
TCP/IP PROTOCOL SUITE
The layers in the TCP/IP protocol suite do not exactly match those in the
OSI model. The original TCP/IP protocol suite was defined as having
four layers: host-to-network, internet, transport, and application.
However, when TCP/IP is compared to OSI, we can say that the TCP/IP
protocol suite is made of five layers: physical, data link, network,
transport, and application.
3
Summary of OSI layers
4
TCP/IP and OSI model
5
ADDRESSING TCP/IP
Four levels of addresses are used in an internet employing the
TCP/IP protocols: physical, logical, port, and specific.
6
Relationship of layers and addresses in TCP/IP
7
Example of Physical addresses
In Figure a node with physical address 10 sends a frame to a node with
physical address 87. The two nodes are connected by a link (bus topology
LAN). As the figure shows, the computer with physical address 10 is the
sender, and the computer with physical address 87 is the receiver.
Most local-area networks use a 48-bit (6-byte) physical address written as 12
hexadecimal digits; every byte (2 hexadecimal digits) is separated by a
colon, as shown below:
07:01:02:01:2C:4B
A 6-byte (12 hexadecimal digits) physical address.
8
Example of IP addresses
Figure below shows a part of an internet with two routers connecting three
LANs.
Each device (computer or router) has a pair of addresses (logical and
physical) for each connection.
In this case, each computer is connected to only one link and therefore
has only one pair of addresses.
Each router, however, is connected to three networks (only two are shown
in the figure). So each router has three pairs of addresses, one for each
connection.
Note. The physical addresses will change from hop to hop,
but the logical addresses usually remain the same.
9
Example of IP addresses
10
Example of Port addresses
Figure below shows two computers communicating via the Internet.
A port address is a 16-bit address represented by one decimal number as show
The sending computer is running three processes at this time with port addresses
a, b, and c.
The receiving computer is running two processes at this time with port addresses j
and k.
Process a in the sending computer needs to communicate with process j in the
receiving computer.
Note that although physical addresses change from hop to hop, logical and port
addresses remain the same from the source to destination.
753
A 16-bit port address represented as one single number.
11
Example of Port addresses
12
Sending a packet from Argon to Neon
argon.tcpip-lab.edu
"Argon"
128.143.137.144
neon.tcpip-lab.edu
"Neon"
128.143.71.21
router137.tcpip-lab.edu
"Router137"
128.143.137.1
router71.tcpip-lab.edu
"Router71"
128.143.71.1
Router
Ethernet Network
Ethernet Network
13
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
128.143.137.1?
ofaddress
“neon.tcpip-lab.edu
“neon.tcpip-lab.edu
””is? of
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
ARP: What is the MAC
ARP:
TheofMAC
address of
address
128.143.71.21?
128.143.137.1 is neon.tcpip-lab.edu
00:20:af:03:98:28
"Neon"
128.143.71.21
router137.tcpip-lab.edu
"Router137"
128.143.137.1
router71.tcpip-lab.edu
"Router71"
128.143.71.1
Router
frame
Ethernet Network
frame
Ethernet Network
14
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
15
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
16
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
17
TCP/IP Suite and OSI Reference Model
Application
Layer
The TCP/IP protocol stack does not
define the lower layers of a complete
protocol stack
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
18
Assignment of Protocols to Layers (the
themes of the course)
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
19
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
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
20
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
Ethernet
HTTP
TCP
IP
Send the datagram
Ethernet
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
21
Layers and Services
• Service provided by TCP to HTTP:
– reliable transmission of data 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
22
Encapsulation and 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
User data
Ethernet
Trailer
Ethernet frame
23
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
24
Encapsulation and Demultiplexing
6 bytes
destination address
4 bytes
source address
type
Ethernet Header
CRC
IP Header
TCP Header
Application data
Ethernet Trailer
Ethernet frame
25
Encapsulation and Demultiplexing:
Ethernet Header
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
6 bytes
00:e0:f9:23:a8:20
4 bytes
0:a0:24:71:e4:44
0x0800
Ethernet Header
CRC
IP Header
TCP Header
Application data
Ethernet Trailer
Ethernet frame
26
Encapsulation and 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
Application data
Ethernet Trailer
Ethernet frame
27
Encapsulation and Demultiplexing:
IP Header
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
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
28
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
window size
urgent pointer
length
Max. segment size
TCP Header
Application data
Option:
maximum
segment size
Ethernet Trailer
Ethernet frame
29
Encapsulation and Demultiplexing:
TCP Header
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
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
30
Encapsulation and Demultiplexing:
Application data
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
No Application Data
in this frame
Ethernet Header
IP Header
TCP Header
Application data
Ethernet Trailer
Ethernet frame
31
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
32
Network View of IP Protocol
33
Network View of Ethernet
• Ethernet’s view of the network
34