1 of 30

BRANCH-E&TC ENGINEERING

SEM – 4th

SUBJECT-DATA COMMUNICATION AND COMPUTER NETWORK

CHAPTER-07 – tcp/ip

TOPIC- tcp ip protocol

Ay-2021-2022 ,summer-2022

FACULTY-ER V BEHERA.(LECTURER E & Tc engg dept)

TCP/IP

2 of 30

TCP/IP PROTOCOL FAMILY

  • IP : Internet Protocol
    • UDP : User Datagram Protocol
      • RTP, traceroute
    • TCP : Transmission Control Protocol
      • HTTP, FTP, ssh

3 of 30

WHAT IS AN INTERNET?

  • A set of interconnected networks
  • The Internet is the most famous example

  • Networks can be completely different
    • Ethernet, ATM, modem, …
    • (TCP/)IP is what links them

4 of 30

WHAT IS AN INTERNET? (CONT)

  • Routers are devices on multiple networks that pass traffic between them
  • Individual networks pass traffic from one router or endpoint to another
  • TCP/IP hides the details as much as possible

5 of 30

ISO/OSI NETWORK MODEL

  • Seven network “layers”
    • Layer 1 : Physical – cables
    • Layer 2 : Data Link – ethernet
    • Layer 3 : Network – IP
    • Layer 4 : Transport – TCP/UDP
    • Layer 5 : Session
    • Layer 6 : Presentation
    • Layer 7 : Application

You don’t need to know the layers just the idea that it is layered

6 of 30

TCP/IP NETWORK MODEL

  • Different view – 4 layers
    • Layer 1 : Link
    • Layer 2 : Network
    • Layer 3 : Transport
    • Layer 4 : Application

7 of 30

�OSI AND PROTOCOL STACK

OSI: Open Systems Interconnect

OSI Model

TCP/IP Hierarchy

Protocols

7th

Application Layer

6th

Presentation Layer

5th

Session Layer

4th

Transport Layer

3rd

Network Layer

2nd

Link Layer

1st

Physical Layer

Application Layer

Transport Layer

Network Layer

Link Layer

Link Layer : includes device driver and network interface card

Network Layer : handles the movement of packets, i.e. Routing

Transport Layer : provides a reliable flow of data between two hosts

Application Layer : handles the details of the particular application

8 of 30

PACKET ENCAPSULATION

  • The data is sent down the protocol stack
  • Each layer adds to the data by prepending headers

22Bytes

20Bytes

20Bytes

4Bytes

64 to 1500 Bytes

9 of 30

IP

  • Responsible for end to end transmission
  • Sends data in individual packets
  • Maximum size of packet is determined by the networks
    • Fragmented if too large
  • Unreliable
    • Packets might be lost, corrupted, duplicated, delivered out of order

10 of 30

IP ADDRESSES

  • 4 bytes
    • e.g. 163.1.125.98
    • Each device normally gets one (or more)
    • In theory there are about 4 billion available

  • But…

11 of 30

ROUTING

  • How does a device know where to send a packet?
    • All devices need to know what IP addresses are on directly attached networks
    • If the destination is on a local network, send it directly there

12 of 30

ROUTING (CONT)

  • If the destination address isn’t local
    • Most non-router devices just send everything to a single local router
    • Routers need to know which network corresponds to each possible IP address

13 of 30

ALLOCATION OF ADDRESSES

  • Controlled centrally by ICANN
    • Fairly strict rules on further delegation to avoid wastage
      • Have to demonstrate actual need for them
  • Organizations that got in early have bigger allocations than they really need

14 of 30

IP PACKETS

  • Source and destination addresses
  • Protocol number
    • 1 = ICMP, 6 = TCP, 17 = UDP
  • Various options
    • e.g. to control fragmentation
  • Time to live (TTL)
    • Prevent routing loops

15 of 30

IP DATAGRAM

Vers

Len

TOS

Total Length

Identification

Flags

Fragment Offset

TTL

Protocol

Header Checksum

Source Internet Address

Destination Internet Address

Options...

Padding

Data...

0

4

8

16

19

24

31

Field Purpose

Vers IP version number

Len Length of IP header (4 octet units)

TOS Type of Service

T. Length Length of entire datagram (octets)

Ident. IP datagram ID (for frag/reassembly)

Flags Don’t/More fragments

Frag Off Fragment Offset

Field Purpose

TTL Time To Live - Max # of hops

Protocol Higher level protocol (1=ICMP,

6=TCP, 17=UDP)

Checksum Checksum for the IP header

Source IA Originator’s Internet Address

Dest. IA Final Destination Internet Address

Options Source route, time stamp, etc.

Data... Higher level protocol data

You just need to know the IP addresses, TTL and protocol #

16 of 30

IP ROUTING

  • Routing Table

Destination IP address

IP address of a next-hop router

Flags

Network interface specification

Application

Transport

Network

Link

Application

Transport

Network

Link

Network

Link

Source

Destination

Router

17 of 30

UDP

  • Thin layer on top of IP
  • Adds packet length + checksum
    • Guard against corrupted packets
  • Also source and destination ports
    • Ports are used to associate a packet with a specific application at each end
  • Still unreliable:
    • Duplication, loss, out-of-orderness possible

18 of 30

UDP DATAGRAM

Destination Port

Source Port

Application data

0

16

31

Checksum

Length

Field Purpose

Source Port 16-bit port number identifying originating application

Destination Port 16-bit port number identifying destination application

Length Length of UDP datagram (UDP header + data)

Checksum Checksum of IP pseudo header, UDP header, and data

19 of 30

TYPICAL APPLICATIONS OF UDP

    • Where packet loss etc is better handled by the application than the network stack
    • Where the overhead of setting up a connection isn’t wanted

  • VOIP
  • NFS – Network File System
  • Most games

20 of 30

TCP

  • Reliable, full-duplex, connection-oriented, stream delivery
    • Interface presented to the application doesn’t require data in individual packets
    • Data is guaranteed to arrive, and in the correct order without duplications
      • Or the connection will be dropped
    • Imposes significant overheads

21 of 30

APPLICATIONS OF TCP

  • Most things!
    • HTTP, FTP, …

  • Saves the application a lot of work, so used unless there’s a good reason not to

22 of 30

TCP IMPLEMENTATION

  • Connections are established using a three-way handshake
  • Data is divided up into packets by the operating system
  • Packets are numbered, and received packets are acknowledged
  • Connections are explicitly closed
    • (or may abnormally terminate)

23 of 30

TCP PACKETS

  • Source + destination ports
  • Sequence number
  • Acknowledgement number
  • Checksum
  • Various options

24 of 30

TCP SEGMENT

Destination Port

Acknowledgment Number

Options...

Padding

Data...

0

4

10

16

19

24

31

Source Port

Window

Len

Sequence Number

Reserved

Flags

Urgent Pointer

Checksum

Field Purpose

Source Port Identifies originating application

Destination Port Identifies destination application

Sequence Number Sequence number of first octet in the segment

Acknowledgment # Sequence number of the next expected octet (if ACK flag set)

Len Length of TCP header in 4 octet units

Flags TCP flags: SYN, FIN, RST, PSH, ACK, URG

Window Number of octets from ACK that sender will accept

Checksum Checksum of IP pseudo-header + TCP header + data

Urgent Pointer Pointer to end of “urgent data”

Options Special TCP options such as MSS and Window Scale

You just need to know port numbers, seq and ack are added

25 of 30

TCP : DATA TRANSFER

Host

Client

Send Packet 1

Start Timer

Retransmit Packet1

Start Timer

Packet should arrive

ACK should be sent

ACK would normally

Arrive at this time

Receive Packet 1

Send AXK 1

Time Expires

Receive ACK 1

Cancel Timer

Packet Lost

Timer

Timer

26 of 30

IPV6

  • 128 bit addresses
    • Make it feasible to be very wasteful with address allocations
  • Lots of other new features
    • Built-in autoconfiguration, security options, …
  • Not really in production use yet

27 of 30

ETHERNET

  • Computer <-> Computer communication on same network
  • Each device has unique MAC address (48-bit)

example: 00-C0-4F-48-47-93

Ethernet Packet:

Dest.

address

Data

CRC

Source

address

Type

MAC: Media Access Control

6bytes

6bytes

2bytes

Preamble

8bytes

64 - 1500bytes

4bytes

Do not worry about this slide

28 of 30

ARP : ADDRESS RESOLUTION PROTOCOL

  • ARP provides mapping

32bit IP address <-> 48bit MAC address

128.97.89.153 <-> 00-C0-4F-48-47-93

  • ARP cache

maintains the recent mappings from IP addresses to MAC addresses

Protocol

  1. ARP request broadcast on Ethernet
  2. Destination host ARP layer responds

Do not worry about this slide

29 of 30

DHCP

  • Dynamic Host Configuration Protocol
    • Used to tell a computer what IP address to use
    • Device broadcasts a request from IP 0.0.0.0
      • If it had an IP address before, asks for the same one again
    • Server (or relay) on local network responds telling it which to use (or ignores it, or tells it go away)
      • “Lease time” telling it how long that IP will be valid for
      • Device requests renewal of lease after ¾(?) elapsed

Do not worry about this slide

30 of 30

Thank You