C.2 modbus application protocol pdu analysis, Modbus application protocol pdu analysis – Schneider Optics Web Embedded Server User Manual
Page 90

Quantum Ethernet TCP/IP Modbus Application Protocol
80
840 USE 115 00 Version 1.0
C.2
Modbus Application Protocol PDU Analysis
The Modbus Application Protocol PDU is transmitted over a TCP/IP Ethernet stack.
Both Ethernet II and IEEE 802.3 framing will be accommodated. Ethernet II
framing is the default.
. . . from the wire in for IEEE 802.3 framing . . .
. . . is IEEE 802.3 framing if length <=1500 . . .
802.3_pdu ::= {dst_addr[6], src_addr[6], length[2], data=802.2_pdu}
*an IEEE 802.3 PDU has a maxFrameSize of 1518 octets
*an IEEE 802.3 PDU has a minFrameSize of 64 octets
802.2_pdu : {dsap[1], ssap[1], frm_cntrl[1], snap_hdr[5], data=ip_pdu}
*the snap_hdr is associated with a “well-known” 802.2 sap snap_hdr
::={org_code[3], ethertype[2] }
*the snap hdr (sub network access protocol) allows the older style
Ethernet protocols to run on the newer IEEE 802.2 interface. The
ethertype parameter indicates the service, ex. ip or arp. IP has a value
0x800.
. . . from the wire in for Ethernet II framing . . .
. . . is Ethernet II framing if length >1500 . . .
802.3_pdu ::= {dst_addr[6], src_addr[6], length[2], data=ip_pdu}
. . . the common part of the packet begins here . . .
ip_pdu ::= {ip_hdr[20], data=tcp_pdu}
tcp_pdu ::= {tcp_hdr[24], data=appl_pdu=mbap_pdu}
The mbap_pdu is the Modbus Application Protocol whose messages are received
at a well-known port. The current maximum size of the mbap_pdu for this class of
services in 256 bytes.
The structure and content of the mbap_pdu is defined to be:
mbap_pdu ::={ inv_id[2], proto_id[2], len[2], dst_idx[1], data=mb_pdu }