RFC: connectionless Data Link Metalanguage (cldl) cldl Metalanguage Model. RFC for a connectionless Data Link Metalanguage

Size: px
Start display at page:

Download "RFC: connectionless Data Link Metalanguage (cldl) cldl Metalanguage Model. RFC for a connectionless Data Link Metalanguage"

Transcription

1 RFC: connectionless Data Link Metalanguage (cldl) This RFC details a specification draft for a UDI metalanguage interfacing UDI Network Protocol drivers to UDI Data Link drivers. The metalanguage proposed here provides unreliable connectionless data link service to the network protocol driver. cldl Metalanguage Model This document identifies two entities: The Data Link Provider (DLP) and the Data Link Service User (DLU) (usually the network protocol driver). A DLP provides unreliable connectionless Data Link functionality above the MAC level. DLUs are children of the DLP. Any DLP can have multiple children, and any DLU can have multiple parents. A DLP instance enumerates all its children at the time it is instantiated by the MA. A DLU can then bind to the DLP by issuing the udi_dlp_bind_req operation over the initial bind channel established by the MA between the DLU and the DLP. A DLP can but need not act as the NSR (Network Service Requestor) as defined by the UDI Network Interface Metalanguage. There is one DLP instance per network interface for any one distinct Data Link protocol. There is one DLU instance for any one distinct network protocol (or entity providing network-level protocol functionality). Any network protocol for which operation over a given data link protocol is defined and desirable can be bound to the corresponding DLP. Consequently, a DLU can utilize various DLPs, according to the desired operation (i.e. IP over Ethernet vs. IP over Wireless LAN). Likewise, one DLP can be used by various DLUs (i.e. IP over Ethernet vs. IPX over Ethernet on the same interface). An external configuration mechanism is needed to set up legal bindings between DLPs and DLUs. Each DLP instance will enumerate one child for each such binding. These bindings shall be based on a system-specific description of the network-level protocol entities (DLUs). DLPs and DLUs implictly agree on an addressing format for the udi_dl_tx_req operation by binding to one another. The addr_type enumeration attribute contains a description of the addressing format a DLP understands. If the DLU understands the same addressing format, they can bind and that addressing format is used to describe destination endpoints. The addressing format also determines the format of the SAP address that the DLU specifies in the udi_dlp_rx_chan_req operation. During the bind operation, the DLP informs the DLU about the QoS guarantees it can make. When creating a transmit channel, the DLU can then specify a default set of QoS constraints to be used for transmission over that channel. However, each packet can also carry its own set of QoS constraints. The Data Link Metalanguage is solely concerned with data transmission and reception. Control operations (such as putting the underlying interface into/out of promiscuous mode, or having it join multicast groups) need to be addressed in a different manner. For instance, a DLP also acting as the NSR could provide a generic GIO interface to allow for configuration operations on the device it supports. Flow control is achieved in a manner similar to that of the NIC Metalanguage. The DLP allocates a pool of control blocks to be used for packet transmission, which it then passes to the DLU using the udi_dlu_tx_rdy operation. Similarly, the DLU allocates a supply of control blocks to be used for packet reception, which is made available to the DLP using the udi_dlp_rx_rdy operation. Page 1 of 29

2 connection-less DL Metalanguage Definitions udi_dlp_ctrl_ops_t typedef const struct { udi_channel_event_ind_op_t *channel_event_ind_op; udi_dlp_bind_req_op_t *dlp_bind_req_op; udi_dlp_unbind_req_op_t *dlp_unbind_req_op; udi_dlp_unbind_ack_op_t *dlp_unbind_ack_op; udi_dlp_rx_chan_req_op_t *dlp_rx_chan_req_op; udi_dlp_tx_chan_req_op_t *dlp_tx_chan_req_op; TODO: Do we need ctl_req? } udi_dlp_ctrl_ops_t; /* DLP control Ops Vector Number */ #define UDI_DLP_CTRL_OPS_NUM 1 A Data Link Driver uses the udi_dlp_ctrl_ops_t structure in a udi_dlp_ctrl_ops_t in a udi_ops_init_t as part of its udi_init_info in order to register its entry points for the Data Link Metalanguage control channel operations. Page 2 of 29

3 udi_dlp_tx_ops_t typedef const struct { udi_channel_event_ind_op_t *channel_event_ind_op; udi_dlp_tx_req_op_t *dlp_tx_req_op; TODO: Do we need expedited service at this level? } udi_dlp_tx_ops_t; /* DLP TX Ops Vector Number */ #define UDI_DLP_TX_OPS_NUM 2 A Data Link Driver uses the udi_dlp_tx_ops_t structure in a udi_ops_init_t as part of its udi_init_info in order to register its entry points for operations over a Data Link Metalanguage transmit channel. Page 3 of 29

4 udi_dlp_rx_ops_t typedef const struct { udi_channel_event_ind_op_t *channel_event_ind_op; udi_dlp_rx_rdy_op_t *dlp_rx_rdy_op; } udi_dlp_rx_ops_t; /* DLP TX Ops Vector Number */ #define UDI_DLP_RX_OPS_NUM 3 A Data Link Driver uses the udi_dlp_rx_ops_t structure in a udi_ops_init_t as part of its udi_init_info in order to register its entry points for operations over a Data Link Metalanguage receive channel. Page 4 of 29

5 udi_dlu_ctrl_ops_t typedef const struct { udi_channel_event_ind_op_t *channel_event_ind_op; udi_dlu_bind_ack_op_t *dlu_bind_ack_op; udi_dlu_unbind_ack_op_t *dlu_unbind_ack_op; udi_dlu_unbind_req_op_t *dlu_unbind_req_op; udi_dlu_rx_chan_ack_op_t *dlu_rx_chan_ack_op; udi_dlu_tx_chan_ack_op_t *dlu_tx_chan_ack_op; TODO: Do we need ctrl_req? } udi_dlu_ctrl_ops_t; /* DLU control Ops Vector Number */ #define UDI_DLU_CTRL_OPS_NUM 4 A Network Protocol Driver uses the udi_dlu_ctrl_ops_t structure in a udi_dlp_ctrl_ops_t in a udi_ops_init_t as part of its udi_init_info in order to register its entry points for the Data Link Metalanguage control channel operations. Page 5 of 29

6 udi_dlu_tx_ops_t typedef const struct { udi_channel_event_ind_op_t *channel_event_ind_op; udi_dlu_tx_rdy_op_t *dlu_tx_rdy_op; } udi_dlu_tx_ops_t; /* DLU TX Ops Vector Number */ #define UDI_DLU_TX_OPS_NUM 5 A Network Protocol Driver uses the udi_dlu_tx_ops_t structure in a udi_ops_init_t as part of its udi_init_info in order to register its entry points for operations over a Data Link Metalanguage transmit channel. Page 6 of 29

7 udi_dlu_rx_ops_t typedef const struct { udi_channel_event_ind_op_t *channel_event_ind_op; udi_dlu_rx_ind_op_t *dlu_rx_ind_op; TODO: Do we need expedited data delivery? } udi_dlu_tx_ops_t; /* DLP RX Ops Vector Number */ #define UDI_DLU_RX_OPS_NUM 6 A Network Protocol Driver uses the udi_dlu_rx_ops_t structure in a udi_ops_init_t as part of its udi_init_info in order to register its entry points for operations over a Data Link Metalanguage receive channel. Page 7 of 29

8 udi_dl_cb_t typedef struct { udi_cb_t gcb; } udi_dl_cb_t; /* Data Link Standard Control Block Number */ #define UDI_DL_STD_CB_NUM 1 The udi_dl_cb_t structure is used for channel operations between a child (DLU) and its parent (DLP) where there is no additional metalanguage information needed in the control block. This control block must be declared by specifying the control block index value UDI_DL_STD_CB_NUM in a udi_cb_init_t in the driver s udi_init_info. Page 8 of 29

9 udi_dl_bind_cb_t typedef struct { udi_cb_t gcb; udi_ubit32_t min_dlpdu_size; udi_ubit32_t max_dlpdu_size; void *qos_caps; TODO: Do we need anything else here? Like media/if type? I think not, rather, everything else should be enumeration attributes, so that we can match drivers based on e.g. if type } udi_dl_bind_cb_t; /* Data Link Bind Control Block Number */ #define UDI_DL_BIND_CB_NUM 2 MEMBERS gcb is the generic control block header which includes a pointer to the scratch space associated with this block and the channel context for the associated channel. The driver may use the scratch space while it owns the control block, but the values are not guaranteed to persist across channel operations. min_dlpdu_size is the minimum size of a Data Link Protocol Data Unit. This represents the minimum number of bytes that make up one packet sent or received by the DLP, including the data link header attached by the DLP. The DLP sets this value in the bind ack operation. max_dlpdu_size is the maximum size of a Data Link Protocol Data Unit. This represents the maximum number of bytes that make up one packet sent or received by the DLP, including the data link header attached by the DLP. The DLP sets this value in the bind ack operation. qos_caps is a pointer to an inline memory structure specifying the quality of service parameters the DLP supports. The DLP sets the contents of this structure before calling the bind ack operation. If NULL, the DLP does not make any quality-of- Service guarantees and any constraints specified for packet transmission will be ignored by the DLP. The udi_dl_bind_cb_t structure is used for the udi_dlp_bind_req and udi_dlu_bind_ack operations between a child (DLU) and its parent (DLP). This structure is empty on the udi_dlp_bind_req operation, and its members are filled in by the DLP for the corresponding udi_dlu_bind_ack operation. This control block must be declared by specifying the control block index value UDI_DL_BIND_CB_NUM in a udi_cb_init_t in the driver s udi_init_info. Page 9 of 29

10 The structure pointed to by the qos_caps member is defined as follows: struct udi_qos_capabilities { udi_ubit8_t qos_type; /* type of constraints supported; either QOS_GENERIC or QOS_EXPLICIT */ udi_boolean_t flows_supported; udi_ubit8_t service_class_supported; /* bit mask of SVC_* constants for each supported service class */ udi_uibt32_t max_pdv; udi_ubit32_t max_pdv_tolerance; udi_ubit32_t max_plr; udi_ubit32_t max_ptd; udi_ubit32_t max_mbs; udi_ubit32_t max_mdr; udi_ubit32_t max_pdr; udi_ubit32_t max_sdr; }; #define QOS_GENERIC 0 /* supports generic QoS constraints */ #define QOS_EXPLICIT 1 /* supports explicit constraints */ #define SVC_CBR 1 /* constant bit rate service */ #define SVC_VBR_RT 2 /* real-time variable bit rate */ #define SVC_VBR_NRT 4 /* non-real-time variable bit rate */ #define SVC_ABR 8 /* available bit rate service */ #define SVC_UBR 16 /* unspecified bit rate service */ Each max_* field will be set to the maximum value supported by the DLP, or to 0 if the corresponding field in a QoS constraint structure is not supported. Page 10 of 29

11 udi_dlp_bind_req void udi_dlp_bind_req ( udi_dl_bind_cb_t *cb); ARGUMENTS cb is a pointer to a Data Link Metalanguage bind control block. The fields of this control block are to be initialized by the binding DLP, which will return the control block to the DLU in a subsequent udi_dlu_bind_ack operation. TARGET CHANNEL The udi_dlp_bind_req operation is issued over the Data Link Metalanguage control channel, which is also the primary channel initially established by the MA to bind the primary region of the DLP to the primary region of the DLU. udi_dlp_bind_req is used to associate, or bind a channel between the DLU and the DLP. Page 11 of 29

12 udi_dlu_bind_ack void udi_dlu_bind_ack ( udi_dl_bind_cb_t *cb, udi_status_t status); ARGUMENTS cb is a pointer to a Data Link Metalanguage bind control block. status indicates the sucess or failure of the data link bind request. TARGET CHANNEL The udi_dlu_bind_ack operation is issued over the Data Link Metalanguage control channel over which the corresponding udi_dlp_bind_req operation was received. Response to a udi_dlp_bind_req operation. The DLP uses this to acknowledge the bind operation to the DLU and to signal the success of the bind operation. TODO: Explain Status codes. Page 12 of 29

13 udi_dlp_unbind_req void udi_dlp_unbind_req ( udi_dl_cb_t *cb); ARGUMENTS cb is a pointer to a Data Link Metalanguage standard control block. TARGET CHANNEL The udi_dlp_unbind_req operation is issued over the Data Link Metalanguage control channel. The udi_dlp_unbind_req operation is used when the DLU wishes to close down an active binding between itself and the DLP. All data transfer ceases, any queued data is discarded, and the data channel(s) are closed. The control channel may be used to issuse a subsequent udi_dlp_bind_req to the DLP if desired or it may also be closed. Page 13 of 29

14 udi_dlu_unbind_ack void udi_dlu_unbind_ack ( udi_dl_cb_t *cb, udi_status_t status); ARGUMENTS cb is a pointer to a Data Link Metalanguage standard control block. status indicates the success or failure of the data link unbind request. TARGET CHANNEL The udi_dlu_unbind_ack operation is issued over the Data Link Metalanguage control channel over which the corresponding udi_dlp_unbind_req operation was received. Response to a udi_dlp_unbind_req operation. After this operation is performed, the DLU will no longer attempt to transmit packets or to establish additional data transfer channels between itself and the DLP unless another udi_dlp_bind_req has been issued and handshaked before. Likewise, the DLP will stop delivering incoming packets to the DLU unless it has been bound again. TODO: Explain Status codes. Page 14 of 29

15 udi_dlu_unbind_req void udi_dlu_unbind_req ( udi_dl_cb_t *cb); ARGUMENTS cb is a pointer to a Data Link Metalanguage standard control block. TARGET CHANNEL The udi_dlu_unbind_req operation is issued over the Data Link Metalanguage control channel. The udi_dlu_unbind_req operation is used when the DLP wishes to close down an active binding between itself and the DLU. All data transfer ceases, any queued data is discarded, and the data channel(s) are closed. The control channel may be used by the DLU to issue a subsequent udi_dlp_bind_req to the DLP if desired or it may also be closed. Page 15 of 29

16 udi_dlp_unbind_ack void udi_dlp_unbind_ack ( udi_dl_cb_t *cb, udi_status_t status); ARGUMENTS cb is a pointer to a Data Link Metalanguage standard control block. status indicates the sucess or failure of the data link unbind request. TARGET CHANNEL The udi_dlp_unbind_ack operation is issued over the same Data Link Metalanguage control channel through which the corresponding udi_dlu_unbind_req operation was received. Response to a udi_dlu_unbind_req operation. After this operation is performed, the DLU will no longer attempt to transmit packets or to establish additional data transfer channels between itself and the DLP unless another udi_dlp_bind_req has been issued and handshaked before. Likewise, the DLP will stop delivering incoming packets to the DLU unless it has been bound again. TODO: Explain Status codes. Page 16 of 29

17 udi_dlp_rx_chan_req void udi_dlp_rx_chan_req ( udi_dl_cb_t *cb, udi_index_t rx_chan_index, void *dlp_sap_addr); ARGUMENTS cb is a pointer to a Data Link Metalanguage standard control block. rx_chan_index is the index of the data receive channel to be created between the DLP and the DLU by synchronizing via udi_channel_spawn operations. dlp_sap_addr is a protocol-specific description of a service access point address to be used for that receive channel. The service access point address specifies which datalink packet should be forwarded over the requested receive channel. The pointer itself is set by the environment, and must not be modified by the driver. TARGET CHANNEL The udi_dlp_rx_chan_req operation is issued over the Data Link Metalanguage control channel. The udi_dlp_rx_chan_req operation is used to establish a receive data transfer channel between the DLP and the DLU. The DLU spawns one end of the data transfer channel and then issues this request, which shall cause the DLP to create its end of the same channel (using the rx_chan_index parameter to identify the channel being spawned). This channel will then be used by the DLP to report incoming packets to the DLU. The dlp_sap_addr parameter encodes the address of a service access point (or service user) in a protocol-specific manner. This parameter allows the DLP to decide which incoming packets should be indicated to the service user over the receive channel. The size and layout of the dlp_sap_addr structure must be specified using the inline_size and inline_layout members of the udi_cb_init_t structure used to associate this control block to a control block index (i.e. dlp_sap_addr is a UDI_DL_INLINE_DRIVER_TYPED field). TODO: Better explain SAP address. Rename SAP address, as this is probably a misnomer. What s a better name? Page 17 of 29

18 udi_dlu_rx_chan_ack void udi_dlu_rx_chan_ack ( udi_dl_cb_t *cb, udi_status_t status ); ARGUMENTS cb is a pointer to a Data Link Metalanguage standard control block. status indicates the success or failure of the channel allocation request. TARGET CHANNEL The udi_dlu_rx_chan_ack operation is issued over the same Data Link Metalanguage control channel that the corresponding udi_dlp_rx_chan_req was delivered over. Response to udi_dlp_rx_chan_req. The udi_dlu_rx_chan_ack operation acknowledges the channel creation request and informs the DLU about the success of the request. If the operation was successful, the DLP will henceforward deliver incoming packets over the newly-bound channel that match the SAP specification identified by the dlp_sap parameter in the udi_dlp_chan_req operation. TODO: Explain Status codes. Page 18 of 29

19 udi_dlp_tx_chan_req void udi_dlp_tx_chan_req ( udi_dl_cb_t *cb, udi_index_t tx_chan_index, void *default_qos ); ARGUMENTS cb is a pointer to a Data Link Metalanguage standard control block. tx_chan_index is the index of the data transmit channel to be created between the DLP and the DLU by synchronizing via udi_channel_spawn operations. default_qos is a pointer to an inlined memory structure describing the default Quality-of- Service constraints to be used for transmitting on the transmit channel to be created. This parameter can be NULL, indicating that the DLU does not request default QoS constraints. TARGET CHANNEL The udi_dlp_tx_chan_req operation is issued over the Data Link Metalanguage control channel. The udi_dlp_tx_chan_req operation is used to establish a transmit data transfer channel between the DLP and the DLU. The DLU spawns one end of the data transfer channel and then issues this request, which shall cause the DLP to create its end of the same channel (using the tx_chan_index parameter to identify the channel). This channel will then be used by the DLU to transmit data over the DLP. The format of the structure pointed to by the default_qos argument is as follows: struct udi_qos_constraints { union { udi_ubit32_t flow_id; /* id of flow for this packet */ udi_ubit32_t flow_type; /* type of flow for this packet */ } _u; }; struct { udi_ubit32_t expiry; /* system ticks at which packet expires */ udi_ubit32_t priority; /* priority of packet */ } generic; struct { udi_ubit8_t service_class; /* type of service guarantee */ udi_ubit32_t pdv; /* packet delay variation */ udi_ubit32_t pdv_tolerance; /* tolerance of pdv */ udi_ubit32_t plr; /* packet loss ratio */ udi_ubit32_t ptd; /* packet transfer delay */ udi_ubit32_t mbs; /* maximum burst size */ udi_ubit32_t mdr; /* minimum data rate */ udi_ubit32_t pdr; /* peak data rate */ udi_ubit32_t sdr; /* sustainable data rate */ } explicit; Page 19 of 29

20 #define SVC_CBR 1 /* constant bit rate service */ #define SVC_VBR_RT 2 /* real-time variable bit rate */ #define SVC_VBR_NRT 4 /* non-real-time variable bit rate */ #define SVC_ABR 8 /* available bit rate service */ #define SVC_UBR 16 /* unspecified bit rate service */ The DLU should only set constraint options that the DLP supports. The DLP must ignore options that it does not support. The DLU must only use ranges for each option that are supported by the DLP. Page 20 of 29

21 udi_dlu_tx_chan_ack void udi_dlu_tx_chan_ack ( udi_dl_cb_t *cb, udi_status_t status ); ARGUMENTS cb is a pointer to a Data Link Metalanguage standard control block. status indicates the success or failure of the channel allocation request. TARGET CHANNEL The udi_dlu_tx_chan_ack operation is issued over the same Data Link Metalanguage control channel that the corresponding udi_dlp_tx_chan_req was delivered over. Response to udi_dlp_tx_chan_req. The udi_dlu_tx_chan_ack operation acknowledges the channel creation request and informs the DLU about the success of the request. If the operation was successful, the DLU can start transmitting packets over the newly-bound channel. TODO: Explain Status codes. Page 21 of 29

22 udi_dl_tx_cb_t typedef struct ( udi_cb_t gcb; udi_dl_tx_cb_t *chain; udi_buf_t *tx_buf; void *tx_addr; void *qos_constraints; TODO: Do we need completion_urgent or anything else? } udi_dl_tx_cb_t; /* Data Link Transmit Control Block Group Number */ #define UDI_DL_TX_CB_NUM 3 MEMBERS gcb is the generic control block which includes a pointer to the scratch space associated with this block and the channel context for the associated channel. The driver may use the scratch space while it owns the control block, but the values are not guaranteed to persist across channel operations. chain is a pointer to the next udi_dl_tx_cb_t structure (and associated SDU buffer) for this operation. The DLP and DLU will use this field to batch a number of transmit requests or ready s into a single metalanguage operation. The DLP, DLU, or environment are free to divide a chain at any point and implement explicit operations for each resulting portion of the chain, but performance concerns would indicate that processing the entire chain as a batch is highly desirable. The end of a chain is indicated by a NULL pointer. tx_buf is the buffer describing the SDU to be transmitted. This field must be NULL for the udi_dlu_tx_rdy operation and is used only for the udi_dlp_tx_req operation, for which the contents of the buffer are guaranteed to be preserved across a channel. tx_addr is a pointer to an inline memory structure describing the address to which the attached SDU should be sent. The format of this structure is protocol-specific. The pointer itself is set by the environment when the control block is allocated, and must not be modified by the driver. qos_constraints is a pointer to an inline memory structure describing the Quality-of- Service constraints associated with the attached SDU. The pointer itself is set by the environment when the control block is allocated, and must not be modified by the driver. For the format of this structure, refer to the description of udi_dlp_tx_chan_req. The udi_dl_tx_cb_t structure is passed from the DLP to the DLU to indicate a capability for transmitting a SDU; the DLU subsequently attaches an SDU buffer to this control block and returns it to the DLP for transmission. The DLU can only pass SDUs to the DLP when it has available control blocks, thereby implementing flow control between the Page 22 of 29

23 DLP and the DLU by requiring the DLP to supply the DLU with all usable udi_dl_tx_cb_t structures (i.e. the DLU must not allocate structures of this type). This control block must be declared by specifying the control block index value UDI_DL_TX_CB_NUM in a udi_cb_init_t in the driver s udi_init_info. The size and layout of the tx_addr structure must be specified using the inline_size and inline_layout members of that udi_cb_init_t structure (i.e. tx_addr is a UDI_DL_INLINE_DRIVER_TYPED field). The members of the qos_constraints structure must be set by the DLU prior to requesting SDU delivery using the udi_dl_tx_req operation. Only members supported by the DLP should be set by the DLU. Unsupported members must be ignored by the DLP. Only values from the ranges supported by the DLP must be used by the DLU. The DLP informs the DLU of the members and ranges it supports by filling in the members of the qos_constraints structure using the bind ack operation. Page 23 of 29

24 udi_dlu_tx_rdy void udi_dlu_tx_rdy ( udi_dl_tx_cb_t *cb ); ARGUMENTS cb is a pointer to a Data Link Metalanguage transmit control block. TARGET CHANNEL The udi_dlu_tx_rdy operation is issued over a Data Link Metalanguage transmit channel that was previously established using the udi_dlp_tx_chan_req and udi_dlu_tx_chan_ack operations. The udi_dlu_tx_rdy operation is used to indicate to the DLU that the DLP can transmit a SDU when the DLU has one available. The DLU maintains a pool of control blocks of type udi_dl_tx_cb_t for SDU transmission. The udi_dlu_tx_rdy operation makes an additional control block available to the DLU, which can then start or continue transmitting over the channel associated with the control block. This is used to perform flow control. Multiple udi_dl_tx_cb_t structures can be chained together (using the chain pointer). Single control blocks as well as a chain of control blocks can be passed using this operation. Page 24 of 29

25 udi_dlp_tx_req void udi_dlp_tx_req ( udi_dl_tx_cb_t *cb ); ARGUMENTS cb is a pointer to a Data Link Metalanguage transmit control block. TARGET CHANNEL The udi_dlp_tx_req operation is issued over a Data Link Metalanguage transmit channel that was previously established using the udi_dlp_tx_chan_req and udi_dlu_tx_chan_ack operations. The udi_dlp_tx_req operation is called by the DLU to pass one or more SDU buffers to the DLP for transmission over the DLP's associated interface. Each SDU buffer is attached to a udi_dl_tx_cb_t control block. Multiple packet buffers may be passed by chaining control blocks together (using the chain field in the udi_dl_tx_cb_t structure). Each packet buffer represents one Data Link SDU (Service Data Unit), i.e. one higher-level protocol PDU (Protocol Data Unit). Each control block has a Quality-of-Service constraint structure associated with it, which the DLP will typically use to enforce the imposed requirements at the data-link level. Page 25 of 29

26 udi_dl_rx_cb_t typedef struct ( udi_cb_t gcb; udi_dl_rx_cb_t *chain; void *qos_constraints; TODO: Do we need rx_status or anything else? Do we even need qos_constraints? } udi_dl_rx_cb_t; /* Data Link Transmit Control Block Group Number */ #define UDI_DL_RX_CB_NUM 4 MEMBERS gcb is the generic control block which includes a pointer to the scratch space associated with this block and the channel context for the associated channel. The driver may use the scratch space while it owns the control block, but the values are not guaranteed to persist across channel operations. chain is a pointer to the next udi_dl_rx_cb_t structure (and associated SDU buffer) for this operation. The DLP and DLU will use this field to batch a number of transmit requests or ready s into a single metalanguage operation. The DLP, DLU, or environment are free to divide a chain at any point and implement explicit operations for each resulting portion of the chain, but performance concerns would indicate that processing the entire chain as a batch is highly desirable. The end of a chain is indicated by a NULL pointer. rx_buf is the buffer containing the SDU that has been received. This field is used to pass an empty buffer to the DLP (rx_buf->buf_size == 0) in the udi_dlp_rx_rdy operation. It is filled in with the actual SDU for each udi_dlu_rx_ind operation. qos_constraints is a pointer to an inline memory structure describing the Quality-of- Service constraints associated with the attached SDU. The pointer itself is set by the environment and must not be modified by the driver. The format of the structure pointed to by this pointer is specified in the definition of the udi_dl_tx_cb_t structure. The udi_dl_rx_cb_t structure is passed from the DLU to the DLP to indicate a capability for receiving a SDU; the DLP subsequently attaches SDU and QoS-constraint buffers to this control block and returns it to the DLU upon valid reception of a relevant SDU. Only successfully received SDUs will be processed and reported to the DLU. This control block must be declared by specifying the control block index value UDI_DL_RX_CB_NUM in a udi_cb_init_t in the driver s udi_init_info. Page 26 of 29

27 udi_dlp_rx_rdy void udi_dlp_rx_rdy ( udi_dl_rx_cb_t *cb ); ARGUMENTS cb is a pointer to a Data Link Metalanguage receive control block. TARGET CHANNEL The udi_dlp_rx_rdy operation is issued over a Data Link Metalanguage receive channel that was previously established using the udi_dlp_rx_chan_req and udi_dlu_rx_chan_ack operations. The udi_dlp_rx_rdy operation is used to indicate to the DLP that the DLU can process a SDU when the DLP receives one from the underlying interface. The DLP maintains a pool of control blocks of type udi_dl_rx_cb_t for SDU reception. The udi_dlp_rx_rdy operation makes an additional colntrol block available to the DLU, which can then start or continue transmitting over the channel associated with the control block. This is used to perform flow control. Multiple udi_dl_rx_cb_t structures can be chained together (using the chain pointer). Single control blocks as well as a chain of control blocks can be passed using this operation. Page 27 of 29

28 udi_dlu_rx_ind void udi_dlu_rx_ind ( udi_dl_rx_cb_t *cb ); ARGUMENTS cb is a pointer to a Data Link Metalanguage receive control block. TARGET CHANNEL The udi_dlu_rx_ind operation is issued over a Data Link Metalanguage receive channel that was previously established using the udi_dlp_rx_chan_req and udi_dlu_rx_chan_ack operations. The udi_dlu_rx_ind operation is called by the DLP to indicate to the DLU that a relevant network-level SDU has been received by the data link driver. Only SDUs that match the SAP address specified when the receive channel was created will be reported over that receive channel. Only valid SDUs will be reported, erroneous data link packets will be silently dropped. The cb can point to a single udi_dl_rx_cb_t structure, or multiple structures can be chained together using the chain pointer in the structure. Once the DLU is done processing the SDU contained in this (these) control block s (blocks ) rx_buf field, the control block (blocks) are returned to the DLP using the udi_dlp_rx_rdy operation. Page 28 of 29

29 Enumeration Attributes Note: For all attributes of type UDI_ATTR_TYPE_STRING in the following table, the size range indication includes the terminating NUL character. ATTRIBUTE TYPE SIZE dl_name UDI_ATTR_STRING Name of the Data Link Protocol supported by this DLP. TODO: Define known names in this spec. dl_rev UDI_ATTR_UBIT32 4 addr_type UDI_ATTR_STRING np_name UDI_ATTR_STRING Revision of the Data Link Protocol supported by this DLP. Name identifying a format for addressing information understood by this DLP. System name of a network-level protocol entity that can be bound to this DLP. TODO: Do we need this? Shouldn t bindings be enforced by directed enumeration? if_name UDI_ATTR_STRING System Interface name this DLP is bound to. if_media UDI_ATTR_STRING 1..8 Media type string as defined in NIC meta. identifier UDI_ATTR_STRING physical_label UDI_ATTR_STRING String representation of the Factory MAC address of the interface that this DLP supports, encoded in the same way as the attribute with the same name in the NIC meta. Driver-specified string uniquely identifying this DLP instance (optional). TODO: Define Attribute Ranking- Page 29 of 29

RFC: connectionless Data Link Metalanguage Burkhard Daniel

RFC: connectionless Data Link Metalanguage Burkhard Daniel RFC: connectionless Data Link Metalanguage Burkhard Daniel (burk@stg.com) This RFC details a specification draft for a UDI metalanguage interfacing UDI Network Protocol drivers to UDI Data Link drivers.

More information

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

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

More information

! Cell streams relating to different media types are multiplexed together on a statistical basis for transmission and switching.

! Cell streams relating to different media types are multiplexed together on a statistical basis for transmission and switching. Asynchronous Transfer Mode (ATM) Networks! All source media is first broken down into a stream of fixed sized units known as cells.! Cell streams relating to different media types are multiplexed together

More information

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

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

More information

19: Networking. Networking Hardware. Mark Handley

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

More information

Asynchronous Transfer Mode

Asynchronous Transfer Mode ATM Asynchronous Transfer Mode CS420/520 Axel Krings Page 1 Protocol Architecture (diag) CS420/520 Axel Krings Page 2 1 Reference Model Planes User plane Provides for user information transfer Control

More information

1. Overview Ethernet FIT Module Outline of the API API Information... 5

1. Overview Ethernet FIT Module Outline of the API API Information... 5 Introduction APPLICATION NOTE R01AN2009EJ0115 Rev.1.15 This application note describes an Ethernet module that uses Firmware Integration Technology (FIT). This module performs Ethernet frame transmission

More information

Multicast and Quality of Service. Internet Technologies and Applications

Multicast and Quality of Service. Internet Technologies and Applications Multicast and Quality of Service Internet Technologies and Applications Aims and Contents Aims Introduce the multicast and the benefits it offers Explain quality of service and basic techniques for delivering

More information

Networking Technologies and Applications

Networking Technologies and Applications Networking Technologies and Applications Rolland Vida BME TMIT Transport Protocols UDP User Datagram Protocol TCP Transport Control Protocol and many others UDP One of the core transport protocols Used

More information

Open Universal Serial Bus Driver Interface (OpenUSBDI) Specification

Open Universal Serial Bus Driver Interface (OpenUSBDI) Specification Open Universal Serial Bus Driver Interface (OpenUSBDI) Specification Revision 1.0 July 17, 2000 Revision History Rev Date Filename Comments 1.0 5-May-00 usbd10.doc Update version to 1.0, remove "Review

More information

Pretty Good Protocol - Design Specification

Pretty Good Protocol - Design Specification Document # Date effective October 23, 2006 Author(s) Ryan Herbst Supersedes Draft Revision 0.02 January 12, 2007 Document Title Pretty Good Protocol - Design Specification CHANGE HISTORY LOG Revision Effective

More information

Open Universal Serial Bus Driver Interface (OpenUSBDI) Specification

Open Universal Serial Bus Driver Interface (OpenUSBDI) Specification Open Universal Serial Bus Driver Interface (OpenUSBDI) Specification Revision 0.9 June 21, 1999 Open USB Driver Interface (OpenUSBDI) Specification Compaq Computer Corporation, All rights reserved. 2 June

More information

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

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

More information

Peer entities. Protocol Layering. Protocols. Example

Peer entities. Protocol Layering. Protocols. Example Peer entities Protocol Layering An Engineering Approach to Computer Networking Customer A and B are peers Postal worker A and B are peers Protocols A protocol is a set of rules and formats that govern

More information

Lecture 7: Ethernet Hardware Addressing and Frame Format. Dr. Mohammed Hawa. Electrical Engineering Department, University of Jordan.

Lecture 7: Ethernet Hardware Addressing and Frame Format. Dr. Mohammed Hawa. Electrical Engineering Department, University of Jordan. Lecture 7: Ethernet Hardware Addressing and Frame Format Dr. Mohammed Hawa Electrical Engineering Department University of Jordan EE426: Communication Networks MAC Addresses The shared medium in a LAN

More information

Short Notes of CS201

Short Notes of CS201 #includes: Short Notes of CS201 The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with < and > if the file is a system

More information

TCP/IP Protocol Suite 1

TCP/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 information

Real-Time Protocol (RTP)

Real-Time Protocol (RTP) Real-Time Protocol (RTP) Provides standard packet format for real-time application Typically runs over UDP Specifies header fields below Payload Type: 7 bits, providing 128 possible different types of

More information

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

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

More information

Internet Protocols (chapter 18)

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

More information

CS201 - Introduction to Programming Glossary By

CS201 - Introduction to Programming Glossary By CS201 - Introduction to Programming Glossary By #include : The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with

More information

NetWare Link-Services Protocol

NetWare Link-Services Protocol 44 CHAPTER Chapter Goals Describe the Network Link-Service Protocol. Describe routing with NLSP. Describe the data packet used by NLSP. Background The (NLSP) is a link-state routing protocol from Novell

More information

IEEE C802.16maint-08/064r3

IEEE C802.16maint-08/064r3 Project Title IEEE 802.16 Broadband Wireless Access Working Group Clarification and Fixes in the MBS definitions and procedures Date Submitted Source(s) 2008-03-10 Kamran Etemad

More information

Performance of UMTS Radio Link Control

Performance of UMTS Radio Link Control Performance of UMTS Radio Link Control Qinqing Zhang, Hsuan-Jung Su Bell Laboratories, Lucent Technologies Holmdel, NJ 77 Abstract- The Radio Link Control (RLC) protocol in Universal Mobile Telecommunication

More information

Data Link Protocols. High Level Data. Control Protocol. HDLC Framing ~~~~~~~~ Functions of a Data Link Protocol. Framing PDUs. Addressing Destination

Data Link Protocols. High Level Data. Control Protocol. HDLC Framing ~~~~~~~~ Functions of a Data Link Protocol. Framing PDUs. Addressing Destination Data Link Protocols Data Link Services Connection-less services Functions of a Data Link Protocol Framing PDUs ing Destination Error Detection / Error Recovery Link Management Ethernet (covered elsewhere)

More information

CS 268: Computer Networking. Taking Advantage of Broadcast

CS 268: Computer Networking. Taking Advantage of Broadcast CS 268: Computer Networking L-12 Wireless Broadcast Taking Advantage of Broadcast Opportunistic forwarding Network coding Assigned reading XORs In The Air: Practical Wireless Network Coding ExOR: Opportunistic

More information

UDI NIC Test Specification

UDI NIC Test Specification UDI NIC Test Specification by Gian-Carlo Bava (SCO) Barry Feild (SCO) Change History Revision Date Description 0.6 11/05/99 DRAFT version for review Approvers: TBD 1 Introduction This document describes

More information

Last Class: RPCs and RMI. Today: Communication Issues

Last Class: RPCs and RMI. Today: Communication Issues Last Class: RPCs and RMI Case Study: Sun RPC Lightweight RPCs Remote Method Invocation (RMI) Design issues Lecture 9, page 1 Today: Communication Issues Message-oriented communication Persistence and synchronicity

More information

The Link Layer II: Ethernet

The Link Layer II: Ethernet Monday Recap The Link Layer II: Ethernet q Link layer services q Principles for multiple access protocols q Categories of multiple access protocols CSC 249 March 24, 2017 1 2 Recap: Random Access Protocols

More information

RoE Link Setup. Gareth Edwards Xilinx Inc. 26th April April 2016 IEEE 1904 Access Networks Working Group, City, Country 1

RoE Link Setup. Gareth Edwards Xilinx Inc. 26th April April 2016 IEEE 1904 Access Networks Working Group, City, Country 1 RoE Link Setup Gareth Edwards Xilinx Inc. 26th April 2016 20 April 2016 IEEE 1904 Access Networks Working Group, City, Country 1 Background Discussed in a couple of biweekly calls Previous slides for discussion

More information

Transport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol)

Transport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol) Transport Layer -UDP (User Datagram Protocol) -TCP (Transport Control Protocol) 1 Transport Services The transport layer has the duty to set up logical connections between two applications running on remote

More information

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

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

More information

The BANDIT can also concentrate and switch multiple sources of Frame Relay traffic simultaneously.

The BANDIT can also concentrate and switch multiple sources of Frame Relay traffic simultaneously. encor! enetworks TM Version A, March 2008 2013 Encore Networks, Inc. All rights reserved. Routing with Frame Relay This chapter discusses Frame Relay routing. 4.1 Frame Relay You can configure use of synchronous

More information

Chapter 5: The Data Link Layer. Chapter 5 Link Layer and LANs. Ethernet. Link Layer. Star topology. Ethernet Frame Structure.

Chapter 5: The Data Link Layer. Chapter 5 Link Layer and LANs. Ethernet. Link Layer. Star topology. Ethernet Frame Structure. hapter 5 Link Layer and LNs omputer Networking: Top Down pproach 5 th edition. Jim Kurose, Keith Ross ddison-wesley, pril 2009. hapter 5: The Data Link Layer Our goals: understand principles behind data

More information

Communication. Overview

Communication. Overview Communication Chapter 2 1 Overview Layered protocols Remote procedure call Remote object invocation Message-oriented communication Stream-oriented communication 2 Layered protocols Low-level layers Transport

More information

The MAC Address Format

The MAC Address Format Directing data is what addressing is all about. At the Data Link layer, this is done by pointing PDUs to the destination MAC address for delivery of a frame within a LAN. The MAC address is the number

More information

Wireless USB Periodic Transfer Models. Dan Froelich Intel

Wireless USB Periodic Transfer Models. Dan Froelich Intel Wireless USB Periodic Transfer Models Dan Froelich Intel Agenda Wired Isochronous Model Overview Key Features Wireless Media Reliability Coexistence (Shared With Other Hosts And UWB Devices) Wireless USB

More information

Configuring QoS. Finding Feature Information. Prerequisites for QoS

Configuring QoS. Finding Feature Information. Prerequisites for QoS Finding Feature Information, page 1 Prerequisites for QoS, page 1 Restrictions for QoS, page 3 Information About QoS, page 4 How to Configure QoS, page 28 Monitoring Standard QoS, page 80 Configuration

More information

Annex B UMT Peer Discovery and Tunnel Auto-Configuration

Annex B UMT Peer Discovery and Tunnel Auto-Configuration 0 Annex B UMT Peer Discovery and Tunnel Auto-Configuration B. Introduction IEEE Std. 0. Clause defines a method for delivering service data units (SDU) for higher layer protocols across a layer- network

More information

User Datagram Protocol

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

More information

Internetwork Protocols

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

More information

Configuration Commands Generic Commands Syntax description no description Context Description Default Parameters

Configuration Commands Generic Commands Syntax description no description Context Description Default Parameters Configuration Commands Generic Commands description Syntax description description-string no description Context config>qos>sap-egress config>qos>sap-egress>ip-criteria>entry config>qos>sap-ingress config>qos>sap-ingress>ip-criteria>entry

More information

CS 4390 Computer Networks. Transport Services and Protocols

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

Configuration Commands. Generic Commands. description XRS Quality of Service Guide Page 125

Configuration Commands. Generic Commands. description XRS Quality of Service Guide Page 125 Configuration Commands Generic Commands description Syntax description description-string no description Context config>qos>shared-queue config>qos>network-queue config>qos>network config>qos>network>ingress>ipv6-criteria>entry

More information

IEEE C802.16maint-08/064r4

IEEE C802.16maint-08/064r4 Project Title Date Submitted IEEE 802.16 Broadband Wireless Access Working Group Clarifications and Improvement in the MBS definitions and procedures in 802.16REV2 2008-03-17 Source(s)

More information

ET4254 Communications and Networking 1

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

More information

Transport protocols Introduction

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

Basics (cont.) Characteristics of data communication technologies OSI-Model

Basics (cont.) Characteristics of data communication technologies OSI-Model 48 Basics (cont.) Characteristics of data communication technologies OSI-Model Topologies Packet switching / Circuit switching Medium Access Control (MAC) mechanisms Coding Quality of Service (QoS) 49

More information

SIMULATION FRAMEWORK MODELING

SIMULATION FRAMEWORK MODELING CHAPTER 5 SIMULATION FRAMEWORK MODELING 5.1 INTRODUCTION This chapter starts with the design and development of the universal mobile communication system network and implementation of the TCP congestion

More information

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

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

More information

MAC Overview NCHU CSE WMAN - 1

MAC Overview NCHU CSE WMAN - 1 MAC Overview NCHU CSE WMAN - 1 MAC Overview Connection-oriented Supports difficult user environments High bandwidth, hundreds of users per channel For variable Continuous and Burst traffic Very efficient

More information

THE TRANSPORT LAYER UNIT IV

THE TRANSPORT LAYER UNIT IV THE TRANSPORT LAYER UNIT IV The Transport Layer: The Transport Service, Elements of Transport Protocols, Congestion Control,The internet transport protocols: UDP, TCP, Performance problems in computer

More information

Protocol Architecture (diag) Computer Networks. ATM Connection Relationships. ATM Logical Connections

Protocol Architecture (diag) Computer Networks. ATM Connection Relationships. ATM Logical Connections 168 430 Computer Networks Chapter 11 Asynchronous Transfer Mode Protocol Architecture Similarities between ATM and packet switching Transfer of data in discrete chunks Multiple logical connections over

More information

Computer Networks (Introduction to TCP/IP Protocols)

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

More information

What Is Congestion? Effects of Congestion. Interaction of Queues. Chapter 12 Congestion in Data Networks. Effect of Congestion Control

What Is Congestion? Effects of Congestion. Interaction of Queues. Chapter 12 Congestion in Data Networks. Effect of Congestion Control Chapter 12 Congestion in Data Networks Effect of Congestion Control Ideal Performance Practical Performance Congestion Control Mechanisms Backpressure Choke Packet Implicit Congestion Signaling Explicit

More information

Quality of Service (QoS)

Quality of Service (QoS) Quality of Service (QoS) The Internet was originally designed for best-effort service without guarantee of predictable performance. Best-effort service is often sufficient for a traffic that is not sensitive

More information

SpiNNaker Application Programming Interface (API)

SpiNNaker Application Programming Interface (API) SpiNNaker Application Programming Interface (API) Version 2.0.0 10 March 2016 Application programming interface (API) Event-driven programming model The SpiNNaker API programming model is a simple, event-driven

More information

IEEE 802.1Q YANG Bridge Port Interface Model in Support of 802.1AX, 802.1X, etc. Marc Holness Version July 2016

IEEE 802.1Q YANG Bridge Port Interface Model in Support of 802.1AX, 802.1X, etc. Marc Holness Version July 2016 IEEE 802.1Q YANG Port Interface Model in Support of 802.1AX, 802.1X, etc. Marc Holness Version 0.4 28 July 2016 IEEE 802.1Q Port Each Port is associated with one Interface, and in most situations, each

More information

Overview Computer Networking What is QoS? Queuing discipline and scheduling. Traffic Enforcement. Integrated services

Overview Computer Networking What is QoS? Queuing discipline and scheduling. Traffic Enforcement. Integrated services Overview 15-441 15-441 Computer Networking 15-641 Lecture 19 Queue Management and Quality of Service Peter Steenkiste Fall 2016 www.cs.cmu.edu/~prs/15-441-f16 What is QoS? Queuing discipline and scheduling

More information

cdma2000 High Rate Packet Data Supplemental Services

cdma2000 High Rate Packet Data Supplemental Services GPP C.S00-0 Version.0 Date: March 00 cdma000 High Rate Packet Data Supplemental Services COPYRIGHT GPP and its Organizational Partners claim copyright in this document and individual Organizational Partners

More information

Unit 2.

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

Congestion in Data Networks. Congestion in Data Networks

Congestion in Data Networks. Congestion in Data Networks Congestion in Data Networks CS420/520 Axel Krings 1 Congestion in Data Networks What is Congestion? Congestion occurs when the number of packets being transmitted through the network approaches the packet

More information

William Stallings Data and Computer Communications 7 th Edition. Chapter 11 Asynchronous Transfer Mode

William Stallings Data and Computer Communications 7 th Edition. Chapter 11 Asynchronous Transfer Mode William Stallings Data and Computer Communications 7 th Edition Chapter 11 Asynchronous Transfer Mode Protocol Architecture Similarities between ATM and packet switching Transfer of data in discrete chunks

More information

Configuring QoS. Understanding QoS CHAPTER

Configuring QoS. Understanding QoS CHAPTER 29 CHAPTER This chapter describes how to configure quality of service (QoS) by using automatic QoS (auto-qos) commands or by using standard QoS commands on the Catalyst 3750 switch. With QoS, you can provide

More information

IPv4 and ipv6 INTEROPERABILITY

IPv4 and ipv6 INTEROPERABILITY IT2351-NPM/UNIT-4/ 1 IPv4 and ipv6 INTEROPERABILITY Till the time, IPv6 is established all over the world, there is a need for one to host dual stacks that is both IPv4 and IPv6 are running concurrently

More information

CCNA Exploration1 Chapter 7: OSI Data Link Layer

CCNA Exploration1 Chapter 7: OSI Data Link Layer CCNA Exploration1 Chapter 7: OSI Data Link Layer LOCAL CISCO ACADEMY ELSYS TU INSTRUCTOR: STELA STEFANOVA 1 Explain the role of Data Link layer protocols in data transmission; Objectives Describe how the

More information

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

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

More information

QUIZ: Longest Matching Prefix

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

More information

Intermediate Traffic Management

Intermediate Traffic Management Intermediate Traffic Management This presentation has been generated by the ATM Forum for the purpose of educating the public on ATM Technology and the ATM Forum s activities. This presentation is the

More information

Stream Control Transmission Protocol

Stream Control Transmission Protocol Chapter 13 Stream Control Transmission Protocol Objectives Upon completion you will be able to: Be able to name and understand the services offered by SCTP Understand SCTP s flow and error control and

More information

Improving QOS in IP Networks. Principles for QOS Guarantees

Improving QOS in IP Networks. Principles for QOS Guarantees Improving QOS in IP Networks Thus far: making the best of best effort Future: next generation Internet with QoS guarantees RSVP: signaling for resource reservations Differentiated Services: differential

More information

Advanced Computer Networks

Advanced Computer Networks Advanced Computer Networks QoS in IP networks Prof. Andrzej Duda duda@imag.fr Contents QoS principles Traffic shaping leaky bucket token bucket Scheduling FIFO Fair queueing RED IntServ DiffServ http://duda.imag.fr

More information

IEEE 802.1Q YANG Bridge Port Interface Model in Support of 802.1AX, 802.1X, etc. Marc Holness Version Sept 2016

IEEE 802.1Q YANG Bridge Port Interface Model in Support of 802.1AX, 802.1X, etc. Marc Holness Version Sept 2016 IEEE 802.1Q YANG Port Interface Model in Support of 802.1AX, 802.1X, etc. Marc Holness Version 0.1 12 Sept 2016 IEEE 802.1Q Port Each Port is associated with one Interface, and in most situations, each

More information

ATM Quality of Service (QoS)

ATM Quality of Service (QoS) ATM Quality of Service (QoS) Traffic/Service Classes, Call Admission Control Usage Parameter Control, ABR Agenda Introduction Service Classes and Traffic Attributes Traffic Control Flow Control Special

More information

Internetwork Basic. Possible causes of LAN traffic congestion are

Internetwork Basic. Possible causes of LAN traffic congestion are Internetworking 1 C H A P T E R 2 Internetworking Basics Internetworking Model The OSI Reference Model Ethernet Networking Wireless Networking Data Encapsulation Topic 3 1 Internetwork Basic 4 Possible

More information

ATM. Asynchronous Transfer Mode. (and some SDH) (Synchronous Digital Hierarchy)

ATM. Asynchronous Transfer Mode. (and some SDH) (Synchronous Digital Hierarchy) ATM Asynchronous Transfer Mode (and some SDH) (Synchronous Digital Hierarchy) Why use ATM? Circuit switched connections: After initial setup no processing in network nodes Fixed bit rates, fixed time delay

More information

Chapter 7. Local Area Network Communications Protocols

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

More information

ATM Logical Connections: VCC. ATM Logical Connections: VPC

ATM Logical Connections: VCC. ATM Logical Connections: VPC ATM Logical Connections: VCC Logical Connections in ATM are referred to as virtual channel connections (VCCs). Virtual channel (VC) is a generic term used to describe unidirectional transport of ATM cells

More information

Defining QoS for Multiple Policy Levels

Defining QoS for Multiple Policy Levels CHAPTER 13 In releases prior to Cisco IOS Release 12.0(22)S, you can specify QoS behavior at only one level. For example, to shape two outbound queues of an interface, you must configure each queue separately,

More information

(Refer Slide Time: 1:09)

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

Architectures of Communication Subsystems

Architectures of Communication Subsystems Architectures of Communication Subsystems Open System Interconnection Reference Model Computer Networks Lecture 2 http://goo.gl/pze5o8 Connection-Oriented versus Connectionless Communication 2 Connection-Oriented

More information

Configuring RTP Header Compression

Configuring RTP Header Compression Header compression is a mechanism that compresses the IP header in a packet before the packet is transmitted. Header compression reduces network overhead and speeds up the transmission of either Real-Time

More information

Chapter 4 Communication

Chapter 4 Communication DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 4 Communication Layered Protocols (1) Figure 4-1. Layers, interfaces, and protocols in the OSI

More information

Tokens, Expressions and Control Structures

Tokens, Expressions and Control Structures 3 Tokens, Expressions and Control Structures Tokens Keywords Identifiers Data types User-defined types Derived types Symbolic constants Declaration of variables Initialization Reference variables Type

More information

DetNet. Flow Definition and Identification, Features and Mapping to/from TSN. DetNet TSN joint workshop IETF / IEEE 802, Bangkok

DetNet. Flow Definition and Identification, Features and Mapping to/from TSN. DetNet TSN joint workshop IETF / IEEE 802, Bangkok DetNet Flow Definition and Identification, Features and Mapping to/from TSN DetNet TSN joint workshop IETF / IEEE 802, Bangkok Balázs Varga 2018-11-11 DetNet - Data plane and related functions Page 1 Balázs

More information

THE INTERNET PROTOCOL INTERFACES

THE INTERNET PROTOCOL INTERFACES THE INTERNET PROTOCOL The Internet Protocol Stefan D. Bruda Winter 2018 A (connectionless) network protocol Designed for use in interconnected systems of packet-switched computer communication networks

More information

IEEE 802 Executive Committee Study Group on Mobile Broadband Wireless Access <http://ieee802.org/20> Implication of End-user.

IEEE 802 Executive Committee Study Group on Mobile Broadband Wireless Access <http://ieee802.org/20> Implication of End-user. Project Title Date Submitted IEEE 802 Executive Committee Study Group on Mobile Broadband Wireless Access Implication of End-user QoS requirements on PHY & MAC 2003-11 11-1010 C802.2-03/106

More information

NATO UNCLASSIFIED STANAG 5066: PROFILE FOR HF DATA COMMUNICATION ANNEX B: V1.2. Annex B: Channel Access Sublayer (mandatory)

NATO UNCLASSIFIED STANAG 5066: PROFILE FOR HF DATA COMMUNICATION ANNEX B: V1.2. Annex B: Channel Access Sublayer (mandatory) Annex B: Channel Access Sublayer (mandatory) The functions required of the channel access sublayer are quite limited in the HF subnetwork. B.1 Channel Access Sublayer Service Definition The Channel Access

More information

An Experimental Study of Network Performance Impact of Increased Latency in SDR

An Experimental Study of Network Performance Impact of Increased Latency in SDR An Experimental Study of Network Performance Impact of Increased Latency in SDR Thomas Schmid Oussama Sekkat Mani B. Srivastava - Wintech workshop was started with the Keynote from Eric Blossom on GNU

More information

CMSC 417 Project Implementation of ATM Network Layer and Reliable ATM Adaptation Layer

CMSC 417 Project Implementation of ATM Network Layer and Reliable ATM Adaptation Layer CMSC 417 Project Implementation of ATM Network Layer and Reliable ATM Adaptation Layer 1. Introduction In this project you are required to implement an Asynchronous Transfer Mode (ATM) network layer and

More information

different problems from other networks ITU-T specified restricted initial set Limited number of overhead bits ATM forum Traffic Management

different problems from other networks ITU-T specified restricted initial set Limited number of overhead bits ATM forum Traffic Management Traffic and Congestion Management in ATM 3BA33 David Lewis 3BA33 D.Lewis 2007 1 Traffic Control Objectives Optimise usage of network resources Network is a shared resource Over-utilisation -> congestion

More information

Processes and Threads

Processes and Threads TDDI04 Concurrent Programming, Operating Systems, and Real-time Operating Systems Processes and Threads [SGG7] Chapters 3 and 4 Copyright Notice: The lecture notes are mainly based on Silberschatz s, Galvin

More information

Jaringan Komputer. The Transport Layer

Jaringan Komputer. The Transport Layer Jaringan Komputer Transport Layer The Transport Layer The heart of the whole protocol hierarchy Task: To provide reliable, cost-effective data transport from the source machine to the destination machine,

More information

Lecture 3: The Transport Layer: UDP and TCP

Lecture 3: The Transport Layer: UDP and TCP Lecture 3: The Transport Layer: UDP and TCP Prof. Shervin Shirmohammadi SITE, University of Ottawa Prof. Shervin Shirmohammadi CEG 4395 3-1 The Transport Layer Provides efficient and robust end-to-end

More information

The Internet Protocol

The Internet Protocol The Internet Protocol Stefan D. Bruda Winter 2018 THE INTERNET PROTOCOL A (connectionless) network layer protocol Designed for use in interconnected systems of packet-switched computer communication networks

More information

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

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

More information

Distributed Systems COMP 212. Lecture 15 Othon Michail

Distributed Systems COMP 212. Lecture 15 Othon Michail Distributed Systems COMP 212 Lecture 15 Othon Michail RPC/RMI vs Messaging RPC/RMI great in hiding communication in DSs But in some cases they are inappropriate What happens if we cannot assume that the

More information

CSCI-GA Operating Systems. Networking. Hubertus Franke

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

More information

G3 PHYSICAL LAYER API SPECIFICATION

G3 PHYSICAL LAYER API SPECIFICATION G3 PHYSICAL LAYER API SPECIFICATION Document Revision: 0.6 Issue Date: 08 August, 2011 Revision History Revision Draft Author Date Comment 0.0 Initial version Susan Yim 01/21/2010 0.1 PHY Lib release 1.0

More information

ARQ and HARQ inter-working for IEEE m system

ARQ and HARQ inter-working for IEEE m system ARQ and HARQ inter-working for IEEE 802.16m system Document Number: IEEE C802.16m-08/1053r1 Date Submitted: 2008-09-17 Source: Xiangying Yang (xiangying.yang@intel.com) Yuan Zhu Muthaiah Venkatachalam

More information