-
[산대특] Network 이론 4, FTP, TFTP, Telnet, SNMP, IP, Subnet Mask, Route Summary, Classful VS Classless, IPv6[산대특]클라우드기반 빅데이터 활용 정보 시스템보안과정/Network 2024. 10. 28. 13:53
1017
FTP(File Transfer Protocol)
FTP는 파일 송수신에 사용
데이터를 2진 형태 Binary와 평문장 키보드의 ASCII 형태로 보내기 위한 프로토콜.
FTP 애플리케이션은 서버/클라이언트 구조로 작동.
클라이언트는 21번 포트로 연결 요청을 하면
FTP 서버는 클라이언트가 초기화 때 지정한 포트 번호를 사용해서(ACTIVE 방식) FTP 통신
대부분은 서버가 한가한 포트를 할당해서(PASSIVE 방식) 클라이언트를 연결
7) TFTP(Trivial FTP)
소용량의 파일을 전송하는데 사용
프린터 설정과 라우터의 ISO 파일 업데이트나 설정파일 적용에도 이용.
TFTP는 UDP를 사용, 대역폭이 크지 않은 네트워크에서 적합.
=>보안에서는 이 TFTP 프로토콜을 사용하는 시스템에 모니터링을 강화. 해커의 침투 대상이 되기 쉬움.
8) Telnet
Telnet은 TCP를 사용하는 연결지향적 프로토콜, FTP처럼 서버/클라이언트 구조.
주로 원격에서 라우터의 Telnet 포트(vty)와 연결해서 설정을 고치거나 확인하는 등의 작업.
라우터에 FTP와 함께 Telnet을 설정해 두는 경우가 많다.
=>보안에서는 라우터/스위치에 평문장 연결 Telnet 대신 암호화 연결 SSH로 접속하게 하고 있다.
9) SNMP(Simple Network Management Protocol)
SNMP는 UDP를 사용하는 네트워크 관리(모니터링) 프로토콜.
네트워크 관리자는 SNMP를 통해 원격에서 네트워크를 모니터링,
철새의 이동, Bar 코드나 QR 코드 등 인벤터리(Inventory) 분야에서도 널리 사용
SNMP 시스템에서는 일종의 암호처럼 사용되는
community name으로 노드들이 묶이는데 public(v1)/private(v2)으로 되어 있다.
버전1은 보안 기능이 취약해서 해커의 표적이 되어왔지만 버전2는 보안이 강해졌다.
현재도 대부분 네트워크는 버전1을 주로 사용하고 있어서 해킹되기 쉽다. 현재 v3까지 나와 있다.
HP(휴렛팩커드)의 OpenView나 Cisco의 CiscoWorks 2000
전체 네트워크를 그래픽으로 표시해서
노드의 상태와 소프트웨어 버전, 노드 고장 시 경고음을 내게 할 수 있고, 원격에서 해당 노드의 구성 설정을 변경가능.
** 프로토콜 번호
ICMP TCP EGP 1(0x01) 6(0x06) 8(0x08) IGRP / IGP UDP OSPF 9(0x09) 17(0x11) 89(0x59) IPv6 GRE AH 41(0x29) 50(0x32) 51(0x33) ** 두 대의 라우터로 Back-To-Back = 직접 연결되어 서로 통신하는 설정을 의미
한쪽은 DCE, 다른 쪽은 DTE로 표시된 V.35 케이블로 라우터끼리 묶는데 이를 Back-to-Back 연결
IP_주소
IP_주소는 네트워크층에서 2진수(binary)로 표시.
사람은 10진수(decimal)에 익숙
컴퓨터는 모든 것을 2진수로 인식
2진수를 표시하기 위해서 16진수(hexa-decimal)를 사용.
WORD나 DWORD (Windows 레지스트리에서 자주 봄, 32비트로 구성)
WORD는 CPU가 처리할 수 있는 하나의 단위
WORD는 16bits, DWORD는 32bits, 64bits는 QWORD이다.
** Parity bit는 데이터의 무결성
bit가 추가되어 9bit로 전송되는데 데이터 길이는 길어진다.
odd parity : 1byte 내의 1의 개수가 홀수. 디폴트이다.
even parity : 1byte 내의 1의 개수가 짝수가 되도록 1 OR 0을 추가하는 기법
IPv4에서 논리적 주소는 32비트, 각각의 비트는 0 또는 1로 이뤄진 2진 주소
노드(node) 네트워크 인터페이스 카드(NIC)를 가지고 네트워크된(networked) 된 장치
컴퓨터, 라우터, 네트워크 프린터 등이 모두 될 수 있다.호스트(host) 일반적인 서버나 클라이언트 컴퓨터, 보통 NIC가 하나인 경우.
호스트는 TCP/IP 환경에서 고유한 IP_주소를 가져야 통신이 이뤄진다.워크스테이션
(workstation)특별히 도메인에 가입된 호스트 멀티홈드머신
(multi-homed)하나의 머신에 NIC가 여러 개 장착되어 있을 때, 여러 호스트가 되고 하나의 노드가 된다.
노드는 개체로서 1개가 되고, 호스트는 NIC 숫자를 말하므로 여러 호스트가 된다.모든 IP_주소
첫 번째 부분은 네트워크_부분, 두 번째 부분은 호스트_부분
‘계층적 주소체계’(Hierarchical Addressing Scheme)를 이룸.
MAC_주소는 ‘평면적 주소체계’(Plane Addressing Scheme)체계적으로 관리할 수 없다.
192.168.100.32는 전형적인 Class C인 IP_주소(네트워크_주소+호스트_주소)
▸192.168.100.0은 네트워크_주소
▸0.0.0.32는 호스트_주소
▸192.168.100.255는 192.168.100.0 네트워크에만 뿌리는 멀티캐스트(다이렉티브 브로드캐스트)_주소
▸255.255.255.255(모두 1)는 모든 네트워크에 뿌리는 브로드캐스트_주소
▸0.0.0.0(모두 0)은 모든(Any) 네트워크_주소 자체이다.
IP_주소는 5개의 클래스를 정의해 두었다.
Class A, Class B, Class C, Class D, Class E
클래스 Net ID(octet) Net ID
(decimal)Net ID
(bit 수)네트워크_수 Host ID
(bit 수)호스트_수 A 00000001~
011111101~126 8 126 24(2^24) 16,777,214 B 10000000~
10111111128.0 ~191.255 16 16,384 16(2^16) 65,534 C 11000000~
11011111192.0.0 ~223.255.255 24 2,097,152 8(2^8) 254(253) D 11100000 224~239 - multicast - 15 E 11110000 240~253 - Laboratory - 13 =>Class C로 갈수록 네트워크_수는 많아지고, 네트워크 당 호스트_수는 작아진다.
WAN(인터넷)에서는 사용되지 못하는 주소
▸Class A는 10.0.0.0~10.255.255.255.255이고
▸Class B는 172.16.0.0~172.31.255.255이며
▸Class C는 192.168.0.0~192.168.255.255로써 공적 IP_주소로 지정되지 못한다.
▪ ID(Internet Draft) 주소는 사설 IP 중에서도 예약된 주소
내부 Local LAN에서도 사용될 수 없는 주소.
▸0.0.0.0 ~ 0.255.255.255는 제한된 용도로 사용되는 특수예약 주소이고,
▸192.0.2.0는 TEST-NET이라고 불리는 문서화 및 예제 코드를 위한 예약주소,
▸169.254.0.0 ~ 169.254.255.255는
DHCP 서버가 존재하지 않을 경우 운영체제가 자동으로 할당해주는 예약주소.
▸127.0.0.1은 loopback 주소로 물리적인 네트워크가 없을 때 네트워크 테스트용으로만 사용한다.
IP_주소 대신 localhost로도 사용된다.
Subnet Mask
서브넷마스크는 넷 마스크로도 불림
동일한 네트워크에 들어있는 여부를 판단할 때
각 호스트의 IP_주소와 서브넷마스크를 2진수로 ANDing 해서 판단
서브넷마스크로 서브네팅이나 슈퍼네팅된 여부를 판단
IPv4 주소 부족 해소 방안
내부 ‘사설 IP_주소’가 인터넷으로 나갈 때 ‘공적 IP_주소’로 변경해 주는 NAT 기법.
네트워크에서는 프록시와 방화벽 설정이 필요
라우터에는 다양한 기능을 탑재한 기종이 있어서,
방화벽과 프록시 서버, NAT 서버, 그리고 DHCP 서버와 DNS 서버 등을 설정할 수 있음.
Route Summary
Route Summary(경로요약)는 Route Aggregation(경로집합)
슈퍼네팅(Supernetting)도 이와 유사한 기법으로 만들어 준다.
도메인 내부가 복잡하게 서브네팅(Subnetting)되어 있을 때 이들 경로를 하나의 경로로 모으는 기법.
내부 네트워크의 상태를 외부에 일일이 알리지 않게 되고,
라우팅_테이블에 하나의 네트워크만 올라감
라우팅_테이블이 가벼워져서 네트워크 트래픽 효율도 좋아,
불필요한 업데이트가 없으므로 네트워크가 효과적으로 운영.
내부의 모든 네트워크 정보가 외부로 알려지는 구조를 Flat Routing
여러 IP_주소에서 맨 좌측으로부터 서로 공유되는 비트까지의 개수를 계산해서 서브넷마스크를 정하
네트워크 주소들에서 가장 큰 범위나 첫 번째 네트워크_주소를 네트워크_ID로 지정
=>서브네팅에서는 호스트_수 감소, 네트워크_수 증가이다.
=>슈퍼네팅에서는 호스트_수 증가, 네트워크_수 감소이다.
Amazon AWS, MS Azure, Google GCP와 같은 상용 클라우드 상의 가상머신들은 IP_주소를
AWS 등에서 자동으로 할당받는데, 조직의 관리자가 이 IP를 고정으로 변경할 수 있다.
특정 IP 주소들이 동일한 경로 요약을 가질 수 있을 때,
RIPv1과 같은 프로토콜에서
auto-summary 기능을 비활성화하는 방법과 기본 라우팅을 설정하는 방법.
이를 통해 경로 광고를 제어하고, 라우팅 테이블을 더 명확하게 관리할 수 있습니다.
IPv2나 EIGRP와 같은 auto-summary 기능이 디폴트로 비활성화(Disabled)되어 있는 프로토콜을 사용,
RIPv1처럼 auto-summary 기능이 자동으로 활성화 되어 있다면
Router(config)#no auto summary 해서 경로 요약을 막거나,
OR
Classful 하거나 Classless 한 라우팅에서 default routing을 설정해주어도 어느 정도 해결할 수 있는데
Router(config)#no auto summary 하고
Router(config)#ip route 0.0.0.0 0.0.0.0 s2/0식으로 설정해준다.
Classful vs Classless
경로요약이나 서브네팅/슈퍼네팅 - > 디폴트 서브넷마스크가 바뀌게 된다.
설정 후에, 라우팅 프로토콜이 Classful 인지 Classless 인지에 따라
서브넷마스크가 여전히
디폴트(Class C는 255.255.255.0, Class B는 255.255.0.0, Class A는 255.0.0.0)로보이거나 바뀐다.
서브네팅이나 경로 요약, 혹은 슈퍼네팅해서
바뀐 대로 255.255.255.240으로 나오면 Classless
디폴트 255.255.255.0으로 나오면 Classful
라우팅 프로토콜에 따라서 다름.
라우팅프로토콜 Classful/Classless 라우팅 업데이트에서
서브넷마스크 전송여부VLSM 지원여부 Route Summary 지원여부 RIPv1 Classful N N N IGRP Classful N N N RIPv2 Classless Y Y Y EIGRP Classless Y Y Y OSPF Classless Y Y Y IPv6 이론과 설정
현재는 거의 IPv4 의 IP_주소가 고갈된 상태
IPv4의 주소 고갈 문제를 해소하기 위해
NAT 기법, 서브네팅/슈퍼네팅, DHCP 로 임대해서 사용하지 않는 IP_주소를 회수하여 다른 사람에게 할당
그래도 피할 수는 없다.
IPv4에는 유니캐스트, 멀티캐스트, 브로드캐스트
IPv6에는 유니캐스트, 멀티캐스트, 애니캐스트
IPv6 주소 표기와 설정법
IPv6의 주소는 ‘네트워크 64비트+호스트 64비트=총 128비트’.
16진수(hexadecimal)로 0~9,A,B,C,D,E,F로 표시한다.
: 과 : 사이에 16비트(숫자나 문자 4개(×4bit))를 8번 써야 한다.
IPv6의 주소는 02 0001:0DB8:010F:0001(네트워크_64비트):0000:00FF:FE00:0D0C(호스트_64비트)식으로 표시
대소문자를 섞어 쓰면 안됨. 다 대문자 or 다 소문자
중간과 맨 뒤의 0은 생략이 안되고, 숫자와 문자 맨 앞에 있는 0들은 생략이 가능하다.
::::식으로 ::을 두 번 연속해서 쓸 수 없다. => 생략하면 그냥 :: 로만 표시
⑤ /(CIDR 표기법) 숫자가 작을수록 더 상위 네트워크.
전체 네트워크가 64비트로 고정되어 있어서
/32 => 64 - 32 = 32개의 네트워크
/48 => 64 - 48 = 16개의 네트워크
/n은 64의 보수(compulmentary number)인 네트워크가 된다.
▸ /16 > /32 > /48 > /64
IPv6의 장점
① 주소체계가 글로벌 - 2^128개는 무한 수(∞).
② IP_주소를 유연하고 체계적으로 배정 가능.
③ 한 기기에 여러 IP를 할당 가능
④ 체크섬 등 부가적인 오버헤드가 줄어듬.
⑤ IPv4를 대체가 아닌 공존 - 듀얼 스택(dual stack) 방식으로 둘 다 쓸 수 있음.
⑥ 보안이 더욱 강해지고, 네트워크 속도가 빨라짐, 무선 네트워크에서도 안전한 통신과 보안이 증가
- 지구 한끝의 노드에서 지구 반대편 상대 노드와 직접 end-to-end로 연결가능해서.
- 라우터가 경로 찾는 계산을 하지 않아 로컬 만큼 빨라짐.
- 무선의 최대 약점인 보안의 취약성과 느린 속도를 개선
⑦ 브로드캐스트가 없어짐 -> 애니캐스트(anycast)가 생김.
⑧ 주소관리가 편해지고, 자동으로 설정 가능.
- 1~16비트는 상용주소로 하고, 17~23비트는 대륙, 24~32비트는 각 대륙의 국가,
33~48비트는 각 지역, 그리고 49~64비트는 조직(사이트)의 LAN들에게 할애.
64비트를 보면 '어느 대륙 >국가 >조직 >어느 LAN'에 속하는지 알 수 있음.
⑨ 네트워크 효율이 매우 좋아짐 => 어그리게이션(aggregation)이 가능
⑩ 새로운 IT 세계의 재도약 기회
- 호스트_주소 : 65~128까지
- 네트워크 주소 : 5~128까지
호스트 주소는 노드의 NIC의 고유한 MAC_주소 48비트를 변형해서 알아서 만듦
MAC_주소의 한 가운데에 FF:FE(16비트)를 삽입 64(48+16)비트
그래서 관리자는 네트워크 주소만 관리하면 됨.
이러한 방법은 Novell의 NetWare 에서 옴.
∎ IPv6에서 호스트_주소는 두 가지 방식
하드웨어적 주소 2001:1:1:1::/64 eui-64
=> MAC_주소를 변형한 하드웨어_주소소프트웨어적 주소 2001:1:1:1::1/64
=> ~::1 와 같이 붙이면 소프트웨어_주소하드웨어적 주소와 소프트웨어적 주소가 충돌하면 => 하드웨어적 주소가 선택됨.
▸eui-64는 MAC 주소 가운데에 FF:FE 를 넣어서 호스트 주소를 만드는 방법.
AA:BB:CC:FF:FE:DD:EE:FF
▸라우터의 Fa 인터페이스는 NIC가 있어서
MAC_주소+FF:FE로 호스트 64bits를 만들 수 있음
Se 인터페이스에는 NIC이 없어 라우터의 Fa의 MAC_주소를 차용하여 호스트 주소로 사용
=> 네트워크 주소가 달라서 충돌 X
=> ipv6 addr autoconfig 해서 주소를 자동으로 얻어올 수 있다.
▸MAC_주소가 유일하면 맨 앞에 02 붙임, 유일하지 않을 때에는 00
단점
a. 초 절전모드에서 실행되는 특수 기기와 IoT 기기 한테는
IPv6의 늘어난 주소비트의 연산이 복잡해져서 시스템 리소스에 부담
b. 전력소모와 열 발생 =>성능 저하가 있을 수 있다는 점
c. IPv4 장비와의 완전한 호환에서 트러블 발생 정도..
정도 생각 가능.
IPv6에서는 시작되는 주소를 보면 어느 정도 구별이 가능한데 다음 표로 정리해 두었다.
FF00::/8 멀티캐스트 2000::/3 글로벌 유니캐스트 주소, 외부와 연결될 때 사용.
네트워크 부분에서 글로벌 라우팅의 prefix는 48비트이고, 서브넷 ID는 16비트며, 호스트 인터페이스 ID는 64비트.
WAN 사용FE80::/64 로컬 네트워크에서의 주소, link-local로 불림.
게이트웨이나 호스트 주소에 사용. local-link 주소의 Prefix는 항상 FE80::/64로 시작.
LAN 사용::1/128 IPv4의 127.0.0.1와 같은 IPv6의 loopback.
ping ::1 -6으로 확인 가능하다.IPv6 주소 설정에서 네트워크 주소는 2001:1:1:1::/64 식으로 되기 때문에 이를 일일이 사용하지 않고 대신 General Prefix 라는 문자로 대체하기도 하는데 ipv6 general-prefix ABC 2001:1:1:1::/64 하면 이제 네트워크 주소 대신 ABC 를 사용해
ipv6 addr ABC ::1/64
OR
ipv6 addr ABC ::/64 eui-64 해도 된다.IPv6 네트워크에서도 라우터 간 통신을 위해서는 Routing protocol을 지정해야 함.
'[산대특]클라우드기반 빅데이터 활용 정보 시스템보안과정 > Network' 카테고리의 다른 글