Distributed Real-Time Control Systems
|
|
- Brittney Merilyn Harris
- 5 years ago
- Views:
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 1 Network Programming with Sockets Sockets are probably the most widely used objects in programming networked communications. What is a socket? To
More informationDistributed 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 informationDistributed 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 informationDistributed 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 informationDistributed 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 informationChapter 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 informationNetworking 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 informationTCP /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 informationData 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 informationEITF25 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 informationInternet 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 informationIP 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 informationPART 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 informationTCP/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 informationOperating 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 informationOn 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 informationReal-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 informationNetwork 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 informationUNIT 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 informationET4254 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 informationTransport 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 informationECE4110 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 informationECE 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 informationUser 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 informationTHE 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 informationRMIT 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 informationDistributed 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 informationIntroduction 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 informationIntroduction 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 informationTransport 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 informationSEN366 (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 informationComputer 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 informationQUIZ: 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 informationInternetwork 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 informationChapter 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 informationQuestion 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 informationInterprocess 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 informationshared 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 informationII. 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 informationCS164 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 informationETSF05/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 informationIP - 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 informationChapter 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 informationDefining 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 informationIntroduction 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 informationECE 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 informationMcGraw-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 informationData & 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 informationData 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 informationCS 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 informationMemory-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 informationChapter 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 informationJust 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 informationCS 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 informationComputer 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 information19: 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 informationIP: 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 informationCS 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 informationNetwork 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 informationCSCI-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 informationTransport 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 informationGuide 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 informationChapter 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 informationEEC-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 informationEE 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 informationLecture 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 informationWide 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 informationTSIN02 - 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 informationTSIN02 - 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 informationTCP/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 informationIntroduction 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 informationLecture 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 informationLast 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 informationProf. 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 informationARP, 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 informationELEC5616 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 informationApplied 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 informationExamination 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 informationChapter 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 informationIntroduction. 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 informationCS475 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 informationCSE 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 informationThe 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 informationUnit 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 informationEEC-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 informationIP - 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 informationConcept 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 informationLayer 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 informationChapter 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 informationAsynchronous 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 informationinterface 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 informationLecture 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 informationData 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 informationCMPE 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 informationEEC-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 informationLayer 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 informationOSI 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 informationObjectives. 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 informationChapter 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 informationMODULE: 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