TLS ALPN (Application Layer Protocol Negotiation)

TLS ALPN (Application Layer Protocol Negotiation)

TLS의 ALPN (Application Layer Protocol Negotiation)을 분석한다.

1. ALPN (Application Layer Protocol Negotiation)

ALPN은 TLS의 Handshake 과정중 가장 처음에 이루어지는 Hello 과정에 이용되는 TLS의 확장 기법이다. 이름에서 알 수 있는것 처럼 Server와 Client 사이에 어떤 Protocol을 이용하여 통신을 수행할지를 결정하는 역할을 수행한다.

[Figure 1] ALPN을 이용한 TLS의 Handshake 과정

[Figure 1] ALPN을 이용한 TLS의 Handshake 과정

[Figure 1]은 ALPN 기법의 예시를 나타내고 있다. Client Hello Message의 ALPN Field에 Client가 이용 가능한 모든 Protocol을 명시하며 전달하며, Server는 이 중에서 통신에 이용할 하나의 Protocol을 선택하여 Client에게 전달한다. [Figure 1]에서는 HTTP/2.0 Protocol을 이용하기로 결정한 예시를 나타내고 있다. 만약 ALPN이 설정되어 있지 않는다면 HTTP/1.1 Protocol을 이용한다.

2. 참조