message t Abstract 1. Introduction Note TEP: 111 Core Working Group TinyOS-Version: 2.x
|
|
|
- Eleanor Fitzgerald
- 10 years ago
- Views:
Transcription
1 message t TEP: 111 Group: Core Working Group Type: Documentary Status: Final TinyOS-Version: 2.x Author: Philip Levis Note This memo documents a part of TinyOS for the TinyOS Community, and requests discussion and suggestions for improvements. Distribution of this memo is unlimited. This memo is in full compliance with TEP 1. Abstract This memo covers the TinyOS 2.x message buffer abstraction, message_t. It describes the message buffer design considerations, how and where message_t is specified, and how data link layers should access it. The major goal of message_t is to allow datagrams to be passed between different link layers as a contiguous region of memory with zero copies. 1. Introduction In TinyOS 1.x, a message buffer is a TOS_Msg. A buffer contains an active message (AM) packet as well as packet metadata, such as timestamps, acknowledgement bits, and signal strength if the packet was received. TOS_Msg is a fixed size structure whose size is defined by the maximum AM payload length (the default is 29 bytes). Fixed sized buffers allows TinyOS 1.x to have zero-copy semantics: when a component receives a buffer, rather than copy out the contents it can return a pointer to a new buffer for the underlying layer to use for the next received packet. One issue that arises is what defines the TOS_Msg structure, as different link layers may require different layouts. For example, radio hardware (such as the CC2420, used in the Telos and micaz platforms) may require headers, while a software stack built on top of byte radios (such as the CC1000, used in the mica2 platform) can specify its own packet format. This means that TOS_Msg may be different on different platforms. The solution to this problem in TinyOS 1.x is for there to be a standard definition of TOS_Msg, which a platform (e.g., the micaz) can redefine to match its radio. For example, a mica2 mote uses the standard definition, which is: typedef struct TOS_Msg { // The following fields are transmitted/received on the radio. uint16_t addr; uint8_t type; uint8_t group; 1
2 uint8_t length; int8_t data[tosh_data_length]; uint16_t crc; // The following fields are not actually transmitted or received // on the radio! They are used for internal accounting only. // The reason they are in this structure is that the AM interface // requires them to be part of the TOS_Msg that is passed to // send/receive operations. uint16_t strength; uint8_t ack; uint16_t time; uint8_t sendsecuritymode; uint8_t receivesecuritymode; } TOS_Msg; while on a mote with a CC2420 radio (e.g., micaz), TOS_Msg is defined as: typedef struct TOS_Msg { // The following fields are transmitted/received on the radio. uint8_t length; uint8_t fcfhi; uint8_t fcflo; uint8_t dsn; uint16_t destpan; uint16_t addr; uint8_t type; uint8_t group; int8_t data[tosh_data_length]; // The following fields are not actually transmitted or received // on the radio! They are used for internal accounting only. // The reason they are in this structure is that the AM interface // requires them to be part of the TOS_Msg that is passed to // send/receive operations. uint8_t strength; uint8_t lqi; bool crc; uint8_t ack; uint16_t time; } TOS_Msg; There are two basic problems with this approach. First, exposing all of the link layer fields leads components to directly access the packet structure. This introduces dependencies between higher level components and the structure layout. For example, many network services built on top of data link layers care whether sent packets are acknowledged. They therefore check the ack field of TOS_Msg. If a link layer does not provide acknowledgements, it must still include the ack field and always set it to 0, wasting a byte of RAM per buffer. Second, this model does not easily support multiple data link layers. Radio chip implementations assume that the fields they require are defined in the structure and directly access them. If a platform has two different link layers (e.g., a CC1000 and a CC2420 radio), then a TOS_Msg needs to allocate the right amount of space for both of their headers while allowing implementations to directly access header fields. This is very difficult to do in C. 2
3 The data payload is especially problematic. Many components refer to this field, so it must be at a fixed offset from the beginning of the structure. Depending on the underlying link layer, the header fields preceding it might have different lengths, and packet-level radios often require packets to be contiguous memory regions. Overall, these complexities make specifying the format of TOS_Msg very difficult. TinyOS has traditionally used statically sized packet buffers, rather than more dynamic approaches, such as scatter-gather I/O in UNIX sockets (see the man page for recv(2) for details). TinyOS 2.x continues this approach. 2. message t In TinyOS 2.x, the standard message buffer is message_t. tos/types/message.h: typedef nx_struct message_t { nx_uint8_t header[sizeof(message_header_t)]; nx_uint8_t data[tosh_data_length]; nx_uint8_t footer[sizeof(message_footer_t)]; nx_uint8_t metadata[sizeof(message_metadata_t)]; } message_t; The message t structure is defined in This format keeps data at a fixed offset on a platform, which is important when passing a message buffer between two different link layers. If the data payload were at different offsets for different link layers, then passing a packet between two link layers would require a memmove(3) operation (essentially, a copy). Unlike in TinyOS 1.x, where TOS Msg as explicitly an active messaging packet, message t is a more general data-link buffer. In practice, most data-link layers in TinyOS 2.x provide active messaging, but it is possible for a non-am stack to share message t with AM stacks. The header, footer, and metadata formats are all opaque. Source code cannot access fields directly. Instead, data-link layers provide access to fields through nesc interfaces. Section 3 discusses this in greater depth. Every link layer defines its header, footer, and metadata structures. These structures MUST be external structs (nx_struct), and all of their fields MUST be external types (nx_*), for two reasons. First, external types ensure cross-platform compatibility 1. Second, it forces structures to be aligned on byte boundaries, circumventing issues with the alignment of packet buffers and field offsets within them. Metadata fields must be nx structs for when complete packets are forwarded to the serial port in order to log traffic. For example, the CC1000 radio implementation defines its structures in CC1000Msg.h: typedef nx_struct cc1000_header { nx_am_addr_t addr; nx_uint8_t length; nx_am_group_t group; nx_am_id_t type; } cc1000_header_t; typedef nx_struct cc1000_footer { nxle_uint16_t crc; } cc1000_footer_t; typedef nx_struct cc1000_metadata { nx_uint16_t strength; nx_uint8_t ack; nx_uint16_t time; nx_uint8_t sendsecuritymode; nx_uint8_t receivesecuritymode; } cc1000_metadata_t; 3
4 Each link layer defines its structures, but a platform is responsible for defining message_header_t, message_footer_t, and message_metadata_t. This is because a platform may have multiple link layers, and so only it can resolve which structures are needed. These definitions MUST be in a file in a platform directory named platform_message.h. The mica2 platform, for example, has two data link layers: the CC1000 radio and the TinyOS serial stack 2. The serial packet format does not have a footer or metadata section. The platform_message.h of the mica2 looks like this: typedef union message_header { cc1000_header_t cc1k; serial_header_t serial; } message_header_t; typedef union message_footer { cc1000_footer_t cc1k; } message_footer_t; typedef union message_metadata { cc1000_metadata cc1k; } message_metadata_t; For a more complex example, consider a fictional platform named megamica that has both a CC1000 and a CC2420 radio. Its platform_message.h would look like this: typedef union mega_mica_header { cc1000_header_t cc1k; cc2420_header_t cc2420; serial_header_t serial; } message_header_t; typedef union mega_mica_footer { cc1000_footer_t cc1k; cc2420_footer_t cc2420; } message_footer_t; typedef union mega_mica_metadata { cc1000_metadata_t cc1k; cc2420_metadata_t cc2420; } message metadata_t; If a platform has more than one link layer, it SHOULD define each of the message t fields to be a union of the underlying link layer structures. This ensures that enough space is allocated for all underlying link layers. 3. The message t fields TinyOS 2.x components treat packets as abstract data types (ADTs), rather than C structures, obtaining all of the traditional benefits of this approach. First and foremost, clients of a packet layer do not depend on particular field names or locations, allowing the implementations to choose packet formats and make a variety of optimizations. Components above the basic data-link layer MUST always access packet fields through interfaces. A component that introduces new packet fields SHOULD provide an interface to those that are of interest to other components. These interfaces SHOULD take the form of get/set operations that take and return values, rather than offsts into the structure. 4
5 For example, active messages have an interface named AMPacket which provides access commands to AM fields. In TinyOS 1.x, a component would directly access TOS_Msg.addr; in TinyOS 2.x, a component calls AMPacket.getAddress(msg). The most basic of these interfaces is Packet, which provides access to a packet payload. TEP 116 describes common TinyOS packet ADT interfaces 3. Link layer components MAY access packet fields differently than other components, as they are aware of the actual packet format. They can therefore implement the interfaces that provide access to the fields for other components. 3.1 Headers The message t header field is an array of bytes whose size is the size of a platform s union of data-link headers. Because radio stacks often prefer packets to be stored contiguously, the layout of a packet in memory does not necessarily reflect the layout of its nesc structure. A packet header MAY start somewhere besides the beginning of the message t. For example, consider the Telos platform: typedef union message_header { cc2420_header_t cc2420; serial_header_t serial; } message_header_t; The CC2420 header is 11 bytes long, while the serial header is 5 bytes long. The serial header ends at the beginning of the data payload, and so six padding bytes precede it. This figure shows the layout of message t, a 12-byte CC2420 packet, and a 12-byte serial packet on the Telos platform: 11 bytes TOSH_DATA_LENGTH 7 bytes message_t header data meta CC2420 header data meta Serial hdr data Neither the CC2420 nor the serial stack has packet footers, and the serial stack does not have any metadata. The packet for a link layer does not necessarily start at the beginning of the message t. Instead, it starts at a negative offset from the data field. When a link layer component needs to read or write protocol header fields, it MUST compute the location of the header as a negative offset from the data field. For example, the serial stack header has active message fields, such as the AM type. The command that returns the AM type, AMPacket.type(), looks like this: serial_header_t* getheader(message_t* msg) { return (serial_header_t*)(msg->data - sizeof(serial_header_t)); } command am_id_t AMPacket.type(message_t* msg) { serial_header_t* hdr = getheader(msg); return hdr->type; } Because calculating the negative offset is a little bit unwieldy, the serial stack uses the internal helper function getheader(). Many single-hop stacks follow this approach, as it is very likely that nesc will 5
6 inline the function, eliminating the possible overhead. In most cases, the C compiler also compiles the call into a simple memory offset load. The following code is incorrect, as it directly casts the header field. It is an example of what components MUST NOT do: serial_header_t* getheader(message_t* msg) { return (serial_header_t*)(msg->header); } In the case of Telos, for example, this would result in a packet layout that looks like this: 11 bytes TOSH_DATA_LENGTH 7 bytes message_t header data meta Serial hdr data Data The data field of message t stores the single-hop packet payload. It is TOSH DATA LENGTH bytes long. The default size is 28 bytes. A TinyOS application can redefine TOSH DATA LENGTH at compile time with a command-line option to ncc: -DTOSH_DATA_LENGTH=x. Because this value can be reconfigured, it is possible that two different versions of an application can have different MTU sizes. If a packet layer receives a packet whose payload size is longer than TOSH DATA LENGTH, it MUST discard the packet. As headers are right justified to the beginning of the data payload, the data payloads of all link layers on a platform start at the same fixed offset from the beginning of the message buffer. 3.3 Footer The message footer t field ensures that message t has enough space to store the footers for all underlying link layers when there are MTU-sized packets. Like headers, footers are not necessarily stored where the C structs indicate they are: instead, their placement is implementation dependent. A single-hop layer MAY store the footer contiguously with the data region. For short packets, this can mean that the footer will actually be stored in the data field. 3.4 Metadata The metadata field of message t stores data that a single-hop stack uses or collects does not transmit. This mechanism allows packet layers to store per-packet information such as RSSI or timestamps. For example, this is the CC2420 metadata structure: typedef nx_struct cc2420_metadata_t { nx_uint8_t tx_power; nx_uint8_t rssi; nx_uint8_t lqi; nx_bool crc; nx_bool ack; nx_uint16_t time; } cc2420_metadata_t; 6
7 3.5 Variable Sized Structures The message t structure is optimized for packets with fixed-size headers and footers. Variable-sized footers are generally easy to implement. Variable-sized headers are a bit more difficult. There are three general approaches that can be used. If the underlying link hardware is byte-based, the header can just be stored at the beginning of the message t, giving it a known offset. There may be padding between the header and the data region, but assuming a byte-based send path this merely requires adjusting the index. If the underlying link hardware is packet-based, then the protocol stack can either include metadata (e.g., in the metadata structure) stating where the header begins or it can place the header at a fixed position and use memmove(3) on reception and transmit. In this latter case, on reception the packet is continguously read into the message t beginning at the offset of the header structure. Once the packet is completely received, the header can be decoded, its length calculated, and the data region of the packet can be moved to the data field. On transmission, the opposite occurs: the data region (and footer if need be) are moved to be contiguous with the header. Note that on completion of transmission, they need to be moved back. Alternatively, the radio stack can institute a single copy at the botttom layer. 4. Implementation The definition of message t can be found in tinyos-2.x/tos/types/message.h. The definition of the CC2420 message format can be found in tinyos-2.x/tos/chips/cc2420/cc2420.h. The defintion of the CC1000 message format can be found in tinyos-2.x/tos/chips/cc1000/cc1000msg.h. The definition of the standard serial stack packet format can be found in tinyos-2.x/tos/lib/serial/serial.h The definition of the telos family packet format can be found in tinyos-2.x/tos/platform/telosa/platform_messag and the micaz format can be found in tinyos-2.x/tos/platforms/micaz/platform_message.h. 5. Author s Address Philip Levis 358 Gates Hall Computer Science Laboratory Stanford University Stanford, CA phone [email protected] 6. Citations 1 nesc: A Programming Language for Deeply Embedded Networks. 2 TEP 113: Serial Communication. 3 TEP 116: Packet Protocols. 7
Laboratorio di Sistemi Wireless 21 Maggio 2012
Laboratorio di Sistemi Wireless 21 Maggio 2012 A. Cammarano, A.Capossele, D. Spenza Contatti Cammarano: [email protected] Capossele: [email protected] Spenza: [email protected] Tel: 06-49918430
Mobile IP Network Layer Lesson 02 TCP/IP Suite and IP Protocol
Mobile IP Network Layer Lesson 02 TCP/IP Suite and IP Protocol 1 TCP/IP protocol suite A suite of protocols for networking for the Internet Transmission control protocol (TCP) or User Datagram protocol
The Wireless Network Road Trip
The Wireless Network Road Trip The Association Process To begin, you need a network. This lecture uses the common logical topology seen in Figure 9-1. As you can see, multiple wireless clients are in
Subnetting,Supernetting, VLSM & CIDR
Subnetting,Supernetting, VLSM & CIDR WHAT - IP Address Unique 32 or 128 bit Binary, used to identify a system on a Network or Internet. Network Portion Host Portion CLASSFULL ADDRESSING IP address space
IP - The Internet Protocol
Orientation IP - The Internet Protocol IP (Internet Protocol) is a Network Layer Protocol. IP s current version is Version 4 (IPv4). It is specified in RFC 891. TCP UDP Transport Layer ICMP IP IGMP Network
Internet Architecture and Philosophy
Internet Architecture and Philosophy Conceptually, TCP/IP provides three sets of services to the user: Application Services Reliable Transport Service Connectionless Packet Delivery Service The underlying
The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications
The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications Joshua Ellul [email protected] Overview Brief introduction to Body Sensor Networks BSN Hardware
Linux Driver Devices. Why, When, Which, How?
Bertrand Mermet Sylvain Ract Linux Driver Devices. Why, When, Which, How? Since its creation in the early 1990 s Linux has been installed on millions of computers or embedded systems. These systems may
Übung zu Drahtlose Kommunikation. 10. Übung 14.01.2012
Übung zu Drahtlose Kommunikation 10. Übung 14.01.2012 TinyOS is an operating system designed to target limited-resource sensor network nodes TinyOS 0.4, 0.6 (2000-2001) TinyOS 1.0 (2002): first nesc version
CSC 774 Advanced Network Security. Outline. Related Work
CC 77 Advanced Network ecurity Topic 6.3 ecure and Resilient Time ynchronization in Wireless ensor Networks 1 Outline Background of Wireless ensor Networks Related Work TinyeRync: ecure and Resilient Time
Firewall Implementation
CS425: Computer Networks Firewall Implementation Ankit Kumar Y8088 Akshay Mittal Y8056 Ashish Gupta Y8410 Sayandeep Ghosh Y8465 October 31, 2010 under the guidance of Prof. Dheeraj Sanghi Department of
Microsoft SMB 2.2 - Running Over RDMA in Windows Server 8
Microsoft SMB 2.2 - Running Over RDMA in Windows Server 8 Tom Talpey, Architect Microsoft March 27, 2012 1 SMB2 Background The primary Windows filesharing protocol Initially shipped in Vista and Server
IP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP
CSCE 515: Computer Network Programming TCP/IP IP Network Layer Wenyuan Xu Department of Computer Science and Engineering University of South Carolina IP Datagrams IP is the network layer packet delivery
This topic lists the key mechanisms use to implement QoS in an IP network.
IP QoS Mechanisms QoS Mechanisms This topic lists the key mechanisms use to implement QoS in an IP network. QoS Mechanisms Classification: Each class-oriented QoS mechanism has to support some type of
Voice over IP. Demonstration 1: VoIP Protocols. Network Environment
Voice over IP Demonstration 1: VoIP Protocols Network Environment We use two Windows workstations from the production network, both with OpenPhone application (figure 1). The OpenH.323 project has developed
Channel Bonding in DOCSIS 3.0. Greg White Lead Architect Broadband Access CableLabs
Channel Bonding in DOCSIS 3.0 Greg White Lead Architect Broadband Access CableLabs Agenda DS Channel Bonding Protocol Receive Channel Profiles US Channel Bonding Protocol HFC Plant Topologies & Resolution
Chapter 9. IP Secure
Chapter 9 IP Secure 1 Network architecture is usually explained as a stack of different layers. Figure 1 explains the OSI (Open System Interconnect) model stack and IP (Internet Protocol) model stack.
Network layer" 1DT066! Distributed Information Systems!! Chapter 4" Network Layer!! goals: "
1DT066! Distributed Information Systems!! Chapter 4" Network Layer!! Network layer" goals: "! understand principles behind layer services:" " layer service models" " forwarding versus routing" " how a
Security of MICA*-based / ZigBee Wireless Sensor Networks
Security of MICA*-based / ZigBee Wireless Sensor Networks Cambridge University Computer Lab and myself also Brno University of Technology Department of Intelligent Systems 28 December 2008 Our approach
CACE Technologies. Per-Packet Information Header Specification. Version 1.0
CACE Technologies Per-Packet Information Header Specification Version 1.0 Revision History Date Version Description Author 04/16/2007 0.6 Updated 802.11 common and 802.11n header, split now into 802.11n
Guide to TCP/IP, Third Edition. Chapter 3: Data Link and Network Layer TCP/IP Protocols
Guide to TCP/IP, Third Edition Chapter 3: Data Link and Network Layer TCP/IP Protocols Objectives Understand the role that data link protocols, such as SLIP and PPP, play for TCP/IP Distinguish among various
13 Virtual Private Networks 13.1 Point-to-Point Protocol (PPP) 13.2 Layer 2/3/4 VPNs 13.3 Multi-Protocol Label Switching 13.4 IPsec Transport Mode
13 Virtual Private Networks 13.1 Point-to-Point Protocol (PPP) PPP-based remote access using dial-in PPP encryption control protocol (ECP) PPP extensible authentication protocol (EAP) 13.2 Layer 2/3/4
Introduction To Computer Networking
Introduction To Computer Networking Alex S. 1 Introduction 1.1 Serial Lines Serial lines are generally the most basic and most common communication medium you can have between computers and/or equipment.
Ethernet. Ethernet. Network Devices
Ethernet Babak Kia Adjunct Professor Boston University College of Engineering ENG SC757 - Advanced Microprocessor Design Ethernet Ethernet is a term used to refer to a diverse set of frame based networking
APPLICATION NOTE. AVR2130: Lightweight Mesh Developer Guide. Atmel MCU Wireless. Features. Description
APPLICATION NOTE AVR2130: Lightweight Mesh Developer Guide Atmel MCU Wireless Features Atmel Lightweight Mesh stack specification and APIs Lightweight Mesh Software Development Kit (SDK) Description This
Transport Layer Protocols
Transport Layer Protocols Version. Transport layer performs two main tasks for the application layer by using the network layer. It provides end to end communication between two applications, and implements
Internet of #allthethings
Internet of #allthethings GNURadio for IEEE 802.15.4 Networking Christopher Friedt Principle Embedded Firmware Engineer [email protected] [email protected] code available at http://github.com/cfriedt
C-GEP 100 Monitoring application user manual
C-GEP 100 Monitoring application user manual 1 Introduction: C-GEP is a very versatile platform for network monitoring applications. The ever growing need for network bandwith like HD video streaming and
Internet Packets. Forwarding Datagrams
Internet Packets Packets at the network layer level are called datagrams They are encapsulated in frames for delivery across physical networks Frames are packets at the data link layer Datagrams are formed
Unit 23. RTP, VoIP. Shyam Parekh
Unit 23 RTP, VoIP Shyam Parekh Contents: Real-time Transport Protocol (RTP) Purpose Protocol Stack RTP Header Real-time Transport Control Protocol (RTCP) Voice over IP (VoIP) Motivation H.323 SIP VoIP
RT-QoS for Wireless ad-hoc Networks of Embedded Systems
RT-QoS for Wireless ad-hoc Networks of Embedded Systems Marco accamo University of Illinois Urbana-hampaign 1 Outline Wireless RT-QoS: important MA attributes and faced challenges Some new ideas and results
ICOM 5026-090: Computer Networks Chapter 6: The Transport Layer. By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 UPRM
ICOM 5026-090: Computer Networks Chapter 6: The Transport Layer By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 Outline The transport service Elements of transport protocols A
EPMOSt: An Energy-Efficient Passive Monitoring System for Wireless Sensor Networks
Sensors 2014, 14, 10804-10828; doi:10.3390/s140610804 Article OPEN ACCESS sensors ISSN 1424-8220 www.mdpi.com/journal/sensors EPMOSt: An Energy-Efficient Passive Monitoring System for Wireless Sensor Networks
APPLICATION PROGRAMMING INTERFACE
APPLICATION PROGRAMMING INTERFACE Advanced Card Systems Ltd. Website: www.acs.com.hk Email: [email protected] Table of Contents 1.0. Introduction... 4 2.0.... 5 2.1. Overview... 5 2.2. Communication Speed...
Mobile IP Network Layer Lesson 01 OSI (open systems interconnection) Seven Layer Model and Internet Protocol Layers
Mobile IP Network Layer Lesson 01 OSI (open systems interconnection) Seven Layer Model and Internet Protocol Layers Oxford University Press 2007. All rights reserved. 1 OSI (open systems interconnection)
point to point and point to multi point calls over IP
Helsinki University of Technology Department of Electrical and Communications Engineering Jarkko Kneckt point to point and point to multi point calls over IP Helsinki 27.11.2001 Supervisor: Instructor:
IP addressing and forwarding Network layer
The Internet Network layer Host, router network layer functions: IP addressing and forwarding Network layer Routing protocols path selection RIP, OSPF, BGP Transport layer: TCP, UDP forwarding table IP
RARP: Reverse Address Resolution Protocol
SFWR 4C03: Computer Networks and Computer Security January 19-22 2004 Lecturer: Kartik Krishnan Lectures 7-9 RARP: Reverse Address Resolution Protocol When a system with a local disk is bootstrapped it
Operating Systems Design 16. Networking: Sockets
Operating Systems Design 16. Networking: Sockets Paul Krzyzanowski [email protected] 1 Sockets IP lets us send data between machines TCP & UDP are transport layer protocols Contain port number to identify
Layer Four Traceroute (and related tools) A modern, flexible path-discovery solution with advanced features for network (reverse) engineers
Layer Four Traceroute (and related tools) A modern, flexible path-discovery solution with advanced features for network (reverse) engineers So, what is path discovery and why is it important? Path discovery
TCP Offload Engines. As network interconnect speeds advance to Gigabit. Introduction to
Introduction to TCP Offload Engines By implementing a TCP Offload Engine (TOE) in high-speed computing environments, administrators can help relieve network bottlenecks and improve application performance.
Overview of Asynchronous Transfer Mode (ATM) and MPC860SAR. For More Information On This Product, Go to: www.freescale.com
Overview of Asynchronous Transfer Mode (ATM) and MPC860SAR nc. 2 What is ATM? o Protocol that applies primarily to layer 2 of the OSI protocol stack: Application Presentation Session Transport Network
Voice Over IP Per Call Bandwidth Consumption
Over IP Per Call Bandwidth Consumption Interactive: This document offers customized voice bandwidth calculations with the TAC Bandwidth Calculator ( registered customers only) tool. Introduction Before
www.mindteck.com 6LoWPAN Technical Overview
www.mindteck.com 6LoWPAN Technical Overview 6LoWPAN : Slide Index Introduction Acronyms Stack Architecture Stack Layers Applications IETF documents References Confidential Mindteck 2009 2 6LoWPAN - Introduction
PCI Express Overview. And, by the way, they need to do it in less time.
PCI Express Overview Introduction This paper is intended to introduce design engineers, system architects and business managers to the PCI Express protocol and how this interconnect technology fits into
Chapter 3. TCP/IP Networks. 3.1 Internet Protocol version 4 (IPv4)
Chapter 3 TCP/IP Networks 3.1 Internet Protocol version 4 (IPv4) Internet Protocol version 4 is the fourth iteration of the Internet Protocol (IP) and it is the first version of the protocol to be widely
Internet Protocols Fall 2005. Lectures 7-8 Andreas Terzis
Internet Protocols Fall 2005 Lectures 7-8 Andreas Terzis Outline Internet Protocol Service Model Fragmentation Addressing Original addressing scheme Subnetting CIDR Forwarding ICMP ARP Address Shortage
NETWORK LAYER/INTERNET PROTOCOLS
CHAPTER 3 NETWORK LAYER/INTERNET PROTOCOLS You will learn about the following in this chapter: IP operation, fields and functions ICMP messages and meanings Fragmentation and reassembly of datagrams IP
Overview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP
Overview Securing TCP/IP Chapter 6 TCP/IP Open Systems Interconnection Model Anatomy of a Packet Internet Protocol Security (IPSec) Web Security (HTTP over TLS, Secure-HTTP) Lecturer: Pei-yih Ting 1 2
Guide to Network Defense and Countermeasures Third Edition. Chapter 2 TCP/IP
Guide to Network Defense and Countermeasures Third Edition Chapter 2 TCP/IP Objectives Explain the fundamentals of TCP/IP networking Describe IPv4 packet structure and explain packet fragmentation Describe
Introduction to Socket Programming Part I : TCP Clients, Servers; Host information
Introduction to Socket Programming Part I : TCP Clients, Servers; Host information Keywords: sockets, client-server, network programming-socket functions, OSI layering, byte-ordering Outline: 1.) Introduction
Recent advances in transport protocols
Recent advances in transport protocols April 12, 2013 Abstract Transport protocols play a critical role in today s Internet. This chapter first looks at the evolution of the Internet s Transport Layer
2. IP Networks, IP Hosts and IP Ports
1. Introduction to IP... 1 2. IP Networks, IP Hosts and IP Ports... 1 3. IP Packet Structure... 2 4. IP Address Structure... 2 Network Portion... 2 Host Portion... 3 Global vs. Private IP Addresses...3
OS/390 Firewall Technology Overview
OS/390 Firewall Technology Overview Washington System Center Mary Sweat E - Mail: [email protected] Agenda Basic Firewall strategies and design Hardware requirements Software requirements Components of
Yubico YubiHSM Monitor
Yubico YubiHSM Monitor Test utility for the YubiHSM Document Version: 1.1 May 24, 2012 Introduction Disclaimer Yubico is the leading provider of simple, open online identity protection. The company s flagship
SMTP-32 Library. Simple Mail Transfer Protocol Dynamic Link Library for Microsoft Windows. Version 5.2
SMTP-32 Library Simple Mail Transfer Protocol Dynamic Link Library for Microsoft Windows Version 5.2 Copyright 1994-2003 by Distinct Corporation All rights reserved Table of Contents 1 Overview... 5 1.1
Gary Hecht Computer Networking (IP Addressing, Subnet Masks, and Packets)
Gary Hecht Computer Networking (IP Addressing, Subnet Masks, and Packets) The diagram below illustrates four routers on the Internet backbone along with two companies that have gateways for their internal
COSC 6374 Parallel Computation. Parallel I/O (I) I/O basics. Concept of a clusters
COSC 6374 Parallel I/O (I) I/O basics Fall 2012 Concept of a clusters Processor 1 local disks Compute node message passing network administrative network Memory Processor 2 Network card 1 Network card
COAP: A Software-Defined Approach for Managing Residential Wireless Gateways
COAP: A Software-Defined Approach for Managing Residential Wireless Gateways 1 OVERVIEW Wireless gateways (eg, Access Points, wireless Set-Top Boxes) act as the primary mode of internet access in most
IP Subnetting and Addressing
Indian Institute of Technology Kharagpur IP Subnetting and Addressing Prof Indranil Sengupta Computer Science and Engineering Indian Institute of Technology Kharagpur Lecture 6: IP Subnetting and Addressing
Motorola 8- and 16-bit Embedded Application Binary Interface (M8/16EABI)
Motorola 8- and 16-bit Embedded Application Binary Interface (M8/16EABI) SYSTEM V APPLICATION BINARY INTERFACE Motorola M68HC05, M68HC08, M68HC11, M68HC12, and M68HC16 Processors Supplement Version 2.0
2057-15. First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring
2057-15 First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring 7-25 September 2009 TCP/IP Networking Abhaya S. Induruwa Department
Network Layer: Network Layer and IP Protocol
1 Network Layer: Network Layer and IP Protocol Required reading: Garcia 7.3.3, 8.1, 8.2.1 CSE 3213, Winter 2010 Instructor: N. Vlajic 2 1. Introduction 2. Router Architecture 3. Network Layer Protocols
Memory Systems. Static Random Access Memory (SRAM) Cell
Memory Systems This chapter begins the discussion of memory systems from the implementation of a single bit. The architecture of memory chips is then constructed using arrays of bit implementations coupled
Protocol Overhead in IP/ATM Networks
Protocol Overhead in IP/ATM Networks John David Cavanaugh * Minnesota Supercomputer Center, Inc. This paper discusses the sources of protocol overhead in an IP/ATM protocol stack. It quantifies the amount
Lecture 10: Dynamic Memory Allocation 1: Into the jaws of malloc()
CS61: Systems Programming and Machine Organization Harvard University, Fall 2009 Lecture 10: Dynamic Memory Allocation 1: Into the jaws of malloc() Prof. Matt Welsh October 6, 2009 Topics for today Dynamic
Chapter 4 Network Layer
Chapter 4 Network Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete
Using Received Signal Strength Indicator to Detect Node Replacement and Replication Attacks in Wireless Sensor Networks
Using Received Signal Strength Indicator to Detect Node Replacement and Replication Attacks in Wireless Sensor Networks Sajid Hussain* and Md Shafayat Rahman Jodrey School of Computer Science, Acadia University
Internetworking. Problem: There is more than one network (heterogeneity & scale)
Internetworking Problem: There is more than one network (heterogeneity & scale) Hongwei Zhang http://www.cs.wayne.edu/~hzhang Internetworking: Internet Protocol (IP) Routing and scalability Group Communication
Packet Capture. Document Scope. SonicOS Enhanced Packet Capture
Packet Capture Document Scope This solutions document describes how to configure and use the packet capture feature in SonicOS Enhanced. This document contains the following sections: Feature Overview
Application Note. Windows 2000/XP TCP Tuning for High Bandwidth Networks. mguard smart mguard PCI mguard blade
Application Note Windows 2000/XP TCP Tuning for High Bandwidth Networks mguard smart mguard PCI mguard blade mguard industrial mguard delta Innominate Security Technologies AG Albert-Einstein-Str. 14 12489
LonManager PCC-10 and ISA Protocol Analyzers Models 33100-00 and 33100-10
LonManager and Protocol Analyzers Models 33100-00 and 33100-10 Description The LonManager Protocol Analyzer provides LONWORKS manufacturers, system integrators, and end-users with a rich set of Windows
TCP Session Management (SesM) Protocol Specification
TCP Session Management (SesM) Protocol Specification Revision Date: 08/13/2015 Version: 1.1e Copyright 2015 Miami International Securities Exchange, LLC. All rights reserved. This constitutes information
Quality of Service (QoS)) in IP networks
Quality of Service (QoS)) in IP networks Petr Grygárek rek 1 Quality of Service (QoS( QoS) QoS is the ability of network to support applications without limiting it s s function or performance ITU-T T
The internetworking solution of the Internet. Single networks. The Internet approach to internetworking. Protocol stacks in the Internet
The internetworking solution of the Internet Prof. Malathi Veeraraghavan Elec. & Comp. Engg. Dept/CATT Polytechnic University [email protected] What is the internetworking problem: how to connect different types
Unix System Administration
Unix System Administration Chris Schenk Lecture 08 Tuesday Feb 13 CSCI 4113, Spring 2007 ARP Review Host A 128.138.202.50 00:0B:DB:A6:76:18 Host B 128.138.202.53 00:11:43:70:45:81 Switch Host C 128.138.202.71
GB ethernet UDP interface in FPGA
GB ethernet UDP interface in FPGA NIKHEF, PeterJ 05 August 2013 1 LED0 RxFifos 0 1 n Rx Stream Select Rx_buf2data pkt_buffers Rx Packet Buffer 64 KB Flags Rx_mac2buf Overview Good/Bad Frame Rx FPGA ML605
AlliedWare Plus OS How To Use sflow in a Network
AlliedWare Plus OS How To Use sflow in a Network Introduction sflow is an industry-standard sampling system that is embedded in Allied Telesis' high-performing Layer 3 switches. sflow enables you to use
Overview of Computer Networks
Overview of Computer Networks Client-Server Transaction Client process 4. Client processes response 1. Client sends request 3. Server sends response Server process 2. Server processes request Resource
Sockets vs. RDMA Interface over 10-Gigabit Networks: An In-depth Analysis of the Memory Traffic Bottleneck
Sockets vs. RDMA Interface over 1-Gigabit Networks: An In-depth Analysis of the Memory Traffic Bottleneck Pavan Balaji Hemal V. Shah D. K. Panda Network Based Computing Lab Computer Science and Engineering
04 Internet Protocol (IP)
SE 4C03 Winter 2007 04 Internet Protocol (IP) William M. Farmer Department of Computing and Software McMaster University 29 January 2007 Internet Protocol (IP) IP provides a connectionless packet delivery
Software Defined Networking (SDN) - Open Flow
Software Defined Networking (SDN) - Open Flow Introduction Current Internet: egalitarian routing/delivery based on destination address, best effort. Future Internet: criteria based traffic management,
Programming Interface. for. Bus Master IDE Controller. Revision 1.0
Programming Interface for Bus Master IDE Controller Revision 1.0 5/16/94 Until this specification is ratified, it is solely owned and maintained by: Brad Hosler, Intel Corporation [email protected] (please
Cisco Configuring Commonly Used IP ACLs
Table of Contents Configuring Commonly Used IP ACLs...1 Introduction...1 Prerequisites...2 Hardware and Software Versions...3 Configuration Examples...3 Allow a Select Host to Access the Network...3 Allow
PART OF THE PICTURE: The TCP/IP Communications Architecture
PART OF THE PICTURE: The / Communications Architecture 1 PART OF THE PICTURE: The / Communications Architecture BY WILLIAM STALLINGS The key to the success of distributed applications is that all the terminals
Technical Support Information Belkin internal use only
The fundamentals of TCP/IP networking TCP/IP (Transmission Control Protocol / Internet Protocols) is a set of networking protocols that is used for communication on the Internet and on many other networks.
Hypertable Architecture Overview
WHITE PAPER - MARCH 2012 Hypertable Architecture Overview Hypertable is an open source, scalable NoSQL database modeled after Bigtable, Google s proprietary scalable database. It is written in C++ for
SQL*Net PERFORMANCE TUNING UTILIZING UNDERLYING NETWORK PROTOCOL
SQL*Net PERFORMANCE TUNING UTILIZING UNDERLYING NETWORK PROTOCOL Gamini Bulumulle ORACLE CORPORATION 5955 T.G. Lee Blvd., Suite 100 Orlando, FL 32822 USA Summary Oracle client/server architecture is a
Pig Laboratory. Additional documentation for the laboratory. Exercises and Rules. Tstat Data
Pig Laboratory This laboratory is dedicated to Hadoop Pig and consists of a series of exercises: some of them somewhat mimic those in the MapReduce laboratory, others are inspired by "real-world" problems.
What is LOG Storm and what is it useful for?
What is LOG Storm and what is it useful for? LOG Storm is a high-speed digital data logger used for recording and analyzing the activity from embedded electronic systems digital bus and data lines. It
Internet Protocols. Addressing & Services. Updated: 9-29-2012
Internet Protocols Addressing & Services Updated: 9-29-2012 Virtual vs. Physical Networks MAC is the part of the underlying network MAC is used on the LAN What is the addressing mechanism in WAN? WAN is
Introduction to Socket programming using C
Introduction to Socket programming using C Goal: learn how to build client/server application that communicate using sockets Vinay Narasimhamurthy [email protected] CLIENT SERVER MODEL Sockets are
TCP Performance Management for Dummies
TCP Performance Management for Dummies Nalini Elkins Inside Products, Inc. Monday, August 8, 2011 Session Number 9285 Our SHARE Sessions Orlando 9285: TCP/IP Performance Management for Dummies Monday,
Network Layer. Introduction Datagrams and Virtual Circuits Routing Traffic Control. Data delivery from source to destination.
Layer Introduction Datagrams and Virtual ircuits Routing Traffic ontrol Main Objective Data delivery from source to destination Node (Router) Application Presentation Session Transport Data Link Data Link
Appendix A. by Gordon Getty, Agilent Technologies
Appendix A Test, Debug and Verification of PCI Express Designs by Gordon Getty, Agilent Technologies Scope The need for greater I/O bandwidth in the computer industry has caused designers to shift from
Gigabit Ethernet Packet Capture. User s Guide
Gigabit Ethernet Packet Capture User s Guide Copyrights Copyright 2008 CACE Technologies, Inc. All rights reserved. This document may not, in whole or part, be: copied; photocopied; reproduced; translated;
