3-1. LAN을 넘어서는 네트워크 계층
데이터 링크 계층(Layer 2)의 한계
한계 1. 물리 계층과 데이터 링크 계층만으로는 다른 네트워크까지의 도달 경로를 파악하기 어렵다.
- 물리 계층, 데이터 링크 계층에서는 기본적으로 같은 네트워크(LAN) 단위를 다루는데, 다른 네트워크 간의 통신은 다루지 않는다.
- 패킷이 이동할 최적의 경로를 결정하는 것을 라우팅이라고 하고, 네트워크 계층에서는 라우팅을 수행하기 위해 라우터라는 것이 이용된다.
한계 2. MAC 주소만으로는 모든 네트워크에 속한 호스트의 위치를 특정하기 어렵다.
- 모든 호스트가 모든 네트워크에 속한 호스트의 MAC 주소를 서로 알고 있기는 너무 어렵기 때문에 MAC 주소만으로 이 세상 모든 호스트를 특정하는 것은 어렵다.
- 네트워크 계층에서는 IP 주소를 활용해서 수신지가 어디에 있는지 위치를 파악할 수 있다.
인터넷 프로토콜
IP 주소 형태
- 4 Byte(32bit)로 주소 표현이 가능하고, 네 개의 10진수로 표기되고, 각 숫자는 점으로 구분된다.
- 점으로 구분된 8비트를 옥텟이라고 한다.
IP의 기능
기능 1. IP 주소 지정 : IP 주소를 바탕으로 송수신 대상을 지정하는 것을 의미
기능 2. IP 단편화 : 전송하고자 하는 패킷의 크기가 MTU(Maximum Transmission Unit)보다 클 경우 복수의 패킷으로 나누는 것을 의미한다.
IPv4 패킷 헤더
식별자
- 패킷에 할당된 번호로, 전송 과정에서 IPv4 패킷이 여러조각으로 쪼개져서 전송되었을 때 수신지에서 재조합을 위해 사용한다.
플래그
- IP 단편화 수행을 위해 존재하는 필드로 3비트로 구성된다.
- 첫 번째 비트는 항상 0으로 고정.
- 두 번째 비트는 DF(Don't Fragment)로 1이면 단편화를 하지 않음, 0이면 단편화 가능을 의미.
- 세 번째 비트는 MF(More Fragments)로 1이면 뒤에 단편화된 패킷이 더 있음, 0이면 마지막 패킷임을 의미.
단편화 오프셋
- 패킷이 단편화 되기 전 초기 데이터에서 몇 번째로 떨어진 패킷인지를 나타낸다.
TTL
- 패킷의 수명을 의미하는 단어다.
- 패킷이 하나의 라우터를 거칠 때마다 TTL이 1씩 감소하고, 0이 되면 폐기된다.
- 네트워크상에 패킷이 지속적으로 남아있는 것을 방지하기 위해 사용된다.
프로토콜
- 상위 계층의 프로토콜이 무엇인지를 나타내는 필드이다.
- TCP : 6, UDP : 17 등...
이외에도 IPv4 패킷에는 여러 필드들이 존재한다.
ARP (Address Resolution Protocol)
- ARP란 동일 네트워크 내에서 IP 주소를 통해 상대 호스트의 MAC 주소를 알아내는데 사용하는 프로토콜이다.
- 기본적으로 네트워크에서는 IP 주소를 사용하지만, 패킷을 올바르게 송신하려면 상대 호스트의 MAC 주소가 필요하다.
- 따라서 같은 네트워크 내의 호스트로 데이터를 보낼 경우 상대 호스트의 MAC 주소, 다른 네트워크로 보낼 경우에는 라우터(게이트웨이)의 MAC 주소를 알아야 한다.
- ARP 요청 : 같은 네트워크 내의 모든 호스트에게 브로드캐스트 메시지를 보냄.
- ARP 응답 : 요청을 받은 호스트들 중 IP 주소가 일치하는 호스트만 자신의 MAC 주소를 유니캐스트로 응답한다.
- ARP 테이블 갱신 : 모든 호스트는 ARP 테이블이라는 IP 주소와 그에 맞는 MAC 주소를 대응하는 표를 유지하는데, 송신자는 응답받은 MAC 주소를 ARP 테이블에 저장
3-2. IP 주소
클래스풀 주소 체계
- 하나의 IP 주소는 크게 네트워크 주소와 호스트 주소로 이루어짐
- 네트워크 주소 : 특정 네트워크를 식별하는 역할.
- 호스트 주소 : 네트워크 내에서 특정 호스트를 식별하는 역할.
- 필요한 호스트 IP 개수에 따라 네트워크 크기를 가변적으로 조정해 네트워크 주소와 호스트 주소를 구획할 수 있다.
- 클래스를 기반으로 IP 주소를 관리하는 주소 체계를 클래스풀 주소 체계(classful addressing)라고 한다.
- A, B, C 클래스는 네트워크의 크기를 나누는 데에 실질적으로 사용된다. (D클래스는 멀티 캐스트를 위한 클래스, E 클래스는 특수한 목적을 위해 예약된 클래스)
A 클래스
- 네트워크 주소는 비트 0으로 시작하는 1옥텟이며, 호스트 주소는 3옥텟으로 구성된다.
- 이론상 2^7(128)개의 A 클래스 네트워크가 존재할 수 있으며, 2^24(16,777,216)개의 호스트 주소를 가질 수 있다.
- A 클래스의 IP 주소의 범위는 0.0.0.0 ~ 127.255.255.255 이다.
B 클래스
- 네트워크 주소는 비트 10으로 시작하는 2옥텟이며, 호스트 주소도 2옥텍으로 구성된다.
- 이론상 2^14(16,384)개의 B 클래스 네트워크가 존재할 수 있으며, 2^16(65,534)개의 호스트 주소를 가질 수 있다.
- B 클래스의 IP 주소의 범위는 128.0.0.0 ~ 191.255.255.255 이다.
C 클래스
- 네트워크 주소는 비트 110으로 시자하는 3옥텟이며, 호스트 주소는 1옥텟으로 구성된다.
- 이론상 2^21(2,097,152)개의 C 클래스 네트워크가 존재할 수 있으며, 2^8(256)개의 호스트 주소를 가질 수 있다.
- C 클래스의 IP 주소의 범위는 192.0.0.0 ~ 223.255.255.255 이다.
- 단, 호스트 주소 공간을 모두 사용할 수 있는 것은 아니다.
- 호스트 주소가 전부 0인 IP 주소는 해당 네트워크 자체를 의미하는 네트워크 주소로 사용된다.
- 호스트 주소가 전부 1인 IP 주소는 브로드캐스트를 위한 주소로 사용된다.
클래스리스 주소 체계
- 클래스풀 주소 체계를 이용하면 네트워크의 영역을 결정하고 할당 가능한 호스트의 주소 공간을 유동적으로 관리할 수 있지만, 클래스별 네트워크의 크기가 고정되어 있기에 여전히 다수의 IP 주소가 낭비될 가능성이 크다는 문제가 있다.
- 그래서 나온게 클래스리스 주소 체계인데, 아래 주소의 CIDR(Classless Inter-Domain Routing) 설명 참고...
[AWS] VPC, Subnet 알아보기
CIDRCIDR이란 IP 주소의 영역을 여러 네트워크 영역으로 나누기 위해 IP를 묶는 방식을 의미합니다.CIDR의 NotationCIDR은 A.B.C.D/E의 형태를 띄고 있습니다. 예를 들어 10.0.0.0/24 , 172.16.0.0/12와 같은 형식입
itcodeheaven.tistory.com
공인 IP와 사설 IP 주소 체계
공인 IP 주소
- - 전 세계에서 고유한 IP주소로, ISP나 공인 IP 주소를 할당 기관을 통해서 할당 받을 수 있다.
사설 IP 주소와 NAT
- 사설 IP란, 사설 네트워크에서 사용하기 위한 IP 주소로 일반적으로 라우터가 할당한다.
- 할당받은 사설 IP 주소는 해당 호스트가 속한 사설 네트워크상에서만 유효한 주소이므로, 얼마든지 다른 네트워크상의 사설 IP 주소와 중복될 수 있다.
- 사설 IP 주소만으로는 일반적인 인터넷 접속을 비롯한 외부 네트워크 간의 통신이 어렵기 때문에 공인 IP로 주소를 변환해야하는데 이때 필요한게 NAT이다.
- NAT는 네트워크 내부에서 사용되는 사설 IP 주소를 네트워크 외부에서 사용되는 공인 IP 주소를 변환하는데 사용된다.
3-3. 라우팅
라우터 (Router)
- 서로 다른 네트워크 간 통신을 위해 필요한 장치가 라우터다.
- 같은 네트워크 대역이란, 같은 서브넷에 속해 라우터를 거치지 않고 직접 통신할 수 있는 장치들의 집합을 말한다.
- 일반적으로 같은 라우터의 동일 인터페이스(또는 포트)에 연결된 장치들은 같은 네트워크에 속한다.
- 멀리 떨어져 있는 호스트 간의 통신 과정에서 패킷은 여러 라우터를 거쳐서 다양한 경로로 이동하며, 라우터와 라우터 간 하나의 과정을 홉(hop)이라고 부른다.
라우팅 테이블
- 라우팅 테이블이란 라우터가 저장하고 관리하는 테이블로, 특정 수신지까지 도달하기 위한 정보를 명시한 일종의 표이다.
- 라우터는 라우팅 테이블을 참고하여 수신지까지의 도달 경로를 판단한다.
- 라우팅 테이블은 다음과 같은 정보들로 구성된다.
- 수신지 IP 주소와 서브넷 마스크 : 최종적으로 퍀시을 전달할 대상을 의미한다.
- 다음 홉(or 게이트웨이) : 최종 수신지까지 가기 위해 다음으로 거쳐야 할 호스틩 IP 주소나 인터페이스를 의미한다.
- 네트워크 인터페이스 : 패킷을 내보낼 통로를 의미하며, NIC 이름이 직접 명시되거나 IP주소가 명시되기도 한다.
- 메트릭 : 해당 경로로 이동하는데 드는 비용을 의미한다. 메트릭 값이 낮은 경로를 선호된다.
- 패킷 내의 수신지 IP 주소가 라우팅 테이블에 있는 수신지 IP 주소, 서브넷 마스크 항목과 완벽하게 합치되는 경우는 해당 경로로 보내고, 라우팅 테이블에 없는 경로로 패킷을 보내는 경우에는 디폴트 라우트 라는 기본적으로 내보낼 경로를 설정한다.
- 디폴트 라우트는 수신지 IP 주소를 모든 IP 주소를 의미하는 0.0.0.0/0으로 명시한다.
정적 라우팅과 동적 라우팅
정적 라우팅
- 사용자가 직접 라우팅 테이블의 정보를 추가해서 라우팅하는 방법을 의미한다.
동적 라우팅
- 네트워크 규모가 커지면 정적 라우팅만으로 관리하기가 버거워진다. 따라서 자동으로 라우팅 테이블 항목을 만들고, 이를 이용하여 라우팅하는 동적 라우팅이 필요하다.
- 동적 라우팅은 라우팅 프로토콜을 통해 자동으로 채워진 라우팅 테이블 항목을 토대로 라우팅되는 방식이다.
라우팅 프로토콜
- 라우터끼리 자신들의 정보를 교환하며 패킷이 이동할 최적 경로를 찾는 프로토콜을 라우팅 프로토콜이라고 한다.
- 라우팅 프로토콜은 크게 AS(집단 네트워크) 내부에서 수행되느냐, AS 외부에서 수행되느냐에 따라 종류를 나눌 수 있다.
- AS : 동일한 라우팅 정책으로 운용되는 라우터들의 집단.
IGP (집단 네트워크 내부에서 수행)
RIP
- 거리 벡터 기반의 라우팅 프로토콜
- 인접한 라우터끼리 경로 정보를 주기적으로 교환하며 라우팅 테이블을 갱신
- 특정 수신지에 도달하기까지의 홉 수를 판단하여 가장 적은 홉이 최적 경로
OSPF
- 링크 상태 라우팅 프로토콜
- 라우터들의 연결 관계, 연결 비용 등 현재 네트워크의 상태를 그래프로 표현함.
- 표현된 그래프를 바탕으로 대역폭 기반의 메트릭을 계산해 최적 경로 결정
EGP (집단 네트워크 외부에서 수행)
RIP
- AS(집단 네트워크)간의 통신에서 사용되는 대표적인 프로토콜
'컴퓨터네트워크' 카테고리의 다른 글
[혼공네] 2장 물리 계층과 데이터 링크 계층 - (2) (0) | 2025.10.07 |
---|---|
[혼공네] 2장 물리 계층과 데이터 링크 계층 - (1) (0) | 2025.10.05 |
[혼공네] 1장 컴퓨터 네트워크 시작하기 (1) | 2025.08.31 |