DEV Community

Chan
Chan

Posted on

알쓸신네(알아두면 쓸데없는 신비한 네트워크 사전)

포트

  1. 포트의 용도: 호스트 내부에서 어떤 프로세스에 전송해야되는 패킷인지 표시하는 용도로 사용한다.

    • 예: 카카오톡, 디스코드 모두 실행중일 때 메시지를 카톡 답장이 오면 디스코드 프로세스가 아닌 카카오톡 프로세스로 전송이 되어야 한다. 이를 포트로 구분한다.
  2. 고정 포트와 임시 포트(ephemeral port): 프로토콜의 종류에 따라 서버의 포트는 well-known port(잘 알려진 고정 포트)를 사용한다. 반면 클라이언트는 임시 포트를 발급 받아서 사용한다.

    • 프로토콜 별로 사용되는 서버의 고정 포트는 application protocol(http, https, websocket 등)에서 정의한다.
  3. 클라이언트의 운영체제는 전송 계층 connection이 open될 때 임시 포트를 할당해주고, connection이 close될 때 할당된 포트를 회수한다.

MAC 주소와 IP 주소

  • IP 주소: 인터넷에서 특정 호스트를 식별하기 위한 주소
  • MAC 주소: 물리적인 데이터 전송을 위해서 기기가 가지는 고유한 식별자. 기기의 NIC(네트워크 인터페이스 카드) 부품에 MAC 주소가 할당된다.

  • MAC 주소의 용도: 네트워크에서 물리적으로 연결된 인접 노드(adjacent nodes)끼리 데이터를 전송하는데 사용되는 식별자이다.

  • MAC 주소를 인터넷의 라우팅에 사용하지 않는 이유: 규칙성이 없기 때문이다. IP 주소의 경우, 지역에 따라 사용하는 IP 주소가 달라지는 규칙이 있다. 따라서 이 규칙을 통해 중간 라우터 어떤 인접 노드로 어디로 보내야되는지 decision making이 가능하다. 다만 MAC 주소는 그런 규칙이 없다. 따라서 MAC 주소를 인터넷의 라우팅에서는 활용하는 게 비실용적이다.

  • 라우터의 데이터 전송 과정: 패킷의 목적지 (destination)을 입력으로 받으면, 가지고 있는 라우팅 테이블을 확인하여 패킷을 넘겨야하는 인접 라우터의 ip address로 변환 => ARP table을 통해 ip address를 mac 주소로 변환 => 해당 mac 주소를 가진 인접 라우터에 패킷 전송

  • 일상 속에서 IPv6 주소는 볼 수 없고, IPv4주소만 보이는 이유?

    • IPv4의 잔여 주소가 거의 바닥나는 중이나, 아직 남은 주소가 있긴 함
    • 네트워크 장비에서 IPv6를 지원하도록 전환하는데 비용이 들어 관련자(대표적으로 ISP)들은 최대한 IPv4를 유지하려고 노력 중. 따라서 IPv6 실사용은 계속 늦춰지고 있다.
    • 공인 IP의 사용으로 인해 문제가 일시적으로 해소되었다. 어차피 인터넷에서 통신하는 경우 기기에 연결된 공유기의 외부 IP(공인 IP)로 통신하기 때문에, 주소 부족 문제가 극적으로 나타나지 않는다.

내부 IP, 내부 포트 / 공인 IP, 외부 포트

  • 내부 IP: 공유기에 연결된 호스트끼리 서로를 구분하는데 사용하는 식별자
  • 내부 포트: 호스트에서 실행되는 프로세스끼리 서로의 패킷을 구분하는데 쓰는 식별자

  • 공인 IP: 패킷이 인터넷으로 전송되기 위해 공유기 바깥으로 나갈 때 쓰는 공식 IP 주소. ISP(LG, SKT, KT)가 구매하여 소유하고 있고, 사용자의 공유기에 외부 IP를 할당하는 방식으로 운영된다.

  • 외부 포트: 패킷이 인터넷으로 전송되기 위해 공유기 바깥으로 나갈 때 쓰는 포트 번호.

  • 공유기는 내부 IP로 사용될 IP address의 풀을 들고 있고, 새로운 기기가 연결될 때 ip address 풀에서 하나의 ip address를 해당 기기의 내부 포트로 지정한다.

  • 공유기는 내부 IP/포트 <-> 공인 IP/포트 매핑을 저장하는 테이블이 있는데, 이를 NAT(Network Address Translation) 테이블이라고 부른다. 이를 통해, 수신한 패킷을 LAN의 어떤 호스트에게 전달해야 하는지 정확히 알 수 있다.

공유기, 라우터 그리고 모뎀

  • 라우터: IP 기반 라우팅과 패킷 전달 기능만 있으면 라우터라고 부를 수 있다.

  • 공유기: 라우터 + 스위치(LAN 네트워크 안의 호스트끼리 mac 주소로 통신) + 무선 AP(access point, wifi 기능) + NAT(내부 IP => 공인 IP 변환) + DHCP(연결된 호스트에 내부 IP 자동 할당) + 방화벽 기능을 탑재한 장비

  • 모뎀: 인터넷 회선으로 데이터를 보낼 수 있게, 디지털 신호를 아날로그 신호로 변환해줄 수 있는 장비

Top comments (0)