Guide to TCP/IP, Third Edition Chapter 6: Basic TCP/IP Services

Download Report

Transcript Guide to TCP/IP, Third Edition Chapter 6: Basic TCP/IP Services

Guide to TCP/IP, Third
Edition
Chapter 6:
Basic TCP/IP Services
Objectives
• Understand how TCP/IP Application layer protocols
and services work
• Explain the capabilities, message types, and
request/reply architectures for basic TCP/IP
services
• Discuss real-time streaming protocols (MSN
Messenger and VoIP) for messaging and telephony
applications
Basic TCP/IP Services
2
Objectives (continued)
• Understand the operations of other basic TCP/IP
services
• Explain how to decode packets that contain
Application layer protocols, and how to relate
message types or other similar information to the
kinds of requests and replies moving between a
client and a server (or between hosts in general)
Basic TCP/IP Services
3
How Application Layer IP Protocols
Work and Behave
• Fundamental behavior of TCP/IP Application layer
protocols depends on
– Specifications for the message structures that the
protocol or service supports
– Definition of a well-known port address on which
servers listen for service requests
– Availability of appropriate software components
Basic TCP/IP Services
4
How Application Layer IP Protocols
Work and Behave (continued)
• Request/reply messages
– Types of messages that generally occur within
TCP/IP Application layer services
• Request messages
– Used by clients to request services
• Reply messages
– Used by servers to reply to messages
• Server-to-server traffic
– Server-specific information is replicated from one
server to another
Basic TCP/IP Services
5
Understanding FTP
• FTP
– Offers a method for transferring files over a
connection-oriented transport, or TCP
• Key components of an FTP communication
–
–
–
–
–
–
–
–
User interface (UI)
Protocol interpreter (PI)
FTP commands
Data transfer process (DTP)
Files transferred
TCP transport
TCP-based command connection
TCP-based data transfer connection
Basic TCP/IP Services
6
Basic TCP/IP Services
7
FTP User Interface
• Offers the visual front end to the user
• Third-party products
– Offer an FTP client application with a graphical,
intuitive interface
• Protocol Interpreter (PI)
– Interprets commands
– Initiates control connection from user’s dynamic port
to the server’s FTP port
– Initiates FTP commands
– Monitors the data transfer process
Basic TCP/IP Services
8
Basic TCP/IP Services
9
Basic TCP/IP Services
10
Basic TCP/IP Services
11
FTP Elements
• Data Transfer Process (DTP)
– Moves data across the data connection only
• File System
– Files at either end of an FTP communication may
consist of various formats
• TCP Transport
– FTP relies on TCP to
• Establish the underlying connection
• Track the order of packets
• Define and adjust the data transfer window
Basic TCP/IP Services
12
FTP Elements (continued)
• TCP-based Command Connection
– Runs over TCP
– Created automatically when
• FTP connection is established in response to open
command from FTP client
• TCP-based Data Transfer Connection
– Runs over TCP
– Created by the server by default
Basic TCP/IP Services
13
Sample FTP Communications
• FTP
– Application layer protocol that relies on TCP
– Commands immediately follow the FTP header
• RFC 959
– Has complete list of FTP protocol commands
Basic TCP/IP Services
14
Basic TCP/IP Services
15
Basic TCP/IP Services
16
Active and Passive FTP
• In active mode
– Client connects from random TCP port with an
address greater than 1023 to FTP server’s
command port, port 21
• Passive FTP
– Developed to sidestep issue of an apparent server
connection initiation
– Client initiates connections for both the command
port and data port
– Not supported by some FTP clients
Basic TCP/IP Services
17
Understanding Telnet
• Telnet
– Offers a bidirectional byte-oriented communication
– Uses well-known port 23 on the server side
– Uses dynamic port number on the client side
• Telnet Elements
– Telnet hosts exchange information about options that
they support
Basic TCP/IP Services
18
Telnet Elements (continued)
• NVT
– Considered a printer-keyboard device that receives
bytes from the other host and prints the information
• The DO, DON’T, WILL, WON’T Structure
–
–
–
–
253 (0xFD)DO
254 (0xFE)DON’T
251 (0xFB)WILL
252 (0xFC)WON’T
Basic TCP/IP Services
19
Sample Telnet Communications
• Telnet
– Information immediately follows the TCP header
– Remains an important and widely used TCP/IP
service
• Stelnet
– Becoming increasingly available
• Secure Sockets Layer (SSL) interface
– Used to encrypt traffic between a Telnet client and a
Telnet server
Basic TCP/IP Services
20
Understanding SMTP
• Simple Mail Transfer Protocol (SMTP)
– Most widely used protocol for sending electronic mail
(e-mail) on the Internet
– Sends and receives e-mail messages through
• Sender-SMTP process
• Receiver-SMTP process that perform e-mail transfer
services
Basic TCP/IP Services
21
Basic TCP/IP Services
22
SMTP Elements
•
•
•
•
Sender-SMTP and Receiver-SMTP
SMTP Commands and Extension
SMTP Reply Codes
Sender-SMTP and Receiver-SMTP processes
– Client or server applications that support SMTP
functionality
Basic TCP/IP Services
23
Basic TCP/IP Services
24
Sample SMTP Communications
• SMTP commands and reply codes
– Immediately follow the TCP header
• SMTP commands
– Occur behind the scenes in some e-mail clients and
some server-to-server mail transfers on the Internet
• Majority of e-mail clients today
– Use SMTP to send outgoing mail through some
nearby SMTP server
Basic TCP/IP Services
25
Basic TCP/IP Services
26
Understanding HTTP
• Hypertext Transfer Protocol (HTTP)
– Application layer protocol
– Provides distributed information from various
hypermedia systems
– Has been in use on the Web since 1990
– Uses a request/response model
Basic TCP/IP Services
27
HTTP Elements
• HTTP clients
– Send HTTP requests that contain a method that
indicates what the client wants
• HTTP servers
– Respond with a numeric code
• URI
– Combination of a Uniform Resource Locator (URL)
and a Uniform Resource Name (URN)
Basic TCP/IP Services
28
Basic TCP/IP Services
29
HTTP Elements (continued)
• HTTP methods
– Commands that the HTTP client issues to the HTTP
server
• Status codes
– Sent by HTTP server to indicate success or failure of
request
Basic TCP/IP Services
30
Sample HTTP Communications
• HTTP commands and status codes
– Immediately follow the TCP header
• HTTPS protocol
– Represents a secure implementation of HTTP that
incorporates use of SSL
• TCP port 443
– Assigned to HTTP protocol that uses TCP with
Transport layer security over SSL
• UDP port 443
– Assigned to HTTP protocol that uses UDP with
Transport layer security over SSL
Basic TCP/IP Services
31
Understanding MSN Messenger
• MSN Messenger
– Proprietary protocol specification
– Handles audio and video applications and can be
embedded within other protocols
• MSN Messenger Elements
– Possesses one of the largest subscriber bases in the
world
– Serves as a presence information provider
Basic TCP/IP Services
32
Obtaining and Using MSN Messenger
• MSN Messenger
– Readily available at no charge online at
messenger.msn.com
• Four fundamental entities define the MSN
Messenger protocol architecture
–
–
–
–
The principal (or client) application
Dispatch server
Notification server
Switchboard server
Basic TCP/IP Services
33
MSN Messenger Commands
• To reach a broad audience of subscribers
– MSN Messenger protocol encodes character values
outside the printable ASCII range
• Principal and server commands
– Three-letter abbreviations, followed by any number
of specified parameters
• During initialization phase
– Commands sent between principal and server, occur
synchronously
Basic TCP/IP Services
34
Basic TCP/IP Services
35
Sample MSN Messenger
Communications
• Authentication procedures for MSN Messenger
Services begin with dispatcher
• Dispatcher
– Negotiates an appropriate protocol version and
format for each connection
• Protocol revision 13
– Provides full support for offline instant messaging
Basic TCP/IP Services
36
Basic TCP/IP Services
37
Understanding VoIP
• Voice over Internet Protocol (VoIP)
– Describes the properties and procedures for routing
voice conversations across the Internet
– Responsible for transporting analog voice streams
using digital signaling
Basic TCP/IP Services
38
VoIP Elements
• Four primary entities involved in a H.323basedVoIP communications network
– The terminals, or voice/video/data clients
– A Multipoint Control Unit (MCU) for bridging
videoconference connections
– The Gateway (GW) device for translating among
mutually independent protocol stacks
– The Gatekeeper
Basic TCP/IP Services
39
VoIP Elements (continued)
• Session Initial Protocol (SIP)
– Standard for initiating, modifying, or terminating
interactive users sessions
– Often used in tandem with H.323 for Voice over IP
applications
• H.323 protocol suite
– Blanket specification for establishing real-time,
streaming, qualitative multimedia communications
• H.245
– Defines control protocol for multimedia
communication
Basic TCP/IP Services
40
VoIP Elements (continued)
• H.235
– Provides coverage of security and encryption for
H.323 and H.245
• H.450
– Describes the supplementary services for H.323
networks
• H.239
– A recommendation for relaying communications
across different network media
• Q.931
– Documents the protocol and protocol state machine
for ISDN connections
Basic TCP/IP Services
41
Sample VoIP Communications
• Advantages of digitizing voice signals for
transmission over TCP/IP
– Better control can be exercised over the digital
format
– A digital signal is more forgiving of noise-bearing
transmissions than an analog signal
– VoIP communications avoid the costs associated
with pay-per-usage
Basic TCP/IP Services
42
Other Common TCP/IP-Based
Services
•
•
•
•
•
Echo (TCP and UDP)
Quote of the Day (QOD)
Character Generator (Chargen)
Whois
Trivial File Transfer Protocol (TFTP)
Basic TCP/IP Services
43
Other Common TCP/IP-Based
Services (continued)
•
•
•
•
Finger
Remote Procedure Call (RPC)
Simple Network Management Protocol (SNMP)
NetBIOS over TCP/IP
Basic TCP/IP Services
44
Basic TCP/IP Services
45
Basic TCP/IP Services
46
Decoding Application Layer Protocols
• Decoding TCP/IP Application layer traffic largely
depends on two separate forms of analysis
– Understanding specific service’s request/reply
messages
• Learning how to recognize related headers and
payload information
• Learning to assemble multiple lower-layer packets
– To reconstitute Application layer messages when
payloads exceed MTU for a single packet
Basic TCP/IP Services
47
Summary
• Foundation upon which all TCP/IP Application layer
services rest
– A request/reply message architecture
• Certain client/server Application layer services
– Involve server-to-server traffic
• FTP
– A file transfer service
• Telnet
– Provides a method to log on and access the
command line on a remote computer using TCP/IP
Basic TCP/IP Services
48
Summary (continued)
• SMTP
– Provides store and forward services for e-mail
messages
• HTTP
– Provides the underpinnings for the World Wide Web
• MSN Messenger and Voice over IP (VoIP)
communications
– Provide mechanisms to set up, manage, and tear
down ongoing communications using TCP
Basic TCP/IP Services
49
Summary (continued)
• Other common TCP/IP Application layer services
–
–
–
–
–
Echo, Chargen
QOD, TFTP, Finger
Remote Procedure Call
NetBIOS over TCP/IP
SNMP
• Understanding how to decode Application layer
protocols
– Means learning how to identify and interpret request
and reply messages
Basic TCP/IP Services
50