더북(TheBook)

나머지 포트 번호 49152부터 65535를 가리켜 동적 포트(dynamic port)라 한다. 동적 포트는 IANA 관할 밖이며 어느 프로세스가 쓰던 제약이 없다. 프로세스를 구현할 때 동적 포트에 바인딩을 시도했다가 이미 사용 중인 걸 알게 되면, 이를 원만히 처리하여 비어 있는 포트를 찾을 때까지 다른 동적 포트에 바인딩을 시도해야 한다. 멀티플레이어 게임을 만드는 단계에선 동적 포트만 써서 개발하다 나중에 필요한 시점에 IANA에 등록 포트를 요청하는 것이 인터넷 개발에 있어 모범이라 하겠다.19

응용프로그램이 사용할 포트를 정하면 이후 전송 계층 프로토콜을 통해 실제 데이터를 보낸다. 주요 전송 계층 프로토콜과 그에 해당하는 IP 헤더상 프로토콜 번호 몇 가지를 표 2-13에 정리했다. 게임 개발에는 주로 UDP와 TCP를 사용한다.

▼ 표 2-13 전송 계층 프로토콜의 예

이름

약자

프로토콜 번호

전송 제어 프로토콜(transmission control protocol)

TCP

6

사용자 데이터그램 프로토콜(user datagram protocol)

UDP

17

데이터그램 혼잡 제어 프로토콜(datagram congestion control protocol)

DCCP

33

스트림 제어 전송 프로토콜(stream control transmission protocol)

SCTP

132

 

Tip

IP 주소와 포트를 콜론으로 결합해 완전한 수/발신 주소를 나타낸다. 예를 들면 IP 주소 18.19.20.21의 80번 포트는 18.19.20.21:80 식으로 적는다.

 


 

19  역주 번거롭게 ICANN에 요청을 넣을 필요까지야 없을 것 같아 보이지만, 너도나도 사용자 포트 대역을 멋대로 사용하면, 출시하고 나서 공교롭게도 다른 게임 혹은 서비스와 포트가 겹치거나 하는 경우가 전혀 없다고 장담하긴 어렵다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.