네트워크 계층
네트워크 계층은 송신자측에서 수신자측까지 데이터를 안전하게 전달하기 위해 논리적 링크를 설정하고 상위 계층 데이터를 작은 크기의 패킷으로 분할하여 전송하는 역할을 수행한다.
네트워크 계층의 서비스는 크게 두 가지이다.
① 라우팅
- 패킷이 근원지에서 목적지까지 갈 수 있도록 경로를 찾는 것
② 포워딩
- 라우터 상의 하나의 인터페이스에 패킷이 도착했을 때 라우터가 취하는 행동
IPv4 주소
1. 클래스 기반 주소 지정(Classful Addressing)
클래스 | 설명 |
클래스 A | 첫 번째 bit가 0인 IP 주소. 첫 byte의 나머지 7bit가 네트워크 주소이고, 하위 3byte는 호스트 주소이다. |
클래스 B | 처음 두 bit가 10인 IP 주소. 첫 byte의 나머지 6bit와 두 번째 byte가 네트워크 주소이고, 하위 2byte는 호스트 주소이다. |
클래스 C | 처음 세 bit가 110인 IP 주소. 첫 byte의 나머지 6bit와 두 번째, 세번째 byte가 네트워크 주소이고, 하위 1byte는 호스트 주소이다. |
클래스 D | 처음 세 bit가 1110인 IP 주소. 네트워크 주소와 호스트 주소의 구분이 없고, 전체 주소가 멀티캐스트 주소로 사용된다. |
클래스 E | 처음 네 bit가 1111인 IP 주소. 추후 사용을 위해 예약된 주소이다. |
클래스 기반 주소 지정 방식은 주소가 적절하게 분배되지 않았기 때문에 주소 고갈 현상이 발생했다. 이를 완화하기 위해 서브네팅(subnetting)과 슈퍼네팅(supernetting)의 두 가지 기술이 제안되었다.
2. 클래스 없는 주소 지정
① CIDR
IP 주소 뒤의 슬래시 다음에 네트워크 ID의 길이를 표시하는 방식이다. 기존의 클래스 기반 주소 지정 방식의 개념을 무시하여, IPv4 주소의 공간을 효율적으로 할당할 수 있게 한다.
ex) 10.0.0.0/24
네트워크 주소의 길이가 32bit 중 24bit까지이다. 사용할 수 있는 주소는 10.0.0.0 ~ 10.0.0.255로 256개이다.
② VLSM
VLSM은 서브네팅을 여러 번 반복하여 네트워크를 크기가 다른 여러 서브네트워크 계층으로 구분하는 기법이다.
네트워크 주소와 브로드캐스트 주소
IP 주소에는 네트워크 주소와 브로드캐스트 주소가 있다.
1. 네트워크 주소
네트워크 주소는 네트워크 전체를 대표하는 주소로, 해당 네트워크의 맨 첫번째 주소이다.
2. 브로드캐스트 주소
브로드 캐스트 주소는 해당 네트워크의 제일 마지막 주소로 네트워크에 위치한 모든 노드(PC, 장비 등)에게 한번에 데이터를 전송하는 데 사용되는 전용 IP 주소이다.
라우터
라우터는 인터넷에서 IP 네트워크들 간을 연결하거나 IP 네트워크와 인터넷을 연결하기 위해 사용하는 장비로 네트워크 계층에서 동작한다. 라우팅 프로토콜(RIP, BGP, OSPF 등)을 통하여 경로와 네트워크에서 발생하는 변경에 대한 정보를 발견한다. 라우팅 프로토콜은 링크가 다운되었는지, 특정 경로가 혼잡한지, 다른 경로가 보다 경제적인지를 알려준다.
대표적인 라우팅 프로토콜은 다음과 같다.
구분 | 설명 |
RIPv1, RIPv2 | 라우팅 경로 계산을 위해 거리벡터 알고리즘을 사용하는 가장 단순한 라우팅 프로토콜이다. 각 라우터는 라우팅 테이블에 자율 시스템(AS) 내의 다양한 네트워크에 도착하는 방법과 거리를 홉 수(Hop Count)로 저장한다. |
IGRP | 하나의 매트릭 값만을 사용하는 대신 다양한 네트워크 파라미터를 이용하여 거리벡터를 계산한다. |
EIGRP | IGRP 기능을 확장한 프로토콜로 CIDR과 VLSM 등을 지원한다. |
OSPF | 네트워크가 변화가 생겼을 경우에만 전체 네트워크에 플러딩 과정을 수행하며, 최적경로 계선을 위해 Dijkstra Algorithm이라는 링크상태 알고리즘을 이용하였다. |
BGP | 자율 시스템(AS) 사이에서 라우팅 정보를 전달하는 EGP 중 하나로 널리 사용된다. |
라우터 보안
1. Privileged 모드와 enable 명령어
라우터는 처음 접속을 하게 되면 사용자는 User 모드로 접속을 하게 되어 라우터 관련 정보의 조회가 가능하다. 라우터는 enable 명령어를 사용하여 Privileged 모드로 변경하게 되면 조회 뿐 아니라 설정 변경 등의 작업을 할 수 있다.
Privileged 모드로 변경할 때 사용하는 enable 패스워드를 설정하기 위해서는 enable password와 enable secret 두 가지 명령어를 사용할 수 있다. enable password는 평문 저장을, enable secret은 암호문 저장을 수행하므로 enable secret 명령어 사용을 권장한다.
패스워드 암호화 활성화 명령어는 service password-encryption 이다.
2. 라우터와 접근 제어(ACL)
라우터에서는 access-list를 통해 특정 패킷에 대한 접근 제어를 설정할 수 있다.
1) Standard access-list
① 패킷의 Source IP만으로 패킷을 허용하거나 차단한다.
② 형식
→ access-list acl번호 [permit / deny] [Source IP or Wildcard / any]
③ 예시
→ access-list 110 deny any any
2) Extended access-list
① 패킷의 Source IP 뿐만 아니라 Destination IP, Port Number, Protocol 등을 이용하여 차단한다.
② 형식
→ access-list acl번호 [permit / deny] [protocol] [Source IP or Wildcard / any] [Destination IP or Wildcard / any]
③ 예시
→ access-list 110 permit tcp 192.168.1.0 0.0.0.255 any
(대역 설정 시 host.allow 등의 일반적인 대역 설정과 다르다.)
3) Filtering 유형
① Ingress Filtering
standard 또는 extended access-list를 활용하여 라우터 내부로 유입되는 패킷을 필터링하는 것을 의미한다.
② Egress Filtering
Ingress Filtering과 반대의 개념으로 라우터 내부에서 라우터 외부로 나가는 패킷을 필터링하는 방식이다.
③ Blackhole 보안 설정
특정 IP 또는 IP 대역에 대해 비정상적인 접근 감지 시 가상의 쓰레기 인터페이스(Null Interface)로 보내어 통신이 되지 않도록 한다.
> enable
# conf t
(config) # interface null 0
(config-if) # no ip unreachables
(config-if) # exit
(config) # ip route 211.1.1.1 255.255.255.255(차단하고자 하는 IP, 대역) Null 0
(config) # end
#
※ 왜 no ip unreachables 를 실행할까?
① 필터링 패킷이 많을 시 다량의 ICMP 패킷이 출발지로 전송되어 라우터에 과부하를 유발한다.
② 공격자가 포트 스캐닝 공격 시 ICMP Unreachable 메시지 응답이 악용될 수 있다.
④ Unicast RPF
- access-list나 Blackhole 필터링을 이용하여 일일이 IP 지정하지 않고도 필터링하는 기법
- 인터페이스를 통해 들어오는 패킷의 Source IP에 대해 라우팅 테이블을 확인하여 들어온 인터페이스로 다시 나가는지 확인하는 방식이다. 즉 Reverse Path 가 존재하면 패킷을 통과시키고, 존재하지 않는다면 패킷의 Source IP가 Spoofing 되었다고 간주한다.
> enable
# conf t
(config) # interface FastEthernet 0/0
(config-if) # ip verify unicast reverse-path
(config-if) # exit
#
'Computer Science > 네트워크' 카테고리의 다른 글
데이터 링크 계층과 스위치 (0) | 2023.04.26 |
---|