Title: TCPIP Application and Transport
1TCP/IP Application and Transport
- CPE302 TCP/IP Network Lab 2004
- Dome Potikanond
- Sakgasit Ramingwong
2TCP/IP Application and Transport
- TCP/IP Transport Layer
- TCP/IP Application Layer
3Transport Layer
4Introduction to TCP/IP Transport Layer
- The primary duties
- Transport and regulate the flow of information
from the source to the destination, reliably and
accurately - Segmentation of upper-layer application data
- Establishment of end-to-end operations
- Transport of segments from one end host to
another end host - Flow control provided by sliding windows
- Reliability provided by sequence numbers and
acknowledgments
5Flow Control
- Flow control avoids the problem of a transmitting
host overflowing the buffers in the receiving
host - TCP provides the mechanism for flow control by
allowing the sending and receiving host to
communicate - The two hosts then establish a data-transfer rate
that is agreeable to both
6Flow Control
7Session Establishment
- Transport functionality is accomplished on a
segment-by-segment basis (first-come,
first-served) - The segments can be routed to the same or
different destinations - The session is connection-oriented
8Establishing a Connection with a Peer System
9Establishing a Connection with a Peer System
10Establishing a Connection with a Peer System
11Three-Way Handshake
- Initializing a connection
- the two hosts must synchronize their Initial
Sequence Numbers (ISNs) by exchanging of
connection establishing segments that carry a
control bit called SYN, for synchronize, and the
ISNs - Segments that carry the SYN bit are also called
SYNs - The synchronization requires each side to send
its own initial sequence number and to receive a
confirmation of exchange in an acknowledgment
(ACK) from the other side - Each side must also receive the INS from the
other side and send a confirming ACK
12Three-Way Handshake
A?B SYN(A) initial sequence number is X ACK
number is 0 SYN bit is set ACK bit is not set
B?A ACK(A) sequence number is X 1, (B)
initial sequence number is Y SYN bit is set ACK
bit is set
A?B ACK(B) sequence number is Y 1, (A)
sequence number is X 1 SYN bit is not set ACK
bit is set
13Windowing
- Small data packets for preventing protocol
failure - Expectational acknowledgements
- Available during lifetime of the connection
14TCP Basic Window
15TCP Sliding Window
16Acknowledgement
- Positive acknowledgment with retransmission is
one technique that guarantees reliable delivery
of data - A recipient will send back an acknowledgment
message to the source when the data is received - The sender keeps a record of each data packet
(TCP segment), that it sends and expects an
acknowledgment - The sender also starts a timer when it sends a
segment and will retransmit a segment if the
timer expires before an acknowledgment arrive
17TCP Sliding Window
18TCP Sequence and Acknowledgement
19Transmission Control Protocol (TCP)
- Connection-oriented
- Layer 4
- Full-duplex data transmission
- The protocols that use TCP include
- FTP (File Transfer Protocol)
- HTTP (Hypertext Transfer Protocol)
- SMTP (Simple Mail Transfer Protocol)
- Telnet
20TCP Segment Format
21TCP Segment
- The following are the definitions of the fields
in the TCP segment - Source port Number of the calling port
- Destination port Number of the called port
- Sequence number Number used to ensure correct
sequencing of the arriving data - Acknowledgment number Next expected TCP octet
- HLEN Number of 32-bit words in the header
- Reserved Set to zero
- Code bits Control functions, such as setup and
termination of a session - Window Number of octets that the sender is
willing to accept - Checksum Calculated checksum of the header and
data fields - Urgent pointer Indicates the end of the urgent
data - Option One option currently defined, maximum
TCP segment size - Data Upper-layer protocol data
22User Datagram Protocol (UDP)
- Connectionless
- Layer 4
- No windowing or acknowledgments
- The protocols that use UDP include
- TFTP (Trivial File Transfer Protocol)
- SNMP (Simple Network Management Protocol)
- DHCP (Dynamic Host Control Protocol)
- DNS (Domain Name System)
23UDP Segment Format
24UDP Segment
- The following are the definitions of the fields
in the UDP segment - Source port Number of the calling port
- Destination port Number of the called port
- Length Number of bytes including header and
data - Checksum Calculated checksum of the header and
data fields - Data Upper-layer protocol data
25TCP and UDP Port Number
- Issued by the Internet Assigned Numbers Authority
(IANA) - Numbers below 1024 are considered well-known
ports numbers - Numbers above 1024 are dynamically assigned ports
numbers - Registered port numbers are those registered for
vendor-specific applications. Most of these are
above 1024 - MSN?, ICQ?, SSH?, HTTPS?
26Port Numbers
27Port Numbers
28Application Layer
29Introduction to TCP/IP Application Layer
- Comprise session, presentation and application
layers from the OSI model - The TCP/IP application layer protocols include
the following applications - Domain Name System (DNS)
- File Transfer Protocol (FTP)
- Hypertext Transfer Protocol (HTTP)
- Simple Mail Transfer Protocol (SMTP)
- Simple Network Management Protocol (SNMP)
- Telnet
30Application Layer
31Domain Naming System (DNS)
- Used on the Internet for translating names of
domains and their publicly advertised network
nodes into IP addresses - There are more than 200 top-level domains on the
Internet, examples of which include the
following - .us United States
- .uk United Kingdom
- .th - Thailand
- There are also generic names, which examples
include the following - .edu educational sites
- .com commercial sites
- .gov government sites
- .org non-profit sites
- .net network service
- .mil, .int, .info, .biz, .tv
32File Transfer Protocol (FTP and TFTP)
- FTP
- Connection-oriented
- TCP
- Transfer files from one computer to another by
copying and moving files from servers to clients,
and from clients to servers - TFTP
- Connectionless
- UDP
- Used on the router to transfer configuration
files and Cisco IOS images and to transfer files
between systems that support TFTP
33FTP Application
34Hypertext Transfer Protocol (HTTP)
- World Wide Web
- Hypertext Markup Language (HTML)
- Uniform Resource Locator (URL)
- http//www.doc.eng.cmu.ac.th/course/cpe302/
35URL
36Simple Mail Transfer Protocol (SMTP)
- Send and receive mail between mail servers
- Transports email messages in ASCII format using
TCP - The most popular mail client protocols are POP3
and IMAP4 - MS Outlook
- Mozilla Thunderbird
- Eudora pro
37Sending E-mail
38Simple Network Management Protocol (SNMP)
- Facilitates the exchange of management
information between network devices - Manage network performance
- Find and solve network problems
- Plan for network growth
- UDP
39SNMP
- An SNMP managed network consists of the following
three key components - Network management system (NMS)
- NMS executes applications that monitor and
control managed devices - Managed devices
- Network nodes that contain an SNMP agent and that
reside on a managed network - Routers, access servers, switches, and bridges,
hubs, computee, or printers. - Agents
- Network-management software modules that reside
in managed devices - An agent has local knowledge of management
information and translates that information into
a form compatible with SNMP.
40SNMP-Managed Network
41Telnet
- Provides the ability to login to a remote
Internet host that is running a Telnet server
application and then to execute commands from the
command line - Telnet client is referred to as a local host
- Telnet server, which uses special software called
a daemon, is referred to as a remote host
42Telnet