본문 바로가기
프로그래밍/네트워크

포트 번호와 통신 방식: 데이터 전송의 기본 원리

by min_daily 2024. 11. 30.

 

포트 번호 - 애플리케이션 종류와 클라이언트 식별자

포트 번호는 TCP/UDP 프로토콜에서 사용되는 식별자로, IP 주소만으로는 특정할 수 없는 LAN 내 장치나 단말기, 상위 프로토콜이 이용하는 애플리케이션 종류 및 클라이언트를 지정합니다.

 

포트 번호의 역할
포트 번호는 TCP/UDP 헤더의 처음 16비트(2 옥텟) 정보로, 0부터 65535까지의 번호를 나타낼 수 있습니다. 포트 번호는 목적지 포트 번호와 출발지 포트 번호로 나뉩니다. IP 주소는 목적지 서버를 지정할 수 있지만, 해당 서버의 어떤 애플리케이션을 사용할지는 지정할 수 없습니다. 목적지 포트 번호는 패킷이 어떤 애플리케이션을 위한 것인지를 나타내며, 서버는 이를 통해 수신한 패킷이 이메일 요청인지 웹 서버 요청인지 등을 판단합니다.
출발지 포트 번호는 패킷을 보낸 쪽 사용자와 터미널을 식별하는 데 사용됩니다. 출발지 IP 주소로 패킷의 출처를 알 수 있지만, 이메일을 보낸 계정이나 웹사이트에 액세스한 기기 등을 구별할 수 있는 정보가 필요합니다.

 

주요 애플리케이션의 포트 번호
포트 번호는 0부터 65535까지의 범위에서 사용할 수 있지만, 일반적으로 잘 알려진 애플리케이션의 포트 번호는 0부터 1023까지 할당됩니다. 이를 잘 알려진 포트(well-known ports)라고 하며, 1024부터 49151까지는 등록된 포트 번호로 기존 애플리케이션에서 보조적으로 사용됩니다. 49152부터 65535까지의 포트 번호는 다이내믹/프라이빗 포트 번호로, 개인이나 기업이 자체 애플리케이션이나 서비스용으로 자유롭게 사용할 수 있습니다.


회선 교환 방식 - 유선 전화에서 사용되는 일대일 연결 방식

회선 교환 방식은 전통적인 전화 시스템에서 사용되는 통신 방식으로, 통신 상대와 일대일 연결을 설정하여 통신하는 방식을 의미합니다. 현재에도 유선 전화에서는 기본적으로 이 방식을 채택하고 있습니다.

 

유선 전화의 통신 방식
전화는 음성을 마이크를 통해 아날로그 신호로 변환하고, 이를 전선에 실어 보내 상대방의 스피커에서 재생하는 장치입니다. 양쪽에 마이크와 스피커, 송수신을 위한 전선이 있으면 서로 통화할 수 있습니다. 이 경우 모든 통화 상대는 전선으로 연결되어 있어야 하며, 중간에서 교환원이 개입하여 걸려 온 번호와 지정된 번호의 전선을 연결해 줍니다. 일단 교환대까지 선을 설치하면 그 교환대에 연결된 상대 누구와 통화할 수 있습니다.
현재는 전화번호의 신호(펄스나 톤)를 식별하여 기계나 컴퓨터가 연결을 처리하며, 중간 회선으로는 무선 기술, 디지털 회선, 광섬유 등이 사용되지만 기본 원리는 동일합니다.

 

회선 교환 방식의 특징
회선 교환 방식의 특징은 일대일 연결을 설정하므로, 연결이 설정되면 해당 회선은 양측이 독점하게 사용합니다. 즉, 통화 중 상태가 됩니다. 이 방식은 교환기 구성이 복잡해지고 회선 유지 보수 및 관리에 비용이 들어갑니다. 또한, 통신량이 방대해지면 하나의 통신에 하나의 회선을 전용으로 사용하는 것은 비효율적입니다.

 

패킷 교환 방식 - 데이터를 분할해서 전송하는 통신 방식

패킷 교환 방식은 인터넷이나 이더넷을 비롯한 많은 네트워크에서 채택한 통신 방식으로, 데이터를 패킷이라는 단위로 분할하여 통신합니다.

 

패킷 교환 방식의 원리와 장점
패킷은 주고받는 데이터 단위를 의미합니다. 데이터를 주고받을 때, 필요한 데이터를 원래 크기 그대로가 아니라 일정한 크기로 분할하여 전송합니다. 이렇게 송수신하는 통신 방식을 패킷 교환 방식이라고 하며, 패킷의 크기는 프로토콜에 따라 정해집니다.
패킷 교환 방식의 장점은 매번 상대방과 회선을 연결할 필요가 없다는 점입니다. 패킷 교환 방식에서는 회선만 연결되어 있으면 데이터를 독립적인 타이밍에 송신할 수 있습니다. 또한, 서로 다른 패킷(프로토콜)도 혼재할 수 있으며, 연결 일부에 장애가 발생해도 다른 경로로 송수신할 수 있습니다.

 

패킷 교환 방식에 필요한 정보
패킷 교환 방식에서는 효율적으로 대량의 데이터를 주고받을 수 있지만, 같은 회선 내에 많은 패킷이 흐르게 되므로 패킷별로 관리 정보가 필요합니다. 출발지와 목적지 정보는 최소한 필요하며, 데이터를 분할할 때 목적지에서 데이터를 재구성하는 정보도 필요합니다. 이러한 정보는 패킷의 헤더에 포함되어 통신 데이터 본체(페이로드)와는 별도로 부여됩니다.

 

라우터 - LAN끼리 연결해서 패킷을 처리하는 장비

라우터는 현재 인터넷의 핵심이라고 할 수 있는 장비입니다. 기본 기능은 IP 주소를 보고 목적지가 내부 LAN인지 아닌지 확인하여 패킷을 처리하는 것입니다.

 

LAN끼리 이어 주는 라우터 기능
라우터의 기본 기능은 여러 LAN을 연결하고 목적지에 따라 패킷을 처리하는 것입니다. 여러 장치로 구성된 네트워크 세그먼트를 LAN으로 묶어 내부 패킷을 처리하면서, 동시에 외부 LAN과도 연결하여 상호 간 패킷을 교환합니다. 이 과정을 라우팅이라고 합니다.
라우팅에서는 패킷의 헤더를 확인하고 자신이 관리하는 LAN을 향한 패킷이라면 받아들여 목적지 장치에 전달하고, 그렇지 않다면 다른 라우터에 전송합니다. 이러한 기능을 구현하기 위해 라우터에는 내부 LAN과 외부 LAN을 연결하는 포트가 2개 있습니다.

 

라우터와 인터넷의 관계
라우터는 LAN과 LAN을 연결하여 대규모 LAN이나 인터넷을 구성하는 장치로, LAN을 연결하여 대규모 LAN을 구성할 경우 인접한 라우터와 이더넷으로 연결됩니다. 전용선이나 ISP의 회선을 이용하면 먼 거리의 라우터와 연결할 수도 있습니다. 인터넷은 이러한 원리로 LAN을 광범위하게 연결한 것입니다. 프로토콜은 TCP/IP가 기본이며, 라우터의 WAN 쪽에서는 글로벌 IP 주소를 사용합니다. 내부 LAN과 외부 인터넷의 경계에 설치하는 라우터를 에지 라우터라고 합니다.

 

액세스 포인트 - 무선 LAN 전파를 모으는 장치

액세스 포인트는 무선 LAN에서 허브와 같은 역할을 하는 장치입니다. 여러 기기의 무선 연결을 모아서 네트워크에 연결합니다.

 

각 장치의 무선 연결을 설정하는 액세스 포인트
액세스 포인트는 IEEE 802.11시리즈의 무선 LAN 규격(Wi-Fi)으로 각 단말기와 무선 연결을 설정합니다. Wi-Fi는 현재 대부분의 컴퓨터와 스마트폰에서 지원되며, IoT 기기에서도 기본적으로 사용됩니다. 케이블을 배선할 필요가 없고 전송 속도도 빨라 기업 내 LAN에서도 일반적으로 사용됩니다.
비슷한 장치로는 광대역 라우터와 Wi-Fi 라우터가 있습니다. 시중에서 판매되는 대부분의 광대역 라우터는 Wi-Fi 연결 기능을 갖추고 있으며, 광대역 라우터는 라우터와 액세스 포인트가 통합된 것입니다. 반면 액세스 포인트는 2계층 장치입니다.

 

인프라스트럭처 모드와 애드혹 모드
무선 LAN에서는 액세스 포인트가 유선 LAN의 스위치와 비슷한 역할을 합니다. 무선 LAN에 연결되는 장치는 내장된 Wi-Fi 모듈을 이용하여 액세스 포인트에 연결하고, 액세스 포인트는 세그먼트 내 통신을 제어합니다. 이 형태를 인프라스트럭처 모드라고 하며, 반대로 액세스 포인트를 거치지 않고 장치끼리 직접 무선으로 통신하는 형태를 애드혹 모드라고 합니다. 애드혹 모드는 컴퓨터와 프린터를 직접 연결할 때 사용됩니다.