3계층. 네트워크 계층 (Network Layer)
데이터 장거리 운송의 전반을 담당, 네트워크의 연결 거리를 늘리고 규모를 확장하는 데에 기여한다.
주로 개방 시스템들 간의 네트워크 연결을 관리하는 기능과 데이터의 교환 및 중계 기능을 하며,
네트워크를 설정, 유지, 해제하는 기능도 한다.
즉, 별개의 네트워크 간에 데이터 패킷을 주고 받는 역할을 담당한다!!!
즉, 데이터 패킷의 경로를 설정하고 다른 네트워크의 서버가 가동 중인지 확인하며, IP 패킷에 주소를 붙이고 다른 네트워크로부터의 IP 패킷을 수신하는 등의 일을 한다.
패킷
인터넷을 통해 발송되는 모든 데이터는 패킷이라는 작은 조각으로 나눠진다.
이 때, 패킷은 헤더와 본문으로 이뤄져 있는데 헤더는 각 패킷의 내용, 출발지, 목적지에 대한 정보 등 패킷 자체에 대한 정보를 담고 있고 본문은 실제로 전송되는 데이터가 담겨 있다.
네트워크의 분할
보안과 확장성을 위해 → 네트워크의 분할이 필요!!!
라우터를 통해 좁은 LAN (Local Area Network) 을 구성하고 라우터 간의 연결을 통해 WAN (Wide Area Network) 을 구성한다.
라우터 (Router)
route(= 경로를 지정하다.), 한 마디로 네트워크 라우팅(routing)을 하는 기기.
데이터 링크 계층에서 사용하는 브릿지(Bridge)와 마찬가지로, LAN 혹은 WAN의 연결 기능에 데이터 전송의 최적 경로를 선택할 수 있는 기능이 추가된 것으로, 서로 다른 LAN이나 LAN과 WAN의 연결도 수행한다.
또한 접속 가능한 경로에 대한 정보를 라우팅 제어표(Routing Table)에 저장하여 보관하고, 3계층까지의 프로토콜 구조가 다른 네트워트 간의 연결을 위해 프로토콜 변환 기능을 수행한다.
즉, 라우터는 네트워크의 경로를 선택 프로세스로 수행하는 기기로, 데이터 패킷이 최종 목적지에 도착하도록 유도하는 목표를 가지고 있다.
연결 넓이에 따른 라우터 종류.
- Edge Router (중소 기업)
- Distribution Router (대기업)
- Core Router (ISP 네트워크,지역 라우터)
- ISP Router (국가 레벨 라우터)
경로 설정 또는 라우팅(Routing)
네트워크 계층의 주요 기능 중 하나는 데이터를 목적지까지 가장 효율적으로 전달하는 경로를 결정하는 것이다.
즉, 라우팅이란 라우터를 이용하여 패킷이 이동할 최적의 경로를 결정하는 것이라고 할 수 있다. 인터넷과 같은 패킷 교환 네트워크에서 인터넷 프로토콜(IP) 패킷이 출발지에서 대상으로 이동할 경로를 선택한다.
라우팅은 라우팅 테이블(routing table)에 정보를 기반으로 데이터를 내보내게 되는데, 라우팅 테이블은 패킷이 최종 수신지까지 도달하기 위한 데이터가 담겨있다.
라우팅 테이블은 라우터나 네트워크 장치가 부팅될 때 생성된다. 이후 동적 라우팅 프로토콜을 통해 라우트 정보를 교환함으로써 지속적으로 업데이트된다.
정적 라우팅 : 관리자가 직접 경로를 지정하는 방법.
네트워크가 작을 때 유용하지만, 변경 사항이 발생하면 수동으로 수정해야 한다.
동적 라우팅 : 라우터가 자동으로 경로를 학습하고 변경 사항에 따라 라우팅 테이블을 업데이트하는 방법.
RIP(Hop 카운트), OSPF(링크 비용 계산 → 대역폭, 전속 속도), BGP(Attribute라고 하는 네트워크 도달성 정보), IGRP(대역폭, 딜레이, 로드 등 다양하게 조합) 같은 동적 라우팅 프로토콜을 사용하여 최적의 경로를 찾는다. 하지만 라우팅 테이블이 잘못되면 경로가 이상해질 수 있다.
홉 (Hop)
라우팅 도중 패킷이 목적지 사이에 라우터를 지나가는 과정을 홉이라고 한다.
이에 따라, 패킷은 여러 대의 라우터를 뛰어넘으며 이동하게 된다는 사실을 알 수 있다.
라우팅 테이블 정보
- 수신지 IP 주소, 서브넷 마스크
- 최종적으로 패킷을 전달할 대상
- 다음 홉(게이트웨이)
- 최종 수신지까지 가기 위해 다음으로 거쳐야 할 호스트의 IP 주소 인터페이스
- 네트워크 인터페이스
- 패킷을 보낼 통로
- 인터페이스 이름이 직접 명시되거나 인터페이스 대응하는 IP 주소 명시
- 메트릭(metric)
- 해당 경로로 이동하는 드는 비용
- 낮을 수록 좋음.
IP (Internet Protocol)
네트워크에 연결된 각 기기의 위치를 알 수 있도록 주소를 지정하기 위한 규칙의 집합.
IP주소는 인터넷에 연결하는 장치나 도메인에 할당된 고유 식별자를 의미하고 각 IP주소는 일련의 숫자로 구성된다.
- IPv4 / IPv6
동적할당
스마트폰과 같은 기기는 항상 같은 장소에 있지 않다. PC는 항상 켜져있지 않다. 그럼에도 한 번 연결되었던 네트워크에 계속해서 IP가 고정된 채로 할당이 유지된다면 IP 주소를 낭비하게 된다.
DHCP (Dynamic Host Configuration Protocol) 를 통해 프로토콜 기반으로 자동으로 IP를 할당한다. 라우터는 IP를 할당받고자 하는 클라이언트에게 IP를 정해진 시간동안 대여해주고 임대 기간이 끝나면 IP를 반납하게 된다.
단점 : 서버를 운영할 경우 고정 IP가 필요.
서브넷팅
회사에서 사설주소를 사용한다고 가정하자. 192.168.0을 네트워크 아이디로 사용할 수 있다면 호스트로 0~255개의 IP를 할당할 수 있다. 하지만 이를 다 사용할 수 있는 곳이 얼마나 될까? 이를 필요한 만큼만 나눠서 쓸 수 있다면 효율적으로 관리할 수 있을 것이다.
Host ID 비트 하나를 Network ID로 넘겨줌으로서 사용할 수 있는 용량은 절반이 되었지만 더 많은 호스트에게 IP를 할당할 수 있게 되었다.
이 경우, Host ID를 어떻게 나눠쓸 것인가를 정하는 것이 Subnet Mask이다. Mask & bit 연산에 쓰이는 개념으로, IP주소의 자리를 서브넷 마스크의 1인 비트 자리만 통과시키겠다는 의미로 값이 1인 비트 자리를 Network ID로 사용하겠다는 의미다.
`/25` 는 서브넷 마스크의 1의 개수다. 만약 `/24` 라면 4번째 자리는 전부 통과다.
그렇다면 `/23` 이면 Host를 늘려서 쓰는걸까? → 그렇다! 이럴 경우 Host ID는 늘어난다.
서브넷팅은 단순히 네트워크를 나눠쓰는데만 그치지 않고 네트워크를 분류하는 효과도 얻을 수 있다.
분류를 통해서 라우터는 서브넷 마스크를 사용해서 네트워크 주소는 배제하고 빠르게 해당 주소를 찾아낼 수 있다.
'CS' 카테고리의 다른 글
3-way handshake에 대해 알아보자! (0) | 2024.09.26 |
---|---|
OSI - 응용 계층 (0) | 2024.09.26 |
OSI 7계층에 대하여 (0) | 2024.09.26 |
서버와 클라이언트 (0) | 2024.09.12 |
OSI 계층 - 전송 계층 (0) | 2024.09.12 |