No Slide Title
Download
Report
Transcript No Slide Title
TCP/IP Essentials
A Lab-Based Approach
Chapter 0
TCP/IP Overview
Shivendra Panwar, Shiwen Mao
Jeong-dong Ryoo, and Yihan Li
The Internet
A global information system consisting of millions of
computer networks around the world.
History
Late 1960s, ARPA sponsors the development of a packetswitching network, called the ARPANET.
1974, The TCP/IP protocols and model are proposed by Cerf
and Kahn.
1983, ARPANET adopts TCP/IP. At this time, the ARPANET has
200 routers.
1984, NSF funds a TCP/IP based backbone network. This
backbone grows into the NSFNET, which becomes the
successor of the ARPANET.
1995, NSF stops funding the NSFNET. The Internet is
completely commercial.
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
2
Internet Standards Control
Internet Society (ISOC): a professional membership organization
that comments on policies, practices, and oversees others dealing
with network policy issues.
Internet Architecture Board (IAB): responsible for defining overall
architecture of the Internet with guidance and broad direction to the
IETF.
Internet Engineering Task Force (IETF): responsible for protocol
engineering and development.
Internet Research Task Force (IRTF): responsible for focused,
long-term research.
Internet Corporation for Assigned Names and Numbers
(ICANN): in charge of defining all “unique parameters” in the
Internet, including domain names and IP addresses.
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
3
Internet Standardization Process
A typical (but not only) way of standardization is:
Internet Drafts
RFC (Request for Comments)
Proposed Standard
Draft Standard (requires 2 working implementation)
Internet Standard (declared by IAB)
David Clark, MIT, 1992: "We reject: kings, presidents,
and voting. We believe in: rough consensus and
running code.”
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
4
A Hierarchical Communication
Architecture
Networking can be quite complex and requires a high
degree of cooperation between the involved parties.
Cooperation is achieved by forcing parties to adhere to a
set of rules and conventions (protocols).
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.
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
5
TCP/IP Protocols
Internet Protocol
Suite
A combination of
different protocols
Organized into four
layers
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
6
Functions of the Layers
Data Link Layer
Network Layer
Service: Moves packets inside the network.
Functions: Routing, addressing, switching, congestion control.
Transport Layer
Service: Reliable transfer of frames over a link.
Functions: Synchronization, error control, flow control.
Service: Controls delivery of data between hosts.
Functions: Connection establishment/termination, error control,
flow control.
Application Layer
Service: Handles details of application programs.
Functions: Everything is application specific.
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
7
Protocols in Different Layers
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
8
Internetworking Devices
Computers are connected by
internetworking devices.
Classified according to their functionality
and layers
Hub
Bridge
Switch
Router
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
9
Hosts Communicating over a Hub
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
10
Hosts Communicating over a bridge
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
11
Hosts Communicating over a router
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
12
Encapsulation
The application data is sent down
Each layer adds a header to the data (PDU)
from its higher layer.
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
13
Multiplexing and Demultiplexing
Different higher layer
protocols can use the
service by the same
lower layer protocol.
The same higher
layer protocol can use
the service by
different lower layer
protocols.
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
14
Naming and Addressing
Uniquely identify processes in different
computers for communications.
Port number
Domain name
IP address
MAC address
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
15
Domain Name
Identify a host
User friendly
Hierarchically organized
Domain Name System (DNS): resolves a
domain name to the corresponding IP address.
DNS
servers and the domain name database
Name caching
DNS query and reply
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
16
The Domain Name Space
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
17
Port Number
Address for the application layer user
process.
Port Number field in TCP or UDP header.
Well-known port numbers
1
to 255: Internet wide services
256 to 1023: preserved for Unix specific
services
1024 and up: ephemeral port numbers
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
18
IP Address
Each host interface in the Internet has a
unique IP address.
IPv4, 32 bits, dotted-decimal notation
IPv6, 128-bit address
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
19
Five Classes of IP Addresses
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
20
Subnetting
Three levels of an IP address:
Network ID
Subnet ID
Host ID
Subnet mask: separates subnet ID and host ID
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
21
Ethernet Frame Format
Source Ethernet (MAC) Address
Destination Ethernet Address
Frame Type: used to identify the payload
CRC: used for error control
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
22
IP Header Format
Size: 20 bytes if without options.
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
23
UDP Header Format
Checksum: computed using the UDP header,
UDP data and a pseudo-header as below.
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
24
TCP Header Format
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
25
An Example:
How TCP/IP Protocols Work Together
Bob, a user, wants to book an air ticket
from an online booking website.
Bob knows the domain name
www.expedia.com
The remote computer with the domain
name is a web server.
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
26
An Example – the Application
The web server provides the web service.
Bob uses a web browser, which is a web
client, to request and receive web service.
The HyperText Transfer Protocol (HTTP) is
used by the web server and browser.
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
27
An Example – DNS
Bob starts Netscape in his computer, and
types http://www.exedia.com/index.html.
The domain name needs to be translated
to an IP address.
A DNS query is sent to a DNS server.
A DNS reply will return to the client with
the IP address.
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
28
An Example – TCP Connection
The client establishes a TCP connection to the web
server.
A port number is carried in all packets in this process.
Application data (an HTTP request message for the
index.html file) is sent over the TCP connection,
encapsulated in a TCP segment.
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
29
An Example – IP Layer
The TCP segment is sent down to the IP
layer and encapsulated in an IP datagram.
Routers will forward the IP datagram hop
by hop to the web server by checking their
routing tables.
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
30
An Example – MAC Layer
Bob’s host sends the IP datagram and the
next-hop router’s IP address down to the
MAC layer.
The IP datagram is encapsulated in an
Ethernet frame.
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
31
An Example – ARP
The Ethernet frame needs to be sent to the
interface of the next-hop router.
Only Ethernet MAC address can be recognized.
ARP request/reply is used to resolve the MAC
address.
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
32
An Example – on the Other End
The web server receives the Ethernet frame.
The packet is delivered to the upper layers.
When the application layer receives the HTTP
request message, it sends an HTTP response
message to the client.
Panwar, Mao, Ryoo, Li: TCP/IP Essentials
33