본문 바로가기
Network/네트워크 이해

[Network] 네트워크 계층

by 8희 2022. 10. 3.

네트워크 계층 - 서브넷 마스크

- 한 기관이 많은 호스트를 가지게 되는 경우는 거의 없기 때문에 IP 주소가 낭비되는 문제 발생, 많은 컴퓨터가 한꺼번에 패킷을 전송하면 네트워크가 매우 혼잡해진다. 

-  너무 많은 IP 주소들이 낭비되는 문제를 해결하기 위한 기술이 바로 '서브넷팅(subnetting)' 기술

 

* 서브넷팅, 서브넷 마스크

- 전체 네트워크 주소를 식별할 수 있도록 값 설정

- 서브넷팅: IP 주소를 클래스로 구분하는 방법, 네트워크를 분할하는 것

- 서브넷: 분할된 네트워크

- 분할된 서브넷에 대한 주소인 '서브넷 주소'도 필요

 

- 서브넷 마스크: 네트워크 ID와 호스트 ID를 식별하기 위한 값 (분할된 네트워크를 식별하기 어려움)

- 서브넷 마스크는 네트워크 ID에 해당하는 부분을 모두 '1'로 표현하고, 호스트ID에 해당하는 부분을 모두 '0'으로 표현

 

- 네트워크ID가 처음 8비트까지이므로 모두 '1'로 표기하고 나머지 24비트는 '0'으로 표기

- 다시 10진수로 바꿔줄 때 '11111111'은 255고, 나머지는 0이기 때문에 0으로 표기

- 따라서 A클래스의 서브넷 마스크르 10진수로 표기하면 255.0.0.0이 된다!

 

IPv4 기준으로 서브넷 마스크로 표현한 각 클래스의 범위

- A 클래스 서브넷 마스크: 255.0.0.0

- B 클래스 서브넷 마스크: 255.255.0.0

- C 클래스 서브넷 마스크: 255.255.255.0

 

- 서브넷 마스크는 프리픽스(prefix)표기법으로도 표기할 수 있다. 

- 프리픽스 표기법은 네트워크 id의 비트 수를 슬래시 (/) 뒤에 나타내는 표기법 

 

- 서브넷 주소는 기존에 호스트 주소로 사용했던 부분을 나누어 사용하게 된다. 

- 원래는 네트워크 ID와 호스트 ID만 있었다면 이 상태를 서브넷팅하여 분할함으로써 네트워크ID, 호스트ID, 서브넷ID로 구성된다. 

 

 


네트워크 계층 - IP 패킷, IP 헤더

- IP 패킷은 IP 헤더가 캡슐화되었을 시 칭해지는 프로토콜 데이터 단위 

- IP 헤더는 헤더 길이, 서비스 유형, 전체 패킷 길이, ID(일련번호), 조각 상태, 조각의 위치, TTL, 프로토콜, 헤더 체크섬, 출발지 IP주소, 목적지 IP주소, 옵션 & 데이터 등으로 구성 

- IP 헤더의 크기는 20바이트에서 60바이트, 그외 데이터는 0바이트에서 65515바이트

- 따라서 IP 패킷의 크기는 최소 20바이트에서 65575바이트, IPv4, IPv6에 따라 최대 크기가 달라짐 

- IP 헤더의 각 필드들은 전송 과정에서 특정 주소를 식별하거나, 에러 체크를 하거나, 패킷을 분할할 때 등등 다양하게 참조되고 사용

 

 

- IP 주소 정보들은 라우터가 라우팅동작을 하는데 핵심적인 역할

 


네트워크 계층 - 라우터

- 라우터: 한 네트워크에서 다른 네트워크로 데이터를 전송하는 네트워크 기기

- 패킷을 목적지 IP까지 최적의 경로로 전송할 수 있게 돕는 역할(라우팅)

- 라우팅의 과정에서는 라우팅의 테이블을 필요로 한다. 

- 라우팅을 통해 현재 네트워크에서 다른 네트워크로 최적의 경로를 찾아 그 경로로 데이터를 전송, 이 경로에 대한 정보가 등록되어 있는 테이블이 라우팅 테이블! 

- 전송 도중 이더넷 헤더와 FCS는 교체되어 MAC주소가 바뀐다. (ARP 이용)

- IP 헤더의 IP 주소는 그대로! 도착지 IP주소와 출발지 IP 주소는 그대로이다. (NAT 주소 변환 시 예외)

 

- 네트워크 통신의 과정에서는 한 네트워크 내에서의 전송뿐 아니라 한 네트워크에서 다른 네트워크로의 통신이 필요 

- 서로 다른 네트워크로 데이터를 전송해야 하는 상황이 올 때 라우터는 다음으로 전송해야 하는 라우터를 판단한다. 

 

- 192.168.10.0 /24가 네트워크1, 2, 3를 이루는 네트워크 대역

- 이 사이를 라우터가 잇고 있으며 라우터는 여러 개의 네트워크와 연결된 상태에서 패킷을 어떤 경로로 보낼지, 목적지 IP 주소까지 어떤 경로로 패킷을 보낼지 결정하는 역할

 


네트워크 계층 - 라우팅 프로토콜

- 현재 네트워크에서 다른 네트워크로 '최적의 경로'를 선택하는 과정

- 라우팅 프로토콜: 라우팅 정보를 교환하기 위한 프로토콜

- 라우팅은 정적 라우팅과 동적 라우팅으로 나눌 수 있다.

- 정적 라우팅: 관리자가 직접 관리

- 동적 라우팅: 라우팅 테이브르이 정보를 주기적으로 받아 갱신

 

* 동적 라우팅 프로토콜

- 동적 라우팅 프로토콜은 AS(Autonomout System)를 기준으로 어떤 역할을 하느냐에 따라 내부 라우팅 프로토콜과 외부 라우팅 프로토콜로 분류

 

- AS(Autonomous System): 네트워크를 체계적으로 관리하기 위한 자율 시스템

- AS란 하나의 라우팅 관리자에 의해 관리되는 네트워크 범위, 하나의 회사나 조직에서 관리하는 라우터들의 집합

 

- 외부 게이트웨이 라우팅 프로토콜: AS 간에 라우팅을 수행하는 외부 게이트웨이, 라우팅 프로토콜을 EGP(Exterior Gateway routing Protocol)라고 부른다. 

- EGP에는 BGP가 있다. 

 

- 내부 게이트웨이 라우팅 프로토콜: AS 내에서 라우팅을 수행하는 내부 게이트웨이 라우팅 프로토콜을 IGP(interior Gateway Protocol)  

- IGP에는 RIP, OSPF, IGRP, EIGRP 등이 있다. 

 


네트워크 계층 - RIP 

- RIP (Routing Informaiton Protocol) = 라우팅 정보 프로토콜

- 목적지로 도착하기까지 홉 수 정보를 저장하고 인접 라우터와 주기적으로 정보를 공유하는 방법

- 거리 벡터 라우팅 프로토콜, Bellman-Ford 프로토콜

- 소규모 네트워크에 적합

 

- 홉(Hop Count): 목적지로 도착하기까지 거쳐야 하는 링크 또는 라우터의 수

- 일반적으로 30초마다 라우팅 테이블 갱신

- 120초 동안 정보를 받지 못하면 경로 단절로 판단

- 단절된 경우 무한으로 표시 (홉 수 16)

- UDP 520번 포트 사용

 

- RIP 방식의 문제: Slow Convergence (느린 수렴) 현상으로 인한  라우터 간 무한 루프가 발생 현상

- 정보가 제대로 전달되지 않아 발생하는 현상!

- 네트워크 1의 경로가 단절되면 홉 수가 무한대로 변경, 변경된 내용이 다른 라우터까지 적용되는데 많은 시간이 소요되는 문제 발생. 즉 경로가 단절된 상황이 느리게 전달되어서 모든 라우터가 변경 사항을 적용하는데 오랜 시간이 걸리는 것!

 

-* 느린 수렴 현상을 해결하기 위한 해결책

1) 무한대의 홉 수로 16을 사용하는 방법

- 홉 수가 15를 초과할 경우 무한대로 설정한다는 의미.

- 경로가 단절되었을 시 변경된 내용이 적용되는 시간을 단축할 수 있다.

2) Split - Horizon

- 전달하는 정보를 구분하여 전송하는 방식

- 상대방에게서 받은 라우팅 정보를 다시 상대방에게 보내지 않는다.

- 네트워크 1로 가는 경로가 단절되었을 때 라우터 1은 단절된 정보로 홉수를 무한으로 설정한다. 이 정보가 라우터 2의 라우팅 테이블에도 전달되어 무한으로 갱신된다. 그러나 라우터 2의 라우팅 테이블은 다시 라우터 1에게 전달할 때 네트워크 1의 정보를 전달하지 않고 네트워크 3의 정보만 전달한다. 이로써 라우터 2는 오른쪽 인터페이스로 통하는 네트워크 3의 정보만 구분하여 전달함으로써 네트워크 1의 경로가 단절되었다는 정보를 보존한다.

3) Poison - Reverse

- 반대쪽 네트워크 메트릭 값을 무한대로 늘리는 방식

4) Triggered Update

- 변경 상황의 정보를 바로 전달하는 방식

- 일반적으로 라우팅 테이블 정보는  30초마다 갱신하게 된다. 하지만 Triggered Update는 30초라는 시간 간격과 상관없이 바로 변경 상황 정보를 전달하기 때문에 느린 수렴 문제를 해결할 수 있다.