IP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP



Similar documents
Network Programming TDC 561

Internet Protocol (IP) IP - Network Layer. IP Routing. Advantages of Connectionless. CSCE 515: Computer Network Programming IP routing

8.2 The Internet Protocol

TCP/IP Fundamentals. OSI Seven Layer Model & Seminar Outline

Lecture Computer Networks

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme. Auxiliary Protocols

IP - The Internet Protocol

Internet Protocols. Background CHAPTER

Lecture 8. IP Fundamentals

Ethernet. Ethernet. Network Devices

First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring

Network layer: Overview. Network layer functions IP Routing and forwarding

How do I get to

IP address format: Dotted decimal notation:

Indian Institute of Technology Kharagpur. TCP/IP Part I. Prof Indranil Sengupta Computer Science and Engineering Indian Institute of Technology

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

RARP: Reverse Address Resolution Protocol

04 Internet Protocol (IP)

Networking Test 4 Study Guide

Unix System Administration

Network-Oriented Software Development. Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2

Internetworking. Problem: There is more than one network (heterogeneity & scale)

Overview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP

Guide to TCP/IP, Third Edition. Chapter 3: Data Link and Network Layer TCP/IP Protocols

Computer Networks. Lecture 3: IP Protocol. Marcin Bieńkowski. Institute of Computer Science University of Wrocław

Subnetting,Supernetting, VLSM & CIDR

Technical Support Information Belkin internal use only

Gary Hecht Computer Networking (IP Addressing, Subnet Masks, and Packets)

2. IP Networks, IP Hosts and IP Ports

Transport and Network Layer

Chapter 11. User Datagram Protocol (UDP)

Overview of TCP/IP. TCP/IP and Internet

IP Address Classes (Some are Obsolete) Computer Networking. Important Concepts. Subnetting Lecture 8 IP Addressing & Packets

TCP/IP Network Essentials. Linux System Administration and IP Services

Lecture 15. IP address space managed by Internet Assigned Numbers Authority (IANA)

Understanding TCP/IP. Introduction. What is an Architectural Model? APPENDIX

NETWORK LAYER/INTERNET PROTOCOLS

Guide to Network Defense and Countermeasures Third Edition. Chapter 2 TCP/IP

Internetworking and IP Address

Mobile IP Network Layer Lesson 02 TCP/IP Suite and IP Protocol

Troubleshooting Tools

Network layer" 1DT066! Distributed Information Systems!! Chapter 4" Network Layer!! goals: "

IP addressing and forwarding Network layer

Dynamic Host Configuration Protocol (DHCP) 02 NAT and DHCP Tópicos Avançados de Redes

Internet Protocols. Addressing & Services. Updated:

Address Resolution Protocol (ARP), Reverse ARP, Internet Protocol (IP)

IP Addressing. -Internetworking (with TCP/IP) -Classful addressing -Subnetting and Supernetting -Classless addressing

Transport Layer Protocols

Network Security TCP/IP Refresher

Introduction to IP networking

CS335 Sample Questions for Exam #2

ACHILLES CERTIFICATION. SIS Module SLS 1508

Network Layer: Network Layer and IP Protocol

Internet Architecture and Philosophy

Major features of the Internet. Evolution of the Internet. Why does IP offer best-effort datagram service? Internet Protocols

EITF25 Internet Techniques and Applications L5: Wide Area Networks (WAN) Stefan Höst

Network Layer IPv4. Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS. School of Computing, UNF

Introduction to TCP/IP

Introduction to IP v6

Transport Layer. Chapter 3.4. Think about

SUPPORT DE COURS. Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : omarinmt@gmail.com

Objectives of Lecture. Network Architecture. Protocols. Contents

The Internet/Network Layer

Internet Control Protocols Reading: Chapter 3

(Refer Slide Time: 02:17)

Names & Addresses. Names & Addresses. Hop-by-Hop Packet Forwarding. Longest-Prefix-Match Forwarding. Longest-Prefix-Match Forwarding

Algemene Theorie en Vaardigheden 2. April 2014 Theaterschool OTT-2 1

Internet Addresses (You should read Chapter 4 in Forouzan)

Stateful Distributed Firewalls

CS 457 Lecture 19 Global Internet - BGP. Fall 2011

Internet Protocols Fall Lectures 7-8 Andreas Terzis

TCP/IP Fundamentals. Edmund Lam IT Audit Manager University of California 7/25/99 1

DO NOT REPLICATE. Analyze IP. Given a Windows Server 2003 computer, you will use Network Monitor to view and analyze all the fields of IP.

Interconnection of Heterogeneous Networks. Internetworking. Service model. Addressing Address mapping Automatic host configuration

Internetworking and Internet-1. Global Addresses

1 Data information is sent onto the network cable using which of the following? A Communication protocol B Data packet

TCP/IP Networking Terms you ll need to understand: Techniques you ll need to master:

IP Subnetting and Addressing

Chapter 13 Internet Protocol (IP)

TCP/IP works on 3 types of services (cont.): TCP/IP protocols are divided into three categories:

Internet Working 5 th lecture. Chair of Communication Systems Department of Applied Sciences University of Freiburg 2004

IP Addressing A Simplified Tutorial

Chapter 3: Review of Important Networking Concepts. Magda El Zarki Dept. of CS UC Irvine

Introduction To Computer Networking

Network Layer: Address Mapping, Error Reporting, and Multicasting

IP Addressing Introductory material.

8-bit Microcontroller. Application Note. AVR460: Embedded Web Server. Introduction. System Description

Classful IP Addressing. Classless Addressing: CIDR. Routing & Forwarding: Logical View of a Router. IP Addressing: Basics

Overview Computer Networking. IP Address Classes (Some are Obsolete) Outline. Lecture 9 IP Packets. CIDR IP addressing. Forwarding examples

- IPv4 Addressing and Subnetting -

Chapter 4 Network Layer

Protocols. Packets. What's in an IP packet

Future Internet Technologies

HOST AUTO CONFIGURATION (BOOTP, DHCP)

Networks: IP and TCP. Internet Protocol

We will give some overview of firewalls. Figure 1 explains the position of a firewall. Figure 1: A Firewall

Network Layer: and Multicasting Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Vorlesung Kommunikationsnetze Research Topics: Protocol Family for Control Data Communication in Heterogeneous Network Environments

Outline. CSc 466/566. Computer Security. 18 : Network Security Introduction. Network Topology. Network Topology. Christian Collberg

Internet Packets. Forwarding Datagrams

Transcription:

CSCE 515: Computer Network Programming TCP/IP IP Network Layer Wenyuan Xu Department of Computer Science and Engineering University of South Carolina IP Datagrams IP is the network layer packet delivery service (host-to-host). translation between different data-link protocols. IP Datagram 1 byte 1 byte 1 byte 1 byte VERS HL Service Total Length Datagram ID FLAG Fragment Offset TTL Protocol Header Checksum Source Address Destination Address Options (if any) Data IP Addresses IP addresses are not the same as the underlying data-link (MAC) addresses. WHY? 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. IP Addresses IP addresses are logical addresses (not physical) 32 bits. IP Addresses are usually shown in dotted decimal notation: 1.2.3.4 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). http://www.iana.org/ipaddress/ip-addresses.htm

The four formats of IP Addresses Class A 0 NetID HostID B 10 NetID HostID C 110 NetID HostID Class A 128 possible network IDs over 16M host IDs per network ID Class B 16K possible network IDs 64K host IDs per network ID D 1110 Multicast Address 8 bits 8 bits 8 bits 8 bits Class C over 2 million possible network IDs about 256 host IDs per network ID 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. IP Addresses IP Addresses are usually shown in dotted decimal notation: 1.2.3.4 00000001 00000010 00000011 00000100 cse.sc.edu is 129.252.138.8 10000001 11111100 10001010 00001000 CSE has a class B network 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). Special IP addresses An IP broadcast addresses has a host ID of all 1s. An IP address that has a host ID of all 0s is called a network address and refers to an entire network. localhost: 127.0.0.1

Subnet Addresses Subnetting An organization can subdivide it s host address space into groups called subnets. router The subnet ID is generally used to group hosts based on the physical network topology. Subnet 1 128.213.1.x Subnet 2 128.213.2.x Subnet 3 128.213.3.x 10 NetID SubnetID HostID 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? Subnet Mask How do we know how many bits are allocate for subnet ID, how many bits are allocated for host ID? Example: subnet mask: 255.255.255.0 Question: what is the subnet id for 129.252.138.8 if subnet is: 255.255.255.0 255.255.255.192 255.255.127.0 Subnet mask Question: if the subnet mask is 255.255.255.128, are 129.252.138.8 and 129.252.138.127 on the same subnet? Calculate the subnet ID If the subnet IDs are the same => Yes Otherwise => No IP Routing Q: How do you get a packet from one network to another? 255. 255. 255. 128 11111111 11111111 11111111 10000000 or 10000001 11111100 10001010 00000100 129.252.138.8 10000001 11111100 10001010 00000000 129.252.138.0 129.252.138.127 129.252.138.0 Yes 2007

Routing table Destination IP address. Either host address or a network address IP address of the next hop Router Flags Network interface /sbin/route Destination Gateway Genmask Flags Metric Ref Use Iface 129.252.130.0 * 255.255.255.0 U 0 0 0 eth1 loopback * 255.0.0.0 U 0 0 0 lo default SWG130.cse.sc.edu 0.0.0.0 UG 1 0 0 eth1 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 2007 ARP The Address Resolution Protocol is used by a sending host when it knows the IP address of the destination but needs the (or whatever) address. ARP is a broadcast protocol - every host on the network receives the request. ARP conversation HEY - Everyone please listen! Will 128.213.1.5 please send me his/her address? Each host checks the request against it s IP address - the right one responds. D. addr S. addr type op Sender addr Sender IP addr Target addr Target IP addr not me header 28 byte ARP request/reply Hi Green! I m 128.213.1.5, and my address is 87:A2:15:35:02:C3 Example Proxy ARP Example routing Proxy ARP 129.252.138.0 129.252.138.0 129.252.138.0 129.252.10.0 H1 H2 H3 H4 H5 H6 H1 H2 H3 H4 H5 H6 E1 E2 E3 E4 E5 E6 E1 E2 E3 E4 E5 E6 129.252.138.3 129.252.138.4 129.252.138.6 129.252.138.10 129.252.138.40 129.252.10.169 D. addr S. addr type op Sender addr Sender IP addr Target addr Target IP addr D. addr size S. addr S. IP addr D. IP addr. Data header 28 byte ARP request/reply header IP header

Reverse Address Resolution The process of finding out the IP address of a host given a hardware address is called Reverse Address Resolution RARP conversation HEY - Everyone please listen! My address is 22:BC:66:17:01:75. Does anyone know my IP address? Reverse address resolution is needed by diskless workstations when booting (which used to be quite common). not me Hi Green! Your IP address is 128.213.1.17. Services provided by IP Connectionless Delivery (each datagram is treated individually). Unreliable (delivery is not guaranteed). Fragmentation / Reassembly (based on hardware MTU). Routing. Error detection. 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 IP Datagram Fragmentation 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 hopby-hop basis). If any of the fragments are lost - the entire datagram is discarded (and an ICMP message is sent to the sender). 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.

ICMP Internet Control Message Protocol ICMP is a protocol used for exchanging control messages. Two main categories Query message Error message Usage of an ICMP message is determined by type and code fields ICMP uses IP to deliver messages. ICMP messages are usually generated and processed by the IP software, not the user process. ICMP Message Format 0 7 8 1516 31 type code checksum payload IP header ICMP Message 20 bytes ICMP Message Types Echo Request Echo Response Destination Unreachable Redirect Time Exceeded there are more... ICMP Address Mask Request and Reply intended for a diskless system to obtain its subnet mask. Id and seq can be any values, and these values are returned in the reply. Match replies with request 0 7 8 1516 31 type(17 or 18) code(0) checksum identifier subnet mask sequence number Transport Layer & TCP/IP Transportation Layer 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).

Layer UDP User Datagram Protocol TCP UDP Transport Layer UDP is a transport protocol communication between processes ICMP, ARP & RARP IP 802.3 Network Layer Data-Link Layer UDP uses IP to deliver datagrams to the right host. UDP uses ports to provide communication services to individual processes. 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. Ports Host A Host B UDP Datagram Delivery Connectionless Unreliable Minimal The term datagram is also used to describe the unit of transfer of UDP! UDP Datagram Format Source Port Length Data Destination Port Checksum TCP Transmission Control Protocol TCP is an alternative transport layer protocol supported by TCP/IP. TCP provides: Connection-oriented Reliable Full-duplex Byte-Stream

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. Reliable Reliable does not mean that things don't go wrong, it means that we find out when things go wrong. Reliable means that every transmission of data is acknowledged by the receiver. If the sender does not receive acknowledgement within a specified amount of time, the sender retransmits the data. 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). Somebody needs to do this since IP is delivering all the data, it's just that the application layer doesn't need to do this! 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. 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 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).

IP Demultiplexing TCP Segments ICMP IGMP TCP UDP The chunk of data that TCP asks IP to deliver is called a TCP segment. IP VERS HL Datagram ID Service FLAG Fragment Length Fragment Offset TTL Protocol Header Checksum Source Address Destination Address Options (if any) Data Each segment contains: data bytes from the byte stream control information that identifies the data bytes TCP Segment Format 0 1516 31 source port number header length reserved TCP checksum sequence number option (if any) destination port number acknowledgment number U A P R S F R C S S Y I G K H T N N window size urgent pointer 20 bytes 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. data (if any) TCP vs. UDP Q: Which protocol is better? A: It depends on the application. TCP provides a connection-oriented, oriented, reliable, byte stream service (lots of overhead). UDP offers minimal datagram delivery service (as little overhead as possible). TCP/IP Summary IP: network layer protocol unreliable datagram delivery between hosts. UDP: transport layer protocol unreliable datagram delivery between processes. TCP: transport layer protocol reliable, byte-stream delivery between processes.

Hmmmmm. TCP or UDP? Electronic commerce? Video server? File transfer? Email? Chat groups? Robotic surgery controlled remotely over a network? Assignment & Next time Reading: TI 3,4,5,6,17 ** TCP/IP FAQ Next Lecture: Sockets Programming API 2007