1. Trang chủ
  2. » Công Nghệ Thông Tin

CCNA 1 and 2 Companion Guide, Revised (Cisco Networking Academy Program) part 52 ppsx

10 331 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 260,25 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Figure 9-2 Transport Layer Role in Communication Between Network DevicesThe transport layer provides the following basic services: ■ Segmenting upper-layer application data ■ Establishin

Trang 1

Figure 9-2 Transport Layer Role in Communication Between Network Devices

The transport layer provides the following basic services:

■ Segmenting upper-layer application data

■ Establishing end-to-end operations

■ Sending segments from one end host to another end host

■ Ensuring flow control provided by sliding windows

■ Ensuring reliability provided by sequence numbers and acknowledgments

The transport layer assumes that it can use the network as a “cloud,” to send data

packets from source to destination The cloud deals with issues of which of several

paths is best for a given route This starts to illustrate the role that routers perform

in this process

TCP/IP is a combination of two individual protocols, TCP and IP IP is a Layer 3

pro-tocol, a connectionless service that provides best-effort delivery across a network TCP

is a Layer 4 protocol, a connection-oriented service that provides flow control as well

as reliability Pairing the protocols enables them to provide a wider range of services

The TCP/IP protocol suite is made up of many protocols, but TCP and IP are the key

ones TCP/IP is the protocol suite on which the Internet is based

Flow Control

As the TCP transport layer protocol sends data segments, it can ensure the integrity

of the data One method of doing this is called flow control Flow control avoids the

problem of a transmitting host overflowing the buffers in the receiving host Overflows

can present serious problems because they can result in the loss of data

Transport layer services enable reliable data transport between hosts and destinations

To obtain such reliable transport of data, a connection-oriented relationship is used

Hello!

How fast can

I send data?

I am busy now.

Send data slowly.

Trang 2

480 Chapter 9: TCP/IP Transport and Application Layer

between the communicating end systems Reliable transport can accomplish the following:

■ Ensure that segments delivered will be acknowledged to the sender

■ Provide for retransmission of any segments that are not acknowledged

■ Put segments back into their correct sequence at the destination

■ Provide congestion avoidance and control

Session Establishment, Maintenance, and Termination Overview

In the OSI and TCP/IP reference models, multiple applications can share the same transport connection Transport functionality is accomplished segment by segment This means that different applications can send data segments on a come, first-served basis Such segments can be intended for the same destination or for different destinations This setup sometimes is referred to as the multiplexing of upper-layer conversations, as shown in Figure 9-3

Figure 9-3 Multiple Types of Application Layer Data Share the Transport Layer

One function of the transport layer is to establish a connection-oriented session with its peer system For data transfer to begin, both the sending and the receiving applica-tions inform their respective operating systems that a connection will be initiated One machine initiates a connection that must be accepted by the other Protocol software modules in the two operating systems communicate by sending messages across the network to verify that the transfer is authorized and that both sides are ready

After all synchronization has occurred, a connection is said to be established and the transfer of data begins During transfer, the two machines continue to communicate with their protocol software to verify that data is received correctly

Figure 9-4 shows a typical connection between sending and receiving systems The first handshake requests synchronization The second and third handshakes acknowledge

Application

Electronic Mail

File Transfer

Terminal Session

Application Port Data

Application Port Data

Presentation Session

Transport

Segments

Trang 3

the initial synchronization request, as well as synchronize connection parameters in the

opposite direction The final handshake segment is an acknowledgmentused to inform

the destination that both sides agree that a connection has been established After the

connection is established, data transfer begins

Figure 9-4 Establishing a Connection with a Peer System

When data transfer is in progress, congestion can occur for two reasons First, a

high-speed computer might be capable of generating traffic faster than a network can

trans-fer it Second, if many computers simultaneously need to send datagrams to a single

destination, that destination can experience congestion, although no single source

caused the problem

When datagrams arrive too quickly for a host or gateway to process, they temporarily

are stored in memory If the traffic continues, the host or gateway eventually exhausts

its memory and must discard additional datagrams that arrive

Instead of allowing data to be lost, the transport function can issue a “not ready”

indi-cator to the sender Acting like a stop sign, this indiindi-cator signals the sender to stop

sending data When the receiver can handle additional data, the receiver sends a “ready”

transport indicator, which is like a go signal When it receives this indicator, the sender

can resume segment transmission

At the end of data transfer, the sending host sends a signal that indicates the end of the

transmission The receiving host at the end of the data sequence acknowledges the end

of transmission, and the connection is terminated

Sender

Synchronize

Connection Established

Negotiate Connection

Synchronize Acknowledge

Data Transfer (Send Segments)

Receiver

Trang 4

482 Chapter 9: TCP/IP Transport and Application Layer

Three-Way Handshake

TCP is connection-oriented, so it requires connection establishment before data transfer begins For a connection to be established or initialized, the two hosts must synchronize

on each other’s initial sequence numbers (ISNs) Synchronization is done in an exchange

of connection-establishing segments that carry a control bit called SYN (for synchro-nize) and the ISNs Segments that carry the SYN bit also are called SYNs Hence, the solution requires a suitable mechanism for picking an initial sequence number and a slightly involved handshake to exchange the ISNs

The synchronization requires each side to send its own initial sequence number and to receive a confirmation of it in an acknowledgment (ACK) from the other side Each side also must receive the other side’s INS and send a confirming ACK The sequence follows:

SYN bit is set, but the ACK bit is not set

and the SYN and ACK bits are set

the ACK bit is set, but the SYN bit is not set

This exchange, shown in Figure 9-5, is called the three-way handshake

Figure 9-5 Three-Way Handshake

Send SYN (seq = x)

Receive SYN (seq = y, ACK = x + 1) Send ACK (ACK = y + 1)

Receive SYN (seq = x) Send SYN (seq = y, ACK = x + 1)

Receive ACK (ACK = y + 1)

Trang 5

A three-way handshake is an asynchronous connection mechanism, which is necessary

because sequence numbers are not tied to a global clock in the network; therefore, TCP

protocols can have different mechanisms for picking the ISN The three-way

hand-shake addresses a lot more issues than just the sequence numbers Other issues that are

addressed include window size, MTU, and any network latency to expect The receiver

of the first SYN has no way of knowing whether the segment was an old delayed one,

unless it remembers the last sequence number used on the connection (which is not

always possible), so it must ask the sender to verify this SYN

Windowing

In the most basic form of reliable, connection-oriented data transfer, data packets must

be delivered to the recipient in the same order in which they were transmitted The

protocol fails if any data packets are lost, damaged, duplicated, or received in a

differ-ent order The basic solution is to have a recipidiffer-ent acknowledge the receipt of each

data segment

If the sender must wait for an acknowledgment after sending each segment, as shown

in Figure 9-6, throughput is low Therefore, most connection-oriented, reliable

proto-cols allow more than one frame or segment to be outstanding at a time Because time is

available after the sender finishes transmitting the data packet and before the sender

finishes processing any received acknowledgment, the interval is used for transmitting

more data The number of data packets that the sender is allowed to have outstanding

without having received an acknowledgment is known as the window

Figure 9-6 Window Size of 1

Send 1

Receive 1 Send ACK 2 Receive ACK 2

Send 2

Receive ACK 3 Send 3

Receive ACK 4

Receive 2 Send ACK 3

Receive 3 Send ACK 4

Trang 6

484 Chapter 9: TCP/IP Transport and Application Layer

TCP uses expectational acknowledgments, meaning that the acknowledgment number refers to the octet that is expected next Windowing refers to the fact that the window size is negotiated dynamically during the TCP session Windowing is a flow-control mechanism requiring that the source device receive an acknowledgment from the desti-nation after transmitting a certain amount of data

To govern the flow of data between devices, TCP uses a flow-control mechanism The receiving TCP device reports a “window” to the sending TCP device This window specifies the number of octets, starting with the acknowledgment number, that the receiving TCP device currently is capable of receiving

For example, with a window size of 3, the source device can send three octets to the destination It then must wait for an acknowledgment If the destination receives the three octets, it sends an acknowledgment to the source device, which now can transmit three more octets If the destination does not receive the three octets—for example, because of overflowing buffers—it does not send an acknowledgment Because the source does not receive an acknowledgment, it knows that the octets should be retransmitted and that the transmission rate should be slowed

TCP window sizes are variable during the lifetime of a connection Each acknowledg-ment contains a window advertiseacknowledg-ment that indicates the number of bytes that the receiver can accept TCP also maintains a congestion-control window, which is nor-mally the same size as the receiver’s window but is cut in half when a segment is lost (for example, there is congestion) This approach permits the window to be expanded

or contracted as necessary to manage buffer space and processing A larger window size controls the permissible number of octets that can be transmitted

If the sender sends three octets, it is expecting an ACK of 4 If the receiver can handle

a window size of only two octets , it drops packet 3, specifies 3 as the next octet, and specifies a new window size of 2 The sender sends the next two octets but still specifies its own window size of 3 (for example, it still can accept three octets from the receiver) The receiver replies by requesting octet 5 and specifying a window size of 2

Acknowledgment

Reliable delivery guarantees that a stream of data sent from one machine is delivered through a data link to another machine without duplication or data loss Positive acknowledgment with retransmission is one technique that guarantees reliable delivery

of data Positive acknowledgment requires a recipient to communicate with the source, sending back an acknowledgment message when it receives data The sender keeps a record of each data packet (TCP segment) that it sends and expects an acknowledgment

Trang 7

The sender also starts a timer when it sends a segment, and it retransmits a segment if

the timer expires before an acknowledgment arrives

Figure 9-7 shows the sender transmitting data packets 1, 2, and 3 The receiver

acknowl-edges receipt of the packets by requesting packet 4 Upon receiving the acknowledgment,

the sender sends packets 4, 5, and 6 If packet 5 does not arrive at the destination, the

receiver acknowledges with a request to resend packet 5 The sender resends packet 5

and then receives an acknowledgment to continue with the transmission of packet 7

Figure 9-7 Window Size of 3

TCP provides sequencing of segments with a forward reference acknowledgment Each

datagram is numbered before transmission, as shown in Figure 9-8 At the receiving

station, TCP reassembles the segments into a complete message TCP must recover from

data that is damaged, lost, duplicated, or delivered out of order by the Internet

com-munication system This is achieved by assigning a sequence number to each octet

transmitted and requiring a positive acknowledgment (ACK) from the receiving TCP

If the ACK is not received within a timeout interval, the data is retransmitted At the

receiver, the sequence numbers are used to correctly order segments that might be received

out of order and to eliminate duplicates Damage is handled by adding a checksum to

each segment transmitted, checking it at the receiver, and discarding damaged segments

Send 1 Send 2 Send 3

Receive 1 Receive 2 Receive 3 Send ACK 4 Receive ACK 4

Send 4 Send 5 Send 6

Receive ACK 7

Receive 4 Receive 5 Receive 6 Send ACK 7

Window Size = 3

Trang 8

486 Chapter 9: TCP/IP Transport and Application Layer

Figure 9-8 TCP Sequence and Acknowledgment

TCP

Transmission Control Protocol (TCP) is a connection-oriented transport layer protocol that provides reliable full-duplex data transmission TCP is part of the TCP/IP proto-col stack In a connection-oriented environment, a connection is established between both ends before transfer of information can begin TCP is responsible for breaking messages into segments, reassembling them at the destination station, resending any-thing that is not received, and reassembling messages from the segments TCP supplies

a virtual circuit between end-user applications

These protocols use TCP:

■ File Transfer Protocol (FTP)

■ Hypertext Transfer Protocol (HTTP)

■ Simple Mail Transfer Protocol (SMTP)

■ Domain Name System (DNS) Figure 9-9 shows the TCP segment format

Figure 9-9 TCP Segment Format

I sent # 10. I received # 10.Now send # 11.

Source Des Seq Ack.

1028 23 10 1

Source Des Seq Ack.

1028 23 11 2

Source Des Seq Ack.

23 1028 1 11 .

Source Port

Destination Port

Sequence Number

Acknowledgment

Source Port (16) Designated Port (16) Sequence Number (32)

Acknowledgment Number (32) Header

Length (4)Reserved(6) Bits (6)Code Window (16) Checksum (16) Urgent (16) Options (0 or 32 if Any) Data (Varies)

Bit 0 Bit 15 Bit 16 Bit 31

20 Bytes

Trang 9

The following list defines the fields in the TCP segment shown in Figure 9-9:

Source Port—Number of the calling port

Destination Port—Number of the called port

arriving data

Code Bits—Control functions (such as setup and termination of a session)

Window—Number of octets that the sender is willing to accept

Urgent Pointer—Indication of the end of the urgent data

UDP

User Datagram Protocol (UDP), the segment format for which is shown in Figure 9-10,

is the connectionless transport protocol in the TCP/IP protocol stack UDP is a simple

protocol that exchanges datagrams without acknowledgments or guaranteed delivery

This simplicity is evident when comparing the UDP segment format with that of TCP

Error processing and retransmission must be handled by upper-layer protocols For

example, if a TFTP download gets interrupted for some reason, the human operator

can just retry until it is successfully done

Figure 9-10 UDP Segment Format

The following list defines the fields in the UDP segment shown in Figure 9-10:

Source Port—Number of the calling port

Destination Port—Number of the called port

Source Port (16) Designated Router (16)

Data (If Any) Length (16) Checksum (16)

Bit 0 Bit 15 Bit 16 Bit 31

8 Bytes

No Sequence or Acknowledgement Fields

Trang 10

488 Chapter 9: TCP/IP Transport and Application Layer

UDP uses no windowing or acknowledgments; therefore, application layer protocols provide reliability UDP is designed for applications that do not need to put sequences

of segments together

These protocols use UDP:

■ Trivial File Transfer Protocol (TFTP)

■ Simple Network Management Protocol (SNMP)

■ Dynamic Host Configuration Protocol (DHCP)

■ Domain Name System (DNS)

TCP and UDP Port Numbers

Both TCP and UDP use port numbers to pass information to the upper layers The combination of an IP address and a port number is referred to as a socket Port numbers are used to keep track of different conversations crossing the network at the same time Application software developers agree to use well-known port numbers that are con-trolled by the Internet Assigned Numbers Authority (IANA) For example, any conver-sation bound for the FTP application uses the standard port numbers 20 (for the data) and 21 (for control), as shown in Figure 9-11 Conversations that do not involve an application with a well-known port number are assigned port numbers randomly from within a specific range above 1023 Some ports are reserved in both TCP and UDP, but applications might not be written to support them, as shown in Table 9-1 Port num-bers have the assigned ranges shown in this table

Figure 9-11 Port Numbers

F T P

T e l n e t

S M T P

D N S

T F T P

S N M P

21

Application Layer

Transport Layer

Port Numbers 23

25 53 69 161

Ngày đăng: 04/07/2014, 18:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN