목표
IP를 이해한다
라우터를 이해한다
IP주소를 이해한다
서브넷을 이해한다
라우팅을 이해한다
네트워크계층
네트워크 계층(Network Layer)은 OSI 7계층에서 3번째 계층으로, 데이터의 전송 경로를 설정하고 데이터를 목적지까지 전달하는 역할을 합니다. *( 데이터링크계층도 데이터를 전달하지만, 같은 네트워크 내에서만 가능하며 다른 네트워크와는 불가능합니다. )
이를 위해 IP(Internet Protocol) 프로토콜을 사용하며, 네트워크 계층의 주요 기능으로 라우팅(Routing)과 패킷 전송(Packet Forwarding)이 있습니다.
라우팅: 최적의 경로를 설정하는 과정으로, 패킷이 목적지에 도달하기까지 거치는 경로를 결정
패킷 전송: 은 경로를 결정한 후, 목적지로 패킷을 전송하는 과정
네트워크 계층은 또한 서브넷(Subnet)을 구분하는 기능도 가지고 있습니다. 서브넷은 하나의 큰 네트워크를 여러 개의 작은 네트워크로 분할하는 기술로, 네트워크를 보다 효율적으로 관리할 수 있게 합니다.
라우터(Router)
네트워크에서 데이터 패킷을 전달하기 위한 장비입니다. 라우터는 데이터 패킷이 전송될 목적지 주소를 확인하여, 패킷을 다음 노드로 전송하는 역할을 수행(*라우팅)합니다.
라우터는 OSI 7계층 중 네트워크 계층에서 동작합니다. 라우터는 다른 네트워크와 연결되어 있으며, 각 네트워크의 주소를 가지고 있습니다. 라우터는 이 주소 정보를 기반으로 패킷을 전달하며, 필요에 따라 패킷을 분할하거나 합쳐서 전송할 수도 있습니다.
라우터는 다른 네트워크와 연결되어 있으므로, 다양한 프로토콜을 지원합니다. 대표적으로 IP(Internet Protocol), ARP(Address Resolution Protocol), ICMP(Internet Control Message Protocol) 등이 있습니다. 또한, 라우터는 보안 기능도 제공하며, 방화벽, VPN(Virtual Private Network) 등의 기능을 지원합니다.
라우터는 매우 높은 속도로 패킷을 처리해야 하므로, 고성능의 하드웨어와 최신 기술을 적용하여 구현됩니다.
라우팅(Routing)
네트워크에서 데이터 패킷을 목적지까지 전달하기 위해 경로를 설정하는 과정입니다. 라우터(Router)를 통해 이루어지며, 라우터는 경로 정보를 바탕으로 패킷을 전달합니다.
라우팅 과정
- 라우터는 네트워크 상의 다른 라우터와 연결되어 있습니다.
- 라우터는 자신이 가지고 있는 *라우팅 테이블(Routing Table)을 참고하여 패킷이 가야할 경로를 결정합니다.
- 라우터는 해당 경로를 통해 패킷을 전달합니다.
- 수신 측 라우터는 동일한 방식으로 패킷을 수신하고, 패킷을 목적지로 전달합니다.
라우팅은 정적 라우팅(Static Routing)과 동적 라우팅(Dynamic Routing)으로 나누어집니다.
정적 라우팅: 수동으로 라우팅 테이블을 설정하는 방식으로, 네트워크가 변화하지 않을 때 사용
동적 라우팅: 네트워크의 상황에 따라 라우팅 테이블이 자동으로 갱신되는 방식으로, 네트워크가 동적으로 변할 때 사용
라우팅 테이블(Routing Table)
라우터가 데이터 패킷을 전달하기 위해 사용하는 정보를 저장하는 데이터베이스입니다. 라우팅 테이블에는 목적지 네트워크 주소, 목적지 네트워크에 도달하기 위한 인터페이스, 다음 라우터의 IP 주소 등의 정보가 포함됩니다.
라우팅 테이블은 라우터가 패킷을 전달할 때, 패킷의 목적지 주소를 분석하여 패킷을 전송할 다음 라우터를 결정하는 데 사용됩니다. 라우팅 테이블은 일반적으로 라우터가 수신한 라우팅 정보를 바탕으로 자동으로 생성되며, 라우팅 정보는 다른 라우터나 네트워크 장비로부터 수신할 수 있습니다.
대표적인 라우팅 프로토콜 (라우팅테이블은라우팅프로토콜에따라달라집니다.)
RIP(Routing Information Protocol)
거리 벡터 라우팅 프로토콜로, 라우터 간에 최단 경로 정보를 교환합니다. RIP는 경로 정보를 교환할 때, 각 경로의 거리(호핑 수)를 기준으로 판단합니다. RIP는 구형 라우터에서도 지원되며, 구성이 간단하고 운용이 쉽다는 장점이 있습니다.
OSPF(Open Shortest Path First)
링크 상태 라우팅 프로토콜으로, 라우터 간에 링크 상태 정보를 교환합니다. OSPF는 네트워크의 토폴로지 정보를 수집하여 가장 최적의 경로를 결정합니다.
BGP(Border Gateway Protocol)
외부 라우팅 프로토콜로, 서로 다른 도메인 간의 경로 정보 교환을 담당합니다. BGP는 인터넷에서 사용되는 프로토콜로, 전 세계의 인터넷 서비스 제공자(ISP)들이 서로 다른 도메인 간의 연결을 유지하기 위해 사용됩니다. BGP는 대규모 네트워크에서 사용되며, 안정적인 라우팅 경로를 제공하는 데에 특화되어 있습니다.
각각의 라우팅 프로토콜은 라우터 간의 정보 교환 방식, 라우팅 정보의 업데이트 방식 등이 서로 다르기 때문에, 이에 맞게 라우팅 테이블의 구조와 내용이 달라집니다.
IP(Internet Protocol)
IP는 인터넷에서 컴퓨터 간에 데이터를 주고받기 위해 사용되는 프로토콜 중 하나입니다. IP는 인터넷 프로토콜 스위트(Internet Protocol Suite)의 핵심적인 프로토콜 중 하나로, 패킷 스위칭 네트워크에서 데이터 패킷을 전송하는 데 사용됩니다.
IP는 패킷의 출발지와 목적지 IP 주소를 이용하여 라우팅을 수행합니다. 라우터는 IP 패킷의 목적지 IP 주소를 확인하여 다음 라우터로 전달하며, 이 과정을 반복하여 목적지에 도달할 때까지 패킷을 전달합니다.
IP는 버전 4와 버전 6이 있으며, 현재는 IPv6가 보편화되고 있습니다.
IPv4는 32비트 주소 체계를 사용 (8bit * 4 -> 000.000.000.000)하고 있으며, 주소 고갈 문제로 인해 대부분의 ISP(Internet Service Provider)들은 IPv6를 지원하고 있습니다. IPv6는 128비트 주소 체계를 사용하며, 주소 고갈 문제를 해결할 수 있는 기술적인 개선이 이루어졌습니다.
네트워크 계층에서 캡슐화할 땐 IP헤더를 붙이며, IP 패킷의 전송 정보와 목적지 정보를 담고 있습니다.(일반적으로 20바이트에서 60바이트의 크기)
IP 헤더의 구성
- 버전(Version): 4비트로 구성된 IP 프로토콜의 버전 정보입니다.
- 헤더 길이(Header Length): 4비트로 구성된 IP 헤더의 길이 정보입니다. 20바이트 단위로 표시되며, 최대 60바이트까지 가능합니다.
- 서비스 유형(Type of Service): 8비트로 구성된 서비스 유형 정보입니다. 패킷의 우선순위, 흐름 제어, 신뢰성 등의 정보를 담고 있습니다.
- 전체 길이(Total Length): 16비트로 구성된 IP 패킷의 전체 길이 정보입니다.
- 식별자(Identification): 16비트로 구성된 IP 패킷을 식별하기 위한 정보입니다.
- 프래그먼트 오프셋(Fragment Offset): 13비트로 구성된 프래그먼트 정보입니다. IP 패킷이 분할되었을 경우, 이 정보를 이용하여 원래 패킷을 복원할 수 있습니다.
- 생존 시간(Time to Live): 8비트로 구성된 생존 시간 정보입니다. 패킷이 라우터를 거칠 때마다 1씩 감소하며, 0이 되면 해당 패킷은 폐기됩니다.
- 프로토콜(Protocol): 8비트로 구성된 상위 계층 프로토콜 정보입니다. 예를 들어 TCP는 6, UDP는 17로 표시됩니다.
- 헤더 체크섬(Header Checksum): 16비트로 구성된 오류 검출 정보입니다. 헤더의 오류를 검출하기 위해 사용됩니다.
- 출발지 주소(Source Address): 32비트로 구성된 출발지 IP 주소입니다.
- 목적지 주소(Destination Address): 32비트로 구성된 목적지 IP 주소입니다.
'네트워크' 카테고리의 다른 글
전송 계층 : 신뢰할 수 있는 데이터 전송하기 - 1 (0) | 2023.04.29 |
---|---|
네트워크 계층 : 목적지에 데이터 전달하기 - 2 (0) | 2023.04.29 |
데이터 링크 계층 : 랜에서 데이터 전송하기 - 2 (0) | 2023.04.24 |
데이터 링크 계층 : 랜에서 데이터 전송하기 - 1 (0) | 2023.04.24 |
물리 계층 : 데이터를 전기 신호로 변환하기 - 2 (1) | 2023.04.23 |