Nabto SDK Nabto Serial Link Protocol
|
|
- Nancy Bates
- 5 years ago
- Views:
Transcription
1 Nabto SDK Nabto Serial Link Protocol Nabto/001/TEN/011 Nabto Nabto/001/TEN/011 Nabto Serial Link Protocol Page 1 of 23
2 Vocabulary Contents 1 Vocabulary Introduction Access control Connection type Access control check Protocol details Binary protocol Layers Commands NSLP version request NSLP version report Notification Query request Query response Event data push Event data acknowledge Stream request Stream response Stream data Queries Get gateway information Nabto Nabto/001/TEN/011 Nabto Serial Link Protocol Page 2 of 23
3 Vocabulary 6.2 Access control Get users from access control list Add user to access control list Remove user from access control list Get allow remote access Set allow remote access Get default local permissions Set default local permissions Get default remote permissions Set default remote permissions Gateway configuration Get communications port bitrate Set communications port bitrate Get alternative device id Set alternative device id Get alternative HTML device driver Set alternative HTML device driver IO pin control Get pin mode Set pin mode Get digital pin value Set digital pin value Streams Multiplexed stream Non- multiplexed stream Forced non- multiplexed stream Check list for device application creators Maximum packet length Full duplex communication Nabto Nabto/001/TEN/011 Nabto Serial Link Protocol Page 3 of 23
4 Vocabulary 1 Vocabulary ACL Access Control List. The method used for permitting and denying specific user actions. Client Command Device Device Command Device query Gateway Gateway Command Gateway query Local connection NSLP Query Remote connection Communications port A Nabto client. Either a Nabto enabled browser or an application using the client API. Used for communication between Gateway and Device. A unit using the Gateway to communicate with Nabto clients. A command sent from the Gateway to the Device. A query forwarded by the Gateway and handled by the Device. Device queries have a query identifier in the range [0x x7FFFFFFF]. A unit implementing the NSLP protocol to function as a gateway between Nabto clients and a Device. A command sent from the Device to the Gateway. A query handled by the Gateway. Gateway queries has a value query identifier in the range [0x xFFFFFFFF]. A connection to the Gateway from a client located on the same physical network as the Gateway. Nabto Serial Link Protocol. Used for communication between Gateway and Client. A connection to the Gateway from a client not located on the same physical network as the Gateway. The port through which the gateway communicates with the device (i.e. the serial port). Nabto Nabto/001/TEN/011 Nabto Serial Link Protocol Page 4 of 23
5 Introduction 2 Introduction This document is the specification of the Nabto Serial Link Protocol (NSLP). Previous knowledge of Nabto is required to read this specification. Please refer to Nabto s starter kit documentation on nabto.com/technology for a detailed description of Nabto. The NSLP protocol is designed to expose a device as a Nabto enabled device using a gateway device like the Nabto userver. This setup is illustrated below. Figure 1 A setup using an NSLP gateway. 3 Access control The NSLP gateway provides access control based on the client s id ( ) and connection type. Furthermore, as the client s id is (optionally) sent to the Device along with forwarded requests fine- grained custom access control can be implemented on the Device. 3.1 Connection type The Gateway distinguishes between clients connected to the same physical network as the Gateway and those that are not. When a client is located on the same physical network, the connection type is denoted local. In all other cases, the connection type is remote. Nabto Nabto/001/TEN/011 Nabto Serial Link Protocol Page 5 of 23
6 Protocol details 3.2 Access control check For a query or stream request from a client to pass the access control one of the following checks must pass: 1. The user must be locally connected, be present in the ACL and have assigned both LOCAL_ACCESS permission and whatever permissions are required by the request. 2. The user must be remotely connected, be present in the ACL and have assigned both REMOTE_ACCESS permission and whatever permissions are required by the request. Remote access must be enabled. 3. The user must be locally connected and the default local user is assigned both LOCAL_ACCESS permission and whatever permissions are required by the request. 4. The user must be remotely connected and the default remote user is assigned both REMOTE_ACCESS permission and whatever permissions are required by the request. Remote access must be enabled. The table below lists the permissions a user can be assigned. Index Name Description 0 Local access Permit local connection establishment. 1 Remote access Permit remote connection establishment. 2 Gateway request Permit execution of requests on the gateway. 3 Device request Permit execution of requests on the device. 4 Multiplexed stream Permit creation of a multiplexed stream. 5 Non- multiplexed stream Permit creation of a non- multiplexed stream. 6 Forced non- multiplexed stream Permit creation of a forced non- multiplexed stream. 7 Access control Permit interaction with the access control settings. 8 IO control Permit control of the IO pins. 9 Configuration Permit interaction with the gateway configuration. 4 Protocol details The Device communicates with the Gateway using commands. A command consists of a command identifier and, if appropriate, one or more parameters. This section describes this protocol in details. Nabto Nabto/001/TEN/011 Nabto Serial Link Protocol Page 6 of 23
7 Protocol details 4.1 Binary protocol The following describes the binary protocol using a layered architecture Layers NSLP applications NSLP Server NSLP Client Application layer NSLP Server API NSLP Client API Transport layer NSLP Binary Transport NSLP Binary Transport Link layer NSLP Binary Link NSLP Binary Link Physical layer Communications port Communications port NSLP applications NSLP Server Implemented by Nabto NSLP Client Implemented by the customer to interface with a NSLP gateway. Builds on top of the NSLP client API. A demonstration implementation is provided by Nabto Application layer Exposes the NSLP command API to applications Responsibilities Construction of outgoing packets and decoding of incoming packets. Converts from NSLP endianness to host endianness (where necessary) NSLP Server API Exposes the commands relevant for a server application NSLP Client API Exposes the commands relevant for a client application Transport layer (NSLP Binary Transport - NBT) Provides reliable transfer of packets between two NSLP nodes Responsibilities Transmission and reception of packets. Nabto Nabto/001/TEN/011 Nabto Serial Link Protocol Page 7 of 23
8 Commands Checksum generation and check to detect damaged packets. Sequence number generation and check to avoid duplicated packets Interface Send Receive The checksum is the ones - complement sum of all header and payload bytes. During checksum calculation, the checksum field in the header must be zero Link layer (NSLP Binary Link - NBL) Responsibilities Transmission and reception of frames. Framing. Byte stuffing Interface void Send(uint8* frame, uint16 framelength) uint16 Receive(uint8* frame) The standard link layer protocol for NSLP is SLIP. Please refer to RFC1055 for details on SLIP Physical layer The actual physical layer depends on the physical platform used. The general term communication port is used which will in most applications be a UART Interface void Write(uint8) uint8 Read() uint16 CanWrite() uint16 CanRead() 5 Commands This section describes the commands provided by the NSLP protocol for communication with the Device. Nabto Nabto/001/TEN/011 Nabto Serial Link Protocol Page 8 of 23
9 Commands Commands can originate from either the Gateway or the Device. Both the Gateway and the Device send commands in a stop- and- wait manner in which the other end must acknowledge a packet (if appropriate) before the next packet can be sent. As a result, both ends must be able to accept a command while waiting for an acknowledge packet. The table below lists the data types used in commands. NSLP operates in big endian mode. Name C equivalent Description uint8 uint8_t A single byte interpreted as an unsigned number in the range 0 through 255. int8 int8_t A single byte interpreted as a signed number in the range through 127. uint16 uint16_t Two bytes interpreted as an unsigned number in the range 0 through int16 int16_t Two bytes interpreted as a signed number in the range through uint32 uint32_t Four bytes interpreted as an unsigned number in the range 0 through int32 int32_t Four bytes interpreted as a signed number in the range through uint8[] uint8_t[] A sequence of bytes proceeded by a uint16 indicating the number of bytes. string uint8[] An array of bytes as above with a terminating zero at the end to make it a correct C style string. Encoding is UTF NSLP version request Requests the version of the NSLP protocol in use on the other NSLP node. Source: Gateway, Device Command identifier: Parameters: None Nabto Nabto/001/TEN/011 Nabto Serial Link Protocol Page 9 of 23
10 Commands 5.2 NSLP version report Informs the receiving node of the version of the NSLP in use on the transmitting node. Source: Gateway, Device Command identifier: Parameters: Field Data type Description Major version uint32 The major part of the NSLP version number. Minor version uint32 The minor part of the NSLP version number. 5.3 Notification A notification informs the Device that an event has occurred on the Gateway. Source: Gateway Command identifier: Parameters: Field Data type Description Event uint32 The event identifier. See the list below. The list below enumerates the possible events. Identifier Event 1 Ethernet link state changed from down to up. 2 Ethernet link state changed from up to down. 3 DHCP assignment succeeded. 4 Connection to GSP established. 5 Connection to GSP lost. Nabto Nabto/001/TEN/011 Nabto Serial Link Protocol Page 10 of 23
11 Commands 6 Event data queue is now empty. 7 Non- multiplexed stream opened. 5.4 Query request The Query Request command is sent to the Device, when the Gateway receives a Device Query i.e. a query not intended for the Gateway itself. A device may also use this command to execute queries on the Gateway. Source: Gateway, Device Command identifier: Parameters: Field Data type Description Flags uint32 Bit 0: fromlocalnetwork. This bit is set if the request originated from the LAN. Bit 1: fromserialport: This bit is set if the request originated from the serial port. All other bits are reserved for future use and should be ignored. [Sequence Number] uint32 A unique sequence number identifying this specific query. This must be used when acknowledging or responding to the query. This field is only included if the configuration flag Parallel Requests is true. [Client id] string The id of the client sending the request. This field is only included if configuration flag Show client id is true. Identifier uint32 The query identifier as specified in the unabto_queries.xml file. Parameters uint8[] The query request parameters as specified in the unabto_queries.xml file. 5.5 Query response The packet sent out by a Gateway or a Device as a response to a Query Request command. Nabto Nabto/001/TEN/011 Nabto Serial Link Protocol Page 11 of 23
12 Commands Source: Gateway, Device Command identifier: Parameters: Field Data type Description [Sequence Number] uint32 The sequence number of the query being responded to. This field is only included if Parallel Requests is true. Status uint32 See section Error! Reference source not found.. Parameters uint8[] The query response parameters as specified in the unabto_queries.xml file. 5.6 Event data push Push data into the Gateways event data queue. For more information about the Event Data channel, please refer to document <TEN004 Nabto Piggyback Message system.docx> Hint: To determine the size of the event data queue on the Gateway send an Event Data Push command with no data. Source: Device Command identifier: Parameters: Field Data type Description Data uint8[] The data to push into the event data queue. 5.7 Event data acknowledge Acknowledge a previous push command informing the Device of the amount of data that was successfully pushed and the amount of free space in the data queue. Nabto Nabto/001/TEN/011 Nabto Serial Link Protocol Page 12 of 23
13 Commands Source: Gateway Command identifier: Parameters: Field Data type Description Pushed uint32 The number of bytes successfully pushed into the event data queue on the Gateway. Free uint32 The number of bytes currently free in the event data queue on the Gateway. Size uint32 The total size of the event data queue on the Gateway. 5.8 Stream request A client requests that a stream be opened. Source: Gateway Command identifier: Parameters: Field Data type Description Type uint8 0: multiplexed, 1: non- multiplexed Identifier uint8 The identifier of the stream. Used when performing subsequent stream operations. Only relevant for multiplexed streams. Always 0 when not used. 5.9 Stream response Used by the device to either accept or reject a stream request. Source: Device Command identifier: Parameters: Nabto Nabto/001/TEN/011 Nabto Serial Link Protocol Page 13 of 23
14 Queries Field Data type Description Identifier uint8 The identifier of the stream. Used when performing subsequent stream operations. Only relevant for multiplexed streams. Always 0 when not used. Accepted uint8 0: stream rejected, 1: stream accepted 5.10 Stream data Pushes data through a multiplexed stream. Source: Device, Gateway Command identifier: Parameters: Field Data type Description Identifier uint8 Stream identifier. Data uint8[] The data being pushed through the stream. 6 Queries This section describes the Nabto queries accepted by the Gateway. These queries are termed Gateway Queries, as they are targeting the gateway itself. Each query is described along with its input and output parameters, its query id and the access rights required to execute it. 6.1 Get gateway information Get a list of information key- value pairs from the gateway. The HTML device driver may use these key- value pairs to adapt to different gateway configurations and revisions. A key- value pair is a text string of the form key=value Possible Information keys are listed in the table below. Key Description Example Nabto Nabto/001/TEN/011 Nabto Serial Link Protocol Page 14 of 23
15 Queries hardware_version Hardware version of the gateway. hardware_version=1.1 software_version Version of the gateway application. application_version= acl_size Number of entries in the ACL. acl_size=10 Query: get_gateway_information.json Permissions required: Gateway request Request parameters: Response parameters: 6.2 Access control This group of queries enables configuration of the access control system of the gateway Get users from access control list Get a list of users from the ACL starting at the specified index. Zero or more users will be returned. Multiple queries may be needed to get the full ACL depending on the length of the ACL and the gateway device. Query: access_control_get_users.json Permissions required: Gateway request, Access control Request format: uint16 startingindex. Index of the first user to retrieve. uint16 maximumnumberofusers. Maximum number of users to retrieve in this query. Response format: List: o o raw . The user s address. uint32 permissions. The access permissions granted to this user. uint16 totalnumberofusers. The total number of users in the ACL. Nabto Nabto/001/TEN/011 Nabto Serial Link Protocol Page 15 of 23
16 Queries Add user to access control list Add the specified user to the ACL. If the user is already in the ACL, the access permissions will be updated. Query: access_control_add_user.json Permissions required: Gateway request, Access control Request format: raw . The user s address. uint32 permissions. The access permissions granted to this user. Response format: (none) Remove user from access control list Remove the specified user from the ACL. Query: access_contron_remove_user.json Permissions required: Gateway request, Access control Request format: raw . The user s address. Response format: (none) Get allow remote access Get the current state of the allow_remote_access access control flag. Remote access to the gateway and device is only possibly if this flag is set to 1. Query: access_control_get_allow_remote_access.json Permissions required: Gateway request, Access control Request parameters: (none) Response parameters: uint8 value. The current value of the allow_remote_access flag Set allow remote access Nabto Nabto/001/TEN/011 Nabto Serial Link Protocol Page 16 of 23
17 Queries Set the state of the allow_remote_access access control flag. Query: access_control_set_allow_remote_access.json Permissions required: Gateway request, Access control Request parameters: uint8 value. Set to 1 to allow remote access or 0 to disallow remote access. Response parameters: (none) Get default local permissions Get the permissions assigned to local users not in the ACL. Query: access_control_get_default_local_permissions.json Permissions required: Gateway request, Access control Request parameters: (none) Response parameters: uint32 value. The permissions bit mask. See section Access Control for more info Set default local permissions Set the permissions assigned to local users not in the ACL. Query: access_control_set_default_local_permissions.json Permissions required: Gateway request, Access control Request parameters: uint32 value. The permissions bit mask. See section Access Control for more info. Response parameters: (none) Get default remote permissions Get the permissions assigned to remote users not in the ACL. Query: access_control_get_default_local_permissions.json Nabto Nabto/001/TEN/011 Nabto Serial Link Protocol Page 17 of 23
18 Queries Permissions required: Gateway request, Access control Request parameters: (none) Response parameters: uint32 value. The permissions bit mask. See section Access Control for more info Set default remote permissions Set the permissions assigned to remote users not in the ACL. Query: access_control_set_default_local_permissions.json Permissions required: Gateway request, Access control Request parameters: uint32 value. The permissions bit mask. See section Access Control for more info. Response parameters: (none) 6.3 Gateway configuration Get communications port bitrate Get the bitrate currently in use on the communications port. Query: configuration_get_communications_port_bitrate.json Permissions required: Gateway request, Configuration Request parameters: (none) Response parameters: uint32 value. The actual bitrate in bits per second Set communications port bitrate Set the desired bitrate for the communications port. If the specified bitrate is not supported by the device nothing will be changed. The supported values depends on the actual gateway device. Query: configuration_set_communications_port_bitrate.json Nabto Nabto/001/TEN/011 Nabto Serial Link Protocol Page 18 of 23
19 Queries Permissions required: Gateway request, Configuration Request parameters: uint32 value. The desired bitrate in bits per second. Response parameters: (none) Get alternative device id Get the currently assigned alternative device id. Query: configuration_get_alternative_device_id.json Permissions required: Gateway request, Configuration Request parameters: (none) Response parameters: raw value. The current alternative device id Set alternative device id Assign an alternative device id to the device. If a zero- length string is specified the device s default device id will be used. Query: configuration_set_alternative_device_id.json Permissions required: Gateway request, Configuration Request parameters: raw value. The alternative device id to use. Request parameters: (none) Get alternative HTML device driver Get the currently assigned alternative HTML device driver. Query: configuration_get_alternative_html_device_driver.json Permissions required: Gateway request, Configuration Request parameters: (none) Nabto Nabto/001/TEN/011 Nabto Serial Link Protocol Page 19 of 23
20 Queries Response parameters: raw value. The current alternative HTML device driver Set alternative HTML device driver Assign an alternative HTML device driver to the device. If a zero- length string is specified the device s default HTML device driver will be used. Query: configuration_set_alternative_html_device_driver.json Permissions required: Gateway request, Configuration Request parameters: raw value. The alternative HTML device driver to use. Request parameters: (none) 6.4 IO pin control This group of queries allows for client interaction with the physical IO pins of the gateway device. Please refer to the datasheet for the actual gateway device to see which pins are available. IO pins can be configured for one of the following modes: Digital input (power- on default) Digital output Get pin mode Get the current mode of the IO pin. Query: io_get_pin_mode.json Permissions required: Gateway request, IO Request parameters: uint8 pin. Index of the pin. Response parameters: uint8 mode. The current mode of the pin. Nabto Nabto/001/TEN/011 Nabto Serial Link Protocol Page 20 of 23
21 Queries Set pin mode Set the mode of the IO pin. Query: io_set_pin_mode.json Permissions required: Gateway request, IO Request parameters: uint8 pin. Index of the pin. uint8 value. The new mode of the pin. Response parameters: (none) Get digital pin value Get the current value of the pin. Only used for pins configured for digital input or digital output. Query: io_get_digital_pin_value.json Permissions required: Gateway request, IO Request parameters: uint8 pin. Index of the pin. Response parameters: uint8 value. The current value of the pin Set digital pin value Set the value written to the pin. Only used for pins configured for digital output. Query: io_set_digital_pin_value.json Permissions required: Gateway request, IO Request parameters: uint8 pin. Index of the pin. uint8 value. The new value of the pin. Nabto Nabto/001/TEN/011 Nabto Serial Link Protocol Page 21 of 23
22 Streams Response parameters: (none) 7 Streams A client can open streams to the Device through the Gateway. A stream provides a bidirectional channel between a client and the device appropriate for sending data that is naturally stream oriented (as opposed to the request- response based Device queries). Once a stream has been opened to the gateway, a Service Configuration String (SCS) must be sent. A SCS has the following format: service_identifier [parameters]\n The service responds with a Service Response String (SRS) of the following format: + - [parameters]\n A response starting with a + indicates success. The NSLP server supports the services described below. 7.1 Multiplexed stream Service identifier: muxstream Required rights: Multiplexed stream Multiplexed streams allow multiple clients to establish streams to the application running on the Device. On the device each stream is identified by an integer allowing the 7.2 Non- multiplexed stream Service identifier: nonmuxstream Required rights: Non- multiplexed stream A non- multiplexed stream provides a client with direct access to the Gateway s communications port. Every byte written to the stream will appear unaltered at the communications port and vice versa. The gateway will perform no framing or encoding on the data. Nabto Nabto/001/TEN/011 Nabto Serial Link Protocol Page 22 of 23
23 Check list for device application creators When a non- multiplexed stream is requested, no new commands or Device Requests will be accepted. Any pending commands or requests will be completed and a non_multiplexed_stream_opened notification will be sent to the Device. When the notification has been sent, the stream is opened. Once opened, no other streams (of any kind) may be opened. The Gateway also rejects Device Requests. This will continue until the client closes the stream or until the connection to the client is lost. 7.3 Forced non- multiplexed stream Service identifier: forcednonmuxstream Required rights: Forced non- multiplexed stream The forced non- multiplexed stream operates as the non- multiplexed stream described above except it does not wait for commands and requests to complete and it does not send a notification to the Device. Instead, it immediately switches to non- multiplexed stream mode. 8 Check list for device application creators The intention of the section is to give the designer of NSLP protocol clients (devices) a list of things to keep in mind when integrating an NSLP server in a design. 8.1 Maximum packet length The receiving state machine must be able to handle the specified packet length (not including framing and byte stuffing). 8.2 Full duplex communication The NSLP protocol handler on the Device must be able to handle an incoming packet while it itself is sending a packet or waiting for a packet acknowledgement. Nabto Nabto/001/TEN/011 Nabto Serial Link Protocol Page 23 of 23
Nabto Serial Link Protocol
Nabto Serial Link Protocol Nabto TM Nabto Serial Link Protocol Page 1 of 22 Contents Vocabulary... 4 Introduction... 5 Access Control... 5 Connection type... 5 Access Control List... 5 Protocol details...
More informationInspirel. YAMI4 Requirements. For YAMI4Industry, v page 1
YAMI4 Requirements For YAMI4Industry, v.1.3.1 www.inspirel.com info@inspirel.com page 1 Table of Contents Document scope...3 Architectural elements...3 Serializer...3 Socket...3 Input buffer...4 Output
More informationUDP and TCP. Introduction. So far we have studied some data link layer protocols such as PPP which are responsible for getting data
ELEX 4550 : Wide Area Networks 2015 Winter Session UDP and TCP is lecture describes the two most common transport-layer protocols used by IP networks: the User Datagram Protocol (UDP) and the Transmission
More informationRM0327 Reference manual
Reference manual Multi-Target Trace API version 1.0 Overview Multi-Target Trace (MTT) is an application instrumentation library that provides a consistent way to embed instrumentation into a software application,
More informationSB72EX User's Manual
etburner SB72EX User's Manual Revision: 1.8 October 8, 2009 SB72EX User's Manual, 350030-001 Table of Contents Table of Contents...2 Overview of the SB72EX Dual-port Serial to Ethernet Device... 3 Overview
More informationTransport Protocols. Raj Jain. Washington University in St. Louis
Transport Protocols Raj Jain Washington University Saint Louis, MO 63131 Jain@cse.wustl.edu These slides are available on-line at: http://www.cse.wustl.edu/~jain/cse473-05/ 16-1 Overview q TCP q Key features
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 informationHomework 4 assignment for ECE374 Posted: 04/06/15 Due: 04/13/15
ECE374: Homework 4 1 Homework 4 assignment for ECE374 Posted: 04/06/15 Due: 04/13/15 Note: In all written assignments, please show as much of your work as you can. Even if you get a wrong answer, you can
More informationNetwork Processor Interface User s Guide
Network Processor Interface User s Guide Texas Instruments, Inc. San Diego, California USA Copyright 2015-2016 Texas Instruments, Inc. All rights reserved. TABLE OF CONTENTS 1 OVERVIEW... 3 1.1 INTRODUCTION...
More informationCCNA 1 Chapter 7 v5.0 Exam Answers 2013
CCNA 1 Chapter 7 v5.0 Exam Answers 2013 1 A PC is downloading a large file from a server. The TCP window is 1000 bytes. The server is sending the file using 100-byte segments. How many segments will the
More informationMumble Protocol. Release alpha
Mumble Protocol Release 1.2.5-alpha Nov 06, 2017 Contents 1 Contents 1 1.1 Introduction............................................... 1 1.2 Overview................................................. 1
More informationESP8266 Application Note Firmware Download Protocol
ESP8266 Application Note Firmware Download Protocol Version 1.0 Copyright 2016 About This Guide This document introduces ESP8266 firmware download protocol with a structure as follows. Chapter Title Subject
More informationMW100 Setting for Data Communications via Modbus Protocol. Connect to Ethernet. Enter Ethernet settings. Enter Server Settings
User s Manual Setting for Data Communications via Modbus Protocol Overview This is an explanation of the procedure for entering settings for Modbus communications with the DAQMASTER. This manual descries
More informationHTTP Authentication API
HTTP Authentication API Note: Both GET (URL format) and POST http requests are supported. Note that POST is considered better security as URL data can be cached in the browser. HTTP URL Format http(s)://your_securenvoy_server/secserver?flag=desktop&version=2.0&status=auth&userid=(my_userid)&passcode=(6
More information[MC-DPL4R]: DirectPlay 4 Protocol: Reliable
[MC-DPL4R]: DirectPlay 4 Protocol: Reliable Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for
More informationECE 435 Network Engineering Lecture 15
ECE 435 Network Engineering Lecture 15 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 26 October 2016 Announcements HW#5 due HW#6 posted Broadcasts on the MBONE 1 The Transport
More informationSequence Number. Acknowledgment Number. Data
CS 455 TCP, Page 1 Transport Layer, Part II Transmission Control Protocol These slides are created by Dr. Yih Huang of George Mason University. Students registered in Dr. Huang's courses at GMU can make
More information[MS-RDPEMC]: Remote Desktop Protocol: Multiparty Virtual Channel Extension
[MS-RDPEMC]: Remote Desktop Protocol: Multiparty Virtual Channel Extension Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications
More informationTransport protocols Introduction
Transport protocols 12.1 Introduction All protocol suites have one or more transport protocols to mask the corresponding application protocols from the service provided by the different types of network
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 informationCS 4453 Computer Networks Winter
CS 4453 Computer Networks Chapter 2 OSI Network Model 2015 Winter OSI model defines 7 layers Figure 1: OSI model Computer Networks R. Wei 2 The seven layers are as follows: Application Presentation Session
More information[MS-RDPECLIP]: Remote Desktop Protocol: Clipboard Virtual Channel Extension
[MS-RDPECLIP]: Remote Desktop Protocol: Clipboard Virtual Channel Extension Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications
More information[MC-SMP]: Session Multiplex Protocol. Intellectual Property Rights Notice for Open Specifications Documentation
[MC-SMP]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation ( this documentation ) for protocols,
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 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 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 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 informationCS 43: Computer Networks. 15: Transport Layer & UDP October 5, 2018
CS 43: Computer Networks 15: Layer & UDP October 5, 2018 Reading Quiz Lecture 15 - Slide 2 Layer Moving down a layer. Current perspective: lication is the boss Usually executing within the OS kernel. The
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 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 informationKMIP 64-bit Binary Alignment Proposal
KMIP 64-bit Binary Alignment Proposal To: OASIS KMIP Technical Committee From: Matt Ball, Sun Microsystems, Inc. Date: May 6, 2009 Version: 2 Purpose: To propose a change to the binary encoding such that
More informationOmni Flow Computer Master Driver v1.x Omni Flow Computer Master Modicon Compatible Driver 1.x
Omni Flow Computer Master Driver v1.x Omni Flow Computer Master Modicon Compatible Driver 1.x Information Sheet for Crimson v3.0+ Compatible Devices Omni Flow Computer devices equipped with Ethernet or
More informationCS 4390 Computer Networks. Transport Services and Protocols
CS 4390 Computer Networks UT D data Session 07 Transport Layer Overview and UDP Adapted from Computer Networking a Top-Down Approach 1996-2012 by J.F Kurose and K.W. Ross, All Rights Reserved Transport
More informationAnnotation Universal Metadata Set. 1 Scope. 2 References. 3 Introduction. Motion Imagery Standards Board Recommended Practice MISB RP 0602.
Motion Imagery Standards Board Recommended Practice Annotation Universal Metadata Set MISB RP 0602.1 13 June 2007 1 Scope This Recommended Practice documents the basic SMPTE KLV metadata sets used to encode
More informationTransport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections
Application / Transport Interface Application requests service from transport layer Transport Layer Application Layer Prepare Transport service requirements Data for transport Local endpoint node address
More informationMultimedia in the Internet
Protocols for multimedia in the Internet Andrea Bianco Telecommunication Network Group firstname.lastname@polito.it http://www.telematica.polito.it/ > 4 4 3 < 2 Applications and protocol stack DNS Telnet
More informationPLENA matrix API Table of contents en 3
PLENA matrix API en PLENA matrix API Table of contents en 3 Table of contents 1 PLENA Matrix Network API 4 1.1 Protocol Information 4 1.2 Network Discovery 5 1.3 Connection Initiation 5 1.4 Parameter
More informationAvro Specification
Table of contents 1 Introduction...2 2 Schema Declaration... 2 2.1 Primitive Types... 2 2.2 Complex Types...2 2.3 Names... 5 2.4 Aliases... 6 3 Data Serialization...6 3.1 Encodings... 7 3.2 Binary Encoding...7
More informationAvro Specification
Table of contents 1 Introduction...2 2 Schema Declaration... 2 2.1 Primitive Types... 2 2.2 Complex Types...2 2.3 Names... 5 3 Data Serialization...6 3.1 Encodings... 6 3.2 Binary Encoding...6 3.3 JSON
More informationUnit 2.
Unit 2 Unit 2 Topics Covered: 1. PROCESS-TO-PROCESS DELIVERY 1. Client-Server 2. Addressing 2. IANA Ranges 3. Socket Addresses 4. Multiplexing and Demultiplexing 5. Connectionless Versus Connection-Oriented
More informationChapter 3. The Data Link Layer. Wesam A. Hatamleh
Chapter 3 The Data Link Layer The Data Link Layer Data Link Layer Design Issues Error Detection and Correction Elementary Data Link Protocols Sliding Window Protocols Example Data Link Protocols The Data
More informationLecture 2: Links and Signaling
Lecture 2: Links and Signaling CSE 123: Computer Networks Alex C. Snoeren DISCUSSION @7pm Tomorrow Our Problem Communications is complicated Modulation and encoding bits Splitting sequences of bits into
More informationComputer Science 461 Midterm Exam March 14, :00-10:50am
NAME: Login name: Computer Science 461 Midterm Exam March 14, 2012 10:00-10:50am This test has seven (7) questions, each worth ten points. Put your name on every page, and write out and sign the Honor
More informationTransport Protocol (IEX-TP)
Transport Protocol (IEX-TP) Please contact IEX Market Operations at 646.568.2330 or marketops@iextrading.com, or your IEX onboarding contact with any questions. Version: 1.1 Updated: December 22, 2014
More informationFlow control: Ensuring the source sending frames does not overflow the receiver
Layer 2 Technologies Layer 2: final level of encapsulation of data before transmission over a physical link responsible for reliable transfer of frames between hosts, hop by hop, i.e. on a per link basis
More informationProposed PLDM support over NC-SI RBT Commands (Work-In-Progress)
Proposed PLDM support over NC-SI RBT Commands (Work-In-Progress) This document proposes new commands and AEN to be added into NC-SI standard, in order to include full support of PLDM using NC-SI commands
More informationdysect DICOM Conformance Statement dysect DICOM Conformance Statement
dysect DICOM Conformance Statement 1 dysect DICOM Conformance Statement (041-00-0007 H) dysect Conformance Statement.doc DeJarnette Research Systems, Inc. 401 Washington Avenue, Suite 1010 Towson, Maryland
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 informationEGW1-IA3-MB User s Manual
www.exemys.com Rev. 0 1 Products are in constant evolution to satisfy our customer needs. For that reason, the specifications and capabilities are subject to change without prior notice. Updated information
More informationAn 8051 Based Web Server
An 8051 Based Web Server Project by Mason Kidd Submitted to Dr. Donald Schertz EE 452 Senior Laboratory II May 14 th, 2002 Table of Contents Page 1. Abstract 1 2. Functional Description 2 3. Block Diagram
More informationData Link Layer (1) Networked Systems 3 Lecture 6
Data Link Layer (1) Networked Systems 3 Lecture 6 Purpose of Data Link Layer Arbitrate access to the physical layer Structure and frame the raw bits Provide flow control Detect and correct bit errors Perform
More information(Refer Slide Time: 1:09)
Computer Networks Prof. S. Ghosh Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecturer # 30 UDP and Client Server Good day, today we will start our discussion
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 informationAdvanced Computer Networks. Rab Nawaz Jadoon DCS. Assistant Professor COMSATS University, Lahore Pakistan. Department of Computer Science
Advanced Computer Networks Rab Nawaz Jadoon Department of Computer Science DCS COMSATS Institute of Information Technology Assistant Professor COMSATS University, Lahore Pakistan Advanced Computer Networks
More informationAttestation Service for Intel Software Guard Extensions (Intel SGX): API Documentation. Revision: 3.0
Attestation Service for Intel Software Guard Extensions (Intel SGX): API Documentation Revision: 3.0 1 1 Abbreviations... 4 2 Attestation Service for Intel SGX... 5 Supported environments... 5 Authentication...
More informationConfiguring MLD. Overview. MLD versions. How MLDv1 operates. MLD querier election
Contents Configuring MLD 1 Overview 1 MLD versions 1 How MLDv1 operates 1 How MLDv2 operates 3 MLD message types 4 MLD SSM mapping 7 MLD proxying 8 Protocols and standards 9 MLD configuration task list
More informationTHE JOINT ARCHITECTURE FOR UNMANNED SYSTEMS
THE JOINT ARCHITECTURE FOR UNMANNED SYSTEMS Reference Architecture Specification Volume II, Part 2 Message Definition Version 3.2 August 13, 2004 TABLE OF CONTENTS Title Page 1 INTRODUCTION 1 2 JAUS STANDARDS
More informationOverview of TCP/IP Overview of TCP/IP protocol: TCP/IP architectural models TCP protocol layers.
Overview of TCP/IP 3 Overview of TCP/IP protocol: TCP/IP architectural models TCP protocol layers. 4 2 5 6 3 7 8 4 9 10 5 11 12 6 13 14 7 15 16 8 17 18 9 19 20 10 21 Why TCP/IP? Packet based Provides decentralized
More informationip dhcp-client network-discovery through ip nat sip-sbc
ip dhcp-client network-discovery through ip nat sip-sbc ip dhcp-client network-discovery, page 3 ip dhcp-client update dns, page 5 ip dhcp drop-inform, page 8 ip dhcp-relay information option server-override,
More information05 Transmission Control Protocol (TCP)
SE 4C03 Winter 2003 05 Transmission Control Protocol (TCP) Instructor: W. M. Farmer Revised: 06 February 2003 1 Interprocess Communication Problem: How can a process on one host access a service provided
More informationCC231 Introduction to Networks Dr. Ayman A. Abdel-Hamid. Internet Protocol Suite
CC231 Introduction to Networks Dr. Ayman A. Abdel-Hamid College of Computing and Information Technology Arab bacademy for Science &T Technology and Maritime Transport Internet Protocol Suite IP Suite Dr.
More informationSoftware Design Specification
Software Design Specification Z-Wave Management Command Class Specification Document No.: SDS13782 Version: Description: The document describes the Z-Wave Command Classes and associated Commands used by
More informationInternet Layers. Physical Layer. Application. Application. Transport. Transport. Network. Network. Network. Network. Link. Link. Link.
Internet Layers Application Application Transport Transport Network Network Network Network Link Link Link Link Ethernet Fiber Optics Physical Layer Wi-Fi ARP requests and responses IP: 192.168.1.1 MAC:
More informationRequest for Comments: 5109 December 2007 Obsoletes: 2733, 3009 Category: Standards Track. RTP Payload Format for Generic Forward Error Correction
Network Working Group A. Li, Ed. Request for Comments: 5109 December 2007 Obsoletes: 2733, 3009 Category: Standards Track RTP Payload Format for Generic Forward Error Correction Status of This Memo This
More informationa. (4pts) What general information is contained in a LSR-PDU update that A might send?
B1: Networks (25 points) Link State Routing (LSR). (Hint: flooding and Dijkstra s Algorithm). Assume Router A has physical links to Routers W, X, Y, Z. a. (4pts) What general information is contained in
More informationTCP/IP Protocol Suite 1
TCP/IP Protocol Suite 1 Stream Control Transmission Protocol (SCTP) TCP/IP Protocol Suite 2 OBJECTIVES: To introduce SCTP as a new transport-layer protocol. To discuss SCTP services and compare them with
More informationTransport Layer. <protocol, local-addr,local-port,foreign-addr,foreign-port> ϒ Client uses ephemeral ports /10 Joseph Cordina 2005
Transport Layer For a connection on a host (single IP address), there exist many entry points through which there may be many-to-many connections. These are called ports. A port is a 16-bit number used
More information4. The transport layer
4.1 The port number One of the most important information contained in the header of a segment are the destination and the source port numbers. The port numbers are necessary to identify the application
More informationThrift specification - Remote Procedure Call
Erik van Oosten Revision History Revision 1.0 2016-09-27 EVO Initial version v1.1, 2016-10-05: Corrected integer type names. Small changes to section headers. Table of Contents 1.
More informationThese selected protocol definitions are extremely helpful in learning the
Appendix B Protocol Definitions These selected protocol definitions are extremely helpful in learning the finer points of network protocols. This information is exposed under Network Monitor s Display
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 informationAn SCTP-Protocol Data Unit with several chunks
SCTP for Beginners Section 2 SCTP Packets he protocol data units (PDU) of SCTP are called SCTP packets. If SCTP runs over IP (as described in RFC2960 ), an SCTP packet forms the payload of an IP packet.
More informationµtasker Document µtasker Multicasting and Internet Group Management Protocol (IGMP)
Embedding it better... µtasker Document µtasker Multicasting and Internet Group Management Protocol (IGMP) utasker_igmp.doc/0.01 Copyright 2014 M.J.Butcher Consulting Table of Contents 1. Introduction...3
More informationChapter 3. The Data Link Layer
Chapter 3 The Data Link Layer 1 Data Link Layer Algorithms for achieving reliable, efficient communication between two adjacent machines. Adjacent means two machines are physically connected by a communication
More informationOSI Layers (Open System Interconnection)
OSI Layers (Open System Interconnection) What is a Network? A network refers to two or more connected computers that can share resources such as data, a printer, an Internet connection, applications, or
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 information[MS-WMHTTP]: Windows Media HTTP Push Distribution Protocol. Intellectual Property Rights Notice for Open Specifications Documentation
[MS-WMHTTP]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation ( this documentation ) for protocols,
More information[MS-NFPS]: Near Field Proximity: Sharing Protocol
[MS-NFPS]: Near Field Proximity: Sharing Protocol Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation
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 informationCS 261 Fall Mike Lam, Professor Integer Encodings
CS 261 Fall 2018 Mike Lam, Professor https://xkcd.com/571/ Integer Encodings Integers Topics C integer data types Unsigned encoding Signed encodings Conversions Integer data types in C99 1 byte 2 bytes
More informationSSE232-LE Serial Server- User s Manual
www.exemys.com Rev.6 1 Products are in constant evolution to satisfy our customer needs. For that reason, the specifications and capabilities are subject to change without prior notice. Updated information
More informationJapannext PTS GLIMPSE Market Data Specification for Equities
Japannext PTS GLIMPSE Market Data Specification for Equities Version 1.2 Updated 26 October 2017 Table of Contents Introduction... 3 Overview... 3 Data Types... 3 Service Usage... 3 Outbound Sequenced
More informationConfiguring the Management Interface and Security
CHAPTER 5 Configuring the Management Interface and Security Revised: February 15, 2011, Introduction This module describes how to configure the physical management interfaces (ports) as well as the various
More informationRequest for Comments: 938 February 1985
Network Working Group Request for Comments: 938 Trudy Miller ACC February 1985 Functional and Interface Specification STATUS OF THIS MEMO This RFC is being distributed to members of the DARPA research
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 informationNetworking: Network layer
control Networking: Network layer Comp Sci 3600 Security Outline control 1 2 control 3 4 5 Network layer control Outline control 1 2 control 3 4 5 Network layer purpose: control Role of the network layer
More informationECE 428 Internet Protocols (Network Layer: Layer 3)
ECE 428 Internet Protocols (Network Layer: Layer 3) 1 Done so far MAC protocols (with PHYsical layer) Transport bits from one node to another. Key element: Determine WHEN to transmit DLC protocol (running
More informationAnnouncements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades
Announcements 15-441 Computer Networking Lecture 16 Transport Protocols Mid-semester grades Based on project1 + midterm + HW1 + HW2 42.5% of class If you got a D+,D, D- or F! must meet with Dave or me
More informationChapter 24. Transport-Layer Protocols
Chapter 24. Transport-Layer Protocols 23.1 Introduction 23.2 User Datagram Protocol 23.3 Transmission Control Protocol 23.4 SCTP Computer Networks 24-1 Position of Transport-Layer Protocols UDP is an unreliable
More informationDLR - Device Level Ring Protocol User Manual port GmbH, Documentation Revision: 1.1 / DLR Version: 1.1.0
DLR - Device Level Ring Protocol User Manual port GmbH, 2016 Documentation Revision: 1.1 / DLR Version: 1.1.0 Contents 1 General Information 2 1.1 Changelog..................................... 2 1.2 Authors......................................
More informationIntroduction to Networks and the Internet
Introduction to Networks and the Internet CMPE 80N Announcements Project 2. Reference page. Library presentation. Internet History video. Spring 2003 Week 7 1 2 Today Internetworking (cont d). Fragmentation.
More informationDepartment of EECS - University of California at Berkeley EECS122 - Introduction to Communication Networks - Spring 2005 Final: 5/20/2005
Name: SID: Department of EECS - University of California at Berkeley EECS122 - Introduction to Communication Networks - Spring 2005 Final: 5/20/2005 There are 10 questions in total. Please write your SID
More informationLecture 8: February 19
CMPSCI 677 Operating Systems Spring 2013 Lecture 8: February 19 Lecturer: Prashant Shenoy Scribe: Siddharth Gupta 8.1 Server Architecture Design of the server architecture is important for efficient and
More informationData Link layer (CN chap 3.1, 3.4, 3.6)
Data Link layer (CN chap 3.1, 3.4, 3.6) The OSI model an old friend... Application Presentation Session Transport Network Data link Physical F.eks. ftp, mail, http,... handles data structures and conversion
More informationCSCI-1680 Link Layer I Rodrigo Fonseca
CSCI-1680 Link Layer I Rodrigo Fonseca Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti Last time Physical layer: encoding, modulation Today Link layer framing Getting frames
More informationNail. A Practical Tool for Parsing and Generating Data Formats. Julian Bangert, Nickolai Zeldovich MIT CSAIL. OSDI 14 October 2014
Nail A Practical Tool for Parsing and Generating Data Formats Julian Bangert, Nickolai Zeldovich MIT CSAIL OSDI 14 October 2014 1 / 12 Motivation Parsing Vulnerabilities hand-crafted input parsing and
More information2.1 CHANNEL ALLOCATION 2.2 MULTIPLE ACCESS PROTOCOLS Collision Free Protocols 2.3 FDDI 2.4 DATA LINK LAYER DESIGN ISSUES 2.5 FRAMING & STUFFING
UNIT-2 2.1 CHANNEL ALLOCATION 2.2 MULTIPLE ACCESS PROTOCOLS 2.2.1 Pure ALOHA 2.2.2 Slotted ALOHA 2.2.3 Carrier Sense Multiple Access 2.2.4 CSMA with Collision Detection 2.2.5 Collision Free Protocols 2.2.5.1
More informationNetwork.... communication system for connecting end- systems. End-systems a.k.a. hosts PCs, workstations dedicated computers network components
Networking 1 Network... communication system for connecting end- systems End-systems a.k.a. hosts PCs, workstations dedicated computers network components 2 Multiaccess vs.. Point-to-point Multiaccess
More informationNetworking interview questions
Networking interview questions What is LAN? LAN is a computer network that spans a relatively small area. Most LANs are confined to a single building or group of buildings. However, one LAN can be connected
More informationLecture 2 Communication services The Trasport Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it
Lecture 2 Communication services The Trasport Layer Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it The structure edge: applications and hosts core: routers of s access s, media:
More information