Distributed Real-Time Control Systems

Size: px
Start display at page:

Download "Distributed Real-Time Control Systems"

Transcription

1 Distributed Real-Time Control Systems Lecture 18 More on Boost ASIO Ethernet Communications Sockets in C++ 1

2 Boost Asio Communication Functions Boost Asio abstracts communication channels as streams. Streams can be sockets (UDP, TCP, ICMP), serial I/O, files. It provides the following functions to read or write synchronously or asynchronously to streams: async_read(stream, stream_buffer, [completion_test,] completion_handler); read(stream, stream_buffer, [completion_test]); async_write(stream, stream_buffer, [completion_test,] completion_handler); write(stream, stream_buffer, [completion_test]); async_read_until(stream, stream_buffer, delim, completion_handler); read_until(stream, stream_buffer, delim); async_read_at(stream, offset, buffer [, completion_test], completion_handler); read_at(stream, offset, buffer [, completion_test]); async_write_at(stream, offset, buffer [, completion_test], completion_handler) write_at(stream, offset, buffer [, completion_test]) 2

3 Boost Asio Completion Test The completion function is called after each successful read, and tells Boost.Asio if the read/write operation is complete (if not, it will continue to read/write); Function prototype is: size_t completion(const boost::system::error_code& err, size_t bytes_transfered) ; Boost.Asio comes with a few helper completion_test functions: transfer_at_least(n) transfer_exactly(n) transfer_all() 3

4 Boost Asio Completion Handler Each read or write operation will end when one of these conditions occur: The supplied buffer is full (for read) or all the data in the buffer has been written (for write). The completion function returns 0 (if you supplied one such function). A delimiter is provided in the (async_)read_until functions (a char, string or regex). An error occurs When the operation ends, the data will be available at the provided buffer (if read), and the user provided completion_handler is invoked: void handler(const boost::system::error_ code & err, size_t bytes) 4

5 Boost Asio Buffers boost::asio::buffer( ) is a function that creates and object that manages raw memory. If can manage POD types (plain old data arrays), vectors of POD and strings. char *d0[1024]; auto b0 boost::asio::buffer(d0, 128)); char d1[128]; auto b1 = boost::asio::buffer(d1); std::vector<char> d2(128); auto b2 = boost::asio::buffer(d2); std::array<char, 128> d3; auto b3 = boost::asio::buffer(d3); 5

6 Boost Asio Timers Boost asio provides the following timer classes: deadline_timer high_resolution_timer steady_timer system_timer All classes provide function async_wait which can be used to manage pauses and check for deadlines asynchronously. io_service service; bool read = false; char data[512]; ip::tcp::socket sock(service); deadline_timer t(service, boost::posix_time::milliseconds(100)); void deadline_handler(const boost::system::error_code &) { std::cout << (read? "read successfully" : "read failed") << std::endl; } void read_handler(const boost::system::error_code &) { read = true; } sock.async_read_some(buffer(data, 512), read_handler); t.async_wait(&deadline_handler); service.run(); 6

7 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. 7

8 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 8

9 The First Ethernet Designed by Bob Metcalf at PARC in 1972/3 9

10 Ethernet Evolution Ethernet today is not the same as it was when it was invented 30 years ago. Improvements have consisted of : Higher bandwidth Dual duplex Switching Prioritisation VLANs 10

11 Original Ethernet Original Ethernet composed of one collision domain. Only one device at a time can talk. 11

12 Switching Switched Ethernet has broken up the collision domains Now lots of little collision domains. 12

13 Full Duplex Switched Ethernet with full duplex communication Now there are no collision domains and hence no collisions! 13

14 Ethernet Performance : Case Study Application with one Master, 31 Slaves and 4 RS2-Switches 14

15 Ethernet Performance: Timings 100Mbps = 10 nsec / bit Payload, for example 54 byte Ethernet frame: 14 bytes (header) 54 bytes (payload) 4 bytes (CRC) Total: 72 byte = 576 bit 576 bit * 10 nsec / bit = 5.76 us Latency in switches: 4us (Typ). 15

16 Multicast Performance SW1 to SW2 16

17 Multicast Performance 17

18 Scan Times Scan time of 100Mbps network 52 μs + 240μs = 292 μs Scan time of a 10Mbps network 312 μs μs = 2505 μs Scan time of 10Mbps network with 100Mbps links between Switches 156 μs μs = 924 μs 18

19 Ethernet for Real-Time Control? Can Ethernet cope with the demands of a real-time control network? Scan times are as quick if not quicker than contemporary bus systems. Deterministic in a controlled traffic network. Worldwide, open standards means all vendors support Ethernet. Evolutionary history means it can only get better! Specialized implementations of Real-Time Ethernet (RTE): PROFINET, ETHERNET Powerlink, EtherCAT 19

20 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 20

21 The Internet Protocol (IP) Packetization Data is encapsulated in one or more Packets/Datagrams Best-Effort Delivery - unspecified variable bit rate and delivery time, depending on the current traffic load Reliability Only ensures the IP packet header is error-free through the use of a checksum. Addressing - how end hosts become assigned IP addresses and how subnetworks of IP host addresses are divided and grouped together Evolving Protocols - IPv4, IPv6 21

22 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. 22

23 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,

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

25 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

26 Packet Forwarding Forwarding is the relaying of packets from one network segment to another by nodes in a computer network. Usually done by network switches or routers. unicasting Unicasting packet relay from link to link. Broadcasting packets are duplicated and copies sent to all links. multicasting Multicasting packets are selectively duplicated and sent to a set of links. broadcasting 26

27 Routing Techniques What is the best path between nodes J and E? Fastest Shortest I 6 G 4 D 1 B Connection cost Host J 1 7 H 3 2 C F A 6 K 5 2 E Local minimization of a cost function whose parameters are obtained by local information exchange between neighbour routers ( IGCP protocol). Typical cost functions: Shortest path. Fastest path. Least switches path. Flooding technique: Test all possible paths. 27

28 Traffic Control Traffic control tries to optimize the existing resourses in the transmission of packets in a network. This is a dificult and still open problem. Modeling, control strategies, and stability analysis are under active research. Optimal strategy Desireable strategy Número de pacotes entregues Maximum network capacity Congestion # packets 28

29 Delays and Losses in IP Delays and message losses are important factors in real time communications. The Internet Protocol (IP) offers few guarantees of real-time. Delays in the packet switching network may occur at any point due to: 1. Processing delays. 2. Waiting queue delays. 3. Transmission delays. 4. Propagation Delays. Packets get lost when the waiting queues are full. Lost packets can be retransmitted either by the transport layer (TCP) or by the application layer if using connectionless transports (UDP). 29

30 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. 30

31 Stream Sockets Connection oriented, require handshake Use TCP protocol Local address: IP address and port number. Remote address: IP address and port number. Datagram Sockets Connectionless, low overhead Use UDP protocol Types of Sockets 31

32 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. 32

33 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 33

34 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() 34

35 Socket Primitives socket() creates a new socket of a certain socket type (tcp,udp), identified by an integer number, 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, and assigns a free local port number to a socket. In case of a TCP socket, it causes an attempt 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. send() and recv(), or write() and read(), or sendto() and recvfrom(), are used for sending and receiving data to/from a remote socket. 35

36 Boost Stream Sockets Boost Stream Sockets are part of the ASIO library: #include <boost/asio.hpp> Important classes ip::tcp::acceptor ip::tcp::endpoint ip::tcp::iostream ip::tcp::resolver ip::tcp::socket Important functions socket::socket() acceptor::acceptor() acceptor::accept() ip::tcp::connect() ip::tcp::read() ip::tcp::write() 36

37 //TCPSERVER.CPP #include <boost/asio.hpp> using namespace boost::asio; using ip::tcp; Boost Synchronous TCP Example Compile with g++ V4.7.0 or bigger: g++ -std=c++11 tcpserver.cpp lpthread lboost_system-mt int main() { //initialize services io_service io; //create a listening socket // bind and start listening at port tcp::acceptor acceptor(io, tcp::endpoint(tcp::v4(), 10000)); for (;;) { //create service socket tcp::socket socket(io); //wait client to connect tcp::acceptor.accept(socket); //client isaccessingservice write(socket, buffer( Hello World\n )); } } //TCPCLIENT.CPP #include <iostream> #include <boost/array.hpp> #include <boost/asio.hpp> using namespace boost::asio; using ip::tcp; int main() { io_service io; boost::system::error_code err; tcp::resolver resolver(io); tcp::resolver::query query( , ); tcp::resolver::iterator endpoint = resolver.resolve(query); tcp::socket socket(io); socket.connect(*endpoint,err); //connect and wait for (;;) { boost::array<char, 128> buf; size_t len = socket.read_some(buffer(buf), err); if (err == error::eof) break; // Closed cleanly by peer. else if (err) std::cout << Unknown Error ; std::cout.write(buf.data(), len); } } 37

38 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. 38

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

40 Boost Datagram Sockets Important classes ip::udp::endpoint ip::udp::resolver ip::udp::socket Important functions socket::receive_from() socket::send_to() 40

41 Boost Synchronous UDP Example //UDP SERVER #iinclude <iostream> #include <boost/asio.hpp> using namespace boost::asio; using ip::udp; int main() { io_service io; udp::socket socket(io,udp::endpoint(udp::v4(),10000)); for (;;) { boost::array<char, 1> recv; udp::endpoint client; boost::system::error_code err; //client endpoint retrieved on receive_from socket.receive_from(buffer(recv),client, 0, err); if (err && err!= error::message_size) { std::cout << Error << std::endl; return -1; } boost::system::error_code ignored; socket.send_to(buffer( Hello\n ), client, 0, ignored); } } // UDP CLIENT #iinclude <iostream> #include <boost/asio.hpp> using namespace boost::asio; using ip::udp; int main() { io_service io; udp::resolver resolver(io); udp::resolver::query query(udp::v4(), " ", "10000"); udp::endpoint receiver = *resolver.resolve(query); udp::socket socket(io); socket.open(udp::v4()); boost::array<char, 1> send_buf = {{ 0 }}; //send dummy data to initiate communication socket.send_to(buffer(send_buf), receiver); boost::array<char, 128> recv_buf; udp::endpoint sender; size_t len = socket.receive_from( buffer(recv_buf), sender); //write received data to console std::cout.write(recv_buf.data(), len); } 41

Distributed Real-Time Control Systems. Module 26 Sockets

Distributed Real-Time Control Systems. Module 26 Sockets Distributed Real-Time Control Systems Module 26 Sockets 1 Network Programming with Sockets Sockets are probably the most widely used objects in programming networked communications. What is a socket? To

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 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

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

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

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

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

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

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

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

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

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

Operating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski

Operating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski Operating Systems 16. Networking Paul Krzyzanowski Rutgers University Spring 2015 1 Local Area Network (LAN) LAN = communications network Small area (building, set of buildings) Same, sometimes shared,

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

Real-Time, Determinism and Ethernet

Real-Time, Determinism and Ethernet Real-Time, Determinism and Ethernet Paul Taylor Slide 1 Agenda Definitions Real-Time Determinism Control Network Ethernet Evolution Bandwidth Switches Fast Ethernet Full Duplex Prioritisation Redundancy

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

UNIT IV -- TRANSPORT LAYER

UNIT IV -- TRANSPORT LAYER UNIT IV -- TRANSPORT LAYER TABLE OF CONTENTS 4.1. Transport layer. 02 4.2. Reliable delivery service. 03 4.3. Congestion control. 05 4.4. Connection establishment.. 07 4.5. Flow control 09 4.6. Transmission

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

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

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

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

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

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

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

Distributed Systems. 02. Networking. Paul Krzyzanowski. Rutgers University. Fall 2017

Distributed Systems. 02. Networking. Paul Krzyzanowski. Rutgers University. Fall 2017 Distributed Systems 02. Networking Paul Krzyzanowski Rutgers University Fall 2017 1 Inter-computer communication Without shared memory, computers need to communicate Direct link Direct links aren't practical

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

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

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

Computer Networks (Introduction to TCP/IP Protocols)

Computer Networks (Introduction to TCP/IP Protocols) Network Security(CP33925) Computer Networks (Introduction to TCP/IP Protocols) 부산대학교공과대학정보컴퓨터공학부 Network Type Elements of Protocol OSI Reference Model OSI Layers What we ll learn today 2 Definition of

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

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

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

Question 7: What are Asynchronous links?

Question 7: What are Asynchronous links? Question 1:.What is three types of LAN traffic? Unicasts - intended for one host. Broadcasts - intended for everyone. Multicasts - intended for an only a subset or group within an entire network. Question2:

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

II. Principles of Computer Communications Network and Transport Layer

II. Principles of Computer Communications Network and Transport Layer II. Principles of Computer Communications Network and Transport Layer A. Internet Protocol (IP) IPv4 Header An IP datagram consists of a header part and a text part. The header has a 20-byte fixed part

More information

CS164 Final Exam Winter 2013

CS164 Final Exam Winter 2013 CS164 Final Exam Winter 2013 Name: Last 4 digits of Student ID: Problem 1. State whether each of the following statements is true or false. (Two points for each correct answer, 1 point for each incorrect

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

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

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

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

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

ECE 650 Systems Programming & Engineering. Spring 2018

ECE 650 Systems Programming & Engineering. Spring 2018 ECE 650 Systems Programming & Engineering Spring 2018 Networking Introduction Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) Computer Networking A background of important areas

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

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

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

CS 421: COMPUTER NETWORKS SPRING FINAL May 16, minutes

CS 421: COMPUTER NETWORKS SPRING FINAL May 16, minutes CS 4: COMPUTER NETWORKS SPRING 03 FINAL May 6, 03 50 minutes Name: Student No: Show all your work very clearly. Partial credits will only be given if you carefully state your answer with a reasonable justification.

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

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

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

CS 43: Computer Networks Switches and LANs. Kevin Webb Swarthmore College December 5, 2017

CS 43: Computer Networks Switches and LANs. Kevin Webb Swarthmore College December 5, 2017 CS 43: Computer Networks Switches and LANs Kevin Webb Swarthmore College December 5, 2017 Ethernet Metcalfe s Ethernet sketch Dominant wired LAN technology: cheap $20 for NIC first widely used LAN technology

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

19: Networking. Networking Hardware. Mark Handley

19: Networking. Networking Hardware. Mark Handley 19: Networking Mark Handley Networking Hardware Lots of different hardware: Modem byte at a time, FDDI, SONET packet at a time ATM (including some DSL) 53-byte cell at a time Reality is that most networking

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

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP CS 5520/ECE 5590NA: Network Architecture I Spring 2008 Lecture 13: UDP and TCP Most recent lectures discussed mechanisms to make better use of the IP address space, Internet control messages, and layering

More information

Network Model. Why a Layered Model? All People Seem To Need Data Processing

Network Model. Why a Layered Model? All People Seem To Need Data Processing Network Model Why a Layered Model? All People Seem To Need Data Processing Layers with Functions Packet Propagation Each router provides its services to support upper-layer functions. Headers (Encapsulation

More information

CSCI-GA Operating Systems. Networking. Hubertus Franke

CSCI-GA Operating Systems. Networking. Hubertus Franke CSCI-GA.2250-001 Operating Systems Networking Hubertus Franke frankeh@cs.nyu.edu Source: Ganesh Sittampalam NYU TCP/IP protocol family IP : Internet Protocol UDP : User Datagram Protocol RTP, traceroute

More information

Transport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol

Transport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol Transport Layer Transport Layer The transport layer is responsible for the delivery of a message from one process to another Types of Data Deliveries Client/Server Paradigm An application program on the

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

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

EEC-682/782 Computer Networks I

EEC-682/782 Computer Networks I EEC-682/782 Computer Networks I Lecture 16 Wenbing Zhao w.zhao1@csuohio.edu http://academic.csuohio.edu/zhao_w/teaching/eec682.htm (Lecture nodes are based on materials supplied by Dr. Louise Moser at

More information

EE 610 Part 2: Encapsulation and network utilities

EE 610 Part 2: Encapsulation and network utilities EE 610 Part 2: Encapsulation and network utilities Objective: After this experiment, the students should be able to: i. Understand the format of standard frames and packet headers. Overview: The Open Systems

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

Wide area networks: packet switching and congestion

Wide area networks: packet switching and congestion Wide area networks: packet switching and congestion Packet switching ATM and Frame Relay Congestion Circuit and Packet Switching Circuit switching designed for voice Resources dedicated to a particular

More information

TSIN02 - Internetworking

TSIN02 - Internetworking Lecture 4: Transport Layer Literature: Forouzan: ch 11-12 2004 Image Coding Group, Linköpings Universitet Lecture 4: Outline Transport layer responsibilities UDP TCP 2 Transport layer in OSI model Figure

More information

TSIN02 - Internetworking

TSIN02 - Internetworking TSIN02 - Internetworking Literature: Lecture 4: Transport Layer Forouzan: ch 11-12 Transport layer responsibilities UDP TCP 2004 Image Coding Group, Linköpings Universitet 2 Transport layer in OSI model

More information

TCP/IP Networking. Part 4: Network and Transport Layer Protocols

TCP/IP Networking. Part 4: Network and Transport Layer Protocols TCP/IP Networking Part 4: Network and Transport Layer Protocols Orientation Application Application protocol Application TCP TCP protocol TCP IP IP protocol IP IP protocol IP IP protocol IP Network Access

More information

Introduction to Internet. Ass. Prof. J.Y. Tigli University of Nice Sophia Antipolis

Introduction to Internet. Ass. Prof. J.Y. Tigli University of Nice Sophia Antipolis Introduction to Internet Ass. Prof. J.Y. Tigli University of Nice Sophia Antipolis What about inter-networks communications? Between LANs? Ethernet?? Ethernet Example Similarities and Differences between

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

Last time. Wireless link-layer. Introduction. Characteristics of wireless links wireless LANs networking. Cellular Internet access

Last time. Wireless link-layer. Introduction. Characteristics of wireless links wireless LANs networking. Cellular Internet access Last time Wireless link-layer Introduction Wireless hosts, base stations, wireless links Characteristics of wireless links Signal strength, interference, multipath propagation Hidden terminal, signal fading

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

ARP, IP. Chong-Kwon Kim. Each station (or network interface) should be uniquely identified Use 6 byte long address

ARP, IP. Chong-Kwon Kim. Each station (or network interface) should be uniquely identified Use 6 byte long address ARP, IP Chong-Kwon Kim Routing Within a LAN MAC Address Each station (or network interface) should be uniquely identified Use 6 byte long address Broadcast & Filter Broadcast medium Signals are transmitted

More information

ELEC5616 COMPUTER & NETWORK SECURITY

ELEC5616 COMPUTER & NETWORK SECURITY ELEC5616 COMPUTER & NETWORK SECURITY Lecture 17: Network Protocols I IP The Internet Protocol (IP) is a stateless protocol that is used to send packets from one machine to another using 32- bit addresses

More information

Applied Networks & Security

Applied Networks & Security Applied Networks & Security TCP/IP Protocol Suite http://condor.depaul.edu/~jkristof/it263/ John Kristoff jtk@depaul.edu IT 263 Spring 2006/2007 John Kristoff - DePaul University 1 ARP overview datalink

More information

Examination 2D1392 Protocols and Principles of the Internet 2G1305 Internetworking 2G1507 Kommunikationssystem, fk SOLUTIONS

Examination 2D1392 Protocols and Principles of the Internet 2G1305 Internetworking 2G1507 Kommunikationssystem, fk SOLUTIONS Examination 2D1392 Protocols and Principles of the Internet 2G1305 Internetworking 2G1507 Kommunikationssystem, fk Date: January 17 th 2006 at 14:00 18:00 SOLUTIONS 1. General (5p) a) Draw the layered

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

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

CS475 Networks Lecture 8 Chapter 3 Internetworking. Ethernet or Wi-Fi).

CS475 Networks Lecture 8 Chapter 3 Internetworking. Ethernet or Wi-Fi). Assignments Reading for Lecture 9: Section 3.3 3.2 Basic Internetworking (IP) Bridges and LAN switches from last section have limited ability CS475 Networks Lecture 8 Chapter 3 Internetworking is a logical

More information

CSE 422 Jeopardy. Sockets TCP/UDP IP Routing Link $100 $200 $300 $400. Sockets - $100

CSE 422 Jeopardy. Sockets TCP/UDP IP Routing Link $100 $200 $300 $400. Sockets - $100 CSE 422 Jeopardy Sockets TCP/UDP IP Routing Link $100 $100 $100 $100 $100 $200 $200 $200 $200 $200 $300 $300 $300 $300 $300 $400 $400 $400 $400 $400 $500 $500 $500 $500 $500 Sockets - $100 True or False:

More information

The Link Layer and LANs: Ethernet and Swiches

The Link Layer and LANs: Ethernet and Swiches The Link Layer and LNs: Ethernet and Swiches EECS3214 2018-03-21 Link layer, LNs: outline 6.1 introduction, services 6.2 error detection, correction 6.3 multiple access protocols 6.4 LNs addressing, RP

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

EEC-484/584 Computer Networks. Lecture 16. Wenbing Zhao

EEC-484/584 Computer Networks. Lecture 16. Wenbing Zhao EEC-484/584 Computer Networks Lecture 16 wenbing@ieee.org (Lecture nodes are based on materials supplied by Dr. Louise Moser at UCSB and Prentice-Hall) Outline 2 Review Services provided by transport layer

More information

IP - The Internet Protocol

IP - The Internet Protocol IP - The Internet Protocol 1 Orientation IP s current version is Version 4 (IPv4). It is specified in RFC 891. TCP UDP Transport Layer ICMP IP IGMP Network Layer ARP Network Access Link Layer Media 2 IP:

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

Layer 2 functionality bridging and switching

Layer 2 functionality bridging and switching Layer 2 functionality bridging and switching BSAD 141 Dave Novak Sources: Network+ Guide to Networks, Dean 2013 Overview Layer 2 functionality Error detection Bridges Broadcast and collision domains How

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

Asynchronous I/O With boost.asio

Asynchronous I/O With boost.asio Asynchronous I/O With boost.asio Avishay Orpaz avishorp@gmail.com @avishorp https://github.com/avishorp SO, You want to make some I/O. SO, You want to make some I/O. That s pretty easy: //Create socket

More information

interface Question 1. a) Applications nslookup/dig Web Application DNS SMTP HTTP layer SIP Transport layer OSPF ICMP IP Network layer

interface Question 1. a) Applications  nslookup/dig Web Application DNS SMTP HTTP layer SIP Transport layer OSPF ICMP IP Network layer TDTS06 Computer networks, August 23, 2008 Sketched answers to the written examination, provided by Juha Takkinen, IDA, juhta@ida.liu.se. ( Sketched means that you, in addition to the below answers, need

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

Data Link Layer. Our goals: understand principles behind data link layer services: instantiation and implementation of various link layer technologies

Data Link Layer. Our goals: understand principles behind data link layer services: instantiation and implementation of various link layer technologies Data Link Layer Our goals: understand principles behind data link layer services: link layer addressing instantiation and implementation of various link layer technologies 1 Outline Introduction and services

More information

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 18

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 18 CMPE 150/L : Introduction to Computer Networks Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 18 1 Final project demo Please do the demo THIS week to the TAs. Or you are allowed to use

More information

EEC-684/584 Computer Networks

EEC-684/584 Computer Networks EEC-684/584 Computer Networks Lecture 14 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 Internetworking

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

OSI Layer OSI Name Units Implementation Description 7 Application Data PCs Network services such as file, print,

OSI Layer OSI Name Units Implementation Description 7 Application Data PCs Network services such as file, print, ANNEX B - Communications Protocol Overheads The OSI Model is a conceptual model that standardizes the functions of a telecommunication or computing system without regard of their underlying internal structure

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

Chapter 5: Ethernet. Introduction to Networks - R&S 6.0. Cisco Networking Academy. Mind Wide Open

Chapter 5: Ethernet. Introduction to Networks - R&S 6.0. Cisco Networking Academy. Mind Wide Open Chapter 5: Ethernet Introduction to Networks - R&S 6.0 Cisco Networking Academy Mind Wide Open Chapter 5 - Sections 5.1 Ethernet Protocol Describe the Ethernet MAC address and frame fields 5.2 LAN Switches

More information

MODULE: NETWORKS MODULE CODE: CAN1102C. Duration: 2 Hours 15 Mins. Instructions to Candidates:

MODULE: NETWORKS MODULE CODE: CAN1102C. Duration: 2 Hours 15 Mins. Instructions to Candidates: BSc.(Hons) Computer Science with Network Security BEng (Hons) Telecommunications Cohort: BCNS/17B/FT Examinations for 2017-2018 / Semester 2 Resit Examinations for BCNS/15A/FT, BTEL/15B/FT & BTEL/16B/FT

More information