Copyright 2001: YNSTCP/IP: Overview2 Abstraction levels (layers) Computer Network - Interconnection of machines. Studied and designed at various level of abstractions – ease of study and design. Five levels of abstraction (Layers) –Physical layer –Data link layer –Network layer –Transport layer –Application layer Each layer uses functionality of lower layer; provides functionality to higher layer.
Copyright 2001: YNSTCP/IP: Overview3 Physical Layer (PL) Modulation formats Bit rates Phsical interface design Examples - SDH, E1, E3, ISDN, ADSL Data Link Control (DLC) HDLC Reliable transport of frames in sequence Sublayer – MAC for physical broadcast network
Copyright 2001: YNSTCP/IP: Overview4 Network layer and Transport layer. Problems faced in the network layer –Identification of destination. –Reaching destination –Lost packets –Maximum packet size in various networks Problems faced by transport layer –Data multiplexing and demultiplexing –Segmentation and reassembly –End to end flow control –Congestion Control
Copyright 2001: YNSTCP/IP: Overview5 Internetworking Interworking between networks (de-facto standard) All networks need to used TCP/IP suite when communicating with each other. Within them- network can use any protocol of thier choice. They need to convert between TCP/IP and protocol being used. TCP Transmission control protocol. IP Internet protocol Can be used within the network also. Internet – Network of networks
Copyright 2001: YNSTCP/IP: Overview6 IP Address and functionality In Internet - Each machine is identified by unique ID. –Known as IP address. In each machine, Network Layer (IP) When packet received for itself, forward the payload to layer above it (IP passes payload to layer above). When multiple protocols can sit above network layer, payload passed to the one indicated in packet. When packet received destined for someone else. –Routing table is looked into. –Packet forwarded to appropriate node.
Copyright 2001: YNSTCP/IP: Overview7 IP layer functionality (contd.) –Packet is forward to appropriate node. –Usual routing table entry destination network address, netmask, interface ID, next hop gateway. Protocol running in IP Layer Protocols to generated mapping between IP address and MAC address. arp, rarp, BOOTP Protocols for topology discovery and tracking any change in it RIP-2,OSPF-2,BGP-4 ICMP (Internet Control Message Protocol) for monitoring network.
Copyright 2001: YNSTCP/IP: Overview8 IPv4 – Older version of Internet protocol and mostly used one Future- IPv6 (IP for next generation) IPv4 Addressing (32 bit or four Octets) Two parts HostNet work
Copyright 2001: YNSTCP/IP: Overview9 Vers IHL Type of Serv Total length Identification Fragment Offset Time to live Protocol Header Check Sum Source address Destination Address Option (0 or more words) 32 Bits A Typical IP Header ( IPv4) DFDF MFMF
Copyright 2001: YNSTCP/IP: Overview10 Version (4 Bits) Keep track, of protocol version e.g. Helps router in identifying IPv4 and IPv6 packets IHL (4Bits) Due to options, header length variable –tells the length header (in 32 bits words - max header length 15 i.e., 60 bytes) –Minimum, value – five (5) header at least contain uptill destination address.
Copyright 2001: YNSTCP/IP: Overview11 Type of service (8Bits) Used by routers to provide quality of service (QoS) based routing First 3 bits- precedence (max value 7, min 0) Next 3 bits- (D) delay, (T) throughput, (R) Reliability Used for choosing between multiple routes available for destination based on low delay, high throughput, high reliability bit values. Remaining 2 bits are unused.
Copyright 2001: YNSTCP/IP: Overview12 Total length –Length of IP packet (including header and data) Max value – 65535 byte. –In high speed networks (Gbps or more) large packet size is desirable. TCP Network Max packet size is limited. (Happens when links are low speed links) Fragmentation of IP packet payload. Fragments reassembled Destination
Copyright 2001: YNSTCP/IP: Overview13 All these fragments belonging to same IP packet – identified by a Identification number One unused bits, DF, MF Dont fragment More fragment When fragmentation along the way is not desired, set to one Tells whether this is last fragment of the IP packet. Set to 0 for last fragment. All routers, machine should accepts fragment of 576 bytes or less.
Copyright 2001: YNSTCP/IP: Overview14 Fragment offset (13 bits) Tells the position of the fragment in the original IP packet. All fragments except last one-should be multiple of 8 bytes. 13 bits => 8192 fragments=> max data gram length 8192*8= 65536. Time–to-Live(TTL) field. (8bits) Every time packet is forwarded, count is decreamented by one. When TTL is zero, packet is discarded and warning ICMP sent back to source.
Copyright 2001: YNSTCP/IP: Overview15 Upon reception of all fragments, Network layer need to find what to do with payload? Protocol field – Identifies transport or other process to which payload to be given. TCI, UDP, OSPF, ICMP are examples. Header Checksum - To Detect Errors All 16 bits half words added using 1s complement arithmetic's. 1s complement of result gives checksum Changes with every hop.
Copyright 2001: YNSTCP/IP: Overview16 Source and Destination address - 32 bits Contain Network number, Host-number 31 0 Network addressHost address Option - All optional information can be transported using these. For IPv4 – Five option Security, Strict source routing, Loose source routing, Record route, Time stamp.
Copyright 2001: YNSTCP/IP: Overview17 IPAdderess 0 Network Host 10Network Host 110 Network Host 1110 Multicast Address 11110Reserved for future use 32 bits Class A Class B Class C
Copyright 2001: YNSTCP/IP: Overview18 All 0s All 0sHost All 1s Network All 1s 127 (Anything) Used only at boot time This host A host on this network Broadcast on local network Broadcast on distant N/W Loop back
Copyright 2001: YNSTCP/IP: Overview19 CIDR (Classless Inter Domain Routing) All class C IP addresses can be allocated in variable sizes. Netmask When netmask ANDED with IP address Network address is found Each router maintains network address and netmask for each entry. 11111…….11 0000……00000
Copyright 2001: YNSTCP/IP: Overview20 Router handling of CIDR For each passing IP packet, destination IP address ANDED with netmask. output compared to network addresses in routing table entries. When more than one entry matches the output Routing table with longest string of 1s is netmask chosen. Packet is forwarded to corresponding output port
Copyright 2001: YNSTCP/IP: Overview21 IP Version 6 Due to shortage of address and to improve the performance of networks. –has 16 bytes (128bits) source and destination address –Header is simple, packet processing in routers faster.
Copyright 2001: YNSTCP/IP: Overview22 TCP (Transport Control Protocol) -Forwards end to end reliable byte stream. -Accepts byte stream from processes – breaks them into 64KB or less size chunks -Each chunks mapped to separate datagram (which is further mapped to IP payload) -On reception of IP packet, the payload is given to TCP entity. -Creates the byte stream back.
Copyright 2001: YNSTCP/IP: Overview23 TCP Does. Flow control Retramission (IP packet can be lost) Reassembly of received datagrams. Transport layer IP Transport layer IP Layer Multiplexing and demultiplexing Processes
Copyright 2001: YNSTCP/IP: Overview24 TSAP- Identification by 16 bit number called port no. Port number below 256- well known ports reserved for standard Services (RFC 1700) FTP-21, Telnet-23 All TCP connections-Full duplex. Point to point (exactly two end point) Multicasting / broadcasting not supported Every byte transmitted by TCP Has 32 bit sequence no in header Used for acknowledgement and window flow Control.
Copyright 2001: YNSTCP/IP: Overview25 TCP transmits bytes in segments Each segment has 20 byte header followed by zero or more data bytes Size of payload decided by (minimum of the two) Each segment including TCP header should fit in 65,535 byte IP packet For each network - defined MTU (Maximum Transfer Unit) A segment can be broken into smaller segments at intermediate router Each smaller segment provided with separate TCP and IP header. This is different than IP fragmentation
Copyright 2001: YNSTCP/IP: Overview26 TCP uses Sliding Window Protocol Sends the segments starts the timer Receiving entity sends ack (sequence no of next expected byte) If ack received before timer expiry transmission window moves ahead Else retransmission of segments in transmission window is done Flow Control
Copyright 2001: YNSTCP/IP: Overview27 Source port destination port Sequence no Acknowledgement no Check Sum Urgent pointer Option (0 or more 32 bits words) Data (Optional) 4Bits 6 bits Unused ACRACR PSHPSH RSTRST SYNSYN FINFIN Window 32 Bits TCP Header Length URGURG
Copyright 2001: YNSTCP/IP: Overview28 URG set to 1 if urgent pointer is used Byte offset from current sequence number to find urgent data (Used for sending interrupts) Acknowledgement 1 then acknowledgement no field is valid else ignore it.
Copyright 2001: YNSTCP/IP: Overview29 RST - used to reset the connection SYN- used to setup the connection connection request SYN=1 ACK=0 connection response SYN=1, ACK=1 FIN - used to release the connection sender has no more data to send Window -Tells the transmitter How many bytes can be sent starting at acknowledge number Window=0 is legal Check sum for extreme reliability
Copyright 2001: YNSTCP/IP: Overview30 for checksum pseudo header is included with segment header 310 source Destination 0000000000 Protocol (6) TCP Segment length Byte count for TCP segment including header Option Used for deciding segment sizes between two hosts Extended window size
Copyright 2001: YNSTCP/IP: Overview31 Summary IP and TCP protocols : Overview Lot more is there to IP and TCP - This is just an introduction Similar concepts are used in other network layers and transport layers implementations