본문 바로가기

cs/컴퓨터네트워크

네트워크 계층 정리

IP 주소(Address)

  • 데이터를 전송할 때는 출발지와 목적지를 구별할 수 있는 주소함.
  • 네트워크 계층에서 사용되는 주소는 IP 주소.
  • IP 주소는 32비트의 이진수로 구성되며, 보통 10진수로 표현됨 => 8비트로 나누고 다시 10진수로 표현.(구성과 표현의 차이)
  • IPv4에서는 32비트 주소가 사용되고, IPv6에서는 128비트 주소가 사용.
  • 네트워크 ID와 호스트 ID로 나눠서 구성됨(24비트 + 8비트).

라우팅(Routing)

  • 라우팅은 패킷을 보낼 때, 출발지와 목적지를 연결하는 경로를 찾아주는 과정이다.
  • 라우터는 라우팅 테이블을 참조하여 패킷을 전송함.
  • 라우팅 알고리즘으로는 Distance Vector (DV) 라우팅, Link State (LS) 라우팅 등이 존재.
    • Distance Vector (DV) 라우팅
      • 각 라우터가 자신이 연결된 경로의 거리를 계산하여 라우팅 테이블에 저장
      • 정보를 주기적으로 인접한 라우터들에게 전달하며, 라우터끼리 정보를 공유하는 방식
      • RIP(Routing Information Protocol) 등의 프로토콜을 사용하여 라우터 간 정보 공유
      • 구현이 쉽지만 라우팅 루프 등의 문제점이 있음
    • Link State (LS) 라우팅
      • 라우터끼리 연결되어 있는 링크 정보를 전송하고, 각 라우터는 이 정보를 바탕으로 그래프를 구성하여 최단 경로를 계산
      • 자신의 링크 정보를 모든 라우터에게 전달하고, 모든 라우터로부터 수신된 링크 정보를 기반으로 네트워크를 그래프로 구성
      • 다익스트라 알고리즘 등을 사용하여 최단 경로 계산
      • OSPF(Open Shortest Path First) 등의 프로토콜을 사용하여 라우터 간 정보 공유
      • 복잡하지만 안정적이며 루프가 발생하지 않음
    • 대부분의 기업 네트워크에서는 LS 라우팅이 사용되고 있음.

R.T(Routing Table)

  • 라우터는 라우팅 테이블을 소유.
  • 라우팅 테이블은 패킷을 전송할 때, 목적지 IP 주소를 바탕으로 다음에 전송할 라우터의 IP 주소를 결정하는데 사용됨.
  • 라우팅 테이블은 (라우터의 인터페이스와 연결된 네트워크의 정보), (라우터가 알고 있는 라우팅 정보), (라우터 간에 공유된 라우팅 정보) 등이 포함.
  • 라우팅 테이블은 라우팅 정보를 저장하는 데 사용되는 메모리.
  • 라우터는 패킷을 전송하는 동안, 라우터는 패킷에 헤더를 추가하여 출발지와 목적지 IP 주소, TTL(Time To Live) 등의 정보를 포함시킴.
  • TTL은 패킷이 네트워크에서 무한정으로 순환하지 않도록 제한하는데 사용됨.
  • 패킷이 네트워크를 통과할 때마다 TTL 값은 1씩 감소하며, TTL 값이 0이 되면 패킷은 버려짐.
  • 이를 통해 라우터 간에 루프를 방지하고, 패킷 전송의 안정성을 높일 수 있음.

서브넷 마스크(Subnet Mask)

  • IP 주소에 대한 네트워크 아이디와 호스트 아이디를 구분하기 위해 사용됨.
  • IP주소 32bit에 공통비트 1을 붙여 네트워크 표시하기 때문에 IP주소와 같이 32bit체계.
  • 맨 앞 비트부터 1이 연속된 구간까지 공통비트로 처리하여 네트워크 아이디로 사용하고 0으로 끝나는 마지막 구간까지 공통하지 않는 비트로 처리하여 호스트 아이디로 사용함.
  • 192.168.1.0의 주소범위
    • 서브넷 마스크가 255.255.255.0이므로 네트워크 아이디는192.168.1이고 호스트 아이디는 .0이다.
    • 따라서 범위는 192.168.1.0 ~ 192.168.1.255까지 된다.

NAT란 무엇인가?

  • Network Address Translation (NAT)은 사설 네트워크에서 인터넷으로 통신하기 위해 사용되는 프로토콜로, 사설 IP 주소를 공인 IP 주소로 변환하는 프로세스를 의미.

NAT의 작동 방식

  • NAT는 라우터나 방화벽과 같은 네트워크 장비에 구현되어, 사설 IP 주소를 공인 IP 주소로 변환.
  • NAT는 출발지 IP 주소와 목적지 IP 주소를 모두 변경.
  • NAT는 출발지 IP 주소를 변환하는 방법으로 Static NAT과 Dynamic NAT 두 가지 방법을 제공.

1:1(Static NAT)

  • 1:1 NAT는 하나의 사설 IP 주소를 하나의 공인 IP 주소와 일대일로 매핑하는 방식.
  • 이 방식은 특정 서버나 기기를 외부에서 직접 접근할 수 있도록 하기 위해 사용.
  • 예를 들어, 회사 내부에서 운영되는 웹서버를 외부에서 접근할 수 있도록 하기 위해, 웹서버의 사설 IP 주소를 공인 IP 주소로 변환하는 1:1 NAT를 가능.

1:N(Dynamic NAT)

  • 1:N NAT는 하나의 공인 IP 주소를 여러 개의 사설 IP 주소와 일대다로 매핑하는 방식.
  • 이 방식은 하나의 공인 IP 주소를 사용하여 여러 대의 기기가 인터넷에 접속할 수 있도록 하기 위해 사용.
  • 예를 들어, 가정 내부에서 여러 대의 컴퓨터가 인터넷에 접속하기 위해 사용하는 경우, 라우터에서 1:N NAT를 사용하여 각각의 컴퓨터에 대해 고유한 사설 IP 주소를 할당하고, 이를 공인 IP 주소로 변환하여 인터넷에 접속 기능.