• 프로토콜 스택에서 어떤 패킷이 생성되고 분석되는가?

    • Advertising Packet
      • BLE 디바이스가 (Connection 성립 이전에) 주변에 자신을 알리기 위해 송신하는 패킷으로 4가지 타입이 존재한다.
        • ADV_IND
        • ADV_DIRECT_IND
        • ADV_NONCONN_IND
        • ADV_SCAN_IND
    • Data Packet
      • 두 디바이스 간 (Connection 성립 이후에) 데이터를 교환하기 위해 사용한다.
      • Data Packet은 연결 상태에서 데이터 교환을 위해 표준화된 형태로 동작한다.
      • 다음의 구조를 갖는다.
        • Header: 패킷 유형, 데이터 길이, 순번 등
        • Payload: 실제 전송할 데이터
  • Advertising Packet의 패킷은 4가지 타입으로 구분되며, 다음 3가지 특성을 기준으로 분류된다.

    • Connectability

      • Connectable
        • Scanner가 Connectable Advertising Packet을 받는다.
        • Scanner는 이를 Advertiser가 Connection을 맺고 싶어한다는 신호로 받아들인다.
        • 이후 Scanner는 Connection Request(CONNECT_REQ)를 보낼 수 있다.
        • 해당 Connectable Signal을 보낸 Advertiser는 Scanner가 CONNECT_REQ가 아닌 다른 타입의 Signal을 보내면 해당 Packet을 무시하고 다음 Channel로 이동하여 계속 Advertising을 진행한다.
      • Non-Connectable
        • Non-Connectable Packet을 받은 Scanner는 CONNECT_REQ를 보낼 수 없다. 주로 Connection 목적이 아닌, Data 전달이 목적일 때 쓰인다.
    • Scannability

      • Scannable
        • Scanner가 Scannable Advertising Packet(=Non-Connectable Advertising Packet)을 받는다.
        • 이후 Scanner는 Scan Request(SCAN_REQ)를 보낼 수 있다.
        • Scannable Signal을 보낸 디바이스는 Scanner가 SCAN_REQ가 아닌 다른 타입의 Signal을 보내면 해당 Packet을 무시하고 버린다.
      • Non-Scannable
        • Non-Scannable Signal을 받은 Scanner는 SCAN_REQ를 보낼 수 없다.
    • Directability

      • Directed
        • Packet 내부에 Signal을 송신자의 MAC Address와 받는 수신자의 MAC Address가 들어있다.
        • MAC Address 이외의 데이터는 넣을 수 없다.
        • 모든 Directed Advertising Packet은 Connectable 성질을 갖는다.
      • Undirected
        • 해당 Signal을 받는 대상이 지정되어 있지 않다.
        • Directed Advertising Packet과는 다르게 사용자가 원하는 데이터를 넣을 수 있다.
    • 타입

      제목 없는 그림.png