ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 네트워크 계층
    네트워크 2024. 7. 23. 22:00

    혼공스터디 12기로 활동하며 공부한 내용을 요약, 정리 합니다.

     

    네트워크 계층

    네트워크 계층은 같은 LAN(근거리 통신망)에 속하지 않은 호스트와의 통신을 가능하게 한다. 물리 계층과 데이터 링크 계층이 LAN 안에서 일어나는 통신을 다루었다면, 이제 그보다 상위의 통신으로 넘어가는 이야기다.

    데이터 링크 계층의 한계

    LAN에 속한 호스트 간의 통신에서는 MAC주소가 필요했다. 이 주소를 알아내기 위해 데이트 링크 계층에 속하는 '스위치'라는 장비의 도움을 받을 수 있었다. 그런데 이 MAC주소만으로 거대한 인터넷을 구성하기에는 한계가 있다. 인터넷에 속한 모든 호스트가 다른 모든 호스트의 MAC 주소를 기억하는 것이 어렵기 때문이다. 비유하자면 편지를 보내는데, 우편 배달원이 그 동네의 모든 사람을 알고 있어서 이름만 봐도 어디로 물건을 배송하면 될지 알기 어려운 것과 같다. 현실에서는 '주소'를 사용해서 먼저 수신인의 집 앞으로 간 뒤에야 수신인을 확인하고 편지의 주인에게 전달한다. 네트워크에서는 수신인의 주소가 IP주소에, 수신인이 MAC주소에 해당한다.

    인터넷은 수많은 LAN과 LAN이 연결되어있다. 이렇게 서로 다른 네트워크가 거미줄처럼 복잡하게 엮여있는데, 빠른 통신을 위해 최적의 경로를 알아낼 필요가 있다. 이렇게 패킷이 이동할 최적의 경로를 결정하는 것을 '라우팅'이라 한다. 네트워크 계층에 속하는 '라우터'라는 장비가 수행하는 기능이다.

    인터넷 프로토콜

    익히 들은 IP, 즉 인터넷 프로토콜이 바로 네트워크 계층에 속하는 것이다. IP 주소는 오리지널 버전인 IPv4와 짧은 주소를 보완하기 위해 나온 IPv6 이렇게 두 버전이 있다. 일반적으로 말하는 IP 주소는 IPv4 버전이다. IP 주소는 4바이트로 표현되며, 0~255 범위 안에 있는 네 개의 10진수로 표기된다.

     

    192.168.1.1

     

    위처럼 .을 기준으로 구분된 4개의 10진수('옥텟(octet)'이라 한다)로 이루어진다.

    IP는 크게 두 가지 기능을 수행한다.

    • IP 주소 지정
    • IP 단편화

    IPv4의 패킷을 열어보면 아래 그림과 같은 정보가 담겨있다. 

    IP 패킷(출처: 위키백과)

    • Identification: 패킷에 할당된 번호로, IP 패킷은 메세지 전송 과정 중 필요에 따라 여러 조각으로 쪼개지는데, 수신지에서 이들을 조합할 때 어떤 메세지에서부터 쪼개졌는지를 인식하기 위해 사용된다
    • Flags: 단편화 수행여부를 나타낸다. 세 개의 비트로 이루어져있다
    • Fragment offset: 패킷이 단편화되기 전에 패킷의 초기 데이터에서 몇 번째로 떨어진 패킷인지를 나타낸다. 통신 중에 패킷 도착 순서가 달라질 수 있기 때문에 필요하다.
    • TTL(Time To Live): 패킷의 수명을 나타낸다. 하나의 라우터를 거칠 때 마다 1씩 감소하는데, 무의미한 패킷에 네트워크에 떠도는 것을 방지하기 위해 사용된다
    • Protocol: 상위 계층의 프로토콜이 무엇인지 나타낸다(예: TCP 또는 UDP...)
    • Source address: 송신지 IP 주소
    • Destination address: 수신지 IP 주소

    IPv4는 이런 정보들을 가지고 패킷의 단편화와 재조합을 수행하며, IP 주소를 지정할 수 있다.

    ARP

    인터넷 통신 과정에서 MAC 주소와 IP 주소는 함께 사용된다. 하지만 이 과정에서 상태 호스트의 IP 주소는 알지만 MAC 주소는 모르는 상황이 있을 수 있다. 이때 사용되는 것이 ARP 프로토콜이다. ARP는 같은 네트워크 내에 있는 대상 호스트의 IP 주소를 통해 MAC 주소를 알아낼 수 있다. 흐름은 아래와 같다.

    1. ARP 요청: 네트워크 내의 모든 호스트에게 브로드캐스트 메시지를 보낸다
    2. ARP 응답: 대상 호스트가 자신의 MAC 주소가 포함된 메시지를 회신한다.
    3. ARP 테이블 갱신: 호스트가 가진 ARP 테이블에 MAC 주소를 추가한다

    다른 네트워크에 속한 호스트의 MAC 주소를 알아내야하는 경우는 라우터끼리도 ARP를 사용하게 된다

    IP 주소

    IP 주소는 네트워크 계층에 속한다. IP 주소는 크게 네트워크와 호스트 주소로 구성된다.

    네트워크 주소와 호스트 주소

    일반적으로 IP 주소는 8비트의 10진수 네 개로 표현되는데, 이때 네트워크 주소와 호스트 주소를 표현하기 위해 얼마만큼의 비트를 할애하느냐에 따라 네트워크 주소와 호스트 주소를 할당할 수 있는 각각의 주소 개수가 달라진다

    클래스풀 주소 체계

    클래스는 네트워크 크기에 따라 IP 주소를 분류하는 기준이다. 클래스를 기반으로 IP 주소를 관리하는 주소 체계를 클래스풀 주소 체계라 한다. 주로 A, B, C 클래스가 사용된다

    클래스리스 주소 체계

    서브넷 마스크로 네트워크와 호스트 주소를 구분한다

    공인 IP 주소와 사설 IP 주소

    인터넷에서 사용하는 주소는 공인 IP주소로, 세계에서 고유한 주소를 사용한다. 반면 사설 IP 주소는 사설 네트워크에서 사용한다. 사설 IP 주소를 사용하는 호스트가 외부 네트워크와 통신할 때는 (일반적으로 라우터에 내장된)NAT라는 기술을 통해 공인 IP주소로 변환된다

    정적 IP 주소와 동적 IP 주소

    IP 주소는 수동으로 할당 할수도 있고, 자동으로 할 수도 있다. 다만 수동으로 IP주소를 관리하기가 어렵기 때문에 가정용이나 일반적인 목적으로는 DHCP 서버를 통해 자동으로 할당하는 방식을 사용한다.

    라우팅

    인터넷에서 패킷을 전송할 때, 최적의 경로를 찾아 해당 경로로 패킷을 이동시키는 것을 라우팅이라 한다

    라우터

    네트워크 계층의 장비, OSI 7layer 모델로 치면 3계층에 해당, 그래서 L3 스위치라고도 한다. 멀리 떨어진 호스트와의 통신 과정에서 패킷은 여러 라우터를 통과하게 된다.

    • 라우터와 라우터를 이동하는 한 과정을 홉(hop)이라 한다

    라우팅 테이블

    특정 수신지까지 패킷을 보내기 위한 정보를 가지고 있는 테이블(표) 같은 정보. 라우터는 이 라우팅 테이블을 참고해 패킷을 보낼 경로를 판단한다

    라우팅 테이블에 명시되는 대표적인 정보들

    • 수신지 IP 주소, 서브넷 마스크: 패킷을 전달할 최종 목적지를 의미
    • 다음 홉(next hop): 최종 목적지까지 가기 위해 다음으로 거쳐야할 호스트의 IP 주소 또는 인터페이스, 게이트웨이라고 명시되기도 한다
    • 네트워크 인터페이스: 패킷을 내보낼 통로, 인터페이스(NIC) 이름 또는 IP주소가 명시된다
    • 메트릭(metric): 해당 경로로 이동하는 데 드는 비용, 낮은 경로를 선택한다.

    정적 라우팅과 동적 라우팅

    사용자가 수동으로 직접 라우팅 테이블을 채워 그것을 기반으로 라우팅하는 방식을 정적 라우팅(static routing)이라 하며, 자동으로 라우팅 테이블 항목을 만들고, 이를 기반으로 라우팅하는 방식을 동적 라우팅(dynamic routing)이라 한다.

    라우팅 프로토콜

    동적 라우팅을 위해 라우터끼리 자신들의 정보를 교환하며 패킷이 이동할 최적의 경로를 찾기 위해 여러 라우팅 프로토콜을 사용한다. 크게 AS(Autonomous System) 내부에서 수행되는지, 외부에서 수행되는지에 따라 IGP(Interior Gateway Protocol), EGP(Exterior Gateway Protocol)로 나뉜다

    • AS:동일한 라우팅 정책으로 운용되는 라우터들의 집단 네트워크, 한 AS 내에는 다수의 라우터가 있으며, AS 외부와 통신할 경우 AS 경계 라우터(ASBR; Autonomous System Boundary Router)라는 라우터를 사용한다

    IGP의 대표 프로토콜

    • RIP(Routing Information Protocol): 거리 벡터를 사용, 홉 수가 가장 적은 경로를 최적의 경로로 판단한다
    • OSPF(Open Shortest Path First): 링크 상태를 사용, 대역폭이 높은 링크를 메트릭이 낮은 경로로 보고 최적의 경로를 선택한다

    EGP의 대표 프로토콜

    • BGP(Border Gateway Protocol): AS 내외의 통신이 가능하다. BGP 라우터를 가진 AS간 연결(피어링; peering)을 통해 정보를 주고 받는다. 최적의 경로를 결정하는 과정에서 수신지 주소 외에도 다양한 속성, 정책이 고려된다

    과제

    1. IPv4의 대표적인 기능은 IP 단편화, IP 주소 지정이다.

    ▶ 패킷에 포함된 송,수신지 IP주소를 포함한 여러 정보를 가지고 IP 주소를 지정하며, 데이터의 크기가 클 경우 패킷을 분할하는 단편화가 일어나기도 한다.

     

    2. 라우팅 프로토콜은 AS 내부에서 수행되는 IGP와 AS 외부에서 수행되는 EGP로 나뉜다. RIP는 대표적인 거리 벡터 라우팅 프로토콜이고, OSPF는 대표적인 링크 상태 라우팅 프로토콜이다

      AS는 동일한 라우팅 정책으로 운용되는 라우터들의 집단 네트워크다. AS마다 인터넷에서 고유한 번호가 할당되며, 라우터들은 AS 내부에서만 통신할 수도 있고 외부와 통신할 수도 있다. 내부에서의 정보 교환에 사용되는 프로토콜이 IGP이며, 외부와의 통신에서는 EGP를 사용한다. IGP에 속하는 RIP는 홉 수가 가장 적은 경로를 최적의 경로로 판단하며, OSPF는 현재 네트워크의 상태를 그래프 형태로 링크 상태 데이터베이스를 만들어 최적의 경로를 선택한다. 이때 대역폭이 높은 링크를 메트릭이 낮은 경로로 인식한다

    '네트워크' 카테고리의 다른 글

    응용 계층  (0) 2024.08.16
    전송 계층  (0) 2024.08.11
    물리 계층과 데이터 링크 계층  (0) 2024.07.10
    컴퓨터 네트워크 시작하기  (0) 2024.07.02

    댓글

Designed by Tistory.