You are on page 1of 103

The OSI Model and the TCP/IP

Protocol Suite
Outline:
1. Protocol Layers
2. OSI Model
3. TCP/IP Model
4. Addressing
OBJECTIVES
To discuss the OSI model and its layer architecture
and to show the interface between the layers.
To briefly discuss the functions of each layer in the
OSI model.
To introduce the TCP/IP protocol suite and compare
its layers with the ones in the OSI model.
To show the functionality of each layer in the TCP/IP
protocol with some examples.
To discuss the addressing mechanism used in some
layers of the TCP/IP protocol suite for the delivery of
a message from the source to the destination.

TCP/IP PROTOCOL SUITE 2


Computer Network Components
Components of a computer network:
Computer with NIC (PCs,laptops,handhelds)
routers & switches (IP router,Ethernet switch)
LinksTransmission media (wired,wireless)
protocols (IP,TCP,CSMA/CD,CSMA/CA)
applications (network services)
i.e.Network Operating System (NOS)
humans and service agents

3
Part 1 - PROTOCOL LAYERS

we discussed that a protocol is required when


two entities need to communicate.
When communication is not simple, we may
divide the complex task of communication into
several layers.
The sending computer must:
Recognize the data.
Divide the data into manageable chunks.
Add information to each chunk of data to determine the
location of the data and to identify the receiver.
Add timing and error-checking information.
Put the data on the network and send it on its way.
In this case, we may need several protocols,
one for each layer.
TCP/IP PROTOCOL SUITE 4
PROTOCOL LAYERS

Let us use a scenario in


communication in which the role of
protocol layering may be better
understood.
We use two examples. In the first
example, communication is so simple
that it can occur in only one layer.
Example 1
Assume Maria and Ann are neighbors with a lot of common ideas. However,
Maria speaks only Spanish, and Ann speaks only English.

Since both have learned the sign language in their childhood, they enjoy
meeting in a cafe a couple of days per week and exchange their ideas using
signs.

Occasionally, they also use a bilingual dictionary. Communication is face to


face and Happens in one layer as shown in Figure.

TCP/IP PROTOCOL SUITE 6


Now assume that Ann has to move
to another town because of her job.
Before she moves, the two meet for
the last time in the same cafe.
Although both are sad, Maria
surprises Ann when she opens a
packet that contains two small
machines.
The first machine can scan and
transform a letter in English to a secret
code or vice versa.
The other machine can scan and
translate a letter in Spanish to the
same secret code or vice versa.
Ann takes the first machine; Maria
keeps the second one.
The two friends can still
communicate using the secret code,
as shown in Figure.

TCP/IP PROTOCOL SUITE 7


THE OSI MODEL

Established in 1947, the International


Standards Organization (ISO) is a
multinational body dedicated to
worldwide agreement on international
standards.
Almost three-fourths of countries in the
world are represented in the ISO.
An ISO standard that covers all aspects
of network communications is the Open
Systems Interconnection (OSI) model.
It was first introduced in the late 1970s.

TCP/IP PROTOCOL SUITE 8


Topics Discussed in the Section
LayeredArchitecture
Layer-to-layer Communication
Encapsulation
Layers in the OSI Model

TCP/IP PROTOCOL SUITE 9


Note

ISO is the organization;


OSI is the model.

TCP/IP PROTOCOL SUITE 10


OSI Model and Nora
Application 7th floor Nora gets secret message from her Boss

Presentation 6th floor Message is translated,encrypted and miniaturized

Security checks message,adds checkpoints to


Session 5th floor
ensure the embassy receives whole message
Message is analysed,combined if necessary and
Transport 4th floor
broken into smaller pieces

3rd Personnel check the message,determine the


Network
floor address,indicate fastest route to destination

2nd Message placed in special packet contains message,


Data Link
floor sender and destination ID

Physical 1st floor Prepared for a trip to the destination


OSI layers

TCP/IP PROTOCOL SUITE 12


An exchange using the OSI model ( Encapsulation)

TCP/IP PROTOCOL SUITE 13


Note

The physical layer is responsible for moving


individual bits from one
(node) to the next.

TCP/IP PROTOCOL SUITE 14


Summary of OSI Layers

TCP/IP PROTOCOL SUITE 15


TCP/IP Model

The TCP/IP protocol suite was Application Troubleshooting,file


developed prior to the OSI model. sharing,internet

Therefore, layers in TCP/IP


protocol suite do not Flow control,error
Transport control
match exactly with those
in the OSI model.
IP addressing and
Internet routing of network
traffic

Network Interface with the


Access physical network

TCP/IP PROTOCOL SUITE 16


IOS Model TCP/IP Model

Application

Presentation
Application
Session

Transport
Transport
Network
Internet
Data Link
Network
Physical Access

Comparison between OSI and


TCP/IP
A private internet

TCP/IP Protocol Suite 18


In this section we briefly describe the functions of each
layer in the OSI model.

LAYERS INTHE OSI


MODEL
Physical layer
defines the procedures and functions that physical
devices and interfaces have to perform for transmission
occur.
The physical layer is concerned with the following:

Physical characteristics of interfaces and media:
Representation of the bits
Data rate, the number of bits sent each second.
Line configuration, Point to point or multipoint
configuration.
Physical topology
Transmission Mode : Simplex, half duplex or full duplex
Communication at the physical layer

Legend Source Destination

A R1 R3 R4 B
Physical Physical
layer layer
Link 1 Link 3 Link 5 Link 6

011 ... 101

011 ... 101 011 ... 101

TCP/IP PROTOCOL SUITE 21


Note

The unit of communication at the physical


layer is a bit.

TCP/IP PROTOCOL SUITE 22


Data Link Layer
The data link layer transforms the physical layer, a raw
transmission facility, to a reliable link and is
responsible for node-to-node delivery.
The Data Link layer is concerned with the

following:
Framing.
Physical addressing,each node has its unique address.
Flow Control.
Access Control.
Error control, normally achieved through a trailer to the end of
the frame.
Communication at the data link layer

Legend Source Destination D Data H Header


A R1 R3 R4 B
Data link Data link

Physical Physical
Link 1 Link 3 Link 5 Link 6

D2 H2
Frame

D2 H2 D2 H2
Frame Frame

TCP/IP PROTOCOL SUITE 24


Note

The unit of communication at the data link


layer is a frame.

TCP/IP PROTOCOL SUITE 25


Network Layer
Is responsible for the source-to-
destination delivery of a packet possible
across multiple networks.
Functions:
Logical addressing.
Routing, It determines which path the data
should take based on network conditions,
priority of service,and other factors.
Note

The unit of communication at the network


layer is a datagram (Packet).

TCP/IP Protocol Suite 27


Transport Layer

The transport layer is responsible for process-to-process delivery of the


entire message.

Makes sure that the data arrives without errors,in the proper sequence
and in a reliable condition.

Functions:
Port addressing,The network layer gets each packet to the correct computer;the transport
layer gets the entire message to the correct process on that computer.
Segmentation and reassembly:a message is divided into transmittable segments,each having
a sequence number
Connection control:The transport layer can be either connectionless or connection-
oriented.
Flow control
Error control
Communication at transport layer

A Legend Source Destination D Data H Header B


Transport Transport
R1 R3 R4
Network Network

Data link Data link

Physical Physical

D4 H4
Segment

D4 H4
Segment

TCP/IP PROTOCOL SUITE 29


Note

The unit of communication at the transport


layer is a segment, user datagram, or a
packet, depending on the specific protocol
used in this layer.

30
Session Layer
the session layer,allows two applications on different computers to
open,use,and close a connection called a session.
(A session is a highly structured dialog between two workstations.)

Functions:
Dialog control
It also makes sure the session is orderly,establishing which node transmits first,
how long it can transmit,and what to do in case of an error.
It performs name-recognition and other functions,such as security,that are needed to
allow two applications to communicate over the network.

Synchronization
The session layer synchronizes user tasks by placing checkpoints in the data
stream.
The checkpoints break the data into smaller groups for error detection. It allows
information of different streams, perhaps originating from different sources, to be
properly combined or synchronized.
An example application is web conferencing, in which the streams of audio and video must be
synchronous to avoid so-called lip synch problems. It ensures that the person displayed on
screen is the current speaker.
presentation layer
The presentation layer is responsible for
translation,compression,and encryption.
Deals with the actual formatting of
the data.
For example,data might be converted from
EBCDIC toASCII formatting so that the
receiving node can understand it.
Application Layer
This layer relates to the services that directly provide user
interfaces support user applications or services,such as software
for file transfers,database access,and e-mail.
In other words,it serves as a window through which application
processes can access network services.
The application layer enables the user to access the network.
This would be the layer that a programmer uses to allow his
application to access a network service, such as linking into a
database.
Communication at application layer

A B
Application Legend Source Destination D Data H Header Application

Transport Transport
R1 R3 R4
Network Network

Data link Data link

Physical Physical

D5 D5
Message

D5 D5
Message

TCP/IP PROTOCOL SUITE 34


Note
The unit of communication at the
application layer is a message.

TCP/IP PROTOCOL SUITE 35


ADDRESSING - Introduction

Four levels of addresses are used in


an internet employing the TCP/IP
protocols:
physical address
logical address
port address
application-specific address.

TCP/IP PROTOCOL SUITE 36


Each address is related to a one layer in the
TCP/IP architecture, as shown in Figure.
IOS Model TCP/IP Model
Application
Application Spec.Address
Presentation Application
Session

Transport PortAddress Transport


Network LogicAddress Internet
Data Link PhysicalAddress
Network
Access
Physical
Example 1: physical addresses

1 packet
87 10 Data accepted
87 10 Data

TCP/IP PROTOCOL SUITE 38


Physical Address
A physical address is the hardware-level address used by the Ethernet interface
to communicate on the network. Every device must have a unique physical
address. This is often referred to as its MAC (Media Access Control) address. An
Ethernet physical address is six bytes long and consists of six hexadecimal
numbers, usually separated by colon characters (:). For example:
Example 2: logical addresses

20 10 A P Data 20 10 A P Data 33 99 A P Data

Physical
addresses
changed

95 66 A P Data 95 66 A P Data
33 99 A P Data
Physical
addresses
changed

40
Note

The physical addresses will change from


hop to hop, but the logical addresses
remain the same.

TCP/IP PROTOCOL SUITE 41


Logical Address
A logical address is a network-layer address that is interpreted by a protocol handler.
Logical addresses are used by networking software to allow packets to be independent of
the physical connection of the network, that is, to work with different network topologies
and types of media. Each type of protocol has a different kind of logical address, for
example:

an IP address (IPv4) consists of four decimal numbers separated by period (.) characters,
for example:
130.57.64.11 (32 bit)

an IP address (IPv6) consists of eight hexadecimal numbers separated by period (:)


characters, for example:
2001:db8:85a3:0:0:8a2e:370:7334 (128 bit)

For example, in sending a packet to a different network, the higher-level, logical


destination address might be for the computer on that network to which you are sending
the packet, while the lower-level, physical address might be the physical address of an
inter-network device, like a router, that connects the two networks and is responsible for
forwarding the packet to the ultimate destination
Port Address
A port can be thought of as a doorway into a computer. Network Applications that use the TCP/IP
suite utilize sockets to communicate with one another. A socket is the combination of an IP address
and a port. The purpose of ports is to uniquely identify different applications or processes running
on a single computer and thereby enable them to share a single physical connection to a packet-
switched network like the Internet

You can envision a socket like the following illustration:

So, on the one hand you have an IP address, say 10.1.1.1 and a service port like 25 for SMTP. When
a client connects to 10.1.1.1 on port 25 a "Socket" is created. This socket is an agreed upon pathway
for communications made up of an IP address and a port number. In this case 10.1.1.1:25
Some of the more common port numbers are 21, 25, 53, 80, 110, 443
Example 3: port numbers

A Sender Receiver P

Data Data
a j a j
Data Data
A P a j Data A P a j Data

H2 A P a j Data H2 A P a j Data

Internet

TCP/IP PROTOCOL SUITE 44


Note

The physical addresses change from hop to


hop, but the logical and port addresses
usually remain the same.

TCP/IP PROTOCOL SUITE 45


Part 2 Protocol and Addressing
Ethernet
Data Link Layer protocol

Ethernet (IEEE 802.3) is widely used.

Supported by a variety of physical layer implementations.

Multi-access (shared medium).

TCP/IP 46
CSMA/CD
Carrier Sense Multiple Access with Collision Detection

Carrier Sense : can tell when another host is transmitting

Multiple Access : many hosts on 1 wire

Collision Detection : can tell when another host transmits at the same time.

TCP/IP 47
An Ethernet Frame
Destination Source
Preamble Len DATA CRC
Address Address
8 bytes 6 6 2 0-1500 4

The preamble is a sequence of alternating 1s and 0s used for


synchronization.

CRC is Cyclic Redundency Check

TCP/IP 48
Ethernet Addressing
Every Ethernet interface has a unique 48 bit address (a.k.a. hardware address).
Example: C0:B3:44:17:21:17
The broadcast address is all 1s.
Addresses are assigned to vendors by a central authority.

Each interface looks at every frame and inspects the destination address. If the
address does not match the hardware address of the interface (or the broadcast
address), the frame is discarded.

TCP/IP 49
Internet Protocol
IP is the network layer
packet delivery service (host-to-host).
translation between different data-link protocols

IP provides connectionless, unreliable delivery of IP datagrams.


Connectionless: each datagram is independent of all others.
Unreliable: there is no guarantee that datagrams are delivered correctly or even
delivered at all.

TCP/IP 50
IP Addresses
IP addresses are not the same as the underlying data-link (MAC) addresses.

IP is a network layer - it must be capable of providing communication between


hosts on different kinds of networks (different data-link implementations).

The address must include information about what network the receiving host is
on. This is what makes routing feasible.

Why ?

TCP/IP 51
IP Addresses
IP addresses are logical addresses (not physical)

IPv4 (version 4)
32 bits.

Includes a network ID and a host ID.

Every host must have a unique IP address.

IP addresses are assigned by a central authority (American Registry for Internet


Numbers for North America).

TCP/IP 52
Class The four formats of IP Addresses
A 0 NetID HostID
128 possible network IDs, over 4 million host IDs per network ID

B 10 NetID HostID
16K possible network IDs, 64K host IDs per network ID

C 110 NetID HostID


Over 2 million possible network IDs, 256 host IDs per network ID

D 1110 Multicast Address


8 bits 8 bits 8 bits 8 bits
TCP/IP 53
Network and Host IDs
A Network ID is assigned to an organization by a global authority.

Host IDs are assigned locally by a system administrator.

Both the Network ID and the Host ID are used for routing.

TCP/IP 54
IP Addresses
IP Addresses are usually shown in dotted decimal notation:
1.2.3.4
00000001 00000010 00000011 00000100

cse.unr.edu is 134.197.40.3
10000110 11000101 00101000 00000010

CSE has a class B network


TCP/IP 55
Host and Network Addresses
A single network interface is assigned a single IP address called the host address.

A host may have multiple interfaces, and therefore multiple host addresses.

Hosts that share a network all have the same IP network address (the network ID).

An IP address that has a host ID of all 0s is called a network address and refers to
an entire network.

TCP/IP 56
Subnet Addresses
An organization can subdivide its host address space into groups called subnets.

The subnet ID is generally used to group hosts based on the physical network
topology.

10 NetID SubnetID HostID

TCP/IP 57
Subnettingrouter

Subnet 1 Subnet 2 Subnet 3


134.197.1.x 134.197.2.x 134.197.3.x

TCP/IP 58
Subnetting
Subnets can simplify routing.

IP subnet broadcasts have a hostID of all 1s.

It is possible to have a single wire network with multiple subnets.

TCP/IP 59
Mapping IP Addresses to
Hardware Addresses
IP Addresses are not recognized by hardware.

If we know the IP address of a host, how do we find out the hardware address ?

The process of finding the hardware address of a host given the IP address is
called

Address Resolution

TCP/IP 60
ARP
The Address Resolution Protocol is used by a sending host when it
knows the IP address of the destination but needs the Ethernet (or
whatever) address.

ARP is a broadcast protocol - every host on the network receives the request.

Each host checks the request against its IP address - the right one responds.

hosts remember the hardware addresses of each other.

TCP/IP 61
ARP conversation
HEY - Everyone please listen!
Will 128.213.1.5 please send me
his/her Ethernet address?

not me

Hi Green! Im 128.213.1.5, and


my Ethernet address is
87:A2:15:35:02:C3
TCP/IP 62
IP Datagram
1 byte 1 byte 1 byte 1 byte
VERS HL Service Fragment Length
Datagram ID FLAG Fragment Offset
TTL Protocol Header Checksum
Source Address
Destination Address
Options (if any)

Data

TCP/IP 63
IP Datagram Fragmentation
Packets are fragmented due to links Maximum Transmission Unit (MTU)

Each fragment (packet) has the same structure as the IP datagram.

IP specifies that datagram reassembly is done only at the destination (not on a


hop-by-hop basis).

If any of the fragments are lost - the entire datagram is discarded (and an ICMP
message is sent to the sender).

TCP/IP 64
IP Flow Control & Error Detection
If packets arrive too fast - the receiver discards excessive packets and sends an
ICMP message to the sender (SOURCE QUENCH).

If an error is found (header checksum problem) the packet is discarded and an


ICMP message is sent to the sender.

TCP/IP 65
ICMP
Internet Control Message Protocol
ICMP is a protocol used for exchanging control messages.

ICMP uses IP to deliver messages.

ICMP messages are usually generated and processed by the IP software, not the
user process.

TCP/IP 66
ICMP Message Types
Echo Request
Echo Response
Destination Unreachable
Redirect
Time Exceeded
Redirect (route change)
there are more ...

TCP/IP 67
Transport Layer & TCP/IP
Q: We know that IP is the network layer - so TCP must be the transport
layer, right ?

A: No well, almost.

TCP is only part of the TCP/IP transport layer - the other part is UDP (User
Datagram Protocol).

TCP/IP 68
The Internet Hourglass

ICMP, ARP & RARP

802.3
TCP/IP 69
UDP User Datagram Protocol
UDP is a transport protocol
communication between processes

UDP uses IP to deliver datagrams to the right host.

UDP uses ports to provide communication services to individual processes.

TCP/IP 70
Ports
TCP/IP uses an abstract destination point called a protocol port.
Ports are identified by a positive integer.
Operating systems provide some mechanism that processes use to specify a
port.

Host A Host B
Process Process

Process Process

Process Process

TCP/IP 71
UDP
Datagram Delivery
Connectionless
Unreliable
Minimal
UDP Datagram Format

Source Port Destination Port


Length Checksum

Data

TCP/IP 72
TCP
Transmission Control Protocol
TCP is an alternative transport layer protocol supported by TCP/IP.

TCP provides:

Connection-oriented
Reliable
Full-duplex
Byte-Stream

TCP/IP 73
Connection-Oriented
Connection oriented means that a virtual connection is established before
any user data is transferred.

If the connection cannot be established, the user program is notified (finds


out).

If the connection is ever interrupted, the user program(s) is finds out


there is a problem.

TCP/IP 74
Reliable
Reliable means that every transmission of data is acknowledged by the
receiver.

Reliable does not mean that things don't go wrong, it means that we find out
when things go wrong.

If the sender does not receive acknowledgement within a specified amount of


time, the sender retransmits the data.

TCP/IP 75
Byte Stream
Stream means that the connection is treated as a stream of bytes.

The user application does not need to package data in individual datagrams (as
with UDP).

TCP/IP 76
Buffering
TCP is responsible for buffering data and determining when it is time to send a
datagram.

It is possible for an application to tell TCP to send the data it has buffered
without waiting for a buffer to fill up.

TCP/IP 77
Full Duplex
TCP provides transfer in both directions (over a single virtual connection).

To the application program these appear as 2 unrelated data streams, although


TCP can piggyback control and data communication by providing control
information (such as an ACK) along with user data.

TCP/IP 78
TCP Ports
Interprocess communication via TCP is achieved with the use of ports (just like
UDP).

UDP ports have no relation to TCP ports (different name spaces).

TCP/IP 79
TCP Segments
The chunk of data that TCP asks IP to deliver is called a TCP segment.

Each segment contains:


data bytes from the byte stream
control information that identifies the data bytes

TCP/IP 80
TCP Segment Format
1 byte 1 byte 1 byte 1 byte
Source Port Destination Port
Sequence Number
Request Number
offset Reser. Control Window
Checksum Urgent Pointer
Options (if any)

Data

TCP/IP 81
Addressing in TCP/IP
Each TCP/IP address includes:
Internet Address
Protocol (UDP or TCP)
Port Number

NOTE: TCP/IP is a protocol suite that includes IP, TCP and UDP

TCP/IP 82
TCP vs. UDP
Q: Which protocol is better ?
A: It depends on the application.

TCP provides a connection-oriented, reliable, byte stream service (lots of


overhead).

UDP offers minimal datagram delivery service (as little overhead as possible).

TCP/IP 83
TCP Lingo
When a client requests a connection, it sends a SYN segment (a special TCP
segment) to the server port.

SYN stands for synchronize. The SYN message includes the clients ISN.

ISN is Initial Sequence Number.

TCP/IP 84
More...
Every TCP segment includes a Sequence Number that refers to the first
byte of data included in the segment.

Every TCP segment includes a Request Number (Acknowledgement


Number) that indicates the byte number of the next data that is expected
to be received.
All bytes up through this number have already been received.

TCP/IP 85
And more...
There are a bunch of control flags:
URG: urgent data included.
ACK: this segment is (among other things) an acknowledgement.
RST: error - abort the session.
SYN: synchronize Sequence Numbers (setup)
FIN: polite connection termination.

TCP/IP 86
And more...
MSS: Maximum segment size (A TCP option)

Window: Every ACK includes a Window field that tells the sender how many
bytes it can send before the receiver will have to toss it away (due to fixed
buffer size).

TCP/IP 87
TCP Connection Creation
Programming details later - for now we are concerned with the actual
communication.

A server accepts a connection.


Must be looking for new connections!

A client requests a connection.


Must know where the server is!

TCP/IP 88
Client Starts
A client starts by sending a SYN segment with the following information:
Clients ISN (generated pseudo-randomly)

Maximum Receive Window for client.

Optionally (but usually) MSS (largest datagram accepted).

No payload! (Only TCP headers)

TCP/IP 89
Sever Response
When a waiting server sees a new connection request, the server sends back
a SYN segment with:
Servers ISN (generated pseudo-randomly)

Request Number is Client ISN+1

Maximum Receive Window for server.

Optionally (but usually) MSS

No payload! (Only TCP headers)

TCP/IP 90
Finally
When the Servers SYN is received, the client sends back an ACK with:

Request Number is Servers ISN+1

TCP/IP 91
Client Server
SYN 1
ISN=X

time
SYN 2
ISN=Y ACK=X+1

3
ACK=Y+1

TCP/IP 92
TCP Data and ACK
Once the connection is established, data can be sent.

Each data segment includes a sequence number identifying the first byte in the
segment.

Each segment (data or empty) includes a request number indicating what data
has been received.

TCP/IP 93
TCP Buffers
The TCP layer doesnt know when the application will ask for any received data.
TCP buffers incoming data so its ready when we ask for it.

Both the client and server allocate buffers to hold incoming and outgoing data
The TCP layer does this.

Both the client and server announce with every ACK how much buffer space
remains (the Window field in a TCP segment).

TCP/IP 94
Send Buffers
The application gives the TCP layer some data to send.

The data is put in a send buffer, where it stays until the data is ACKd.
it has to stay, as it might need to be sent again!

The TCP layer wont accept data from the application unless (or until) there is
buffer space.

TCP/IP 95
ACKs
A receiver doesnt have to ACK every segment (it can ACK many segments with
a single ACK segment).

Each ACK can also contain outgoing data (piggybacking).

If a sender doesnt get an ACK after some time limit (MSL) it resends the data.

TCP/IP 96
TCP Segment Order
Most TCP implementations will accept out-of-order segments (if there is room
in the buffer).

Once the missing segments arrive, a single ACK can be sent for the whole thing.

Remember: IP delivers TCP segments, and IP in not reliable - IP datagrams can


be lost or arrive out of order.

TCP/IP 97
Termination
The TCP layer can send a RST segment that terminates a connection if
something is wrong.

Usually the application tells TCP to terminate the connection politely with a
FIN segment.

TCP/IP 98
FIN
Either end of the connection can initiate termination.

A FIN is sent, which means the application is done sending data.

The FIN is ACKd.

The other end must now send a FIN.

That FIN must be ACKd.

TCP/IP 99
App1 App2
FIN 1
SN=X

2
ACK=X+1

...
FIN 3
SN=Y

4
ACK=Y+1

TCP/IP 100
TCP Termination
1 App1: I have no more data for you.

2 App2: OK, I understand you are done sending.


dramatic pause

3 App2: OK - Now Im also done sending data.

4 App1: Roger, Over and Out, Goodbye, Astalavista


Baby, Adios, Its been real ...
camera fades to black ...
TCP/IP 101
TCP TIME_WAIT
Once a TCP connection has been terminated (the last ACK sent) there is some
unfinished business:
What if the ACK is lost? The last FIN will be resent and it must be ACKd.
What if there are lost or duplicated segments that finally reach the destination after
a long delay?

TCP hangs out for a while to handle these situations.

TCP/IP 102
Example Questions
Why is a 3-way handshake necessary?
HINTS: TCP is a reliable service, IP delivers each TCP segment, IP is not reliable.

Who sends the first FIN - the server or the client?

Once the connection is established, what is the difference between the


operation of the servers TCP layer and the clients TCP layer?

What happens if a bad guy can guess ISNs?

TCP/IP 103

You might also like