96
8/11/2019 pmTCPIP http://slidepdf.com/reader/full/pmtcpip 1/96 TCP/IP Refresher Prabhaker Mateti (ack: Many many sources …) 

pmTCPIP

Embed Size (px)

Citation preview

Page 1: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 1/96

TCP/IP Refresher

Prabhaker Mateti

(ack: Many many sources …) 

Page 2: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 2/96

Mateti, TCP/IP Refresher 2

TCP/IP ?

TCP = Transmission Control Protocol

IP = Internet Protocol

 Almost always includes other protocols: – UDP, User (Unreliable) Datagram

 – ICMP, Internet Control Message

 –  ARP, Address Resolution

Page 3: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 3/96

Mateti, TCP/IP Refresher 3

What’s a Protocol? 

 An agreed upon convention forcommunication.

Protocols must be formally definedand unambiguous

Page 4: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 4/96

Mateti, TCP/IP Refresher 4

TCP

UDP

ICMP other

IP layer IP layer IP layer IP layerPhysical Physical Physical Physical Physical Physical

Layers

The relative heights indicate the level of functionality.

Page 5: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 5/96

Mateti, TCP/IP Refresher 5

Unix is a Layered

System Applications

Libraries

System Calls

Kernel 

Page 6: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 6/96

Mateti, TCP/IP Refresher 6

Layers

The routines/methods of Layer N willnot  call Layer N+1.

The routines/methods of Layer Ntypically do call the same layermethods.

The routines/methods of Layer Ntypically do call Layer N-1 methods.

Page 7: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 7/96

Mateti, TCP/IP Refresher 7

DoD model: Four Layers

1. Network Access Layer: Delivery overphysical media in use.

2. Internet Layer: Delivery across differentphysical networks that connect source anddestination machines.

3. Host-to-Host Layer: Connection rendezvous,flow control, retransmission of lost data,

etc. TCP and UDP protocols are in this layer.4. Process Layer: User-level functions, such as

SMTP, FTP and rlogin.

Page 8: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 8/96

Mateti, TCP/IP Refresher 8

OSI Reference Model

Seven Layers

7. Application

6. Presentation5. Session

4. Transport

3. Network2. Data Link

1. Physical

Page 9: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 9/96

Mateti, TCP/IP Refresher 9

TCP/IP & OSI

In OSI reference model terminology -the TCP/IP protocol suite covers the

network and transport layers. TCP/IP can be used on many data-link

layers (can support many network

hardware implementations).

Page 10: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 10/96

Mateti, TCP/IP Refresher 10

TCP UDP

IP

802.3

Process Layer

Transport Layer

Network Layer

Data-Link Layer  

Process Process

ICMP, ARP

&

RARP

Page 11: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 11/96

Mateti, TCP/IP Refresher 11

Physical Layer

Responsibility:

 – transmission of raw bits over a communication

channel. Issues:

 – mechanical and electrical interfaces

 – time per bit

 – distances

Page 12: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 12/96

Mateti, TCP/IP Refresher 12

Data Link Layer -

Data Link Control Responsibility:

 – provide an error-free communication link

Issues:

 – framing (dividing data into chunks)

header & trailer bits

 – addressing

10110110101 01100010011 10110000001

Page 13: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 13/96

Mateti, TCP/IP Refresher 13

The Data Link Layer -

The MAC sub layer Medium Access Control (MAC) -

needed by multi-access networks.

MAC provides DLC with “virtual wires”on multi-access networks.

Page 14: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 14/96

Mateti, TCP/IP Refresher 14

Ethernet: A Data-Link

Layer IEEE 802.3

 Variety of physical layers.

Multi-access (shared medium). Interface has a unique 6-byte hardware

address. (E.g. 00-D0-09-E8-08-61)

The broadcast address is all 1’s.   Addresses are assigned to vendors by a

central authority.

Page 15: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 15/96

Mateti, TCP/IP Refresher15

 An Ethernet Frame

Preamble is a sequence of alternating1’s and 0’s used for synchronization. 

CRC is Cyclic Redundancy Check

8 bytes 6 6 2 0-1500 4

PreambleDestination

 Address

Source

 AddressLen CRCDATA

Page 16: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 16/96

Page 17: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 17/96

Mateti, TCP/IP Refresher17

The Network Layer

Responsibilities:

 – path selection between systems (routing).

 – subnet flow control. – fragmentation & reassembly

 – translation between different network types.

Issues:

 – packet headers

 – virtual circuits

Page 18: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 18/96

Mateti, TCP/IP Refresher18

The Transport Layer

Responsibilities: – provides virtual end-to-end links

between peer processes. – end-to-end flow control

Issues: – headers

 – error detection

 – reliable communication

Page 19: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 19/96

Mateti, TCP/IP Refresher19

The Session Layer

Responsibilities:

 – establishes, manages, and terminates

sessions between applications. – service location lookup

Many protocol suites do not include asession layer.

Page 20: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 20/96

Mateti, TCP/IP Refresher20

The Presentation Layer

Responsibilities:

 – data encryption

 – data compression

 – data conversion

Many protocol suites do not include a

Presentation Layer.

Page 21: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 21/96

Mateti, TCP/IP Refresher21

The Application Layer

Responsibilities:

 – anything not provided by any of the other

layers

Issues:

 – application level protocols

 – appropriate selection of “type of service”  

Page 22: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 22/96

Mateti, TCP/IP Refresher22

Layering & Headers

Each layer needs to add controlinformation.

Typically prefixed to the data beforepassing on to the lower layer.

Page 23: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 23/96

Mateti, TCP/IP Refresher23

Headers

Process

Transport

Network

DataLink

Process

Transport

Network

Data Link

DATA

DATA

DATA

DATA

H

H

H

H

HH

Page 24: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 24/96

Mateti, TCP/IP Refresher24

Example Headers

Physical: no header

Data Link:

 – address of the receiving endpoints

 – address of the sending endpoint

 – length of the data

 – checksum

Page 25: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 25/96

Mateti, TCP/IP Refresher25

Network layer header -

examples protocol suite

version

type of service length of the data

packet identifier

fragment number time to live

protocol

header checksum

source networkaddress

destination network

address

Page 26: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 26/96

Mateti, TCP/IP Refresher26

Connecting Networks

Repeater: physical layer

Bridge: data link layer

Router: network layer

Gateway: network layer and above.

Page 27: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 27/96

Mateti, TCP/IP Refresher27

Repeater

Copies bits from one network toanother

Does not look at any bits

 Allows the extension of a networkbeyond physical length limitations

REPEATER

Page 28: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 28/96

Mateti, TCP/IP Refresher28

Bridge

Copies frames from one network to another

Can operate selectively - does not copy all

frames (looks at data-link headers). Extends the network beyond physical length

limitations.

BRIDGE

Page 29: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 29/96

Mateti, TCP/IP Refresher29

Router

Copies packets from one network toanother.

Makes decisions about what route apacket should take (looks at networkheaders).

ROUTER

Page 30: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 30/96

Mateti, TCP/IP Refresher30

Gateway

Operates as a router

Data conversions above the network layer.

Conversions: – encapsulation - use an intermediate network

 – translation - connect different applicationprotocols

 – encryption - could be done by a gateway

Page 31: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 31/96

Mateti, TCP/IP Refresher

31

Encapsulation Example

Gateway  Gateway 

Provides service connectivity

even though intermediatenetwork does not supportprotocols.

Page 32: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 32/96

Mateti, TCP/IP Refresher

32

Translation

Translate from green protocol to brownprotocol

Gateway 

Page 33: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 33/96

Mateti, TCP/IP Refresher

33

Encryption gateway

SecureNetwork

SecureNetworkEncryption/Decryption

Gateways

GW GW  ? ?

?Insecure Network

Page 34: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 34/96

Mateti, TCP/IP Refresher

34

Hardware v. Software

Repeaters are typically hardware devices.

Bridges can be implemented in hardware or

software. Routers and gateways are typically

implemented in software so that they canbe extended to handle new protocols.

Many workstations can operate as routers orgateways.

Page 35: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 35/96

Mateti, TCP/IP Refresher

35

Modes of Service

connection-oriented vs. connectionless

sequencing

error-control

flow-control

byte stream vs. message based

full-duplex vs. half-duplex.

Page 36: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 36/96

Mateti, TCP/IP Refresher

36

Connection-Oriented

Service establishment of a logical connection

between two processes.

transfer data

terminate connection.

Page 37: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 37/96

Mateti, TCP/IP Refresher

37

Connectionless Service

Sends independent messages.

Page 38: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 38/96

Mateti, TCP/IP Refresher

38

Sequencing

Sequencing provides support for anorder to communications.

 A service that includes sequencingrequires that messages (or bytes) arereceived in the same order they are

sent.

Page 39: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 39/96

Mateti, TCP/IP Refresher

39

Error Control

Some services require error detection.

Checksums provide a simple error

detection mechanism.

Error control sometimes involvesnotification and retransmission.

Page 40: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 40/96

Mateti, TCP/IP Refresher

40

Flow Control

Flow control prevents the sendingprocess from overwhelming the

receiving process. Flow control can be handled in a

variety of ways.

Page 41: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 41/96

Mateti, TCP/IP Refresher

41

Byte Stream vs. Message

Byte stream implies an orderedsequence of bytes with no message

boundaries. Message oriented services provide

communication service to chunks of

data called datagrams .

Page 42: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 42/96

Mateti, TCP/IP Refresher

42

Full- v. Half-Duplex

Full-Duplex services support thetransfer of data in both directions.

Half-Duplex services support thetransfer of data in one direction.

Page 43: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 43/96

Mateti, TCP/IP Refresher

43

End-to-End v. Hop-to-Hop

Service modes, flow control and errorcontrol can be

Either between endpoints of thecommunication.

Or between consecutive nodes on the

path between the endpoints.

Page 44: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 44/96

Page 45: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 45/96

Mateti, TCP/IP Refresher

45

Hop-by-Hop

Process A

Process B

Page 46: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 46/96

Mateti, TCP/IP Refresher

46

Buffering

Buffering can provide more efficientcommunications.

Buffering is most useful for bytestream services.

Process A Process B

Send

Buffer 

Recv.

Buffer 

Page 47: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 47/96

Page 48: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 48/96

Page 49: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 49/96

Mateti, TCP/IP Refresher

49

The IP in TCP/IP

IP is the network layer

packet delivery service (host-to-host).

translation between different data-linkprotocols.

Page 50: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 50/96

Mateti, TCP/IP Refresher

50

IP Datagrams

IP provides connectionless, unreliabledelivery of IP datagrams.

Connectionless: each datagram isindependent of all others.

Unreliable: there is no guarantee that

datagrams are delivered correctly or atall.

Page 51: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 51/96

Mateti, TCP/IP Refresher

51

IP Addresses

The address must includeinformation about what network  the

receiving host is on. This makesrouting feasible.

IP addresses are not the same as the

underlying data-link (MAC)addresses.

Page 52: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 52/96

Mateti, TCP/IP Refresher

52

IP Addresses

Includes a network ID and a host ID.

 A Network ID is assigned to an

organization by a global authority(http://www.iana.org/ )

Host IDs are assigned locally by a

system administrator.

Page 53: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 53/96

Page 54: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 54/96

Mateti, TCP/IP Refresher

54

Subnet Addresses

 An organization can subdivide it’s host addressspace into groups called subnets.

The subnet ID is generally used to group hosts

based on the physical network topology. It is possible to have a single wire network with

multiple subnets.

 NetID SubnetID HostID

Page 55: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 55/96

Mateti, TCP/IP Refresher

55

IP4 Addresses

Class

0  NetID

 

10 

110   NetID 

1110   Multicast Address 

HostID 

 NetID  HostID 

HostID 

A

B

C

D8 bits 8 bits 8 bits8 bits

Page 56: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 56/96

Mateti, TCP/IP Refresher

56

IP Addresses

 An IP broadcast   address has a host-ID of all 1’s. 

 An IP address that has a host ID of all0’s is called a network  address andrefers to an entire network.

Page 57: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 57/96

Page 58: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 58/96

Mateti, TCP/IP Refresher

58

IPv6 addresses 

 Address is 128 bits long (16 bytes)

 Addresses are written in hexadecimal

 Addresses can be abbreviated

3FFE:0B00:0000:0000:0000:0000:0000:00013FFE:0B00::0001

3FFE:B00::1

There is no broadcast addresses, only multicast.

Loopback address is ::1

 Addresses are scoped – Link-local, site-local, global

Page 59: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 59/96

Mateti, TCP/IP Refresher

59

IP6 Address

16 bits

3FFE: 0B00: 1234: 0000: 0000: 0000: 0000: 0001

128 bits

Page 60: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 60/96

Mateti, TCP/IP Refresher

60

IP4-Compatible IP6 Address

0000 . . . 0000 IP4 Address0000

80 bits 32 bits16 bits

80 bits of 0s followed by 16 bits of 0s,

followed by a 32 bit IP4 Address:

Page 61: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 61/96

Page 62: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 62/96

Mateti, TCP/IP Refresher

62

Services provided by IP

Connectionless Delivery (eachdatagram is treated individually).

Unreliable (delivery is notguaranteed).

Fragmentation / Reassembly (based

on hardware MTU). Routing.

Error detection.

Page 63: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 63/96

Mateti, TCP/IP Refresher

63

IP Datagram

VERS HL

Fragment Offset

Fragment LengthService

Datagram ID FLAGTTL Protocol Header Checksum

Source IP Address

Destination IP Address

Options (if any)

(TCP) Data

1 byte1 byte 1 byte 1 byte

IP D t

Page 64: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 64/96

Mateti, TCP/IP Refresher

64

IP DatagramFragmentation

Fragmentation can happen when datagramsare forwarded through a network for whichthey are too big.

IP specifies that datagram reassembly isdone only at the destination (not on a hop-by-hop basis).

If any of the fragments are lost the entiredatagram is discarded (and an ICMPmessage is sent to the sender).

ICMP (Internet Control

Page 65: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 65/96

Mateti, TCP/IP Refresher

65

ICMP (Internet ControlMessage Protocol) 

ping www.yahoo.com

ICMP uses IP to deliver messages.

ICMP messages are usually generatedand processed by the IP layer, not theuser process.

Page 66: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 66/96

Page 67: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 67/96

UDP (U D t

Page 68: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 68/96

Mateti, TCP/IP Refresher

68

UDP (User DatagramProtocol)

UDP is a transport protocol

Uses IP to deliver datagrams

Connectionless, Unreliable, Minimal

UDP uses ports   to providecommunication services to individual

processes.

Page 69: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 69/96

Mateti, TCP/IP Refresher

69

Ports

Port : an abstract destination point.

Ports are identified by a positive 16-bit

integer. Operating systems provide some

mechanism that processes use to

specify a port.

Page 70: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 70/96

Mateti, TCP/IP Refresher

70

Ports

Host A Host B

Process

Process

Process

Process

Process

Process

Page 71: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 71/96

Mateti, TCP/IP Refresher

71

UDP Datagram Format

Source Port Destination Port

Length Checksum

Data

Page 72: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 72/96

Mateti, TCP/IP Refresher

72

Sockets

Page 73: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 73/96

Mateti, TCP/IP Refresher

73

Sockets

 An active socket  is connected to aremote active socket. Closing the

connection destroys the active socketsat each endpoint.

 A passive socket  is not connected, but

rather awaits an incoming connection,which will spawn a new active socket.

Page 74: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 74/96

Mateti, TCP/IP Refresher

74

Sockets v. Ports

 A socket is not a port. A socket isassociated  with a port. This is a many-

to-one relationship. Each port can have a single passive

socket, awaiting incoming connections,

and multiple active sockets, eachcorresponding to an open connectionon the port.

Page 75: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 75/96

Mateti, TCP/IP Refresher

75

TCP

Transmission Control Protocol :

Connection-oriented

Reliable

Full-duplex

Byte-Stream

Page 76: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 76/96

Mateti, TCP/IP Refresher

76

Connection

Four Numbers: Source IP Address,Source Port, Destination IP Address,

Destination Port “connection is established”: Operating

Systems of both source and

destination hosts are maintaining “state information” re the connection. 

Page 77: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 77/96

Mateti, TCP/IP Refresher

77

Connection-Oriented

Connection oriented means that avirtual connection is established before

any payload data is transferred. If the connection cannot be

established the user program is

notified. If the connection is ever interrupted

the user program is notified.

Page 78: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 78/96

Mateti, TCP/IP Refresher

78

Connection establishment

Connection establishment phase isrequired

Ensures that the receiving processis available and to synchronizesequence numbers, etc.

Page 79: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 79/96

Page 80: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 80/96

Mateti, TCP/IP Refresher

80

Reliable

Every transmission of data isacknowledged by the receiver.

If the sender does not receive ACKwithin a specified amount of time, thesender retransmits the data.

 ACK can be piggybacked on data.

Page 81: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 81/96

Mateti, TCP/IP Refresher

81

Byte Stream

Stream  means that the connection istreated as a stream of bytes.

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

Page 82: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 82/96

Mateti, TCP/IP Refresher

82

Buffering

TCP is responsible for buffering dataand 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.

Page 83: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 83/96

Page 84: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 84/96

Page 85: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 85/96

Mateti, TCP/IP Refresher

85

TCP/UDP Ports

Reserved Ports less than 1024: Only rootcan bind to these ports.

Local Port of a process that requested the

connection. Usually a random number, 0-65535. Remote Port: What application accepted

the connection. Usually a known number. /etc/services. E.g.,

 – 80 for HTTP – 143 for IMAP – 443 for HTTP/SSL

Page 86: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 86/96

Page 87: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 87/96

Mateti, TCP/IP Refresher

87

TCP Segment Format

Destination Port

Options (if any)

Data

1 byte 1 byte

Source Port

Sequence NumberRequest Number

1 byte 1 byte

offset Res Control Window

Checksum Urgent Pointer

Page 88: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 88/96

Mateti, TCP/IP Refresher

88

Sequence Number

The “positional” number of the firstdata byte in this segment, except

when SYN control flag is 1. If SYN is 1 the sequence number is

the initial sequence number (ISN).

32 bit unsigned integer

Page 89: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 89/96

Page 90: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 90/96

Mateti, TCP/IP Refresher90

 Acknowledgment Number

If the ACK control bit is set, this fieldcontains the value of the next

sequence number the sender of thesegment is expecting to receive. Oncea connection is established this isalways included.

Page 91: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 91/96

Page 92: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 92/96

Mateti, TCP/IP Refresher92

TCP v. UDP

Q: Which protocol is better ? A: It depends on the application.

TCP provides a connection-oriented,reliable byte stream service (lots ofoverhead).

UDP offers minimal datagram deliveryservice (as little overhead as possible).

Page 93: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 93/96

Mateti, TCP/IP Refresher93

TCP three-way handshake

Establishes a connection.

1.  A:  “I would like to talk to you B.”  

 A sends a SYN packet to B2. B:  “Ok, let's talk.”  

B sends a SYN-ACK packet to A

3.  A:  “Thanks for agreeing.”  

 A sends ACK to B

Page 94: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 94/96

Mateti, TCP/IP Refresher94

TCP three-way handshake

Flags src dst seq ack

SYN 1037 80 102723769  0

SYN-ACK 80 1037 1527857206 102723770 

ACK 1037 80 102723770  1527857207 

Page 95: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 95/96

Mateti, TCP/IP Refresher95

Four-Way Handshake

The Four-Way Handshake terminatesa previously established connection:

1.  A to B: FIN2. B to A: ACK

3. B to A: FIN

4.  A to B: ACK

Page 96: pmTCPIP

8/11/2019 pmTCPIP

http://slidepdf.com/reader/full/pmtcpip 96/96

Connection Resetting

Host X sends an RST packet resettingthe connection if: – Y requested a connection to a non-

existent port P on host X, or

 – For whatever reason (idle for a long time,or an abnormal condition, ...), the host X(client or the sever) wishes to close theconnection.

Resetting is unilateral.