우선 NDEF 를 간략하게 정의하면 디바이스와 태그를 위한 공용 포맷이다. 원문을 다 해석하긴 무리이기도 하고 해석해서 한글로 써놨는데 의미를 모를 것 같기도 해서 중요한 내용만 옮깁니다. 

1. 용어
NDEF application - 응용, 애플리케이션
NDEF를 사용하는 NFC 포럼의 장비의 논리적인 상위 계층에서의 응용
NDEF message - 메시지
이 스펙에서 정의되어 만들어진 기본적인 메시지, 하나의 NDEF 메시지는 하나 또는 이상의 NDEF 레코드를 포함한다.
NDEF record - 레코드
NDEF record는 타입, 길이, 선택적인 식별자에 관한 정보를 가지고 있는 payload를 포함하고 있다.
NDEF short record - 숏 레코드
SR 플래그가 1로 설정된 NDEF record. short record 내의 PAYLOAD_LENGTH 필드는 single octet이 적재되거나 255byte 이상 적재되도록 묶을 수 있게 한다.? (single octet은 8bit? byte? 8진수? 아예 상관자체가 없는건가..?)
NDEF record chunk - 레코드 묶음
꽉찬 payload보다 payload의 묶음을 포함한 NDEF record, 각각의 record chunk는 묶인 payload의 부분을 전달한다. 예외적으로 각각의 묶인 페이로드의 마지막 레코드는 CF 플래그가 1로 설정되어 있다.
NDEF payload - 페이로드
전달된 NDEF 레코드에 있는 응용 데이터
NDEF chunked payload
CF 플래그가 1인 마지막 레코드를 제외한 레코드들에서 각각의 분리된 NDEF 레코드에서 전달된 부분적인 다중 묶음들을 가진 응용 데이터
NDEF payload length
단일 NDEF 레코드의 페이로드에서 octet의 수를 가리키는 수
NDEF payload type
페이로드의 타입을 가리키는 식별자.  이 상세에서는 URI도 지원한다 또한 NFC 상세 레코드 타입 식별자에서도 지원한다.
NDEF payload identifier
페이로드를 식별하기 위해 사용할 수 있는 선택적인 URI
NDEF generator
애플리케이션에서 정의된 NDEF 메시지의 페이로드를 캡슐화하는 개체나 모듈
NDEF parser
NDEF 애플리케이션에 상관없이 페이로드나 NDEF 메시지를 분석하는 개체나 모듈
User Application
NDEF를 사용하는 응용 = NDEF Application



NDEF Encapsulation Constructs
Message(메시지)
NDEF 메시지는  하나 이상의 NDEF 레코드로 구성되어있다. 첫번째 레코드는 MB(Message Begin)라고 표기하고 마지막 레코드는 ME(Message End)라고 쓴다.  최소 메시지 길이는 하나의 NDEF 레코드인데 이때는 MB와 ME가 같은 레코드에 들어간다. 달리 말하자면 페이로드 묶음을 인코드하기 위해서는 적어도 둘 이상의 레코드 묶음이 필요하다는 얘기다.  
NDEF 메시지에 전달될 수 있는 NDEF 레코드의 최대 수는 제한이 없다.
NDEF 메시지는 중첩되지 않는다. 이것은 MB나 ME 플래그가 NDEF 메시지와 중첩되지 않는다는 것을 뜻한다. NDEF 메시지는 레코드의 페이로드로 꽉찬 메시지 인 경우에는 중첩될 수도 있다.

 NDEF Message
R1 MB=1  ...  Rr  ...  Rs  ... Rt ME=1 
[레코드 집합과 NDEF 메시지의 예]



Octet 1
Octet 2 Octet 3
Octet 4  
Octet 5  
[NDEF Octet Ordering]


7 6 5 4 3 2 1 0
MB  ME  CF  SR  IL  TNF
 TYPE LENGTH
 PAYLOAD LENGTH 3
 PAYLOAD LENGTH 2
 PAYLOAD LENGTH 1
 PAYLOAD LENGTH 0
 ID LENGTH
 TYPE
 ID
 PAYLOAD
[NDEF Record Layout]


7 6 5 4 3 2 1 0
MB  ME  CF  1 IL  TNF
 TYPE LENGTH
 PAYLOAD LENGTH
 ID LENGTH
 TYPE
 ID
 PAYLOAD
[NDEF Short-Record Layout (SR=1)]

SR = Shorted Record
IL = ID Length
TNF = Type Name Format
 Type Name Format Value 
 Empty  0x00 
 NFC Forum well-known type [NFC RTD]  0x01
 Media-type as defined in RFC 2046 [RFC 2046]  0x02
 Absolute URI as defined in RFC 3986[RFC 3986]  0x03
 NFC Forum external type [NFC RTD]  0x04
 Unknown  0x05
 Unchanged  0x06
 Reserved  0x07
 

(설명으로 봐서는 필드 한칸이 1bit 인것 같다. 고로 single octet은 1bit 란 얘긴데.. octet은 8을 뜻하는..?? 엉?? 바이튼가? 뭐지??)
single octet = 1 byte... 구글링 : octet equals to byte?



영어 독해 능력이 절실하다.. 쓰면서도 무슨 말인지 모르겠어......... ㅠㅠ

최종 수정일 11. 8. 14

[참고 자료]
1. NFC Data Exchange Format Specification, NFC Forum 2006
2. NFC Record Type Definition (RTD) Specification", NFC Forum 2006 

+ Recent posts