BACnet Virtual Link Layer

From BACnet Wiki
(Redirected from BVLL)
Jump to: navigation, search

Between the BACnet Network Layer and the underlying UDP Layer of the IP Stack. Contains functionality such as BBMD and Foreign Device to forward BACnet broadcasts to multiple IP Subnets.


Warning, this subject is VERY complex. Please see this worksheet for reference (be aware that the worksheet may not be 100% accurate).


See Annex J: pg 565 of 135-2004 Specification


BVLC Packet Structure
UDP Header
BVLC Octets Description Comment
1 Type (0x81) Fixed
1 BVLC Function Fixed
2 BVLC Length Fixed
4 (Optional) IP address of Originating Device Optional - Dependent on BVLC Function Code
2 (Optional) Port # of Originating Device Optional - Dependent on BVLC Function Code
BVLC length - 4 NPDU



Example 1

BVLC Example (Original Broadcast NPDU) (BVLC Function = 0x0b)
UDP Header
BVLC Octets Description
1 Type (0x81)
1 BVLC Function (0x0b)
2 BVLC Length
BVLC length - 4 NPDU



Example 2

BVLC Example (Forwarded NPDU) (BVLC Function = 0x04)
UDP Header
BVLC Octets Description
1 Type (0x81)
1 BVLC Function (0x04)
2 BVLC Length
4 IP address of Originating Device
2 Port # of Originating Device
BVLC length - 10 NPDU


Keyword List
APDU BBMD BVLC BVLL DADR DNET Encoding I-Am LSAP MAC NPCI NPDU NSAP NSDU SA SADR SNET

Device Profiles

Edit this box.

Glossary