2016-09-08 4 views
0

나는 지금 안드로이드에서 블루투스 통신의 RTT를 평가하는 작업을 가지고 있지만, L2CAP is no longer supported on android 이래로 RFCOM을 사용하여 RTT를 계산해야하므로 기본적으로 블루투스에 대한 TCP와 같은 신뢰할 수있는 구현이라고 생각합니다.RFCOMM은 3 단계 핸드 셰이크를 사용합니까?

제 질문은 RFCOMM이 TCP (SYN/SYN-ACK/ACK)와 동일한 3 단계 핸드 셰이크를 사용합니까? 가 연결 걸린 시간이 2/3을 곱한 설립 할 이 (RTT는 단지 시간이 SYN 위해 촬영 만약 그렇다면

는, 블루투스 서버로 블루투스 클라이언트에서 RTT가 될 수 있기 때문에/SYN-ACK 및 연결에 걸린 시간은 SYN/SYN-ACK/ACK입니다.)?

답변

2

RFCOMM 연결 설정에는 세 방향 핸드 셰이크가 없습니다. RFCOMM은 ETSI 표준 GSM 07.10을 기반으로하며 HDLC 비동기 균형 모드에서 작동합니다. RFCOMM 사양을 찾을 수 있습니다. here

통신은 대략 제어 채널 연결 (채널 0), 포트 구성 및 데이터 채널 연결 (선택적으로 인증 포함), 데이터 교환 순으로 분류 할 수 있습니다.

rfcomm_connection_establishment

연결 거부 방식은 더 명확하게 SABM 프레임의 사용을 보여줍니다. 연결 설정의 SABM-UA와 연결 거부의 SABM-DM에 유의하십시오. rfcomm_connection_rejection

연결 자체는 SABM (비동기 균형 모드 설정) 프레임과 UA (사용자 확인)에 의해 설정됩니다. 포트 협상은 PN 프레임으로 수행됩니다 .UIH 프레임은 설정된 채널에서 데이터를 교환하는 데 사용됩니다.

+0

와우, 자세한 응답, 내가 바라는 모든 것을 다룹니다. – gedo

1

제 질문은 RFCOMM이 TCP (SYN/SYN-ACK/ACK)과 동일한 3 단계 핸드 셰이크를 사용합니까?

번호

블루투스에 RFCOMM은 (아무 플러시 구성하는 경우) 즉, 우리는 L2CAP 채널이 신뢰할 수있는 채널입니다 볼 수 있고 RFCOMM은이 채널을 기반으로 한 L2CAP 채널을, L2CAP을 통해, 우리 하나의 신호 채널과 일부 데이터 채널을 나누었습니다 (30 개 이상일 수 있습니까? 분명히 기억하지 못합니다). 하나의 RFCOMM 데이터 채널을 열려면 신호 채널에 대한 일부 요청 만 처리하면 상위 계층 (예 : SPP, HFP)이 할당 된 데이터 채널을 통해 통신 할 수 있습니다. ACK/SYN-ACK/ACK가 없으면 RFCOMM을 설정하지만 채널이 설정된 후 흐름 제어에 사용되는 크레디트가 있습니다.

관련 문제