포트번호는 TCP와 UDP가 상위 계층에 제공하는 주소 표현 방식이다. 유닉스 환경에서 소켓으로 포트를 구현하므로 TCP/UDP를 사용하려면 소켓 시스템 콜의 인터페이스를 알아야한다. 소켓 시스템 콜을 이용해 TCP 연결 설정이 되면 통신 양단의 프로세스가 사용하는 고유 주소는 해당 호스트의 IP주소와 호스트 내부의 포트번호다. 클라이언트-서버 연동은 서버가 먼저 실행되고, 클라이언트가 서버와 연결을 시도하는 방법으로 이루어진다. 이때 연결을 원하는 서버와 접속하려면 서버의 IP주소와 포트 번호를 알아야 한다. 인터넷 환경에서 많이 사용하는 네트워크 응용 서비스의 서버 프로세스에 할당된 포트 번호를 Well-known 포트라고 하는데, 전 세계의 모든 컴퓨터가 동일한 포트 번호를 사용하도록 권고되어 있다. 예를 들어, 전자메일(SMTP), 웹 서비스(HTTP), DNS처럼 인터넷에서 자주 사용하는 응용 서비스는 모두 고정된 포트 번호를 사용한다. 네트워크 서비스를 제공하는 포트 번호는 컴퓨터의 파일 시스템에 보관되므로 일반 사용자가 포트 번호를 직접 지정하는 경우는 없다. 사용자가 연결을 원하는 서버의 호스트 IP주소만 클라이언트 프로그램에게 지정하고, 포트 번호 선택은 프로그램에서 자동으로 해준다. TCP와 UDP는 별도의 포트 주소 공간을 관리하므로 동일한 포트 번호를 사용할 수 있다.
댓글
댓글 쓰기