네트워크 계층 개요
네트워크 간의 통신을 가능하게 함.
이전 계층(물리, 데이터링크)에서는 하나의 네트워크 내에서 어떻게 연결이 되고 구성되는지에 대해서라면,
네트워크 계층에서는 서로 다른 네트워크 사이의 동작들에 초점이 맞춰져 있음.
주요 프로토콜로는 IP, ARP, ICMP 등등의 프로토콜 존재하며 데이터 단위는 패킷 단위.
IP(Internet Protocol)
기본적인 특징으로는 비신뢰성, 비연결형, 주소 지정, 라우팅의 경로 설정.
IP 주소의 길이는 IPv4 기준 8bit씩 4옥텟으로 총 32bit를 이루며 10진수로 표시.
주소의 개수가 제한적이었던 IPv4와 달리 무한대의 가까운 주소 사용 가능한 IPv6.
IP 주소는 범위에 따라 네트워크 ID와 호스트 ID로 구분이 가능한데,
네트워크 ID는 전체 중 작은 네트워크를 식별하는 ID이자 호스트의 집합 대표 주소이고,
호스트 ID는 말 그대로 호스트를 식별.
IP 주소를 관리하기 위해서는 클래스별로 주소 지정 방식도 나뉘는데 IPv4 기준 A ~ E 클래스로 나뉨.
ABC 클래스는 일반적으로 주소를 지정할 수 있으며,
D 클래스는 멀티캐스트용 주소이고 E 클래스는 연구나 특수 용도로 사용되는 현재 사용하지 않는 예약 주소.
서브넷 마스크
너무 많은 IP 주소가 낭비되는 문제를 해결하기 위한 기술이 서브넷팅 기술.
서브넷팅은 네트워크를 분할하는 것으로 분할된 네트워크가 서브넷이라 할 수 있음.
분할된 네트워크에서 어디까지가 네트워크 ID이며 어디부터 호스트 ID인지 알이보기가 어렵기 때문에,
서브넷 마스크 값을 설정하여 식별하기 위한 값으로 사용.
서브넷 마스크는 네트워크 ID에 해당하는 부분을 모두 1로 표현하고 호스트 ID에 해당하는 부분을 모두 0으로 표기.
IP패킷, IP 헤더
IP 패킷은 IP 헤더가 캡슐화 되었을 시에 칭해지는 프로토콜 데이터 단위.
IP 헤더는 버전, 헤더 길이, 서비스 유형, 전체 패킷 길이, 플래그, TTL 등등으로 구성되어 있음.
헤더의 길이는 20 ~ 60바이트로 그 외 데이터(TCP헤더, 응용헤더, User Data)는 0 ~ 65515 바이트.
핵심이 되는 IP 헤더의 필드들은 전송 과정에서 특정 주소를 식별하거나 에러 체크를 하거나 패킷을 분할할 때 등등 다양하게 참조되고 사용됨.
라우터
한 네트워크에서 다른 네트워크로 데이터를 보내는 역할을 함.
라우터는 데이터를 특정 목적지까지 전송하기 위해서 최적의 경로를 선택하는 라우팅 과정을 거치는데,
라우팅 과정에서 라우팅 테이블을 필요로 함.
라우팅 테이블은 경로에 대한 정보를 등록하고 관리하는 테이블이라 생각하면 됨.
데이터를 전송하는 과정에서 도착지 MAC 주소와 출발지 MAC 주소는 바뀐다는 것!
MAC 주소는 장치마다 부여된 고유의 물리적인 주소이기 때문에 전송 도중 기기 거치면서 변경 가능.
BUT!! 도착지 IP 주소와 출발지 IP 주소는 그대로 고정.
라우팅 프로토콜
라우팅 정보를 교환하기 위한 프로토콜로 정적 라우팅과 동적 라우팅으로 나눌 수 있음.
정적 라우팅은 관리자가 직접 테이블을 생성하고 갱신하면서 수동 설정 하는 방식.
동적 라우팅은 라우팅 테이블의 정보를 주기적으로 받아 갱신하는 방식.
동적 라우팅 프로토콜은 AS를 기준으로 어떤 역할을 하느냐에 따라서,
AS 내에서 수행하는 내부 라우팅 프로토콜과 AS 간의 라우팅을 수행하는 외부 라우팅 프로토콜로 나눌 수 있음.
AS(Autonomous System)란 네트워크를 체계적으로 관리하기 위한 자율시스템으로 하나의 라우팅 관리자에 의해 관리되는 네트워크 범위.
Routing Innformation Protocol
목적지로 도착하기까지 홉 수 정보를 저장하고 인접 라우터와 주기적으로 정보를 공유하는 방법.
거리 벡터 알고리즘에 기초하여 거리 벡터 라우팅 프로토콜, Bellman-Ford 프로토콜이라고도 불림.
여기서 홉 수란 목적지로 도착하기까지 거쳐야 하는 링크 또는 라우터의 수.
일반적으로 30초마다 라우팅 테이블 갱신하며,
120초 동안 정보를 받지 못하면 경로 단절로 판단하고 단절된 경우라면 무한으로 표시.
라우터 간 무한 루프가 발생한다는 문제점 존재하는데 이는 정보가 제대로 전달되지 않아서 발생하는 현상.
어느 한 네트워크의 경로가 단절되었다고 가정했을 때,
홉 수가 무한으로 변경이 되는 데 이 내용이 다른 라우터까지 적용되는 데 많은 시간 소요.
해결 방법으로는 무한대 홉 수로 16을 사용, Split-Horizon, Triggered Update 등등의 방법 존재.
OSPF(Open Shortest Path First)
가장 많이 사용하는 내부 게이트웨이 프로토콜 중 하나.
링크 상태 알고리즘 및 광고 기법 사용, Dijkstra 알고리즘으로 최적의 경로 계산.
※ Dijkstra 알고리즘이란 특정 노드에서 다른 모든 노드로 가는 최단 경로를 알려주는 알고리즘.
라우팅을 효율적으로 수행하기 위해 네트워크를 영역 단위로 나누어서 관리.
내부의 라우터들끼리 각 영역에서 라우팅 정보를 교환하는 계층적 구조를 가짐.
OSPF 프로토콜은 캡슐화를 통해 메시지를 전달하며 동작.
캡슐화되는 데이터들은 IP헤더, OSPF 공통 헤더, 특정 타입 OSPF 헤더로 나눌 수 있음.
NAT(Network Address Port Translation)
인터넷 접속을 위해서 사설 IP 주소를 공인 IP 주소로 변환.
변환한 주소를 NAT 테이블에 보존하여,
응답이 라우터로 돌아오면 저장했던 대응 주소를 통해 목적지 IP 주소를 사설 IP 주소로 변환.
ARP(Address Resolution Protocol)
목적지 IP주소를 통해 목적지 MAC 주소를 알아내는 주소 획득 프로토콜.
이렇게 IP 주소와 MAC 주소를 대응시키는 것을 주소 해석 이라고 함.
브로드캐스트로 요청, 유니캐스트로 응답.
브로드캐스트트로 요청이기에 다수의 호스트에게 요청.
알아낸 MAC 주소 즉 대응 정보를 저장하는 것은 ARP 캐시에다가 저장.
ICMP(Internet Control Message Protocol)
목적지 IP로의 데이터 전송 여부를 확인할 수 있게 해주는 프로토콜.
주요 기능 두 가지는 에러 보고 기능과 질의(진단) 기능.
네트워크 계층 프로토콜이지만 IP 헤더로 캡슐화 되는 것이 특징.
※ Ping: 지정한 IP주소와 통신할 수 있는지 확인하는 명령어 → ICMP Echo 응답/요청.
'DevOps&Infra > Network' 카테고리의 다른 글
응용 계층 (0) | 2023.08.05 |
---|---|
전송 계층 (0) | 2023.07.16 |
데이터링크 계층 (0) | 2023.06.01 |
물리 계층 (0) | 2023.03.25 |
네트워크 개요 (1) | 2023.01.28 |