IP , ARP , Port

TopOfTheHead·2026년 1월 27일

컴퓨터네트워크

목록 보기
18/21

IP (Internet Protocol )
네트워크( = 인터넷 ) 상 특정 통신 Host식별하기 위해 라우터에 의해 식별되는 고유 식별자
ex ) 웹페이지를 호스팅하는 Server Host의 주소

장치 네트워크 인터페이스를 구별하며 고유값으로 고정된 MAC 주소와 달리 IP 주소는 수시로 변동이 가능

IP Address계층구조이므로 왼쪽에서 오른쪽으로 조사하면서 IP Address에 해당하는 Host가 어느 네트워크에 존재하는지의 정보를 획득가능.
CIDR Block에서 좌측이 네트워크 비트, 우측이 호스트 비트로 구성된 이유


IP 종류

  • IPv4

    32 bits = 4 byte로 구성된 고정길이의 계층구조를 가지므로 되기 용이함
    216.3.128.12에서 각 0 ~ 2551 byte.으로 구분하며 약 2322^{32} = 43억개가 존재

    。현재 전세계에서 거의 전부 사용중이므로 Public IP가 할당된 사설망(Private Network)Private Network내에서 통신용도의 Private IP로 구분하여 사용
    • Public IP
      네트워크 계층에서 라우터에 의해 인터넷 상에서 Host를 식별하는 식별자

    • Private IP
      Public IP주소에 의해 식별되는 Private Network 내에서 식별하는 식별자
      외부 인터넷과 직접 통신은 불가능하고 NAT을 통해 Private IP주소Public IP주소로 변환하여 사용


  • IPv6

    128 bits = 16 byte로 구성된 고정길이의 계층구조

    IPv4보다 약 2962^{96}배 더 많으므로 Private IP의 필요성이 존재하지 않음.

ARP ( Address Resolution Protocol )
IPv4 주소를 기반으로 MAC 주소를 찾는 프로토콜
ARP라우터Routing Table을 통해 결정된 다음 hopIP 주소에 대응되는 MAC 주소조회하는 역할을 수행

  • ARP 원리

    수신 HostIPv4 ( = 123.123.1.223 )에 해당하는 Host가 존재하는지 링크 계층 스위치Frame을 전송

    。이후 스위치에서 네트워크 비트 : 123.123.1에 해당하는 모든 HostBroadcast를 수행



    스위치를 통해 송신한 HostMAC 주소와 함께 응답

포트 ( Port )

IP 주소에 해당하는 단일 호스트 내 에서 실행되는 여러 프로세스 中 올바른 프로세스에게 세그먼트를 전달하고자 식별용도의 16비트 숫자 주소( 0 ~ 65535 )
전송계층에서 수신한 IP 패킷역캡슐화하여 도출한 세그먼트의 구성요소
EX ) IP주소:포트번호 -> 127.0.0.1:8080

OS - IPC에서 소켓파이프 역할을 수행

도커 컨테이너에서 Port서비스의 단위로 해석할 수 있다
▶ 단일 IP Address를 가지면서 각각 다른 Port를 가지는 다수의 도커 컨테이너를 가질 수 있으므로

TCP 포트UDP 포트로 구분되며 각각 독립적
TCP:80UDP:80은 서로 다른 소켓

  • Well-Known Port
    。주로 서버에서 사용하는 어플리케이션 / 프로토콜 별로 사전에 지정되어 고정된 포트
    포트번호가 불규칙적으로 변하면 사용자입장에서 사용이 어려우므로 잘 알려진 포트번호로 고정.

    0 ~ 1023 포트 까지는 규약으로서 주요 프로토콜이 선점하여 독점적으로 사용
    HTTP : 80 / HTTPS : 443 / SSH : 22 / MYSQL : 3306 / 톰캣 : 8080 / React : 3000 / pgsql : 5432 / Vue : 5173

    Default로 설정된 값으로 사용자가 임의로 변경가능.

  • Ephemeral Port
    클라이언트에서 사용하는 포트번호로 연결 시 마다 임의로 지정
    임시 포트로서 포트번호가 불규칙적으로 변경

    。주로 EC2 인스턴스에서 Host트래픽을 전송 시 Ephemeral Port로서 임의의 포트를 선택하여 전송.

URI포트번호를 생략해도 되는 경우
웹 브라우저는 보통 http 프로토콜에 대해서 80 포트, https 프로토콜에 대해서 443 포트로 전송하도록 기본적으로 설정되어 해당 포트로 접근하는 경우 포트번호를 생략하고 IP주소만 입력하여 접근이 가능.
https://www.naver.com:443/ = https://www.naver.com/
http://localhost:80/ = http://localhost/

。단. IP 주소Host의 다른 서비스포트번호로 접근할 필요가 있는 경우 별도로 명시
ex ) http://localhost:8080/

소켓에서의 포트
。네트워크 통신을 수행할 프로세스는 하나의 소켓을 가진다
소켓을 생성하는 경우 Port Number가 식별자로서 각각의 소켓에 할당됨

Socket = IP Address + Port
IP Address 번호와 각 Host프로세스를 연결하는 파이프 용도의 Port의 번호를 조합하여 네트워크로 연결된 Host를 식별 후 IPC를 수행
Pipe = Message Box = Port

ex) www.google.com:8080의 경우 도메인 주소IP Addrss로 변환 후 식별한 서버컴퓨터에서 Port를 통해 데이터를 요청

       
profile
공부기록 블로그

0개의 댓글