Distributed Real-Time Control Systems. Module 26 Sockets

Size: px
Start display at page:

Download "Distributed Real-Time Control Systems. Module 26 Sockets"

Transcription

1 Distributed Real-Time Control Systems Module 26 Sockets 1

2 Network Programming with Sockets Sockets are probably the most widely used objects in programming networked communications. What is a socket? To the kernel, a socket is an endpoint of communication: IP address, port number, and protocol (TCP, UDP, etc). To an application, a socket is a file descriptor that lets the application read/write from/to the network Clients and servers communicate with each by reading from and writing to socket. 2

3 The Ethernet Frame-based Technology Ethernet stations communicate by sending each other data packets. Each Ethernet station is given a single 48-bit MAC address, which is used both to specify the destination and the source of each data packet. 3

4 The OSI stack model APDU Application Application Protocol Application 7 PPDU Presentation Presentation Protocol Presentation 6 SPDU Session Session Protocol Session 5 TPDU Transport Trasport Protocol Host-Router communication boundary Transport 4 packet Network Network Network Network 3 Frame Data Link Data Link Data Link Data Link 2 Bit Physical Physical Physical Physical 1 Host-Router internal protocol 4

5 IP Addressing There are two versions of an IP address : IPv4 and IPv6. Because of its prevalence, "IP address" typically refers to those defined by IPv4. Using reserved values for the first octet, network addresses are broken into classes: Class A very large networks (up to 2 24 hosts) Class B large networks (up to 2 16 hosts) Class C small networks (up to 255 hosts) Class D multi-cast messages to multiple hosts Class E addresses not allocated and reserved. 5

6 IP Classes 7 24 Class A: 0 Network ID Host ID Class B: 1 0 Network ID Host ID 21 8 Class C: Network ID Host ID 28 Class D (multicast): Multicast address Class E (reserv ed): unused Class Range within 1st octet Network ID Host ID 27 Possible number of networks Possible number of hosts A a b.c.d ,777,214 B a.b c.d 16,384 65,534 C a.b.c d 2,097,

7 Special Addresses Adapter Loopback Private addresses (will not be routed)

8 Subnet Masking Subnetwork or Subnet is a range of logical addresses within the address space that is assigned to an organization. Subnetworking simplifies routing. Dot-decimal Address Full Network Address Subnet Mask Network Portion Host Portion Binary

9 Address Resolution The Address Resolution Protocol (ARP) is a method for finding a host s hardware address when only its network layer address is known. E.g. IP addresses to MAC addresses. ARP is used in four cases of two hosts communicating: 1. When two hosts are on the same network and one desires to send a packet to the other 2. When two hosts are on different networks and must use a gateway/router to reach the other host 3. When a router needs to forward a packet for one host through another router 4. When a router needs to forward a packet from one host to the destination host on the same network 9

10 Sockets A socket is an endpoint of communication: IP address, port number, and protocol (TCP, UDP, etc). TCP (or Stream) Sockets Connection oriented, require handshake Client contacts Server to establish connection. Server provides a private connection to client. UDP (or Datagram) Sockets Connectionless, low overhead. Data is sent directly to destination. No handshake: data may be lost. 10

11 Connection-Oriented Model The connection-oriented model is implemented with Stream Sockets using the TCP protocol. TCP provides a variety or error correction and performance features for transmission of byte streams. Implements a client-server architecture. 11

12 Connectionless-Oriented Model The connectionless model uses UDP protocol with no guarantee of delivery. UDP packets may arrive out of order, multiple times, or not at all. UDP has considerably less overhead than TCP Implements a peer-to-peer architecture. 12

13 Connectionless-Oriented Model (UDP) Server Process socket() bind() Client Process socket() bind() read_from() write_to() request response write_to() read_from() close() close() 13

14 Datagram (UDP) Socket Primitives socket() creates a new socket, and allocates system resources to it. bind() is the process to associate a socket with a specified local port number and IP address. send_to()/write_to, recv_from()/read_from(), are used for sending and receiving data to/from a remote socket. 14

15 Boost Datagram Sockets ip::udp::endpoint - identifies an address, port and protocol for communication. ip::udp::resolver (cliente side) retrieves a suitable communication endpoint from a server. ip::udp::socket creates a socket associated to an endpoint socket::receive_from() waits for some data from any client socket::send_to() sends data to a specific client 15

16 Boost Synchronous UDP Example #include <iostream> //SYNC_UDP_SERVER #include <boost/asio.hpp> using namespace boost::asio; using ip::udp; int main() { io_service io; auto ep = udp::endpoint(udp::v4(),10000); std::cout << Receiving at: << ep << std::endl; udp::socket s(io,ep)); char buf[1] = {0}; while (buf[0]!= q ) { udp::endpoint client; //client endpoint retrieved on receive_from s.receive_from(buffer(buf, 1), client); if( buf[0]!= q ) s.send_to(buffer( Hello World ), client); else s.send_to(buffer( q ), client); } } #include <iostream> //SYNC_UDP_CLIENT #include <boost/asio.hpp> using namespace boost::asio; using ip::udp; using query = udp::resolver::query; int main() { io_service io; udp::resolver r(io); query q(udp::v4()," ","10000"); udp::endpoint ep = *r.resolve(q); udp::socket s(io); s.open(udp::v4()); char buf[128] = {0}; do { std::cin.getline(buf,128); s.send_to(buffer(buf,1), ep); //send 1st char size_t n = s.receive_from(buffer(buf, 128),ep); std::cout.write(buf, n-1); } while( buf[0]!= q ) } 16

17 Notes on Previous Code The example client opens a socket to the server machine and loops on reading data from cin, sending a char to make contact with server, wait server reply and prints the reply. When the reply start with character q, it exits. The example server waits for messages of arbitrary clients and sends back the message Hello World, unless the first character of the message is q. In that case it also sends back q and exits. This example does not check for errors. Functions send_to and receive_from have overloads to check for errors: socket.send_to(buffer, end_point, flags, error_code) socket.receive_to(buffer, end_point, flags, error_code) 17

18 Connection Oriented Model Server Listening socket Welcomes some initial contact from a client Connection socket It is created at initial contact of client New socket that is dedicated to the particular client Client Client socket Specify the address of the server process, namely, the IP address of the server and the port number of the process 18

19 Connection-Oriented Model Server Process socket() Client Process socket() bind() listen() accept() get a blocked client read() write() read() 3-way handshake client request server response close notification connect() write() read() close() close() 19

20 Socket Primitives socket() creates a new socket and allocates system resources to it. bind() is typically used on the server side, and associates a socket with a socket address structure, i.e. a specified local port number and IP address. listen() is used on the server side, and causes a bound TCP socket to enter listening state. connect() is used on the client side. Attempts to establish a new TCP connection. accept() is used on the server side. It accepts a received incoming attempt to create a new TCP connection from the remote client, and creates a new socket associated with the socket address pair of this connection. write() and read() are used for sending and receiving data to/from a remote socket. 20

21 Boost Stream Sockets Important classes ip::tcp::acceptor - binds a listening socket to accept cliente requests ip::tcp::endpoint sets address and port pair for accept cliente requests ip::tcp::resolver retrieves a address and port pair for communication ip::tcp::socket - a socket associated to an endpoint Important functions acceptor::accept() accepts connections from a client ip::tcp::connect() tries to connect to a server. ip::tcp::read() waits until some data is received ip::tcp::write() write to socket 21

22 Boost Synchronous TCP Example #include <iostream> //SYNC_TCP_SERVER.CPP #include <boost/asio.hpp> using namespace boost::asio; using ip::tcp; int main() { io_service io; boost::system::error_code ec; char buf[128]; auto ep = tcp::endpoint(tcp::v4(),10000); std::cout << Listening at: << ep << std::endl; tcp::acceptor a(io, ep); for (;;) { tcp::socket s(io); //create new listening socket a.accept(s); //wait client to connect for(;;) { //got a client size_t n = s.read_some(buffer(buf,128), ec); if(ec) break; write(s, buffer(buf,n), ec); if(ec) break; } //kills connection } } #include <iostream> //SYNC_TCP_CLIENT.CPP #include <boost/asio.hpp> using namespace boost::asio; using ip::tcp; int main() { io_service io; boost::system::error_code err; char buf[128]; tcp::resolver r(io); //find endpoints from address tcp::resolver::query q( , ); tcp::resolver::iterator server = r.resolve(q); tcp::socket s(io); s.connect(*server, err); //connect and wait for (;;) { std::cin.getline(buf,128); write(s,buffer(buf,strlen(buf)+1), err); if(ec) break; size_t n = s.read_some(buffer(buf,128), err); if (ec) break; std::cout.write(buf, n-1); } } 22

23 Notes on Previous Code The example client opens a socket to the server machine and loops on reading data from cin, sending that data to the server, wait server reply and prints the reply. If exits if the server does not respond. The example server creates a listening socket and waits for a client to connect. When it gets a connection, it waits for a message from the client and send that exact same message back to the client (echo). If the connection is broken, it closes the connection and creates a new listening socket. 23

Distributed Real-Time Control Systems

Distributed Real-Time Control Systems Distributed Real-Time Control Systems Lecture 18 More on Boost ASIO Ethernet Communications Sockets in C++ 1 Boost Asio Communication Functions Boost Asio abstracts communication channels as streams. Streams

More information

Distributed Real-Time Control Systems. Lecture 17 C++ Exceptions Synchronous I/O

Distributed Real-Time Control Systems. Lecture 17 C++ Exceptions Synchronous I/O Distributed Real-Time Control Systems Lecture 17 C++ Exceptions Synchronous I/O 1 Traditional Error Handling Well behaved code should notonlyfocus on operation under normal conditions but also under error

More information

Distributed Real-Time Control Systems. Chapter 22 Asynchronous I/O The Boost ASIO Library

Distributed Real-Time Control Systems. Chapter 22 Asynchronous I/O The Boost ASIO Library Distributed Real-Time Control Systems Chapter 22 Asynchronous I/O The Boost ASIO Library 1 Synchronous vs Asyncronous I/O Synchronous (also called rendez-vous model) : The process sending/receiving data

More information

Distributed Real-Time Control Systems. Lecture 24 Asynchronous Socket Communications

Distributed Real-Time Control Systems. Lecture 24 Asynchronous Socket Communications Distributed Real-Time Control Systems Lecture 24 Asynchronous Socket Communications with Boost ASIO 1 Boost Asynchronous I/O (ASIO) Boost::Asio allows implements a service for asynchronous I/O: boost::asio::io_service

More information

Introduction to Internetworking

Introduction to Internetworking Introduction to Internetworking Introductory terms Communications Network Facility that provides data transfer services An internet Collection of communications networks interconnected by bridges and/or

More information

IP Addressing and Subnetting

IP Addressing and Subnetting IP Addressing and Subnetting Internet Layer The purpose of the Internet layer is to send packets from a network node and have them arrive at the destination node independent of the path taken. Internet

More information

TCP/IP and the OSI Model

TCP/IP and the OSI Model TCP/IP BASICS TCP/IP and the OSI Model TCP/IP BASICS The network protocol of the Internet Composed of six main protocols IP Internet Protocol UDP User Datagram Protocol TCP Transmission Control Protocol

More information

TCP /IP Fundamentals Mr. Cantu

TCP /IP Fundamentals Mr. Cantu TCP /IP Fundamentals Mr. Cantu OSI Model and TCP/IP Model Comparison TCP / IP Protocols (Application Layer) The TCP/IP subprotocols listed in this layer are services that support a number of network functions:

More information

Distributed Real-Time Control Systems. Lecture 19 Asynchronous Communications

Distributed Real-Time Control Systems. Lecture 19 Asynchronous Communications Distributed Real-Time Control Systems Lecture 19 Asynchronous Communications 1 Synchronous vs Asyncronous I/O Synchronous: The process sending/receiving data executed the write/read operation and waits

More information

Chapter 6. The Protocol TCP/IP. Introduction to Protocols

Chapter 6. The Protocol TCP/IP. Introduction to Protocols Chapter 6 The Protocol TCP/IP 1 Introduction to Protocols A protocol is a set of rules that governs the communications between computers on a network. These rules include guidelines that regulate the following

More information

Internetwork Protocols

Internetwork Protocols Internetwork Protocols Background to IP IP, and related protocols Internetworking Terms (1) Communications Network Facility that provides data transfer service An internet Collection of communications

More information

ET4254 Communications and Networking 1

ET4254 Communications and Networking 1 Topic 9 Internet Protocols Aims:- basic protocol functions internetworking principles connectionless internetworking IP IPv6 IPSec 1 Protocol Functions have a small set of functions that form basis of

More information

Guide to Networking Essentials, 6 th Edition. Chapter 5: Network Protocols

Guide to Networking Essentials, 6 th Edition. Chapter 5: Network Protocols Guide to Networking Essentials, 6 th Edition Chapter 5: Network Protocols Objectives Describe the purpose of a network protocol, the layers in the TCP/IP architecture, and the protocols in each TCP/IP

More information

On Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August 1964

On Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August 1964 The requirements for a future all-digital-data distributed network which provides common user service for a wide range of users having different requirements is considered. The use of a standard format

More information

User Datagram Protocol

User Datagram Protocol Topics Transport Layer TCP s three-way handshake TCP s connection termination sequence TCP s TIME_WAIT state TCP and UDP buffering by the socket layer 2 Introduction UDP is a simple, unreliable datagram

More information

IP: Addressing, ARP, Routing

IP: Addressing, ARP, Routing IP: Addressing, ARP, Routing Network Protocols and Standards Autumn 2004-2005 Oct 21, 2004 CS573: Network Protocols and Standards 1 IPv4 IP Datagram Format IPv4 Addressing ARP and RARP IP Routing Basics

More information

Internet Protocols (chapter 18)

Internet Protocols (chapter 18) Internet Protocols (chapter 18) CSE 3213 Fall 2011 Internetworking Terms 1 TCP/IP Concepts Connectionless Operation Internetworking involves connectionless operation at the level of the Internet Protocol

More information

IP Address Assignment

IP Address Assignment IP Address Assignment An IP address does not identify a specific computer. Instead, each IP address identifies a connection between a computer and a network. A computer with multiple network connections

More information

McGraw-Hill The McGraw-Hill Companies, Inc., 2000

McGraw-Hill The McGraw-Hill Companies, Inc., 2000 !! McGraw-Hill The McGraw-Hill Companies, Inc., 2000 "#$% & '$# )1 ) ) )6 ) )* )- ). )0 )1! )11 )1 )1 )16 )1 3'' 4", ( ( $ ( $ $$+, $$, /+ & 23,4 )/+ &4 $ 53" Network Layer Position of network layer Figure

More information

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control Chapter 6 What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control OSI Model Hybrid Model Software outside the operating system Software inside

More information

Chapter Motivation For Internetworking

Chapter Motivation For Internetworking Chapter 17-20 Internetworking Part 1 (Concept, IP Addressing, IP Routing, IP Datagrams, Address Resolution 1 Motivation For Internetworking LANs Low cost Limited distance WANs High cost Unlimited distance

More information

Network Protocols - Revision

Network Protocols - Revision Network Protocols - Revision Luke Anderson luke@lukeanderson.com.au 18 th May 2018 University Of Sydney Overview 1. The Layers 1.1 OSI Model 1.2 Layer 1: Physical 1.3 Layer 2: Data Link MAC Addresses 1.4

More information

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

Transport Layer. Gursharan Singh Tatla.   Upendra Sharma. 1 Transport Layer Gursharan Singh Tatla mailme@gursharansingh.in Upendra Sharma 1 Introduction The transport layer is the fourth layer from the bottom in the OSI reference model. It is responsible for message

More information

SEN366 (SEN374) (Introduction to) Computer Networks

SEN366 (SEN374) (Introduction to) Computer Networks SEN366 (SEN374) (Introduction to) Computer Networks Prof. Dr. Hasan Hüseyin BALIK (12 th Week) The Internet Protocol 12.Outline Principles of Internetworking Internet Protocol Operation Internet Protocol

More information

Interconnecting Networks with TCP/IP

Interconnecting Networks with TCP/IP Chapter 8 Interconnecting s with TCP/IP 1999, Cisco Systems, Inc. 8-1 Introduction to TCP/IP Internet TCP/IP Early protocol suite Universal 1999, Cisco Systems, Inc. www.cisco.com ICND 8-2 TCP/IP Protocol

More information

ECE4110 Internetwork Programming. Introduction and Overview

ECE4110 Internetwork Programming. Introduction and Overview ECE4110 Internetwork Programming Introduction and Overview 1 EXAMPLE GENERAL NETWORK ALGORITHM Listen to wire Are signals detected Detect a preamble Yes Read Destination Address No data carrying or noise?

More information

Context. Distributed Systems: Sockets Programming. Alberto Bosio, Associate Professor UM Microelectronic Departement

Context. Distributed Systems: Sockets Programming. Alberto Bosio, Associate Professor UM Microelectronic Departement Distributed Systems: Sockets Programming Alberto Bosio, Associate Professor UM Microelectronic Departement bosio@lirmm.fr Context Computer Network hosts, routers, communication channels Hosts run applications

More information

Layer 4: UDP, TCP, and others. based on Chapter 9 of CompTIA Network+ Exam Guide, 4th ed., Mike Meyers

Layer 4: UDP, TCP, and others. based on Chapter 9 of CompTIA Network+ Exam Guide, 4th ed., Mike Meyers Layer 4: UDP, TCP, and others based on Chapter 9 of CompTIA Network+ Exam Guide, 4th ed., Mike Meyers Concepts application set transport set High-level, "Application Set" protocols deal only with how handled

More information

Transport Layer (TCP/UDP)

Transport Layer (TCP/UDP) Transport Layer (TCP/UDP) Where we are in the Course Moving on up to the Transport Layer! Application Transport Network Link Physical CSE 461 University of Washington 2 Recall Transport layer provides

More information

THE OSI MODEL. Application Presentation Session Transport Network Data-Link Physical. OSI Model. Chapter 1 Review.

THE OSI MODEL. Application Presentation Session Transport Network Data-Link Physical. OSI Model. Chapter 1 Review. THE OSI MODEL Application Presentation Session Transport Network Data-Link Physical OSI Model Chapter 1 Review By: Allan Johnson Table of Contents Go There! Go There! Go There! Go There! Go There! Go There!

More information

PART X. Internetworking Part 1. (Concept, IP Addressing, IP Routing, IP Datagrams, Address Resolution)

PART X. Internetworking Part 1. (Concept, IP Addressing, IP Routing, IP Datagrams, Address Resolution) PART X Internetworking Part 1 (Concept, IP Addressing, IP Routing, IP Datagrams, Address Resolution) CS422 Part 10 1 Spring 1999 Motivation For Internetworking LANs Low cost Limited distance WANs High

More information

Interconnecting Networks with TCP/IP. 2000, Cisco Systems, Inc. 8-1

Interconnecting Networks with TCP/IP. 2000, Cisco Systems, Inc. 8-1 Interconnecting Networks with TCP/IP 2000, Cisco Systems, Inc. 8-1 Objectives Upon completion of this chapter you will be able to perform the following tasks: Identify the IP protocol stack, its protocol

More information

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet Chapter 2 - Part 1 The TCP/IP Protocol: The Language of the Internet Protocols A protocol is a language or set of rules that two or more computers use to communicate 2 Protocol Analogy: Phone Call Parties

More information

Interprocess Communication Mechanisms

Interprocess Communication Mechanisms Interprocess Communication 1 Interprocess Communication Mechanisms shared storage These mechanisms have already been covered. examples: shared virtual memory shared files processes must agree on a name

More information

shared storage These mechanisms have already been covered. examples: shared virtual memory message based signals

shared storage These mechanisms have already been covered. examples: shared virtual memory message based signals Interprocess Communication 1 Interprocess Communication Mechanisms shared storage These mechanisms have already been covered. examples: shared virtual memory shared files processes must agree on a name

More information

A Client-Server Exchange

A Client-Server Exchange Socket programming A Client-Server Exchange A server process and one or more client processes Server manages some resource. Server provides service by manipulating resource for clients. 1. Client sends

More information

Vorlesung Kommunikationsnetze

Vorlesung Kommunikationsnetze Picture 15 13 Vorlesung Kommunikationsnetze Prof. Dr. H. P. Großmann mit B. Wiegel sowie A. Schmeiser und M. Rabel Sommersemester 2009 Institut für Organisation und Management von Informationssystemen

More information

Data and Computer Communications. Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications

Data and Computer Communications. Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications Data and Computer Communications Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based s 1 Need For Protocol Architecture data exchange can involve complex procedures better if task broken into subtasks

More information

Copyright 2011 Sakun Sharma

Copyright 2011 Sakun Sharma Communication at Network Layer (Layer 3) Network layer is layer 3 of OSI Model. Network layer adds support of connecting multiple networks with each other. Network layer uses its own unique addressing

More information

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia IP - The Internet Protocol Based on the slides of Dr. Jorg Liebeherr, University of Virginia Orientation IP (Internet Protocol) is a Network Layer Protocol. IP: The waist of the hourglass IP is the waist

More information

NETWORK PROGRAMMING. Instructor: Junaid Tariq, Lecturer, Department of Computer Science

NETWORK PROGRAMMING. Instructor: Junaid Tariq, Lecturer, Department of Computer Science NETWORK PROGRAMMING CSC- 341 25 Instructor: Junaid Tariq, Lecturer, Department of Computer Science 26 9 Lecture Sockets as means for inter-process communication (IPC) application layer Client Process Socket

More information

Lecture 17 Overview. Last Lecture. Wide Area Networking (2) This Lecture. Internet Protocol (1) Source: chapters 2.2, 2.3,18.4, 19.1, 9.

Lecture 17 Overview. Last Lecture. Wide Area Networking (2) This Lecture. Internet Protocol (1) Source: chapters 2.2, 2.3,18.4, 19.1, 9. Lecture 17 Overview Last Lecture Wide Area Networking (2) This Lecture Internet Protocol (1) Source: chapters 2.2, 2.3,18.4, 19.1, 9.2 Next Lecture Internet Protocol (2) Source: chapters 19.1, 19.2, 22,1

More information

EITF25 Internet Techniques and Applications L7: Internet. Stefan Höst

EITF25 Internet Techniques and Applications L7: Internet. Stefan Höst EITF25 Internet Techniques and Applications L7: Internet Stefan Höst What is Internet? Internet consists of a number of networks that exchange data according to traffic agreements. All networks in Internet

More information

The TCP Protocol Stack

The TCP Protocol Stack The TCP Protocol Stack Michael Brockway February 16, 2018 Introduction - Layered archtecture Networking software is desgined in a layered fashion The bottom layer is the services offered by the underlying

More information

ETSF05/ETSF10 Internet Protocols Network Layer Protocols

ETSF05/ETSF10 Internet Protocols Network Layer Protocols ETSF05/ETSF10 Internet Protocols Network Layer Protocols 2016 Jens Andersson Agenda Internetworking IPv4/IPv6 Framentation/Reassembly ICMPv4/ICMPv6 IPv4 to IPv6 transition VPN/Ipsec NAT (Network Address

More information

TCP/IP Protocol Suite and IP Addressing

TCP/IP Protocol Suite and IP Addressing TCP/IP Protocol Suite and IP Addressing CCNA 1 v3 Module 9 10/11/2005 NESCOT CATC 1 Introduction to TCP/IP U.S. DoD created the TCP/IP model. Provides reliable data transmission to any destination under

More information

Prof. Shervin Shirmohammadi SITE, University of Ottawa. Internet Protocol (IP) Lecture 2: Prof. Shervin Shirmohammadi CEG

Prof. Shervin Shirmohammadi SITE, University of Ottawa. Internet Protocol (IP) Lecture 2: Prof. Shervin Shirmohammadi CEG Lecture 2: Internet Protocol (IP) Prof. Shervin Shirmohammadi SITE, University of Ottawa Prof. Shervin Shirmohammadi CEG 4185 2-1 Network Layer Provides the upper layers with independence from the data

More information

Computer Networks. Lecture 9 Network and transport layers, IP, TCP, UDP protocols

Computer Networks. Lecture 9 Network and transport layers, IP, TCP, UDP protocols Computer Networks Lecture 9 Network and transport layers, IP, TCP, UDP protocols Network layer The Network layer, or OSI Layer 3, provides services to exchange the individual pieces of data over the network

More information

Networking Basics. EC512 Spring /15/2015 EC512 - Prof. Thomas Skinner 1

Networking Basics. EC512 Spring /15/2015 EC512 - Prof. Thomas Skinner 1 Networking Basics EC512 Spring 2015 2/15/2015 EC512 - Prof. Thomas Skinner 1 Protocols Protocols are required in order to allow information to be extracted from the stream of bits flowing from one point

More information

Network Programming. Introduction to Sockets. Dr. Thaier Hayajneh. Process Layer. Network Layer. Berkeley API

Network Programming. Introduction to Sockets. Dr. Thaier Hayajneh. Process Layer. Network Layer. Berkeley API Network Programming Outline Definitions Dr. Thaier Hayajneh Computer Engineering Department Berkeley API Socket definition and types Introduction to Sockets 1 2 Process Process Process Layer TCP SCTP UDP

More information

CHAPTER-2 IP CONCEPTS

CHAPTER-2 IP CONCEPTS CHAPTER-2 IP CONCEPTS Page: 1 IP Concepts IP is a very important protocol in modern internetworking; you can't really comprehend modern networking without a good understanding of IP. Unfortunately, IP

More information

RMIT University. Data Communication and Net-Centric Computing COSC 1111/2061. Lecture 2. Internetworking IPv4, IPv6

RMIT University. Data Communication and Net-Centric Computing COSC 1111/2061. Lecture 2. Internetworking IPv4, IPv6 RMIT University Data Communication and Net-Centric Computing COSC 1111/2061 Internetworking IPv4, IPv6 Technology Slide 1 Lecture Overview During this lecture, we will understand The principles of Internetworking

More information

Introduction Layer 3. IP-Header: and RFC-760 Addressing schemes Subnetting Routing. Layer 3 Solution in Trains

Introduction Layer 3. IP-Header:  and RFC-760 Addressing schemes Subnetting Routing. Layer 3 Solution in Trains Chapter 2.3 Layer 3 Network Layer 1 Content Introduction Layer 3 IP Protocol IP-Header: www.ietf.org and RFC-760 Addressing schemes Subnetting Routing Layer 3 Solution in Trains Communication Matrix (Information

More information

Memory-Mapped Files. generic interface: vaddr mmap(file descriptor,fileoffset,length) munmap(vaddr,length)

Memory-Mapped Files. generic interface: vaddr mmap(file descriptor,fileoffset,length) munmap(vaddr,length) File Systems 38 Memory-Mapped Files generic interface: vaddr mmap(file descriptor,fileoffset,length) munmap(vaddr,length) mmap call returns the virtual address to which the file is mapped munmap call unmaps

More information

Just enough TCP/IP. Protocol Overview. Connection Types in TCP/IP. Control Mechanisms. Borrowed from my ITS475/575 class the ITL

Just enough TCP/IP. Protocol Overview. Connection Types in TCP/IP. Control Mechanisms. Borrowed from my ITS475/575 class the ITL Just enough TCP/IP Borrowed from my ITS475/575 class the ITL 1 Protocol Overview E-Mail HTTP (WWW) Remote Login File Transfer TCP UDP RTP RTCP SCTP IP ICMP ARP RARP (Auxiliary Services) Ethernet, X.25,

More information

Defining Networks with the OSI Model. Module 2

Defining Networks with the OSI Model. Module 2 Defining Networks with the OSI Model Module 2 Objectives Skills Concepts Objective Domain Description Objective Domain Number Understanding OSI Basics Defining the Communications Subnetwork Defining the

More information

CCNA 1 Chapter 7 v5.0 Exam Answers 2013

CCNA 1 Chapter 7 v5.0 Exam Answers 2013 CCNA 1 Chapter 7 v5.0 Exam Answers 2013 1 A PC is downloading a large file from a server. The TCP window is 1000 bytes. The server is sending the file using 100-byte segments. How many segments will the

More information

06/02/ Local & Metropolitan Area Networks 0. INTRODUCTION. 1. History and Future of TCP/IP ACOE322

06/02/ Local & Metropolitan Area Networks 0. INTRODUCTION. 1. History and Future of TCP/IP ACOE322 1 Local & Metropolitan Area Networks ACOE322 Lecture 5 TCP/IP Protocol suite and IP addressing 1 0. INTRODUCTION We shall cover in this topic: 1. The relation of TCP/IP with internet and OSI model 2. Internet

More information

What is a Network? TCP / IP. The ISO OSI Model. Protocols. The TCP/IP Protocol Suite. The TCP/IP Protocol Suite. Computer network.

What is a Network? TCP / IP. The ISO OSI Model. Protocols. The TCP/IP Protocol Suite. The TCP/IP Protocol Suite. Computer network. What is a Network? TCP / IP Computer network a set of computers using common protocols to communicate over connecting transmission media. Protocol a formal description of message formats and the rules

More information

Network Layer/IP Protocols

Network Layer/IP Protocols Network Layer/IP Protocols 1 Outline IP Datagram (IPv4) NAT Connection less and connection oriented service 2 IPv4 packet header 3 IPv4 Datagram Header Format version of the IP protocol (4 BIts) IP header

More information

Chapter 6 Addressing the Network- IPv4

Chapter 6 Addressing the Network- IPv4 Chapter 6 Addressing the Network- IPv4 Objectives Explain the structure IP addressing and demonstrate the ability to convert between 8- bit binary and decimal numbers. Given an IPv4 address, classify by

More information

Oral. Total. Dated Sign (2) (5) (3) (2)

Oral. Total. Dated Sign (2) (5) (3) (2) R N Oral Total Dated Sign (2) (5) (3) (2) Assignment Group- A_07 Problem Definition Write a program using TCP socket for wired network for following Say Hello to Each other ( For all students) File transfer

More information

Unit 5: Internet Protocols skong@itt-tech.edutech.edu Internet Protocols She occupied herself with studying a map on the opposite wall because she knew she would have to change trains at some point. Tottenham

More information

This talk will cover the basics of IP addressing and subnetting. Topics covered will include:

This talk will cover the basics of IP addressing and subnetting. Topics covered will include: This talk will cover the basics of IP addressing and subnetting. Topics covered will include: What is an IP Address? What are Classes? What is a Network Address? What are Subnet Masks and Subnet Addresses?

More information

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space provided.

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space provided. 113 Chapter 9 TCP/IP Transport and Application Layer Services that are located in the transport layer enable users to segment several upper-layer applications onto the same transport layer data stream.

More information

Data & Computer Communication

Data & Computer Communication Basic Networking Concepts A network is a system of computers and other devices (such as printers and modems) that are connected in such a way that they can exchange data. A bridge is a device that connects

More information

COSC 6377 Mid-Term #2 Fall 2000

COSC 6377 Mid-Term #2 Fall 2000 Name: SSN: Signature: Open book, open notes. Your work must be your own. Assigned seating. Test time: 7:05pm to 8:05pm. You may not use a calculator or PalmPilot to calculate subnetting/host/netid information.

More information

Data Communication Prof. A. Pal Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Lecture 34 TCP/ IP I

Data Communication Prof. A. Pal Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Lecture 34 TCP/ IP I Data Communication Prof. A. Pal Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Lecture 34 TCP/ IP I Hello and welcome to today s lecture on TCP/IP. (Refer Slide

More information

EEC-484/584 Computer Networks

EEC-484/584 Computer Networks EEC-484/584 Computer Networks Lecture 15 wenbing@ieee.org (Lecture nodes are based on materials supplied by Dr. Louise Moser at UCSB and Prentice-Hall) Outline 2 Review of last lecture The network layer

More information

QUIZ: Longest Matching Prefix

QUIZ: Longest Matching Prefix QUIZ: Longest Matching Prefix A router has the following routing table: 10.50.42.0 /24 Send out on interface Z 10.50.20.0 /24 Send out on interface A 10.50.24.0 /22 Send out on interface B 10.50.20.0 /22

More information

Unit C - Network Addressing Objectives Purpose of an IP Address and Subnet Mask Purpose of an IP Address and Subnet Mask

Unit C - Network Addressing Objectives Purpose of an IP Address and Subnet Mask Purpose of an IP Address and Subnet Mask 1 2 3 4 5 6 7 8 9 10 Unit C - Network Addressing Objectives Describe the purpose of an IP address and Subnet Mask and how they are used on the Internet. Describe the types of IP Addresses available. Describe

More information

ETSF10 Internet Protocols Network Layer Protocols

ETSF10 Internet Protocols Network Layer Protocols ETSF10 Internet Protocols Network Layer Protocols 2012, Part 2, Lecture 3.1 Kaan Bür, Jens Andersson Network Layer Protocols IPv4, IPv6 [ed.4 ch.20.3+19.2] [ed.5 ch.22.1.1-2+22.2] Transition from IPv4

More information

Networking for Data Acquisition Systems. Fabrice Le Goff - 14/02/ ISOTDAQ

Networking for Data Acquisition Systems. Fabrice Le Goff - 14/02/ ISOTDAQ Networking for Data Acquisition Systems Fabrice Le Goff - 14/02/2018 - ISOTDAQ Outline Generalities The OSI Model Ethernet and Local Area Networks IP and Routing TCP, UDP and Transport Efficiency Networking

More information

Chapter 7. Local Area Network Communications Protocols

Chapter 7. Local Area Network Communications Protocols Chapter 7 Local Area Network Communications Protocols The Network Layer The third layer of the OSI Model is the network layer. The network layer is concerned with providing a means for hosts to communicate

More information

Introduction. IP Datagrams. Internet Service Paradigm. Routers and Routing Tables. Datagram Forwarding. Example Internet and Conceptual Routing Table

Introduction. IP Datagrams. Internet Service Paradigm. Routers and Routing Tables. Datagram Forwarding. Example Internet and Conceptual Routing Table Introduction Datagram Forwarding Gail Hopkins Service paradigm IP datagrams Routing Encapsulation Fragmentation Reassembly Internet Service Paradigm IP Datagrams supports both connectionless and connection-oriented

More information

OSI Network Layer. Chapter 5

OSI Network Layer. Chapter 5 OSI Network Layer Network Fundamentals Chapter 5 Objectives Identify the role of the Network Layer, as it describes communication from one end device to another end device. Examine the most common Network

More information

Network+ Guide to Networks 6 th Edition. Chapter 4 Introduction to TCP/IP Protocols

Network+ Guide to Networks 6 th Edition. Chapter 4 Introduction to TCP/IP Protocols Network+ Guide to Networks 6 th Edition Chapter 4 Introduction to TCP/IP Protocols Objectives Identify and explain the functions of the core TCP/IP protocols Explain the TCP/IP model and how it corresponds

More information

Socket Programming. Sungkyunkwan University. Hyunseung Choo Copyright Networking Laboratory

Socket Programming. Sungkyunkwan University. Hyunseung Choo Copyright Networking Laboratory Socket Programming Sungkyunkwan University Hyunseung Choo choo@skku.edu Copyright 2000-2019 Networking Laboratory Contents Goals Client-Server mechanism Introduction to socket Programming with socket on

More information

Networks. an overview. dr. C. P. J. Koymans. Informatics Institute University of Amsterdam. February 4, 2008

Networks. an overview. dr. C. P. J. Koymans. Informatics Institute University of Amsterdam. February 4, 2008 Networks an overview dr. C. P. J. Koymans Informatics Institute University of Amsterdam February 4, 2008 dr. C. P. J. Koymans (UvA) Networks February 4, 2008 1 / 53 1 Network modeling Layered networks

More information

Internet Protocol (IP)

Internet Protocol (IP) CPSC 360 - Network Programming Internet Protocol (IP) Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu March 14, 2005 http://www.cs.clemson.edu/~mweigle/courses/cpsc360

More information

ECE 4450:427/527 - Computer Networks Spring 2017

ECE 4450:427/527 - Computer Networks Spring 2017 ECE 4450:427/527 - Computer Networks Spring 2017 Dr. Nghi Tran Department of Electrical & Computer Engineering Lecture 6.2: IP Dr. Nghi Tran (ECE-University of Akron) ECE 4450:427/527 Computer Networks

More information

The Internet Protocol (IP)

The Internet Protocol (IP) The Internet Protocol (IP) The Blood of the Internet (C) Herbert Haas 2005/03/11 "Information Superhighway is really an acronym for 'Interactive Network For Organizing, Retrieving, Manipulating, Accessing

More information

Lecture 8. Network Layer (cont d) Network Layer 1-1

Lecture 8. Network Layer (cont d) Network Layer 1-1 Lecture 8 Network Layer (cont d) Network Layer 1-1 Agenda The Network Layer (cont d) What is inside a router Internet Protocol (IP) IPv4 fragmentation and addressing IP Address Classes and Subnets Network

More information

ECE 650 Systems Programming & Engineering. Spring 2018

ECE 650 Systems Programming & Engineering. Spring 2018 ECE 650 Systems Programming & Engineering Spring 2018 Networking Transport Layer Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) TCP/IP Model 2 Transport Layer Problem solved:

More information

Chapter 5 TCP/IP SUITE

Chapter 5 TCP/IP SUITE Chapter 5 TCP/IP SUITE Objectives:- TCP/ IP Model Concept. Defining/functioning of different Layers of TCP / IP suite. 5.1 Introduction Addressing mechanism in the Internet An IP address is an address

More information

1. Which OSI layers offers reliable, connection-oriented data communication services?

1. Which OSI layers offers reliable, connection-oriented data communication services? CCNA 1 Practice Final Exam Answers v4.0 100% 1. Which OSI layers offers reliable, connection-oriented data communication services? application presentation session transport network 2. Refer to the exhibit.

More information

The Internet. The Internet is an interconnected collection of netw orks.

The Internet. The Internet is an interconnected collection of netw orks. The Internet The Internet is an interconnected collection of netw orks. Internetw orking-1 Internetworking! Communications Network: A facility that provides a data transfer service among stations attached

More information

C18: Network Fundamentals and Reliable Sockets

C18: Network Fundamentals and Reliable Sockets CISC 3120 C18: Network Fundamentals and Reliable Sockets Hui Chen Department of Computer & Information Science CUNY Brooklyn College 4/16/2018 CUNY Brooklyn College 1 Outline Networking fundamentals Network

More information

Introduction to TCP/IP networking

Introduction to TCP/IP networking Introduction to TCP/IP networking TCP/IP protocol family IP : Internet Protocol UDP : User Datagram Protocol RTP, traceroute TCP : Transmission Control Protocol HTTP, FTP, ssh What is an internet? A set

More information

CPEG514 Advanced Computer Networks. Atef Abu Salim University of Nizwa Spring 2013/2014

CPEG514 Advanced Computer Networks. Atef Abu Salim University of Nizwa Spring 2013/2014 CPEG514 Advanced Computer Networks Atef Abu Salim University of Nizwa Spring 2013/2014 Today s Class Topics Course Syllabus Computer Networks LANs and WANs The Internet Protocols, Layers and Interfaces

More information

Chapter 6: Network Communications and Protocols

Chapter 6: Network Communications and Protocols Learning Objectives Chapter 6: Network Communications and Protocols Understand the function and structure of packets in a network, and analyze and understand those packets Understand the function of protocols

More information

Lab - Using Wireshark to Examine a UDP DNS Capture

Lab - Using Wireshark to Examine a UDP DNS Capture Topology Objectives Part 1: Record a PC s IP Configuration Information Part 2: Use Wireshark to Capture DNS Queries and Responses Part 3: Analyze Captured DNS or UDP Packets Background / Scenario If you

More information

Lecture 3. The Network Layer (cont d) Network Layer 1-1

Lecture 3. The Network Layer (cont d) Network Layer 1-1 Lecture 3 The Network Layer (cont d) Network Layer 1-1 Agenda The Network Layer (cont d) What is inside a router? Internet Protocol (IP) IPv4 fragmentation and addressing IP Address Classes and Subnets

More information

Objectives. Chapter 10. Upon completion you will be able to:

Objectives. Chapter 10. Upon completion you will be able to: Chapter 10 Figure 10.1 Position of IGMP in the network layer Objectives Upon completion you will be able to: Know the purpose of IGMP Know the types of IGMP messages Understand how a member joins a group

More information

Internetworking Terms. Internet Structure. Internet Structure. Chapter 15&16 Internetworking. Internetwork Structure & Terms

Internetworking Terms. Internet Structure. Internet Structure. Chapter 15&16 Internetworking. Internetwork Structure & Terms Chapter 15&16 Internetworking Internetwork Structure & Terms Internetworking Architecture Features Connection/Connectionless Architecture Fragmentation & Reassembly Internet Protocol & Services Addressing

More information

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided.

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided. 223 Chapter 19 Inter mediate TCP The Transmission Control Protocol/Internet Protocol (TCP/IP) suite of protocols was developed as part of the research that the Defense Advanced Research Projects Agency

More information

Lab - Using Wireshark to Examine a UDP DNS Capture

Lab - Using Wireshark to Examine a UDP DNS Capture Topology Objectives Part 1: Record a PC s IP Configuration Information Part 2: Use Wireshark to Capture DNS Queries and Responses Part 3: Analyze Captured DNS or UDP Packets Background / Scenario If you

More information

CIS-331 Final Exam Fall 2015 Total of 120 Points. Version 1

CIS-331 Final Exam Fall 2015 Total of 120 Points. Version 1 Version 1 1. (25 Points) Given that a frame is formatted as follows: And given that a datagram is formatted as follows: And given that a TCP segment is formatted as follows: Assuming no options are present

More information

IT 341: Introduction to System

IT 341: Introduction to System IT 341: Introduction to System Administration Private IP Addresses and the Internet Using IP Addresses to Communicate Over the Internet Network Address Translation Private IP Addresses and the Internet

More information

UDP CONNECT TO A SERVER

UDP CONNECT TO A SERVER UDP The User Datagram Protocol Stefan D. Bruda Winter 2018 Very similar to the TCP in terms of API Dissimilar with TCP in terms of innards (and hence programming techniques) Many-to-many communication.

More information