제 2 장 네트워크보안 1. 네트워크 일반 1.1 OSI 7 layer 1.1.1 각 레이어의 의미와 역할 - 물리층의 기능, 인터페이스와 전송매체의 물리적 특성, 프로토콜과 물리층에 해당하는 장비들에 대한 이해 - 데이터 링크층의 데이터 전송 기능과 물리적 주소지정 방식, 네트워크 토폴로 지와 해당하는 장비들에 대한 이해 - 네트워크층은 두 시스템 간에 연결성과 경로 선택 기능 이해(논리적 주소지 정)와 PC의 라우팅 프로토콜, 해당하는 장비들에 대한 이해 - 전송층은 서비스 지점 주소지정 이해, 신뢰성 있는 데이터 전송을 위한 기능 이해 - 세션층은 애플리케이션간에 세션을 구축하고 관리하며 종료 기능 이해 - 표현층은 데이터 변환, 암호화, 압축 등의 기능 이해 - 애플리케이션층의 기능 및 서비스들의 특징 이해 (1) 물리층(Physical Layer) o 물리계층은 네트워크 케이블과 신호에 관한 규칙을 다루고 있는 계층으로 상위 계층에서 보내는 데이터를 케이블에 맞게 변환하여 전송하고, 수신된 정보에 대 해서는 반대의 일을 수행한다. 다시 말해서 물리계층은 케이블의 종류와 그 케 이블에 흐르는 신호의 규격 및 신호를 송수신하는 DTE/DCE 인터페이스 회로 와 제어순서, 커넥터 형태 등의 규격을 정하고 있다. 이 계층은 정보의 최소 단 위인 비트 정보를 전송매체를 통하여 효율적으로 전송하는 기능을 담당한다. o 전송매체는 송신자와 수신자간에 데이터 흐름의 물리적 경로를 의미하며, 트위 스트페어케이블, 동축케이블, 광섬유케이블, 마이크로파 등을 사용할 수 있다. - 109 -
o 네트워크장비로는 허브, 리피터가 있다. o 물리계층 프로토콜로는 X.21, RS-232C, RS-449/422-A/423-A 등 (2) 데이터 링크층(데이터-link Layer) o 데이터 링크층은 통신 경로상의 지점간 (link-to-link)의 오류없는 데이터 전송에 관 한 프로토콜이다. 전송되는 비트의 열을 일정 크기 단위의 프레임으로 잘라 전송하 고, 전송 도중 잡음으로 인한 오류 여부를 검사하며, 수신측 버퍼의 용량 및 양측의 속 도 차이로 인한 데이터 손실이 발생하지 않도록 하는 흐름제어 등을 한다. o 네트워크 토폴로지는 기본적으로 버스 토폴로지, 스타 토폴로지, 링 토폴로지, 메쉬 토폴로지, 혼성토폴로지 등이 있으며 네트워크를 구성하는 방법이 된다. o 데이터 통신시스템에서 데이터를 송수신하기 위해서는 통신의 의사에 따른 상 대방의 확인, 전송조건 및 오류에 대한 처리 등 다양한 전송링크 상에서 발생하 는 문제들을 제어할 수 있는 기능이 필요하며 데이터전송 제어방식이라고도 하 며 ISO/OSI 기본 모델에서 데이터링크 계층(Data link layer)의 기능에서 적용 된다. - 회선제어 : 회선구성방식은 점대점 또는 멀티포인트회선 구성방식과 단방향, 반이중 및 양방향 등의 통신방식에 따라 사용되는 전송링크에 대한 제어 규 범(line discipline)이다. 점대점 회선 제어 : 스테이션 A에서 B로 데이터를 보내려고 할 때, 우선 A 는 B의 수신가능 여부를 알기 위한 신호를 전송하여 질의한다. B에서는 이 에 대한 응답이 준비되었으면, ACK(Acknowledgement)를 보내고, 준비가 되지 않았거나, 오류발생시, NAK(Non-Acknowledgement)를 전송한다. A에 서 ACK를 받을 때 "회선의 설정"라고 한다. 회선이 설정되면 A는 데이터를 프레임의 형태로 전송하며, 이에 대한 응답으로 B는 ACK신호를 수신한 프 레임의 번호와 함께 전송한다. 마지막으로, A가 데이터를 모두 보내고 B로 부터 ACK를 받은 후, A는 시스템을 초기 상태로 복귀하고 회선을 양도하 기 위해서 EOT(End Of Transfer)신호를 전송한다. 전송제어의 회선 제어 의 단계는 회선설정단계, 데이터 전송 단계, 회선양도 단계 이다. 멀티포인터 회전 제어 : 주스테이션(Master)과 부스테이션(Slave)간이 데이 터 교환시 사용되는 회선 제 어 규범이며 폴-세렉트(Poll-select)방식을 이용 하여 설명하며, 폴(Poll)은 주스테이션이 부스테이션에게 전송할 데이터가 있는지의 여부를 묻는 것이고 세렉트는 주스테이션이 부스테이션에게 보낼 - 110 -
데이터를 준비하고 난 후, 부스테이션에게 데이터를 전송할 것이라는 것을 알려 주는 것을 의미한다. 이 방식의 데이터 전송은 주스테이션에 의해서 폴과 세렉트 방식에 따라 주도적으로 이루어지는 방식이다. - 흐름제어 (Flow Control) : 회선제어는 수신장치의 용량 이상으로 데이터가 넘 치지 않도록 송신장치를 제어하는 기술이다. 즉, 수신장치가 이전에 받은 데 이터를 자신의 버퍼에서 처리하기 전에 송신장치로부터 다른 데이터가 전송 되지 않도록 하는 제어방식으로 정지-대기(Stop and Wait)기법, 윈도우 슬라 이딩(Window Sliding)기법이 있다. 정지-대기 흐름제어기법 : 흐름 제어의 가장 간단한 방식으로, 송신장치에서 하나의 프레임을 한 번에 전송하는 방식으로 송신장치의 프레임 전송 후 수 신장치로부터 ACK신호를 받을 때까지 다음 프레임을 보낼 수 없는 방식이 다. 이것은 보통 한 개의 연속적인 블럭 또는 프레임을 한 번에 사용되며 커다란 연속적인 프레임을 작은 구간으로 분리해서 전송해야 한다. 슬라이딩 윈도우기법 : 한 번에 여러 개의 프레임을 보낼 수 있는 방식으 로, 수신측에 n개의 프레임에 대한 버퍼를 할당하고, 송신측에서 수신측의 ACK를 기다리지 않고 n개의 프레임을 보낼 수 있도록 하는 방식으로 이 방식에서는 송수신의 흐름을 위해서 각 프레임에 순서번호(Sequence Number)를 부여한다. 이것은 수신측에서 기대하는 다음 프레임의 순서번호 를 포함하는 ACK를 송신측으로 보내줌으로서 계속 받을 수 있는 프레임들 의 번호를 알려준다(Acknowledge). - 오류제어 : 여러 가지 원인(전원, 주파수혼란, 감쇠, 잠음등)으로 인해 전송된 데이터의 발생할 수 있는 오류에 대한 해결을 위한 제어방식이다. 후진 오류 수정방식(Backward error Correction) : 오류 발생시 재전송이 요 구하는 방식으로 송신측에서 데이터 전송 시 오류를 검출할 수 있는 정도의 부가정보를 함께 전송하고 수신측에서 이를 이용하여 오류를 검출하여 오류 의 발생여부를 알고 송신측에게 데이터의 재전송을 요구하는 방식이다. 이 를 위해서 후진 오류 수정방식에서는 오류의 검출방식과 재전송 기법이 필 요하다. 오류 검출 방식은 패리티 검사, 블록합 검사, 순환잉여 검사등이 있 으며, 오류 검출 후 재전송 방식(ARQ : Automatic Repeat Request)으로는 정기-대기(Stop and Wait) ARQ방식, 연속 ARQ 방식 등이 있다. 전진 오류수정(Forward error Correction)방식 : 오류발생시 재전송이 불필 요한 방식으로 송신측에서 데이터 송신 전송할 문자 또는 프레임에 부가정 보를 함께 전송하고, 수신측에서 오류발생시 이 부가정보를 이용하여 오류 - 111 -
의 검출 및 정확한 정보로의 유출이 가능한 방식이다. o HDLC, CSMA/CD, ADCCP, LAP-B 등이 데이터 링크 계층 프로토콜의 예이다. o CSMA/CD 방식은 데이터를 송신하려는 클라이언트가 네트워크상에 다른 컴퓨 터가 통신하고 있는지를 조사해 신호가 송출되고 있지 않을 시 데이터를 전송 하는 구조다. 동시에 여러 노드에서 데이터를 전송할 경우 충돌이 발생한다. CSMA/CD는 이 충돌을 감시하는데, 충돌이 발생한 경우에는 일정 시간 갖고 있다가 다시 신호를 보내 통신을 제어한다. o 네트워크장비로는 브리지, 스위치가 있다. (3) 네트워크층(Network Layer) o 네트워크층은 패킷이 송신측으로부터 수신측에 이르기까지의 경로를 설정해주는 기능과 너무 많은 패킷이 한쪽 노드에 집중되는 병목 현상을 방지하기 위한 밀집제어 (Congest control) 기능을 수행한다. 또한 이질적인 네트워크를 연결하는 데서 발생 하는 프레임의 크기나 주소 지정방식이 다른 데서 발생하는 문제를 극복해 주는 기능 을 수행한다. o 네트워크층은 IP 프로토콜이 동작하면서 IP헤더를 삽입하여 패킷을 생성하며 송신자와 수신자간에 연결을 수행하고 수신자까지 전달되기 위해서는 IP헤더 정보를 이용하여 라우터에서 라우팅이 된다. o IP, X.25 등이 네트워크 계층 프로토콜의 예이다. o 네트워크장비로는 라우터가 있다. (4) 전송층(Transport Layer) o 전송층은 수신측에 전달되는 데이터에 오류가 없고 데이터의 순서가 수신측에 그대 로 보존되도록 보장하는 연결 서비스의 역할을 하는 종단간(end-to-end) 서비스 계층 이다. 한편, 패킷의 순서에 무관하게 수신되며, 에러 처리도 하지 않는 비연결 서비스 (Connectionless service)와 다중 목적지에 메시지를 전송하는 서비스도 있다. TCP 와 UDP 는 각각 연결지향 및 비연결지향 트랜스포트 프로토콜의 예이다. o 전송층은 TCP 헤더를 삽입하여 패킷을 만들고 이 정보를 이용하여 서비스간에 통신을 가능하게 한다. - 112 -
(5) 세션층(Session Layer) o Session Layer는 두 응용프로그램(Applications) 간의 연결설정, 이용 및 연결해제 등 대화를 유지하기 위한 구조를 제공한다. 또한 분실 데이터의 복원을 위한 동기화 지 점(sync poing) 을 두어 상위 계층의 오류로 인한 데이터 손실을 회복할 수 있도록 한 다. (6) 표현층(Presentation Layer) o Presentation Layer전송되는 정보의 구문 (syntax) 및 의미 (semantics)에 관여하는 계층으로, 부호화 (encoding), 데이터 압축 (compression), 암호화 (cryptography) 등 3가지 주요 동작을 수행한다. ANSI.1, XDR 등이 프로토콜의 예이다. (7) 애플리케이션층(Application Layer) o Application Layer네트워크 이용자의 상위 레벨 영역으로, 화면배치, escape sequence 등을 정의하는 네트워크 가상 터미널 (network virtual terminal), 파일전 송, 전자우편, 디렉토리 서비스 등 하나의 유용한 작업을 할 수 있도록 한다. 1.1.2 각 계층별 네트워크 장비의 정의 등 - 네트워크층에 해당하는 장비로는 라우터와 멀티 레이어 스위치가 해당되며 기 능 및 동작원리 이해 - 데이터링크층에 해당하는 장비로는 브리지와 스위치가 있으며 기능 및 동작원 리 이해 - 물리층에 해당하는 장비로는 허브와 케이블과 커넥터 등이 있으며 허브에 대 한 기능 및 동작원리 이해 - 케이블과 커넥터에 대한 주요 사항 이해 (1) 각 계층의 기능을 수행하는 장비들에 대해 학습 o 라우터는 리피터와 브릿지, 허브가 비교적 근거리에서 네트워크(LAN)를 통합하 - 113 -
거나 분리하기 위해서 사용하는 반면, 라우터는 원거리에서 네트워크간 통합을 위해서 사용되는 장비이다. 라우터를 이용해서 거미줄처럼 얽혀있는 인터넷상에 서 원하는 목적지로 데이타를 보낼 수 있으며, 원하는 곳의 데이타를 가져올 수 도 있다. o 멀티 레이어 스위치 - 멀티 레이어 스위치는 스위치 자체가 레이어2 장비이였는데 비하여 상위 계층 으로 점점 올라가면서 TCP, UDP 등의 프로토콜에 대한 컨트롤 역할을 수행 하게 되면서 트래픽 제어 등의 기능이 추가되었다. - L2(Layer 2) 스위치를 그냥 스위치라고 부르며, L3 스위치는 허브와 라우터의 역할, 즉 스위칭허브에 라우팅 기능을 추가한 장비이고 L4 스위치는 서버나 네트워크의 트래픽을 로드밸런싱하는 기능을 포함한 장비이다. o 브리지 - 브리지는 하나의 네트워크 세그먼트를 2개 이상으로 나누어서 관리하기 위해 서 만들어진 장비이다. 하나로 통합해서 관리하기 위한 허브와 비교될 수 있 다. 동일한 지역 네트워크에 있는 부서에서 호스트들을 2개로 분리하여 상호 영향을 미치지 않도록 하기 위해서 사용된다. o 스위치 - 스위치는 일반적으로 스위칭 허브를 말하며, 더미 허브의 가장 큰 문제점인 LAN을 하나의 세그먼트로 묶어버린다는 점을 해결하기 위해서 세그먼트를 여러 개로 나누어준다. A 호스트에서 B 호스트로 패킷을 보내려고 할 때, 더 미허브는 허브에 연결된 모든 호스트에 패킷을 복사해서 보내지만 스위칭 허 브는 B 호스트에게만 패킷을 보낸다. 스위칭 허브는 MAC주소를 이용해서 어 느 세그먼트로 패킷을 보내야할지를 결정할 수 있으며 이를 위해서 맥 테이 블(MAC table)을 메모리에 저장하여 기능을 수행한다. o 허브 - 허브는 일반적으로 더미 허브(dumy hub) 말하며, 허브 본래의 목적에 충실한 허브이다. A 호스트가 B 호스트에게 메시지를 보내고자 할때, 메시지는 허브 로 전달되고, 허브는 허브에 연결된 모든 호스트에게 메시지를 전달한다. 만 일 수신자가 아닌 호스트가 메시지를 받은 경우 자신에게 보내어진 패킷이 아니라면 이 패킷은 버려지게 되고, 그렇지 않을 경우 최종적으로 애플리케이 션 계층까지 전달되게 될 것이다. o 리피터 - LAN 영역에서 다른 LAN 영역을 서로 연결하기 위한 목적으로 사용된다. 2-114 -
개의 LAN 영역을 하나의 LAN 영역으로 통합하고자 할 때 발생하는 문제는 데이타가 전달되어야 하는 망이 길어진다는 문제가 있는데 이에 따라서 데이 터 전송매체인 전기적 신호가 감쇠되거나 잡음이 생길 수 있으므로 신호감쇠 와 잡음을 처리하기 위한 장치를 필요로 하게 된다. 이러한 일을 해주는 네트 워크 세그먼트간 연결장치가 리피터이다. 1.2 TCP/IP 일반 1.2.1 IP Addressing - TCP/IP 프로토콜 개념 이해 및 IP 어드래싱 이해 - IP 주소할당 방식, 구조 클래스 개념 이해 - IPv6의 특징과 유니캐스트, 애니캐스트, 멀티캐스트 이해 (1) IP 주소의 기본 개념 o TCP/IP 프로토콜은 1960년대 후반 이기종 컴퓨터간의 원활한 데이터통신을 위 해 미 국방성에서 개발한 통신 프로토콜이다. TCP/IP는 취약한 보안 기능 및 IP주소 부족은 제한성에도 불구하고 전세계적으로 가장 널리 사용하는 업계 표 준 프로토콜이며 현재는 거의 모든 컴퓨터가 이 프로토콜을 기본으로 제공되는 인터넷 표준 프로토콜이다. OSI 7 계층 TCP/IP 프로토콜 계층별 프로토콜 애플리케이션 계층 프로젠테이션 계층 세션 계층 애플리케이션 계층 Telnet, FTP, SMTP, DNS, SNMP 트랜스포트 계층 트랜스포트 계층 TCP, UDP 네트워크 계층 인터넷 계층 IP, ICMP, ARP, RARP, IGMP 데이터링크 계층 물리적 계층 네트워크 인터페이스 계층 Ethernet Token Ring Frame Relay ATM (그림 2-1) OSI 7계층과 TCP/IP 프로토콜 - 115 -
o IP 주소는 네트워크 계층의 주소로써 유일한 IP 주소는 각 호스트와 TCP/IP를 이용하여 통신을 수행하는 모든 네트워크 컴퍼넌트에 필요하다. IP 주소는 마치 집주소를 이용하여 집을 찾는 것과 같은 방식으로 네트워크 상에서 특정 시스 템의 위치를 찾는다. IP 주소는 32bit로 구성되고 네트워크 ID와 호스트 ID로 구성되며 네트워크 ID는 IP 라우터에 의해 묶여져 있는 동일한 물리적 네트워 크에 존재하는 시스템을 구분한다. 동일한 물리적 네트워크상에 존재하는 모든 시스템은 반드시 동일한 네트워크 ID를 가져야 한다. 그리고, 외부망에서는 네 트워크 ID는 반드시 유일해야 한다. 호스트 ID는 네트워크내에서 워크스테이션, 서버, 라우터, 기타 TCP/IP 호스트를 구분한다. 각 호스트의 주소는 반드시 네 트워크 ID에 대해 유일해야 한다. o IP 어드래싱은 컴퓨터가 LAN을 통하여 연결된 상태에서 네트워크와 다른 네트 워크 사이의 호스트간 통신이 용이하도록 설정하는 것으로 말할 수 있으며, 여 기에는 IP, 넷마스크 등의 정보를 논리적으로 지정하여 부여하는 것도 포함하고 있다. (2) IP 주소지정 o IANA는 전체 IP Address를 관리하며 ISP들에게 ISP(Internet Service Provider) 를 발급하고, 일반 사용자들은 그러한 ISP로부터 IP를 할당받아서 호스트에게 할당하고 인터넷에 엑세스하게 되는 것이다. 이 IP Address는 Class 라는 개념 에 근거하여 관리되고 32비트를 4개의 8비트 영역(octet))으로 나누어 사용된다. 각 octet은 0-255의 범위를 가지는 10진수로 변경되고 마침표(".") 기호로 나누어 져 있다. o 인터넷 공동체는 초기에 네트워크의 크기 별로 5개의 주소 클래스를 정의하였 다. 주소의 클래스는 어떤 비트가 네트워크 ID로 사용되는지, 어떤 비트가 호스 트 ID로 사용되는지를 정의하며 가능한 네트워크의 개수와 네트워크당 가능한 호스트의 개수를 정의 한다. - 클래스 A는 아주 많은 수의 호스트를 가지는 네트워크에 지정된다. 클래스 A 주소의 최상위 비트는 언제나 0으로 값이 지정된다. 나머지 7비트(첫번째 octet을 이루고 있는 7비트)는 네트워크 ID를 결정하게 된다. 나머지 24비트 (마지막 3개의 octet)는 호스트 ID를 나타낸다. 결과적으로 클래스 A 주소는 126개의 네트워크와 각 네트워크마다 16,777,214개의 호스트를 지정할 수 있 게 된다. - 116 -
- 클래스 B는 중간 정도의 규모에서 대규모의 네트워크에 적용된다. 클래스 B의 주소 최상위 2 비트의 값은 언제나 이진수 1 0 로 지정된다. 그 다음 14비트 는 네트워크 ID를 지정한다. 나머지 16비트는 호스트 ID를 나타낸다. 클래스 B는 16,384 개의 네트워크와 각 네트워크 별로 65,534 개의 호스트를 지정할 수 있다. - 클래스 C는 소규모의 네트워크에 사용된다. 클래스 C 주소 최상의 3 비트는 언제나 이진수 1 1 0 로 값이 설정된다. 다음 21 비트는 네트워크 ID를 나타 냅니다. 나머지 8비트 값은 호스트 ID를 나타냅니다. 클래스 C는 2,097,152개 의 네트워크와 각 네트워크 별로 254개의 호스트를 지정할 수 있다. - 클래스 D는 IP 멀티캐스트를 위해 사용되어 집니다. 클래스 D 주소의 최상위 4비트는 언제나 이진수 1 1 1 0으로 값이 지정된다. 나머지 비트는 관심 있는 호스트가 인식할 주소 값을 위해 사용된다. Microsoft 는 인터네트워크 상에 서 데이터를 멀티캐스트 하는 애플리케이션을 위하여 클래스 D 주소를 지원 한다. - 클래스 E 앞으로 사용하기 위해 남겨둔 실험적인 영역이다 클래스 E 주소의 최상위 비트는 언제나 이진수 1 1 1 1로 지정되어 있다. Network ID Host ID A class 0 Network ID Host ID B class 1 0 Network ID Host ID C class 1 1 0 (그림 2-2) 클래스 구조 (3) 차세대 인터넷 프로토콜(IPv6) o IPv6는 128 bit 주소체계를 사용하는 것으로 다음과 같은 배경에서 개발되었다. - IP 주소공간의 부족 - IPv4 헤더 영역의 비효율적 사용 : 현재의 IPv4의 헤더의 경우 총 12개의 필 - 117 -
드로 구성되어져 있는데, 이중에서 Header Length, Identi fication, Flags, Fragment Offset, Header Chercksum 총 5개의 필드가 IPv6에서는 삭제되어 져 총 8개의 필드로 구성된다. - 라우팅의 위기 : 라우터가 라우팅을 위해서는 송신자와 수신자간 데이터 전달 을 하고 있지만 네트워크가 증가함에 따라서 효율성이 급격히 떨어지고 있으 므로 현재에는 임시방편으로 CLIP(Class Less Interdomain Routhing) 기술(클 래스 개념이 아닌 도메인간의 라우팅 기술)을 사용하고 있다. o IPv6의 특징 - 확장된 IP 주소공간 : IPv6는 128 비트 주소체계를 사용하므로 기존의 IPv4에 비해서 4배 이상 커졌다. - 규모 조정이 가능한 라우팅 : IPv4의 문제점 중에 하나인 규모조정이 불가능 한 라우팅 방법을 획기적으로 개선하는 것으로 사용하지 않는 IP에 대해 통제 를 할 수 있다. - 간략화된 헤더 포맷과 확장 헤더의 사용 : IPv6는 8개 필드로 구성된 헤더와 가변 길이 변수로 이루어진 확장 헤더 필드를 사용한다. - 보안 : 보안과 인증 확장 헤더를 사용함으로써 인터넷 계층의 보안기능을 강 화한다. o IPv6의 주소형식 및 주소배정 - IPv6 주소는 총 128비트로 이루어져 있으며 상위 64비트는 네트워크 측면의 주소를, 하위 64비트는 호스트 측면의 주소를 나타낸다. IPv6 주소 형식은 기 본적으로 TLA, NLA ID, SLA ID 그리고 인터페이스 ID 등의 네 개의 필드 로 구성되어 있다. 주소 표현 방법은 128 비트를 16비트씩 8부분으로 나누어 각 부분을 : 로 구분하고 실제 주소 값은 16진수로 표현할 수 있다. - 애니캐스트(AnyCast) : 애니캐스트는 단일 송신자와 그룹 내에서 가장 가까운 곳에 있는 일부 수신자들 사이의 통신을 말한다. 이것은 단일 송신자와 다중 수신자 사이의 통신인 멀티캐스트, 그리고 단일 송신자와 네트워크 내의 단일 수신자 사이의 통신인 유니캐스트와 대비하여 존재한다. 애니캐스트는 한 호 스트가 호스트 그룹을 위해 라우팅 테이블을 효과적으로 갱신할 수 있도록 하기 위해 설계되었다. IPv6는 어떤 게이트웨이 호스트가 가장 가까이 있는지 를 결정할 수 있으며, 마치 유니캐스트 통신인 것처럼 그 호스트에 패킷을 보 낼 수 있다. 그 호스트는 모든 라우팅 테이블이 갱신될 때까지, 그룹 내의 다 른 호스트에게 차례로 애니캐스트할 수 있다. 애니캐스트 주소는 네트워크상 에서 동시에 복수의 인터페이스에 주소 부여가 가능한 형태를 의미한다. 애니 - 118 -
캐스트 주소는 유니캐스트 주소와 동일한 포맷이다. 단 한가지 차이점은 여러 인터페이스가 특정 애니캐스트 주소에 할당될 수 있다는 것이며 그 인터페이 스는 자신이 하나의 애니캐스트 주소를 가졌다는 것을 알도록 구성될 수 있 다. 때문에 복수의 인터페이스에 애니캐스트 주소를 부여할 수 있는 것이다. - 멀티캐스트(MultiCast) : 주소의 상위 Octet이 FF(11111111)값을 가짐으로써 유 니캐스트 주소와 구별된다. 만약 패킷이 멀티캐스트 주소의 수신지로 보내지 면 이 패킷은 라우팅을 통해 멀티캐스트 그룹의 모두에게 멀티캐스팅 (Multicasting)된다. 멀티캐스트의 경우 멀티캐스트 주소공간의 어느 부분이 사용되느냐에 따라서 멀티캐스트 그룹은 서로 다른 범위를 지니게 된다. 1.2.2 서브넷팅 - 서브넷 개념 이해 - 서브넷 마스크의 개념 및 장단점 - 각 클래스의 서브넷팅 방법 이해 (1) 서브넷(subnet)의 개념 o 서브넷은 네트워크를 네트워크 세그먼트로 나눈 개별 네트워크를 말한다. 서브 네트워크라고 해서 일반적인 네트워크 보다 미약한 기능을 제공한다는 의미는 아니며, 각각의 서브넷들이 모여 하나의 논리적인 네트워크를 이루어 망간 상호 접속을 위한 완전한 동작을 수행한다. (2) 서브넷 마스크 활용 및 장단점 o 서브넷팅은 동일한 네트워크에 16,777,214개의 호스트를 가질 수 있는 클래스 A의 경우에서 IP 라우터에 의해 묶여진 동일 물리적 네트워크상의 모든 호스트 들은 같은 브로드캐스트 트래픽을 공유하게 되며 16,777,214개의 호스트 주소의 대부분을 지정할 수 없고 낭비하게 되므로 좀 더 작은 브로드캐스트 도메인을 만들고 호스트 ID의 비트를 잘 이용할 수 있도록 하기 위해 IP 네트워크는 IP 라우터로 경계가 지어지는 작은 네트워크로 분리하여 네트워크에 새로운 서브 넷 네트워크 ID를 지정하여 기존의 클래스 기반의 네트워크 ID에 서브셋으로 - 119 -
포함시키는 것을 말한다. 이렇게 하여 고유한 서브넷 네트워크 ID를 가진 IP 네 트워크의 분할 네트워크인 서브넷을 만들 수 있다. o 서브넷 마스크는 32비트의 값으로 네트워크 ID와 호스트 ID를 IP 주소에서 구 분하는 역할로 사용되며 서브넷 마스크의 비트는 다음과 같이 정의된다. - 네트워크 ID에 해당하는 모든 비트는 1로 설정 - 호스트 ID에 해당하는 모든 비트는 0으로 설정 (3) 각 클래스(A,B,C)의 서브넷팅 방법 o 서브넷팅은 서브넷을 만드는 작업으로 130.80.20.0이 8비트 서브넷으로 구성된 클래스 B 네트워크 ID라고 하면 클래스 기반 호스트 ID의 8비트는 서브넷 네트 워크 ID를 표현하기 위해 사용되며 서브넷 마스크는 총 24비트가 서브넷 네트 워크 ID를 정의하기 위해 사용된다. 서브넷으로 구성된 네트워크 ID와 그에 해 당하는 서브넷 마스크는 10진수로 표현할 수 있다.(255.255.255.0) 클래스 A와 C 의 경우에도 동일한 방법으로 가능하다. o 네트워크 ID는 여러 가지 서브넷 마스크를 사용하는 여러 네트워크 ID에서 네 트워크 ID를 정확히 찾아내기 위해서는 IP를 논리적 AND 비교라는 수학적인 방법을 사용한다. AND 비교에서 비교되는 두 값은 양측 모두 true이어야 결과 값이 true가 된다. 이 연산은 bit-wise 논리적 AND 라고 하며 이러한 IP 주소 와 서브넷 마스크간의 논리적 AND 연산의 결과 값은 네트워크 ID가 된다. 1.2.3 CIDR 및 VLSM - CIDR와 VLSM의 개요 - CIDR의 VLSM의 장단점 이해 (1) CIDR와 VLSM의 개요 o CIDR은 부족한 IP주소를 해결하기 위해 CIDR 이라는 새로운 주소 지정시스템 이 만들어 지게되었는데 이는 IP 주소와 서브넷 마스크를 이진 표기법으로 표 현하여 기존의 고정크기 네트워크를 다양하고 세부적으로 분할한다. 따라서 CIDR는 클래스형 방법보다 더 효율적으로 IP 주소를 지정할 수 있다. 클래스형 - 120 -
방법은 10진 표기법을 사용한 반면, CIDR은 이진 표기법을 사용한다. 모든 IP 주소와 서브넷 마스크를 이진 표기법으로 변환하다. 이렇게 분할하면 네트워크 크기를 더 다양하게 선택할 수 있고 IP주소 지정을 최적화 할 수 있다. o CIDR 표기법 및 CIDR에서 네트워크 ID 호스트 ID 식별하기 - CIDR 표기법에서는 비트마스크를 사용하여 점으로 구분된 10진 표기법을 지 정한다. 비트마스크는 IP주소에서 이진으로 표시된 서브넷 마스크에서 연속된 1의 수가 몇 개인지를 지정한다. 연속된 1은 서브넷 마스크의 맨 왼쪽 비트부 터 시작된다. - 예를 들어, CIDR 표기법으로 10.217.123.7/20인 IP주소는 그 서브넷 마스크에 연속된 1이 20개 있다는 것을 의미한다. 따라서 32비트 중에 총 나머지 12비 트는 0이 되어야 한다. CIDR 표기법의 IP주소는 IP주소에서 네트워크ID를 구 성하고 /x로 표현되는 비트 수를 통해 알 수 있다. - 네트워크 ID의 계산은 IP주소가 CIDR 표기법으로 지정된 경우 IP주소를 이진 형식으로 변환한다. 서브넷 마스크를 이진형식으로 변환한다. 서브넷 마스크의 연속된 1의 개수를 사용하여 IP주소 중 네트워크 ID를 구 성하는 비트수를 결정한다. - 로컬 및 원격 호스트 결정은 네트워크 ID를 확인하고 나면 컴퓨터에서 자신 의 네트워크 ID를 목적지 호스트의 것과 비교하여 목적지 호스트가 로컬네트 워크에(네트워크 ID가 일치) 있는지 원격 네트워크(네트워크ID가 불일치)에 있는지 네트워크ID의 비교로 판단이 가능하다. o VLSM (Variable Length Subnet Mask) - VLSM은 IP를 효율적으로 활당하여 활용하기 위한 방법으로 서로 다른 크기 의 서브넷을 지원하기 위한 구조이다. 만일 C class IP주소를 가진 회사에서 100개의 주소를 필요로 하는 부서가 있고 25개의 주소를 필요로 하는 4개의 부서를 서브넷팅을 하는 경우에 적용이 가능하다.(예로, 192,168,120.0의 경우) 이때, 필요한 네트워크ID를 지원하기 위해 필요한 비트수를 계산하는 것이 아 니라 필요한 호스트ID를 지원하기 위해 필요한 비트수를 먼저 계산해야하며 호스트의 수가 많이 필요한 서브넷부터 먼저 계산해 나간다. - 100개의 IP 주소 할당 필요한 호스트 bit : 7비트 서브넷마스크 : 255.255.255.128 서브넷 IP 대역 : 192.168.120.1~128, 192.168.120.129~255-121 -
사용할 IP 대역 : 192.168.120.1~128-25개의 IP 주소 할당(상위에서 할당된 서브넷 IP 대역에서 남은 대역을 사용) 필요한 호스트 bit : 5비트 서브넷마스크 : 255.255.255.224 서브넷 IP 대역 : 192.168.120.128~159, 192.168.120.160~191, 192.168.120.192~223, 192.168.120.224~255 (2) CIDR의 VLSM의 활용 및 장단점 o CIDR의 장점 - CIDR는 기존의 클래스 A, B, C 네트워크 주소의 개념을 무시한다. 이로 인해 IPv4의 주소 공간을 효율적으로 할당할 수 있게 된다. ISP는 자신이 할당받은 주소 공간 중에서 clients의 요구하는 양 만큼만 잘라서 공급할 수 있게 되어 귀한 자원인 주소 공간의 낭비를 막을 수 있다. - 인터넷 라우팅테이블의 비대화를 막아준다는 점이다. 즉, 인터넷을 여러 개의 addressing domain으로 나눔으로써 라우팅 정보량을 줄여준다. 한 도메인내 에서는 그 도메인내의 모든 라우팅 정보가 공유된다. o VLSM의 장점 - CIDR와 VLSM은 둘다 IP주소 공간의 일부를 잘라서 사용한다는 점에서 근본 적으로 동일하지만 VLSM은 한 기관에 이미 할당된 주소 공간상에서 recursion이 수행되며 global Internet에서는 이 관계가 보이지 않는다.(VLSM 은 intranet domain) 그러나 CIDR는 주소 블록을 a high-level ISP에게, mid-level ISP에게, low-level ISP에게 그리고 마지막으로private organization network에게 recursive allocation한다는 점에서 서로 다르다.(CIDR는 Internet domain) 1.2.4 Client-Server Model - Client/Server 모델 동작원리 - 반복/병렬 서버의 특징 이해 (1) Client/Server 모델 개요 - 122 -
o 클라이언트(client)는 서비스를 요청하는 프로세스를 가지며, 서버(server)는 요청 을 처리하고 결과를 반환하는 프로세스를 가진다. - 클라이언트에서의 동작 순서 1단계 : 클라이언트와 서버간 통신 채널을 연다.(active open) 2단계 : 서비스를 요청하는 메시지를 서버에게 보낸다. 3단계 : 서버로부터 요청에 대한 결과를 받는다. 4단계 : 통신 채널을 닫고(close) 실행을 종료한다. (2) 반복/병렬 서버의 특징 등을 학습 o 서버는 크게 2개의 클래스로 구분할 수 있는데 반복서버와 병렬서버로 구분할 수 있다. - 반복서버(Iterative server)는 다음과 같은 단계를 반복한다. 반복서버의 문제점 은 2단계를 처리하는 시간에 다른 클라이언트에게 서비스를 제공하지 않는 것이다. 클라이언트의 요구가 오기를 기다린다. 클라이언트의 요구를 처리한다. 요구를 송신한 클라이언트에게 응답을 보낸다. 단계 1로 돌아간다. - 병렬서버의 장점으로는 클라이언트의 요구를 처리하기 위한 별도의 새로운 서 버를 가동할 수 있다는 것으로 클라이언트들은 자신의 전용 서버를 갖게 되 는 셈이다. 클라이언트의 요구가 오기를 기다린다. 클라이언트의 요구를 처리하기 위한 새로운 서버를 시작한다. 이것은 사용 하는 운영체제의 지원이 다르더라도 서버는 새로운 프로세스, 업무(task), 또 는 쓰레드(thread)를 생성한다. 이 새로운 서버가 클라이언트의 모든 요구를 처리한다. 처리를 마치면 이 새로운 서버는 종료를 하게 된다. 단계 1로 돌아간다. 1.2.5 데이터 캡슐화 - 전송장비에서 데이터를 캡슐화하는 방법 이해 - 123 -
- 각 레이어는 수신 장비의 대응되는 레이어와 통신 이해 - PDU(Protocol Data Unit) 이해 (1) OSI 모델의 각 레이어에서 프로토콜 정보와 함께 데이터가 캡슐화 o TCP/IP를 이용한 통신 원리 - 송신자는 송신하려는 데이터에 레이어별로 헤더정보를 삽입한 후 수신자에게 전송하며, 수신자는 수신한 패킷의 헤더를 확인하면서 최종적으로 데이터를 확인할 수 있다. 송신자는 송신 데이터를 데이터로 변환하여 아래층 레이어로 전달하면 데이터를 세그먼트로 변경하고 연결은 전송 및 수신 호스트에서 이 루어진다. 다시 아래층 레이어로 전달하면 세그먼트를 패킷이나 데이터그램으 로 변경되고 아래층 레이어로 전달하면 패킷 또는 데이터그램은 로컬 네트워 크에 전송하기 위한 프레임으로 변환된다. 하드웨어 주소를 사용하여 로컬네 트워크 세그먼트에서 호스트의 어드레스를 식별하는데 사용된다. * T.H : TCP Header, I.H : IP Header, F.H : Frame Header, F.T : Frame Trailer (그림 2-3) TCP/IP 프로토콜 통신 방식 o PDU는 각 계층에서 헤더 정보를 삽입하여 송신 데이터 형태로 생성하므로 이 계층마다 부르는 명칭을 말한다. 일반적으로는 패킷이라고 말하기도 한다. - 124 -
1.2.6 포트주소의 의미와 할당원칙 - 포트의 개념 이해 - 포트 사용 규칙 및 번호체계와 주요 서비스 포트 이해 (1) 포트의 개요 o 포트번호는 인터넷이나 기타 다른 네트워크 메시지가 서버에 도착하였을 때, 전달되어야할 특정 프로세스(응용 프로그램)를 인식하기 위한 방법으로 TCP와 UDP에서 포트번호는 단위 메시지에 추가되는 헤더 내에 넣어지는 16 비트 정 수의 형태를 갖는다. 이 포트번호는 논리적으로는 클라이언트와 서버의 전달계 층 사이를, 그리고 물리적으로는 전달계층과 인터넷계층 사이를 통과하여, 계속 전달된다. (2) 포트번호와 소켓 o 클라이언트가 서버에 접속을 하기 위해서 패킷을 만들어야 하는데 이때 TCP 헤더에 송신자 포트와 수신자 포트 번호 정보를 삽입하여 패킷을 만들게 된다. 이 패킷을 서버로 전달하여 프로세스(응용프로그램)과 연결이 되고 서비스를 이 용할 수 있다. 원격지의 서버 내에 있는 FTP 프로세스에 사용자의 요청을 전달 하기 위해 사용자 컴퓨터에 있는 TCP 프로토콜은 요청에 부가되어지는 16 비 트 정수의 포트번호 내에 21이라는 포트번호를 삽입하여 전송하고 서버는 이 정보를 확인하여 21이라는 포트번호를 읽고 사용자의 요청을 FTP 프로그램에 전달할 것이다. o 포트번호에는 소스포트번호와 데스터네이션포트번호가 있다. 우리가 보통 서비 스포트라고 하는 것은 클라이언트를 기준으로 데스터네이션 포트번호를 말하는 것이다. o 포트번호는 16비트이며 0번에서 65535번까지 있다. 1~1023번까지를 흔히 Well Known Port라고 해서 응용프로그램 개발자가 사용할 수 없는 영영으로 정의하 고 있다. 그러므로 1023번 까지는 메이져 벤더들이 이미 약속해서 사용하는 것 이라고 생각하면 되고 1024~65535는 지정되지 않은 영역이라고 보면 된다. - 125 -
[표 2-1] 주요 서비스 포트번호 o 21번: FTP o 22번: 보안 텔넷(SSH) o 23번: 텔넷 o 25번: SMTP(메일 발송) o 42번: 호스트 네임 서버 o 53번: 도메인 메인 서버 o 70번: 고퍼(Gopher) o 79번: 핑거(Finger) o 80번: 웹(HTTP) o 88번: 커베로스 보안 규격 o 110번: POP3(메일 수신) o 118, 156번: SQL 서비스 o 137~139번: NetBIOS(파일 서버) o 161번: SNMP(네트워크 관리) 1.2.7 IP, ARP, IGMP, UDP, TCP 등 각 프로토콜의 원리 및 이해 - ARP의 동작원리 및 물리적 네트워크 주소 이해 - IGMP의 기능, IP 멀티캐스트의 개념 및 활용 이해 - UDP의 특징과 활용 - TCP 서비스 및 TCP 3-way 핸드쉐이크, 그리고 UDP와 비교 - ICMP 기능 및 활용 이해 (1) ARP(Address Resolution Protocol) o ARP 프로토콜은 IP 패킷이 이더넷이나 토큰링과 값이 공유 억세스, 브로드캐 스트 기반의 네트워크 기술로 전달된다면, IP 주소에 해당하는 48 bit의 MAC 주소를 반드시 알아야 TCP/IP의 경우 이더넷헤더를 포함한 프로토콜 헤더를 완성하여 수신자에게 데이터를 전송할 수 있다. 이때, ARP는 상대방의 IP 주소 - 126 -
를 알고있지만 MAC 어드레스를 알지 못하는 경우 ARP 프로토콜에 의해서 수 신자 MAC 어드레스를 가져올 수 있는 프로토콜이며, MAC-레벨 브로드캐스트 를 사용한다. o 이더넷 어드레스는 48bit 주소로 되어있으며, 물리적 어드레스, MAC 어드레스 라는 용어로도 혼용되며, 랜카드의 고유번호이다. o IP 패킷이 이더넷이나 토큰링과 값이 공유 억세스, 브로드캐스트 기반의 네트워 크 기술로 전달된다면, IP 주소에 해당하는 48 bit의 MAC 주소를 반드시 알아 야 한다. ARP는 IP 주소를 그에 해당하는 MAC 주소로 변환하기 위해 MAC- 레벨 브로드캐스트를 사용한다. (2) IGMP(Internet Group-Membership Protocol) o IGMP(Internet Group Management Protocol)은 IP 멀티캐스트 그룹에서 호스트 멤버를 관리하는 프로토콜로써 IP 멀티캐스트 그룹은 특정 멀티캐스트 IP 주소 로 전달되는 IP 트래픽을 감시하는 호스트들의 집합이다. 멀티캐스트 IP 트래픽 은 하나의 MAC 주소로 보내지지만 여러 개의 IP 호스트에 의해 처리된다. 지 정된 호스트가 특정 IP 멀티캐스트 주소를 감시하고 그 IP 주소로 오는 모든 패킷을 받는다. o 호스트 그룹 멤버들은 어느 때나 그룹에 추가되거나 삭제될 수 있는 동적 (dynamic)이며 호스트 그룹의 멤버는 IP 라우터를 여러 네트워크로 확장할 수 있다. (3) UDP(User Datagram Protocol) o UDP는 신뢰할 수 없는 비연결 지향 데이터그램 서비스를 제공한다. 데이터는 메시지 형태로 전달되며 전달하기 위한 최대한의 노력을 다한다. 즉, UDP는 데 이터그램의 전송을 100% 보장하지 않으며, 전송된 패킷의 순서가 정확하다는 것을 보장하지 못한다는 것하며 손실된 데이터를 재전송을 통해 복구하지 않는 다. o UDP는 데이터 전달을 확인할 필요가 없거나 한번에 작은 양의 데이터를 전송 하는 애플리케이션에 주로 사용된다. NetBIOS 네임 서비스, NetBIOS 데이터그 램 서비스, SNMP(Simple Network Management Protocol), DNS등이 UDP를 사용하는 서비스, 애플리케이션의 대표적인 예이다 - 127 -
(4) TCP(Transmission Control Protocol) o TCP는 신뢰할 수 있고, 연결 지향의 전달 서비스이다. 데이터는 세그먼트 단위 로 전송된다. 연결 지향(Connection-oriented)이란 호스트가 데이터를 교환하기 이전에 연결이 반드시 이루어져야 함을 말하며 전송되는 모든 세그먼트에 순번 을 지정하여 신뢰성을 확신할 수 있게 된다. 다른 호스트에 의해 데이터가 받아 졌는지를 조사하기 위해 확인 방법이 사용된다. 각 세그먼트에 대해 전달 받은 호스트는 반드시 ACK(acknowledgment)를 정해진 시간 안에 리턴해야 한다. 만 일 ACK를 받지 못하면, 데이터는 다시 전송된다. [표 2-2] TCP 헤더의 주요 필드 필드 Source Port Destination Port Sequence Number Acknowledgment Number Window TCP Checksum 기능 데이터를 보내는 호스트의 TCP 포트. 데이터를 받는 호스트의 TCP 포트. TCP 세그먼트에 있는 데이터의 첫번째 바이트에 대 한 순번. 바이트에 대한 순번, 데이터를 보내는 측은 연결된 다른 측 호스트에서 이 값을 전달 받을 것을 기대한 다. TCP 세그먼트를 보내는 호스트의 현재 TCP 버퍼 크 기. TCP 데이터와 TCP 헤더의 정확성 확인 o TCP 3-way 핸드쉐이크(Handshake) : 핸드쉐이크의 목적은 순번을 동기화하고 연결의 양측에서 순번을 확인하고 TCP 윈도우의 크기를 교환하고 최대 세그먼 트 크기와 같은 기타 TCP 옵션을 교환하는 것이다. - 클라이언트는 TCP 세그먼트에 연결을 위한 초기 순번과 서버로부터 전송 받 을 세그먼트를 저장하기 위한 클라이언트측 버퍼크기를 나타내는 윈도우 크 기를 저장하여 보낸다. - 서버는 자신이 선택한 초기 순번, 클라이언트의 순번에 대한 확인, 클라이언트 로 전달 받을 세그먼트를 저장할 버퍼의 크기를 나타내는 윈도우 크기들을 TCP 세그먼트에 담아 전달한다. - 클라이언트는 서버의 순번을 확인하는 정보를 TCP 세그먼트로 서버에 전달한다. - 128 -
(5) ICMP o ICMP 프로토콜은 문제를 해결하는 기능과 전달할 수 없는 패킷에 대한 에러 정보를 알리기 위해 사용된다. 예를 들어, IP가 어떤 패킷을 목적 호스트로 전 달할 수 없다면, ICMP는 "Destination Unreachable" 메시지를 소스 호스트로 보 냅니다. [표 2-3] 대표적인 ICMP 메시지 ICMP 메시지 Echo Request Echo Reply Redirect Source Quench Destination Unreachable 기능 원하는 호스트로의 IP 연결을 확인하기 위해 사용되는 간단 한 문제 해결 메시지. ICMP Echo Request에 대한 응답 메시지. 데이터를 보내는 호스트에게 목적 IP 주소에 대한 좀 더 적 합한 경로가 있음을 알리기 위해 라우터가 보내는 메시지. 데이터를 보내는 호스트에게 IP 데이터그램이 라우터의 집 중 현상에 의해 손실되고 있음을 알리기 위해 라우터가 보 내는 메시지. 그러면, 데이터를 보내는 호스트는 전송률을 낮추게 된다. Source Quench는 ICMP에서 선택적 메시지이 고 대부분 구현되지 않습니다. 라우터나 목적 호스트에 의해 보내지며 데이터그램이 전달되지 못한다는 것을 데이터를 보내는 호 스트에 알려줍니다. 1.2.8 Broadcast 및 Multicast의 이해 - 유니캐스트, 브로드캐스트, 멀티캐스트 방식 이해 (1) 인터넷의 전송 방식의 특징과 장단점 이해 o 유니캐스트는 하나의 송신자가 다른 하나의 수신자로 데이터를 전송하는 방식 이다. 유니캐스트는 네트워크상에서 단일 송신자와 단일 수신자간의 통신이다. - 129 -
단일 송신자와 다중 수신자간의 통신인 멀티캐스트나, 또는 네트워크 상의 어떠 한 송신자와 가장 가까이 있는 수신자 그룹간의 통신인 애니캐스트 등과 구별 하기 위해 존재한다. o 브로드캐스트(Broadcast)는 하나의 송신자가 같은 서브네트워크 상의 모든 수신 자에게 데이터를 전송하는 방식이다. - 브로드 캐스트 IP 주소는 호스트 필드의 비트 값이 모두 1인 주소를 말하며, 이러한 값을 갖는 IP주소는 일반 호스트에 할당하여 사용할 수 없다. 예를 들 어, 198.18.166.0인 네트워크의 브로드캐스트 IP주소는 호스트 필드 값이 모두 1이 되는 주소가 198,18,166,255로, 이 주소는 일반 호스트에 할당할 수 없다. 목적지 IP 주소가 198.18.166.255인 데이터는 해당 네트워크에 접속 되어 있는 호스트로 전송된다. 이러한 브로드캐스트 IP주소는 라우팅 프로토콜이나 ARP 등의 특수한 목적으로 사용되며, 링크 레벨의 브로트 캐스트 주소와는 구분된 다. o 멀티캐스트(Multicast) : 하나 이상의 송신자들이 특정한 하나 이상의 수신자들 에게 데이터를 전송하는 방식 - 멀티캐스트 전송이 지원되면 송신자는 여러 수신자에게 한 번에 메시지가 전 송되도록 하여 데이터의 중복전송으로 인한 네트워크 자원 낭비를 최소화할 수 있게 된다. 멀티캐스트 전송을 위해서는 헤더에 수신자의 주소 대신 수신 자들이 참여하고 있는 그룹 주소를 표시하여 패킷을 전송한다. 멀티캐스트 전 송을 위한 그룹 주소는 D-class IP 주소 (224.0.0.0 239.255.255.255)로 전 세계 개개의 인터넷 호스트를 나타내는 A, B, C-class IP 주소와는 달리 실제의 호 스트를 나타내는 주소가 아니며, 그룹 주소를 갖는 멀티캐스트 패킷을 전송받 은 수신자는 자신이 패킷의 그룹에 속해있는 가를 판단해 패킷의 수용여부를 결정하게 된다. 1.3 Unix/Windows 네트워크 서비스 1.3.1 DNS, DHCP, SNMP, telnet, ftp, smtp 등 각종 서비스의 원리 및 이해 (1) DNS 서비스 - DNS 제공하는 서비스 이해 - 130 -
- DNS의 동작 원리 이해 - DNS 레코드 구성 이해 - DNS 메시지 등 이해 o DNS는 도메인 네임을 IP address로 매핑해주는 서비스이다. DNS 서비스는 다 수의 네임서버들의 원활한 동작을 위해 계층적인 구조를 지닌다. DNS의 계층 구조는 Root Name Server에서 시작하는데, 전 세계를 통틀어 Root Name Server는 13개 정도가 존재한다. 이 Root Name Server 아래에 com, edu, net, org 국가별 접미사(kr, ch, jp)들의 목록을 지니는 DNS 서버들이 존재하고 그 아래에 각 기업 혹은 비영리 단체의 DNS 서버가 존재한다. o DNS의 동작방식 - 클라이언트가 최초로 www.kisec.com에 접속하기 위해서 웹브라우져에 입력 하고 접속 요청을 수행하면 컴퓨터의 캐시정보를 확인하고 hosts 파일을 확인 한 후 해당하는 정보가 없으면 DNS 서버를 이용한다. - 로컬 네임서버에 질의를 보내고 해당정보가 없는 경우 루트 네임서버에 질의 한다. - 루트 네임서버에 정보가 없는 경우 com을 관리하는 네임서버의 정보를 로컬 네임서버에 전달한다. - 로컬 네임서버는 다시 com 네임서버에 www.kisec.com 질의를 보내면 kisec.com에게 질의하도록 로컬 네임서버에 보낸다. - 루트 네임서버는 최종적으로 kisec.com에 질의하고 kisec.com의 DNS 서버로 부터 www.kisec.com에 대한 IP 주소를 얻어 클라이언트에게 전달한다. - 클라이언트는 www.kisec.com의 IP를 이용하여 웹서버에 접속한다. (2) DHCP 서비스 - BOOTP를 대체하는 프로토콜 - DHCP 동작 절차 이해 - 패킷 형식 등 이해 o DHCP(Dynamic Host Configuration Protocol)는 호스트 IP 구성 관리를 단순화 하는 IP 표준이다. DHCP 표준에서는 DHCP 서버를 사용하여 IP 주소 및 관련 된 기타 구성 세부 정보를 네트워크의 DHCP 사용 클라이언트에게 동적으로 할당하는 방법을 제공한다. TCP/IP 기반 네트워크에서 DHCP를 사용하면 컴퓨 - 131 -
터를 다시 구성하는 관리자의 작업이 간단해지고 줄어든다. o DHCP는 클라이언트-서버 모델을 사용한다. 네트워크 관리자는 TCP/IP 구성 정보를 관리하는 DHCP 서버를 하나 이상 만들고 클라이언트에 TCP/IP 구성 정보를 제공한다. 네트워크에서 DHCP 서버를 설치하고 구성하면 DHCP 사용 클라이언트는 작동을 시작하여 네트워크에 참가할 때마다 IP 주소 및 관련 구 성 매개 변수를 동적으로 받을 수 있다. DHCP 서버는 이 구성 정보를 요청하 는 클라이언트에 주소 임대 제안의 형태로 제공한다. o BOOTP(Bootstrap Protocol)는 DHCP보다 먼저 개발된 호스트 구성 프로토콜이 다. DHCP는 BOOTP를 향상시키고 BOOTP가 호스트 구성 서비스로서 가지는 제한을 해결하였다. [표 2-4] BOOTP와 DHCP의 비교 BOOTP DHCP 앞서서 개발 BOOTP 이후에 개발 DHCP 제한된 부팅 기능이 있고 디스크 로컬 하드 드라이브와 완전한 부팅 기능이 가 없는 워크스테이션을 구성하 있으며 위치가 자주 바뀌는 네트워크 컴퓨터 기 위한 프로토콜 동적 BOOTP의 IP 주소 임대 만 DHCP의 IP 주소 임대 만료일은 8일 료일은 30일 공급업체 확장이라고 하는 제한 옵션이라고하는 크고 확장 가능한 클라이언 된 수의 클라이언트 구성 매개 트 구성 매개 변수 집합을 지원 변수를 지원 2 단계 bootstrap 구성 프로세스 DHCP 클라이언트가 그 IP 주소를 결정하고 를 설명 네트워크 작업에 필요한 모든 초기 구성 세 -클라이언트는 BOOTP 서버에 연 부 사항을 얻기 위해 DHCP 서버와 협상하 결하여 주소를 결정하고 부팅 파 는 단일 단계 부팅 구성 프로세스를 설명. 일 이름을 선택 DHCP 클라이언트는 DHCP 서버로 구성을 -클라이언트는 TFTP서버에 연결 다시 바인딩하거나 갱신할 때 시스템을 다시 하여 부팅 이미지의 파일을 전송 시작하지 않음. - 132 -
(3) SNMP 서비스 - SNMP의 개념 이해 - SMI와 MIB 프로토콜과의 관계 이해 - SNMP의 메시지 이해 등 o 네트워크 관리 프로토콜인 SNMP는 시스템이나 네트워크 관리자로 하여금 원 격으로 네트워크 장비를 모니터링하고 환경설정 등의 운영을 할 수 있게 한다. 이러한 SNMP의 편의성에 반해 여러 가지 취약점이 존재한다. 이 취약점들로 인해 서비스거부 공격, 버퍼 오버플로우, 비인가 접속 등 여러 가지 문제들이 야기될 수 있다. o TCP/IP를 기반으로 하는 네트워크의 관리는 네트워크 관리 스테이션과 호스트, 라우터, 프린터 등과 같은 네트워크 구성요소에 설치된 에이전트라는 소프트웨 어간의 통신에 의해 이루어지며, 다음 3개의 구성요소를 가진다. - Management Information Base(MIB) : 네트워크 구성요소에 의해 유지되는 변 수값 - Structure of Management Information(SMI) : MIB의 변수값 조회 시 사용되 는 공통정책과 구조 - Simple Network Management Protocol(SNMP) : manager와 agent간의 통신 프로토콜 o SNMP의 원리 - SNMP는 OSI 7계층의 7번째 계층인 애플리케이션 계층의 프로토콜이며 에이 전트의 MIB에 저장되어 있는 변수 값을 조회하거나 변경하기 위해 사용된다. 매니저와 에이전트 간의 통신은 메시지의 교환에 의해 이루어지며, 메시지는 UDP 데이터그램의 데이터부분으로 구성되어 전송된다. SNMP에서 매니저와 에이전트 간의 통신에 사용되는 메시지는 PDU 타입에 따라 5가지이다. - 133 -
SNMP manager getrequest SNMP agent UDP port 161 getnextreque getrequest getresponse getresponse getresponse trap UDP port 161 UDP port 161 (그림 2-4) SNMP 동작 getrequest : 매니저가 하나 또는 그 이상의 특정 변수 값을 읽어 올 수 있 다. getnextrequest : 매니저가 이미 요청한 변수 다음의 변수 값을 요청한다. setrequest : 매니저가 하나 또는 그 이상의 변수 값 변경을 요청한다. getresponse : 에이젼트가 매니저의 요청에 해당하는 변수 값을 전송한다. trap : agent 의 특정 상황 발생을 매니저에게 알린다. - SNMP 에서 사용되는 메시지 5가지 중 4가지가 단순히 요청과 응답이라는 프 로토콜에 의해 교환되기 때문에 SNMP는 UDP를 사용한다. 매니저는 161 UDP 프로토콜, 에이젼트는 162 UDP 포트로 메시지를 전송한다. - SNMP 통신이 가능하려면 다음의 3가지 사항이 반드시 필요하다. version : 매니저와 에이젼트 시스템간의 SNMP버전이 일치해야 한다. community : 양 시스템간의 커뮤니티가 일치해야 하고, 일반적인 값은 public이다. PDU type : 값의 범위는 0과 4사이이며, 매니저가 요청하는 경우 get- (Next)Request 와 setrequest이외의 PDU 타입이 설정되면 응답이 없다. 마 찬가지로 get(next)request에 대한 응답 시에 getresponse 가 아닌 PDU타 입으로 메시지가 오면 해석이 불가능하다. - 134 -
(4) Telnet 서비스 - 네트워크 가상 터미널 이해 - 운영 모드 이해 - rlogin과 비교 o 텔넷은 클라이언트가 서버에 접속하여 그 서버에 연결/구동된 것처럼 상호 작용하도록 하는 서비스이다. 텔넷 서버는 23번 포트를 사용한다. o 텔넷 프로토콜은 네트워크 가상 단말기(NVT)라고 하는 표준 포맷으로 코드화된 하나 의 문자나 문자열로 구성된 명령어들을 사용하여 서로 통신한다. 네트워크 가상 단말기 는 클라이언트와 서버의 커넥션 양측에 있는 실제 터미널에 매핑시켜주고 키보드와 프 린터로 구성된 양방향 문자 디바이스 클라이언트가 먼저 터미널 형식을 계획하고 다음 에 서버가 지원하는 형태이다. 명령을 위해 사용되는 문자 집합은 ASCII 형태이며, 상 호작용에 관련된 모든 입출력 데이터는 ASCII로 전송된다. NVT 포맷의 모든 명령어들 과 데이터들은 8비트를 사용하여 코드화되어 있다. o 텔넷의 운영모드 : 리모트 호스트에 연결이 되면 라인모드 옵션을 사용가능 상 태로 하려고 시도한다. 만약 이것이 실패하면 character at a time 모드 또는 old line by line 모드를 선택하여 사용한다. - character at a time 모드 : 사용자가 자판을 입력한 내용들 대부분이 처리를 위해 즉시 리모트 시스템으로 보내진다. - old line by line 모드 : 모든 텍스트가 지역적으로 반향(echo)된다. 그리고 보 통 완벽한 한 줄만이 리모트 시스템에 보내진다. - 명령모드 : 라인모드 옵션이 사용가능 상태가 되거나, localchars 토클이 참값 을 가지면(old line by line의 초기값), 사용자의 quit, intr, flush 문자가 지역 적으로 trap되어지고, 텔넷 프로토콜 처리로 리모트 시스템에 보내진다. 라인 모드 옵션이 사용불가 상태이면, 사용자의 susp(보류-suspend) eof(파일끝) 신 호가 텔넷 프로토콜 처리로 리모트 시스템에 보내질 수 있으며, quit 신호는 break 대신에 telnet abort로 보내진다. 리모트 호스트에 연결되어 있을 때는, telnet "escape 문자"(초기값 : "^]")를 사용해서 telnet 프롬프트 상태로 진입할 수 있다. 이때를 명령 모드라 한다. 명령 모드일 때는 일반 터미널 편집 방식 이 사용가능 상태가 된다. - 135 -
[표 2-5] rlogin과 telnet 비교 구분 Rlogin Telnet Transport 프로토콜 하나의 TCP 연결 긴급(urgent)모드 하나의 TCP 연결 긴급(urgent)모드 명령 디폴트(character at a time,원격 에코) 패킷모드 항상 character at a time 클라이언트 에코(kludge line mode) 원격 에코 서버상의 애플리케이션이 필요한 경우 항상 character at a time 흐름제어 일반적으로 클라이언트 수행 일반적으로 서버 수행 서버에 의해 무효 가능 클라이언트가 수행하는 옵션 사용 가능 터미널유형 항상 제공 옵션 터미널속도 항상 제공 옵션 대부분 서버에 의해 지원되는 윈도우크기 옵션 옵션 디폴트 디폴트로 로그인 이름과 패스워드 입력 패스워드 입력이 요구 가능 자동로그인 패스워드는 평문으로 전송 평문으로 전송 최근에 새로운 인증 옵션 제공 최근에 커버로스 로그인 지원 (5) 기타 Rlogin, FTP, TFTP, SMTP 등 유닉스 /Windows에서 제공하는 각종 네트 워크 서비스에 대한 기본 개념과 기능에 대한 이해 - Rlogin, FTP, TFTP, SMTP 등 네트워크 서비스에 대한 기본 개념과 주요 특 징, 기능에 대한 이해 o ftp - 인터넷 상에서 파일을 교환하는 기능을 하는 파일전송 프로토콜을 말하며, FTP는 인 터넷의 한 호스트에서 다른 호스트로 파일을 복사하는 서비스를 제공한다. TCP control 연결 port 21 TCP data 연결 port 20 (그림 2-5) FTP 동작 - 136 -
- 파일전송 프로토콜은 제어포트와 데이터포트를 사용한다. 21번 제어포트를 이용하여 인증과정과 파일 송수신 제어신호를 주고받은 후 20번 데이터포트를 사용하여 실제 파일을 송수신한다. o tftp - TFTP는 LAN 응용에서 주로 사용하기 위해서 만들어 졌다. 기본 FTP가 가지고 있 는 기능을 대폭 줄여 구현 하였으며 TCP 대신 UDP를 사용한다. TFTP는 메시지 오 류 체크를 위하여 RQ(stop-and wait)에러 제어 프로시저를 포함한다. 일반적으로 라 우터의 설정 정보 백업을 위한 목적으로 사용되고 있다. o SMTP - SMTP는 인터넷에서 이메일을 보내고 받기 위해 이용되는 프로토콜이다. 사용 하는 TCP 포트번호는 25번이다. 상대 서버를 지시하기 위해서 DNS의 MX레 코드가 사용된다. 메일 서버간의 송수신뿐만 아니라, 메일 클라이언트에서 메 일 서버로 메일을 보낼 때에도 사용되는 경우가 많은데 smtp는 텍스트 기반 의 프로토콜로서 요구/응답 메세지뿐 아니라 모든 문자가 7bit 아스키로 되어 있어야 한다고 규정되어 있다. 이 때문에 문자 표현에 8bit 이상의 코드를 사 용하는 언어나 첨부파일과 자주 사용되는 각종 바이너리는 MIME이라고 불리 는 방식으로 7bit로 변환되어 전달된다. 1.3.2 Workgroup과 DOMAIN (1) 디렉토리 데이터베이스(Directory database) - 디렉토리 데이터베이스의 역할 이해 - domain controller의 역할 이해 - Active Directory의 역할 이해 o Active Directory는 네트워크상의 개체에 대한 정보를 저장하며 관리자와 사용 자가 이 정보를 쉽게 찾아 사용할 수 있도록 한다. Active Directory는 체계적인 데이터 저장소를 사용하여 디렉터리 정보를 논리적인 계층 구조로 조직하고 디 렉터리라고도 하는 이 데이터 저장소는 Active Directory 개체에 대한 정보를 포함하고 있다. 일반적으로 이러한 개체에는 서버, 볼륨, 프린터 등의 공유 리소 스와 네트워크 사용자 및 컴퓨터 계정이 포함된다. o Active Directory 서버는 도메인 내에서 서버로 동작하는 컴퓨터는 구성원 서버 - 137 -
나 도메인 컨트롤러의 역할 중 하나를 수행할 수 있다. 도메인 내에 있지 않은 서버는 독립 실행형 서버가 된다. - 구성원 서버는 다음과 같은 컴퓨터가 구성원 서버이다 Windows 2000 Server 제품군 또는 Windows Server 2003 제품군의 운영 체제를 실행하는 컴퓨터 도메인에 속한 컴퓨터 도메인 컨트롤러가 아닌 컴퓨터 - 구성원 서버는 계정 로그온을 처리하지 않고 Active Directory 복제에 참여하 지 않거나 도메인 보안 정책 정보를 저장하지 않습니다. 일반적으로 구성원 서버는 파일 서버, 응용 프로그램 서버, 데이터베이스 서버, 웹 서버, 인증 서 버, 방화벽 및 원격 액세스 서버 같은 서버 종류로 동작한다. o Active Directory 클라이언트는 Active Directory 클라이언트를 사용하면 Windows 2000 Professional 또는 Windows XP Professional에서 사용할 수 있 는 많은 Active Directory 기능을 Windows 95, Windows 98 및 Windows NT 4.0을 실행하는 컴퓨터에서도 사용할 수 있다. o 도메인 컨트롤러는 디렉터리 데이터를 저장하고 사용자 로그온 프로세스, 인증 및 디렉터리 검색과 같은 사용자와 도메인 간의 통신을 관리한다. 도메인 컨트 롤러는 멀티마스터 복제를 사용하여 디렉터리 데이터를 동기화하여 시간이 지 나도 정보의 일관성을 보장한다. o 디렉터리 데이터 저장소는 Active Directory 디렉터리 서비스에서 모든 디렉터 리 정보를 저장하는 곳이다. 이 데이터 저장소를 흔히 디렉터리라고 한다. 디렉 터리에는 사용자, 그룹, 컴퓨터, 도메인, 조직 구성 단위 및 보안 정책과 같은 개체에 대한 정보가 들어 있다. 사용자 및 관리자가 사용할 수 있도록 이 정보 를 게시할 수 있다. (2) Windows 2000 Workgroup 방식 - 컴퓨터의 논리적 그룹 이해 - 컴퓨터는 전용서버(Dedicated Server)와 Client의 교번 가능 이해 - 보안 관리의 분산 이해 o Windows 2000의 네트워크 방식은 다음과 같이 2개로 구분할 수 있다. - 워크그룹(Workgroup) 방식 - 138 -
각각의 계정과 자원을 시스템별로 관리하는 방식으로 소규모 네트워크에 적합하다. '피어 투 피어'라고도 하며 전용 서버 없이 모든 시스템이 서버이면서 클라 이언트 기능을 가지며 서로 동등하다. 서버 관리자가 필요없으며 보안은 각 시스템의 로컬 디렉토리 데이터베이 스(SAM DB)에 의해 제공된다. Active Directory가 구축되지 않은 상태로서 다른 시스템에 접근할 때 수시 로 액세스에 필요한 사용자 계정과 암호를 요구한다. - 도메인(Domain) 방식 모든 계정과 자원을 특정 서버에서 관리하는 중앙 집중식 방식이다. 사용자에게 적절한 사용 권한을 설정하면 사용자는 다른 컴퓨터에 자원을 지정한 권한대로 접근할 수 있다. Active Directory가 구축된 상태에서 가능하며 기존의 Windows NT 기반의 도메인보다 확장된 기능을 제공한다. 1.3.3 터미널서비스 등 각종 원격관리 서비스 (1) 터미널 서비스 구성 요소 - 가상 데스크톱 컴퓨터 사용 장치의 활용 이해 - Windows 2000 기반 서버의 원격 관리의 원리 이해 - 터미널 서비스 클라이언트 소프트웨어의 특징 이해 o 관리자가 원격지의 컴퓨터에 접속하여 다양한 작업을 하는 경우 원격지의 컴퓨 터를 관리하는데 지원하는 툴을 Windows 2000 에서는 터미널 서비스라는 툴로 제공하고 있다. o 터미널 서비스는 터미널 에뮬레이터 역할을 하는 소프트웨어를 통해 서버 데스 크톱에 대한 원격 접속을 제공하는 툴이다. 터미널 서비스는 원격지의 컴퓨터에 접속하여 프로그램의 사용자 인터페이스만을 클라이언트로 전송한다. 그러면 클 라이언트에서 키보드 및 마우스 입력을 다시 서버로 보내고 서버에서 그 입력 을 처리한다. 각 사용자는 자신의 개별 세션에만 로그온하고 그 세션에 대한 결 과화면만 보게 됨으로 독자적으로 제어하는 모습을 갖게 된다. o 터미널 서비스는 응용 프로그램 서버모드 또는 원격 관리모드로 서버에 배포될 - 139 -
수 있다. 응용 프로그램 서버 모드의 터미널 서비스는 네트워크 서버를 통한 효 과적이고 신뢰도 높은 Windows 기반 프로그램 배포 방법을 제공한다. o 터미널서비스의 장점 - 원격지의 컴퓨터를 나의 컴퓨터처럼 사용할 수 있다. - 집중된 프로그램 배포 Windows 2000 Server에서 터미널 서비스를 실행하면 모든 프로그램 실행, 데이터 처리 및 데이터 저장이 서버에서 수행되어 프로 그램 배포가 집중화된다. - 원격 관리 터미널 서비스는 Windows 2000 Server에 대한 원격 관리 기능을 제공하므로 시스템 관리자는 WAN 연결 또는 전화 접속 연결을 통해 어느 클라이언트에서나 서버를 원격 관리할 수 있다. - 관리자가 원격 관리를 통해 데이터센터등에 존재하는 원격 서버들을 재부팅, 설치 등 다양한 원격 관리가 가능하다. o 터미널 서비스 라이센스는 Windows 2000 Server의 라이센스와 별개로 터미널 서버에 로그온하는 클라이언트에 사용권을 허가하는 라이센스가 필요하다. 특히 터미널 서비스를 응용프로그램 서버로 활용할 경우에는 복잡한 라이센스 정책 을 수용해야만 터미널 서비스를 자유로이 이용할 수 있다. 터미널 서비스를 응 용 프로그램 서버 모드로 사용할 때는 라이센스 서버가 필요하며 라이센스 서 버는 클라이언트 라이센스를 설치하고 터미널 서비스 클라이언트에 라이센스를 발급하게 된다. 클라이언트가 터미널 서버에 처음 로그온을 시도할 때 터미널 서버는 라이센스 서버에 연결하여 클라이언트를 위한 라이센스를 요청한다. 클 라이언트에게 라이센스를 발급하려면 먼저 네트워크에 라이센스 서버를 설치하 고, 클라이언트 라이센스 키팩을 라이센스 서버에 설치해야 한다. 1.3.4 인터넷 공유 및 NAT 원리, 활용 (1) NAT 원리 - IP 주소 변환과 장단점 이해 o NAT는 사설 주소를 인터넷으로 라우팅할 수 있게 하는 라우팅 정책중 하나가 NAT(Network Address Translation)이다. 또한 NAT는 IANA주소를 절약하는 데 아주 유용하게 이용될 수 있는데 인터넷으로 라우팅할 수 없는 사설 주소를 유일한 인터넷 주소로 전환하여 라우팅이 가능하게 한다. - 140 -
o NAT에 대한 가장 기본적인 정의는 public outside address와 private inside address의 사이에서 border router로서의 역할을 한다는 것이다. 이러한 border router로서의 역할은 inside address와 outside address가 서로 전환되는 동작을 말한다. o NAT의 동작 원리에서 NAT는 1:1의 주소 매핑을 수행하기 때문에 NAT라우터 로 들어온 inside->outside 패킷(또는 그 반대)만이 주소 전환의 대상이 된다. 간 단히 설명하자면 IP의 헤더 부분을 체크하여 NAT 테이블에 의해 해당 주소로 바꾼 다음 checksum을 다시 계산하여 IP의 헤더를 바꾸는 방법으로 동작한다. Application layer에서 까지 NAT의 주소 전환이 반영이 되려면 NAT는 IP 주소 의 참조내용을 담고 있는 application 데이터 부분을 새로운 주소로 변환해야 한다. o NAT의 장점 - 호스트는 사설 IP를 사용하면서 인터넷 및 통신을 할 수 있으므로 공인 IP 주 소의 낭비 방지 - 외부 컴퓨터에서 사설 IP를 사용하는 호스트 접근 어려움(보안 측면) - 기타 (2) NAT의 활용 - NAT 테이블의 구성요소와 역할 이해 - IP 주소 정의 방법 이해 o 일반적인 NAT에서 주소변환을 위해서는 IP 헤더의 IP 주소, TCP 헤더의 포트 번호, UDP 헤더의 포트번호의 3가지 사항에 의존하며 NAT 변환 테이블에 정 책을 설정하여 NAT 기능을 수행할 수 있다. 시스코에서 만든 NAT 버전은 관 리자가 다음과 같은 것들의 사상을 위한 표를 만들게 되어있다. - 사설 IP 주소를 정적인 하나의 공인 IP 주소 변환하기 위한 주소 설정 - 사설 IP 주소를 회사가 가질 수 있는 공인 IP 주소들 중에서 어떤 하나와 사 상되도록 설정 - 사설 IP 주소에 특정 TCP 포트를 더한 것을 하나의 공인 IP 주소로 변환하기 위한 설정 - 공인 IP 주소를 사설 IP 주소 중의 하나로(순서는 라운드 로빈 방식을 사용) 변환하기 위한 설정 - 141 -
2. 네트워크 활용 2.1 IP Routing 2.1.1 IP 라우팅의 종류 [1급] (1) Static Route 및 Dynamic Route - 라우팅 테이블의 역할 이해 - 가상회선의 이해 o 라우터는 네트워크들을 연결해 한 통신망에서 다른 통신망으로 통신할 수 있도 록 도와주는 하드웨어와 소프트웨어 장치로 전송을 전담하는 장비이다. - 라우터 동작 원리 인터넷은 라우터롤 중심으로 하는 하나의 네트워크들의 연결 고리로 되어 있으며 특정 네트워크의 A라는 사람이 다른 네트워크의 B라는 사람에게 데 이타를 보내고자 한다면, A라는 사람이 송신한 데이터를 A의 라우터로 전 송된다. 라우터는 들어온 패킷이 주위에 있는 여러대의 라우터중 어느 라우터로 패 킷을 보내야할 지를 결정할 수 있어야만 한다. 라우터의 입장에서 패킷에 적혀있는 목적지 주소(IP)와 라우팅 테이블을 이용하여 라우팅을 수행할 수 있으며, 라우팅 테이블은 패키지가 목적지 주소로 올바르게 전달되기 위해 서는 어느 인터페이스를 통해서 다음 라우터로 전달되어야 하는지에 대한 정보를 가진 테이블이다. [표 2-6] 라우팅테이블 예시 목적지 주소 마스크 인터페이스 222.110.3.0 255.255.255.0 eth0 222.110.4.0 255.255.255.0 eth1 222.120.0.0 255.255.0.0 eth2 라우팅 테이블의 구조는 목적지IP를 가지는 패킷이 라우터의 어느 인터페이 - 142 -
스를 사용해야 하는지에 대한 정보 테이블이며, 만약 패킷이 들어왔는데, 패 킷의 IP헤더에 포함된 목적지 주소가 222.110.3.1에서 222.110.3.254 사이의 값을 가진다면 라면 라우팅 테이블의 정보에 의해서 인터페이스 eth0으로 보내진다. 이와 같은 방식으로 라우터간에 라우팅이 되어 수신자 네트워크 의 라우터까지 전달된다. o 라우팅 테이블을 구축하는 방법은 일반적으로 동적으로 구현하는 동적 라우팅 과 정적으로 구현하는 정적 라우팅으로 분류한다. - 동적 라우팅 : 동적 라우팅 프로토콜을 사용하여 라우터가 스스로 이웃한 라 우터와 라우팅 테이블을 서로 교환하면서 라우팅 테이블을 구축하는 방법이 다. 만약 사용할 경로가 삭제 또는 변경되면 라우터는 즉시 이웃한 라우터에 자동으로 삭제된 경로 정보 또는 변경된 경로 정보를 전송한다. 따라서 초기 설정이외 별도의 관리가 필요없는 라우팅 테이블 구축 방법이다. 이와 같은 라우팅 프로토콜로는 RIP v1, RIP v2, OSPF와 같은 프로토콜이 있다. - 정적 라우팅 : 관리자가 직접 라우터가 사용할 경로를 라우팅 테이블에 입력 함으로 라우팅 테이블을 구축하는 방법이다. 만약 사용할 경로가 삭제 또는 변경되면 그때마다 번거롭지만 관리자가 라우팅 테이블에 경로 정보를 삭제 또는 변경해주어야 한다. 따라서 라우팅 경로가 고정되어있는 네트워크 또는 라우팅 경로가 적은 네트워크에서 사용할 수 있는 라우팅 테이블 구축 방법 이다 o 가상회선은 패킷교환망의 경우 가입자에게 물리적인 경로를 단독으로 사용하도 록 허용하지 않는다. 즉 물리적인 경로를 타 가입자와 공유하면서 전송할 데이 터가 있을 때에만 일정 대역폭을 사용하여 상대방에게 데이터를 전송하도록 한 다. 호출 성립 이후 양측의 단말기는 회선 교환망의 경우처럼 물리적인 경로를 단독 사용할 수는 없지만 논리적인 통신경로를 호출 해제시까지 유지하는데 이 논리적인 통신경로를 가상회선(Virtual Circuit)이라고 하며, 두 라우터간의 테이 타는 가상회선(Virtual Circuit)을 성립한 후 전송된다. 전송이 완결되면 사용한 가상회선은 다운된다. 추후 데이터를 다시 전송할 경우가 발생되면, 새로운 가 상회선이 생성된다. 이러한 형태를 SVC(Switched Virtual Circuit)라고 한다. 반 면에, 가상회선을 다이나믹하게 성립, 삭제를 반복하지 않고, 서비스제공자는 자 신에게 등록된 고객에게 지속적으로 가상회선을 제공하기도 한다. 이를 PVC( Permanent Virtual Circuit)이라고 한다. - 143 -
(2) 라우팅 알고리즘 - 링크상태 라우팅 알고리즘 개념 이해 - 거리벡터 라우팅 알고리즘 개념 이해 - 기타 라우팅 알고리즘 개념 이해 o 링크상태 라우팅 알고리즘은 자신을 중심으로 전체 네트워크의 토폴로지를 그 릴 수 있는 복잡한 토폴로지 정보 DB를 가진다. 이 정보 DB를 이용하여 SPF 알고리즘을 통해 SPF 트리를 만들어 내고, 이 트리를 가지고 라우팅 테이블을 유지 관리하며 패킷에 대한 스위칭을 수행한다. 이 알고리즘은 복잡한 전체 네 트워크 구성을 모두 가지고 있어야 되므로 상당히 메모리를 많이 사용하게 되 는 부담도 있다. 그러나 네트워크의 변화가 생겼을 때 상당히 빨리 전체 네트워 크에 정보가 전달된다. 또한 네트워크의 모든 정보를 가지고 있기 때문에 복잡 하고 정교한 네트워크 제어가 가능하다 o 거리벡터 라우팅 알고리즘은 네트워크 토폴로지 정보 데이터베이스의 유지 관 리하고 특정 링크에 대한 방향(vector)과 거리(distance)를 결정하는 알고리즘이 다. 라우터는 연결된 라우터들에 대한 거리벡터값과 인터페이스 정보를 데이터 베이스로 유지하면서 이 정보를 이용하여 패킷을 전달한다. (3) default route - IP Network Address에 대한 route가 없을 때의 라우팅 o 디폴트 라우트(Default Route)는 라우터에서 패킷을 수신하면 라우팅 테이블상 에 상대방 네트워크 IP 어드레스를 검색하여 패킷을 어디로 보낼 것인가를 결 정하는데, 라우터에 Default Route가 설정이 되어 있으면, 라우팅 테이블상에서 등록되어 있지 않는 모든 정보들이 지정된 경로로 전송하게 된다. 2.2 네트워크 장비 이해 2.2.1 랜카드 - 144 -
- 랜카드의 동작원리 이해 - Half/Full-duplex 개념 이해 - 커넥터 및 캐이블링 이해 (1) Half/Full-duplex 이해 o 랜카드는 단순히 PC 혹은 네트워크에서 전달되어오는 정보를 상호 교환할 수 있도록 만들어 준다. PC에서 전송 요구가 발생 하면 랜카드로 정보를 일정한 형태로 만들어 보내고 랜카드에서는 이 정보를 일단 버퍼에 저장한 다음 네트 워크에 맞는 형태로 보낸다. 여기서 PC와 랜카드사이에서 논리적으로 묶어주는 소프트웨어가 필요한데, 이 소프트웨어를 네트워크 드라이버라고 한다. o 랜카드 종류 - Full Duplex 송신 스테이션과 수신 스테이션이 동시에 양방향으로 데이터를 전송할 수 있는 방식으로 이 기능을 사용하기 위해서는 Server에 Full Duplex 기능을 지원하는 NIC를 사용해야 한다. - Half Duplex : 송신 스테이션과 수신 스테이션간에 한 번에 한 방향으로만 데이터를 전송 할 수 있는 방식으로 Hub의 경우는 CSMA/CD방식으로 동작하므로 Half Duplex만 지원한다. (2) 커넥터 및 캐이블링 이해 o 랜을 구성하는 캐이블은 네트워크를 구성할 때 가장 많이 사용하는 케이블이 UTP 케이블이다 UTP 케이블의 구조는 4쌍의 전선(총 8가닥)이 서로 꼬여져있 는 형태이며, 현재 가장 많이 사용되는 것은 Category 5이며 안정적인 전송거리 는 100m 이내이다. 케이블 배선방법에 의해 다이렉트(Direct)케이블과 크로스 (Cross)케이블로 나누어집니다. - 다이렉트 케이블의 경우는 케이블 양단이 똑 같은 순서에 의해 동일하게 구성 된다. 다시말해 케이블 양단의 각 배선들이 1-1로 연결되는 형태이다. 컴퓨터 와 허브간을 연결할 때는 다이렉트 케이블을 사용한다. - 크로스케이블은 케이블 양단의 송신, 수신선이 서로 교차(1-3, 2-6번선 교차)되 도록 구성된다. 크로스케이블은 케이블 자체내에서 수신이 송신으로, 송신이 - 145 -
수신으로 연결되도록 하는 형태이다. 컴퓨터와 컴퓨터간을 1-1로 연결할 때는 크로스케이블을 사용한다. (그림 2-6) 케이블링 방식 o 케이블링을 위한 툴 - 케이블링 툴은 UTP케이블의 끝에 RJ-45 커넥터를 연결해주는 도구로 대개 피 복을 벗겨내는 스트리퍼의 기능도 함께 가지고 있다. - 피복절단기는 UTP 케이블의 내선이 잘리지 않도록 피복부분만을 잘라주는 도 구이다 - 테스터는 케이블을 제작한 후에 정상적인 송수신이 이루어지는지 여부를 확인 하는 도구이다. - RJ-45 커넥터는 랜카드나 허브의 포트에 연결하게 해주는 커넥터이며, 커넥터 와 전선사이의 연결부분을 보호해주는 것을 보호부트라고 한다. 2.2.2 허브, 스위치 및 브리지 - 허브의 기능 및 종류별 특징 - 스위치의 기능 및 종류별 특징 - 브리지의 기능 (1) 허브(Hub) o 허브는 집중화 장비(Concentrator)라고 부르기도 하며, 각 Node들을 연결시켜주 - 146 -
는 역할을 한다. 허브는 공유방식(CSMA/CD)을 사용하며, 각 Node들은 주로 UTP Cable을 통해 연결된다. o 허브의 종류 - 더미허브는 단순히 여러 대의 컴퓨터를 연결할 수 있는 기능만을 가진 허브이 다. 이 허브는 회선의 속도를 여러 대의 컴퓨터가 나누어 쓰므로 접속되는 컴 퓨터의 개수대로 속도가 나뉘어 진다. - 스텍터블 허브는 더미 허브들을 여러 개 쌓아 놓을 수 있는 허브들을 말한다. 대부분의 네트워크에서 이 더미 허브 들을 여러 개 쌓아 놓고 있다. - 스위칭허브는 더미 허브가 하나의 회선을 여러 대의 컴퓨터들이 나누어 쓰면 서 속도의 저하가 발생하는 것을 개선하여 여러 대의 컴퓨터들을 연결하여도 원래의 속도를 사용할 수 있는 허브를 말한다. 이를 위해서 맥테이블을 메모 리에 저장한다. - 인텔리젼트 허브는 더미 허브의 기능을 가진 컴퓨터에 네트워크 관리 기능이 추가된 허브를 말한다. - 엔터프라이즈 허브는 이더넷과 토큰링, FDDI와 같은 다중 매체를 지원하는 허브이다. 그러므로 하나의 허브에 여러 종류의 네트워크를 연결할 수 있는 허브를 말한다. (2) 스위치(Switch) o 스위치는 스위칭허브이라고도 불리지만 허브보다 훨씬 더 나은 기능을 제공한 다. 스위치는 호스트 A와 B가 통신하는 순간에도 호스트 C와 D는 통신할 수 있다. 스위치는 허브와는 달리 공유방식을 사용하지 않고, 포트별로 Dedicate한 대역폭을 할당해 준다. o 스위치의 종류 - L2 스위치 : Mac Address 기반 스위칭 - L3 스위치 : IP Address 기반의 트래픽 조절 가능 - L4 ~ L7스위치 : Port Number 또는 Packet 내용을 분석 및 판단하여 Packet 의 경로 설정, 변환, 필터링 동작을 수행할 수 있는 장비 o L4스위치와 L7스위치의 차이점 - 구조적 차이점 L4스위치 : TCP/UDP 포트 정보를 분석해 해당 패킷이 현재 사용하는 서 비스 종류(HTTP, FTP, 텔넷, SMTP, POP3, SSL등)별로 패킷을 처리 - 147 -
L7스위치 : 트래픽의 내용(e-mail의 문자열, HTTP URL, FTP 파일 및 제목 등)패턴 등을 분석해 패킷을 처리 - 기능적 차이점 높은 수준의 Intelligence를 갖춘 스위치일수록 더 정교한 패킷의 부하분산 (Load Ballancing)및 QoS기능 구현이 가능함. (3) 브리지(Bridge) o 브리지는 OSI 7 계층 모델에서 2 계층인 데이터 링크 계층에서 동작한다. 데이 터 링크는 LLC(Logical Link Control) 계층과 MAC 계층으로 나뉘어지는데 그 중 MAC 계층에서 브리지가 동작한다. 그래서 MAC 계층 브리지라고도 한다. 브리지가 동작하려면 라우팅 테이블이 필요하다. 이 테이블은 브리지의 램에 만 들어지는데 처음에는 비어있다가 처음으로 브리지가 패킷을 받으면 그 정보를 라우팅 테이블에 저장하게 된다. 여기 들어가는 주소는 MAC 주소가 들어간다. o 전송되는 데이터 패킷을 라우팅 테이블과 비교해서 같은 세그먼트에 있다고 판 단되면 브리지는 상대편 세그먼트로 패킷을 전달하지 않고 아니면 전송을 실행 한다. 2.2.3 VLAN [1급] - VLAM의 개념 - VLAM의 표준 이해 (1) VLAN(virtual LAN) o VLAN이란 브로드캐스팅 트래픽을 제한하여 불필요한 트래픽을 차단하기 위한 논리적인 LAN이다. VLAN은 물리적으로 LAN을 분리하는 것이 아니라 논리적 으로 한 장비 내에서 브로드캐스팅 도메인을 나누는 것이다. 스위치에 연결된 호스트들을 그룹으로 나누어서 VLAN 1 과 VLAN 2으로 그룹을 설정할 수 있 으며 호스트는 각자의 VLAN 내에 속한 호스트들 간에 통신은 가능하지만 다 른 VLAN에 속한 호스트들과의 통신은 불가능하다. 또한 VLAN 1내의 브로드 캐스팅 트래픽은 VLAN 2로 전달되지 않는다. - 148 -
o VLAN 종류 - 포트기반 VLAN : 포트기반 VLAN은 스위치 포트를 각 VLAN에 할당하는 것으로 같은 VLAN에 속한 포트에 연결된 호스트들 간에만 통신이 가능하다. 이 VLAN은 가장 일반적이고 많이 사용되는 VLAN이다 - 맥어드레스기반 VLAN : 맥어드레스 VLAN은 각 호스트들의 맥어드레스를 VLAN에 등록하여 같은 VLAN에 속한 맥어드레스들 간에만 통신이 되도록 하는 방법이다. 이 VLAN은 호스트들의 맥어드레스들을 전부 등록해야 하기 때문에 자주 사용되지는 않는다. - 네트워크주소기반 VLAN : 네트워크주소별로 VLAN을 구성하여 같은 네트워 크에 속한 호스트들 간에만 통신이 가능하도록 구성한 VLAN이다. 주로 IP 네트워크 VLAN을 사용한다. - 프로토콜기반 VLAN : 같은 통신 프로토콜(TCP/IP, IPX/SPX, NETVIEW 등) 을 가진 호스트들 간에만 통신을 가능하도록 구성된 VLAN이다 o Port Mirroring - 스위치는 허브처럼 한 포트에서 발생한 데이터를 전 포트에 전달하지 않기 때 문에 스위치에 흐르는 데이터를 분석하려면 허브와는 달리 Port Mirroring기 능을 사용해야 한다. 스위치 1번 포트에 흐르는 트래픽을 Analyzer로 조사하 려면 1번 포트에 흐르는 트래픽을 트래픽 분석장비가 설치된 포트로 복사하 여 보내야 한다. 이것을 Port Mirroring이라고 한다. 2.2.4 라우터 구성 명령어의 이해 - 시스코라우터 구성모드 이해 - 시스코라우터 기본 명령어 이해 - 라우터에서 각종 암호를 설정하는 방법 이해 (1) CISCO 라우터 구성 모드 o 라우터는 동일한 전송 프로토콜을 사용하는 분리된 네트워크를 연결하는 장치 로 네트워크 계층간을 서로 연결한다. 라우터는 브리지가 가지는 기능에 추가하 여 경로 배정표에 따라 다른 네트워크 또는 자신의 네트워크 내의 노드를 결정 한다. 그리고 여러 경로 중 가장 효율적인 경로를 선택하여 패킷을 보낸다. 라 - 149 -
우터는 흐름제어를 하며, 인터네트워크 내부에서 여러 서브네트워크를 구성하 고, 다양한 네트워크 관리 기능을 수행한다. 브리지와 라우터의 차이점을 간단 히 살펴보면, 라우터는 네트워크 계층까지의 기능을 담당하고 있으면서 경로 설 정을 해준다. o 라우터 모드 - privileged mode에서 global configuration mode로 전환할 수 있으며, global configuration mode에서 하위 configuration mode로 전환할 수 있다. - setup mode도 privileged mode에서 전환 가능하다. - global configuration mode로 전환하려면 privileged mode prompt에서 다음 과 같이 명령 입력해야 한다. Router# configuration terminal - 하위 configuration mode로 전환하려면 global configuration mode prompt에 서 다음 같이 명령을 입력해야 한다. 여기에서는 interface configuration mode로 가기 위한 것을 보인다. - 각 하위 configuration mode의 prompt가 다른 것을 주목하자. Router(config)# interface serial 0 Router(config-if)# User Mode Router> 제한된 명령어만을 이용 Setup Mode 초기 환경설정 Previledged mode 에서 명령어 setup을 입력 Global configuration mode Router(config)# 라우터 운영 전체에 영향을 미치는 요소들을 조정할 수 있음. 하위 configuration mode로 전환할 수 있음. Previledged mode Router# 모든 명령어를 이용할 수 있고 configuration file 조정할 수 있음. RXBOOT mode 비밀번호를 잃어버렸거나 Flash의 OS가 지워지는 등의 경우 이용 하위 configuration mode Router(config-???)# 영역별 환경 설정 (그림 2-7) 라우터 모드 - 150 -
(2) CISCO 라우터 명령어 이해 o 모드변환 - router>enable <-- 사용자 모드에서 특권 모드로 변경 - router#diable <-- 특권 모드에서 사용자 모드로 변경 - router#configure terminal <-- config 모드로 변경 - router(config)#ctrl+z 또는 exit <-- config 모드에서 빠져나올 때 - router# o 도움말 - 프롬프트 상에서 도움말 보기 :? - 명령어의 활용법 : 명령어? o 환경설정 - hostname 변경 router(config)#hostname Router-A router-a(config)#^z router-a#write memory - 배너 설정 router(config)#banner motd $ This is MOTD banner 이라고 배너 내용 입력하고 $로 메시지 끝을 알린 후 라우터 재접속하면 배너를 확인 가능 - 시간 설정 router(config)#ntp server 시간서버IP - 셋팅값을 NVRAM에 저장해서 리부팅시에도 적용 router#copy runn-config startup-config o interface ip address변경 - router(config)# interface serial 0 - router(config-if)# no ip address <- 기존 ip address를 삭제 - router(config-if)# ip address 172.16.4.1 255.255.255.0 명령 형식 : ip address {ip address} {net mask} o telnet으로 접근할 수 있게 설정 - router(config)#interface ethernet0 - router(config-if)#ip address 192.168.0.1 255.255.255.0 - router(config-if)#no shutdown - 151 -
- Telnet session 활성화 - router(config)#line vty 0 4 -> 동시에 5명까지 telnet 접속 허용 - router(config-line)#login - router(config-line)#password **** (3) 라우터에서 각종 암호를 설정하는 방법 이해 o 라우터에 로그인하기 위해서는 username 없이 초기 암호를 입력하여 로그인해 야 하는데 이때 프롬프트가 Router>와 같이 되며 이때의 모드를 User exec 모 드라고 한다. 이후 enable 또는 en 명령어를 실행하여 다시 암호를 입력하면 프 롬프트가 Router#와 같이 되며 이때의 모드를 Privileged exec 모드 또는 enable 모드라고 한다. 여기에서 초기에 User exec 모드로 들어가기 위해 입력 하는 암호를 일반사용자, Privileged exec 모드 또는 enable 모드는 관리자 암호 라고 생각하면 된다. o 라우터 암호설정 - 콘솔 패스워드 설정 : 로그인후 enable을 실행하여 Privileged EXEC 모드로 들어 가도록 한다. 이후 설정을 변경하기 위해 conf t"를 실행하여 Global Configuration 모드로 들어간 후 콘솔을 지정하여 암호를 재설정하면 된다. Router#configure terminal Router(config)#line console 0 Router(config-line)#password ****** Router(config-line)#^Z - 터미널 패스워드 설정 : 원격 관리를 위한 로그인에 필요한 암호를 Terminal password 또는 Virtual password 라고 한다. Router#configure terminal Router(config)#line vty 0 4 <=== 터미널 수 Router(config-line)#password ****** Router(config-line)#^Z - Enable 패스워드 및 Enable Secret 패스워드 설정 : Privileged EXEC 모드로 접 근하기 위해서는 enable 명령어를 실행하여 암호를 입력하여야 하는데, 이때의 암 호는 아래와 같이 enable password 또는 enable secret를 이용할 수 있는데, 각각은 지정한 암호가 평문으로 저장되는지 아니면 암호화되어 저장되는지의 여부에 차 이가 있다. - 152 -
Router#configure terminal Router(config)#enable password ***** Router(config)#^Z Router#configure terminal Router(config)#enable secret ***** Router(config)#^Z 2.2.5 네트워크 장비를 이용한 네트워크 구성 [1급] - 각각의 인터페이스에 적당한 IP 주소를 설정 이해 - 네트워크를 구성 이해 - 라우팅 프로토콜이 선택 방법 이해 (1) 각각의 인터페이스에 적당한 IP 주소를 설정 o IP 할당 - 기본적인 네트워크 구성에서는 네트워크의 호스트 수에 따라서 IP주소를 할당 받고 조직체계에 따라서 그룹별로 분류하여 IP 주소를 할당하여 관리한다. - 공인 IP 주소가 부족한 경우에는 사설 IP주소를 사용할 수 있다. (2) 네트워크를 구성 o 네트워크 구성 절차 이해 - 조직의 업무상황 파악 - 네트워크를 설계 - 네트워크를 구축 - 구축된 네트워크 테스트 o 소규모 네트워크 구성 - 그룹별로 스위치 또는 허브를 설치하고 각각의 호스트와 연결 - 스위치를 백본스위치에 연결 - 백본스위치에서 라우터로 연결하여 외부망과 연결 - 153 -
- 서버들이 있는 경우 백본스위치에 직접 연결하여 서버 운용 라우터 백본스위치 Server 군 스위치.................. (그림 2-8) 소규모 네트워크 구성 (3) 어떠한 라우팅 프로토콜이 필요한지 이해 o 라우텅 프로토콜은 라우터에서 라우팅을 위해서 인접한 라우터의 정보를 유지 및 관리를 하여야하는데 이때 네트워크 정보 생성 후 네트워크 정보를 교환 및 제어하는 프로토콜을 말한다. o 라우팅 프로토콜 선택 기준 - 네트워크 그룹의 범위 기준 Interior Gateway Protocol(IGP) : RIP, OSPF, IGRP 등(Autonomous System(AS) 내에서의 라우팅 프로토콜) Exterior Gateway Protocol(EGP) : EGP, BGP 등(Autonomous System(AS) 사이에서의 라우팅 프로토콜) - 라우팅 알고리즘 기준 거리벡터 알고리즘 링크상태 알고리즘 o 라우팅 프로토콜 이해 - RIP는 인테리어 라우팅 프로토콜로서, 전통적인 DISTANCE VECTOR ALGORITHM 을 사용한다. 현재 널리 사용하고 있는 프로토콜 중 하나로서 - 154 -
소규모 네트워크에 적합한 라우팅 프로토콜이다. - OSPF 프로토콜은 계층적 구조로 네트워크 구성이 가능하다. OSPF에는 라우 팅 도메인이며, 대규모 네트워크에 적합하다. - IGRP 프로토콜은 시스코(Cisco)사에서 독자적으로 개발한 프로토콜로, 독립적 네트워크 내에서만 사용하기 위해 개발되었다. 네트워크의 규모가 크고 복잡 하더라도 안정적으로 움직일 수 있도록 되어 있다. 2.2.6 네트워크 토폴로지 이해 [1급] - 토폴로지 이해 - 네트워크의 배열이나 구성 표현 방법 이해 - 네트워크 토폴로지를 종류별로 이해 (1) 토폴로지의 일반적인 의미 이해 o 토폴로지(Topology: 위상) : 네트워크 토폴로지는 네트워크에 있는 컴퓨터, 케이 블 및 다른 구성요소의 배치로 일종의 네트워크 지도와 같다. 사용하는 토폴로 지 종류는 네트워크 하드웨어의 종류와 기능, 그 관리, 미래의 확장 가능성에 영향을 미치므로 각자 자신의 환경에 맞는 선택을 하는 것이 중요하다. (2) 네트워크의 배열이나 구성을 개념적인 그림으로 표현 o 네트워크 배열 및 구성 그림으로 표현하기 위해서는 네트워크 설계시에 사용하 는 기호 및 표현법을 이해하여야 한다. (그림 2-9) 네트워크장비 심볼 - 155 -
(3) 네트워크 토폴로지들 이해 (star형, 망형, 버스형, 환형, 나무형 등) o 네트워크 구성에 사용되는 다섯 가지 기본 토폴로지가 있다. o 버스 토폴로지(Bus Topology) : 네트워크의 모든 컴퓨터들이 연속된 케이블 또 는 세그먼트에 접속되어 직선으로 연결된다. - 장점 : 저렴한 비용. 네트워크 구성이 간단 - 단점 : 어느 한 부분이 끊어지거나 한 끝이 종단되지 않으면 신호가 네트워크 를 통해 왕복하여 모든 통신이 중지된다. 또 버스에 접속된 컴퓨터수에 따라 네트워크 성능 크게 저하되는 단점이 있다. Segment (그림 2-10) 버스 토폴로지 o 스타 토폴로지(Star Topology) : 네트워크의 각 컴퓨터에서 나온 케이블 세그먼 트가 허브라는 중앙 구성요소에 연결된다. 컴퓨터는 허브를 거쳐 네트워크의 모 든 컴퓨터로 신호가 전송된다. - 장점 : 한 컴퓨터가 고장나도 고장난 컴퓨터만이 데이터를 송신, 수신할 수 없 고 나머지 부분은 정상작동이 가능 - 단점 : 각 컴퓨터가 허브에 연결되기 때문에 허브가 고장나면 전체네트워크가 고장난다는 것이고, 네트워크에서 노이즈가 많이 발생한다는 것이다. o 링 토폴로지(Ring Topology) : 링 토폴로지에서는 컴퓨터들이 하나의 케이블 원에 연결된다. 신호는 루프를 이루며 한 방향으로 주행하며 신호를 강화하여 다음 컴퓨터에 보내는 리피터 역할을 하는 각 컴퓨터를 통과한다. 더 큰 규모에 서는 TickNet 동축케이블 또는 광섬유 케이블을 사용하여 여러 랜을 링 토폴로 지로 연결할 수 있다. - 장점 : 트래픽이 많은 환경을 버스 네트워크보다 잘 처리할 수 있고 노이즈의 영향이 작다. - 단점 : 이것 역시 회선 단절 시 데이터 전송의 두절을 초래하는데 이것을 방 - 156 -
지하기 위해 이중 링 구조를 더 선호한다. 단일 토큰링에서 한번에 한 대만이 데이터를 보낼 수 있고, 대개 버스 기술보다 비용이 많이 든다. o 메쉬 토폴로지(Mesh Topology) : 각 컴퓨터가 별도의 케이블을 통해 모든 다른 컴퓨터에 연결된다. 이 연결은 네트워크를 통해 중복 경로를 제공하므로 한 케 이블이 고장나면 또 다른 케이블이 트래픽을 전달하고 네트워크가 계속 작동한 다. - 장점 : 네트워크를 통해 여러 경로를 제공하는 백업기능이 강하다. - 단점 : 중복 경로에는 케이블이 다른 토폴로지에 필요한 것보다 더 많이 필요 하므로 비용이 많이 들어 실제 사용은 드물다. o 혼성 토폴로지(Hybrid Topology) : 둘 이상의 토폴로지를 결합하여 전체 네트 워크 디자인을 구성하는 것이다. 실제 한 종류의 토폴로지를 사용하여 네트워크 를 디지인하는 경우는 드물다. 일반적으로 스타-버스 토폴로지와 스타-링 토폴 로지 두 종류의 혼성기술이 많이 사용된다. - 스타-버스형 : 여러 스타 토폴로지 네트워크를 버스 연결장치에 연결한다. 스 타구성이 채워지고 나면 두 번째 스타를 추가하고 버스 연결을 사용하여 두 스타 토폴로지를 연결할 수 있다. 한 컴퓨터가 고장나도 네트워크의 나머지 부분에 영향이 미치지 않는다(스타구조의 단점이 보완됨) - 스타-링형 : 스타-링 토폴로지에서는 스타 네트워크에서와 같이 컴퓨터들이 중 앙 구성요소에 연결된다. 그러나 이러한 구성요소들이 연결되어 링 네트워크 를 형성한다. 이는 한 컴퓨터가 고장나도 네트워크의 나머지 부분에는 영향이 없다. 토큰 전달을 사용하면 스타-링 토폴로지의 각 컴퓨터는 같은 통신 기회 를 가진다. 따라서 스타-버스 토폴로지의 경우보다 세그멘트사이에 더 많은 네트워크 트래픽이 허용된다. 2.2.7 각종 네트워크 응용 프로그램의 작동 원리와 활용 [1급] - 기타 다른 네트워크 응용 프로그램의 작동원리 및 활용방안에 대해 이해 (1) 기타 다른 네트워크 응용 프로그램의 작동원리 및 활용방안에 대해 이해 - 157 -
2.3 무선통신 2.3.1 이동통신(PDA, WAP) 등 - Wireless Application Environment(WAE) 이해 - Wireless Session Layer(WSL) 이해 - Wireless Transport Layer Security(WTLS) 이해 (1) Wireless Application Environment(WAE) 이해 o WAP은 무선망과 WWW(World Wide Web)의 연동을 위하여 Proxy기능을 이 용한다. WAP의 Proxy는 다음의 역할을 한다. - 프로토콜 게이트웨이 : WAP의 게이트웨이는 WAP 프로토콜 스택(WSP, WTP, WTLS, WDP)을 WWW프로토콜 스택(HTTP, TCP/IP)으로 변환한다. - 컨텐츠 인코딩과 디코딩 : 컨텐츠 인코더는 네트워크의 부하를 줄이기 위하여 WAP컨텐츠에서 작게 인코딩된다. o 인프라 구조는 사용자가 무선 단말기를 이용하여 WAP 컨텐츠와 애플리케이션 을 이용할 수 있도록 하며, 애플리케이션 제작자들이 광대한 무선 통신망에서 사용되는 서비스와 애플리케이션을 제작할 수 있도록 한다. WAP Proxy는 컨텐 츠와 애플리케이션이 표준 WWW서버 위에서 호스팅되게 하며 CGI 프로그래밍 과 같은 검증된 WWW의 기술을 바탕으로 발전하고 있다. o WAP은 휴대폰, 호출기, PDA 등의 무선 단말기를 위한 응용 구조와 프로토콜 을 정의한다. GSM(Global Standard for Mobiles), TDMA(Time Division Multiple Access), CDMA(Code Division Multiple Access) 등의 서로 다른 망에 서 쓰일 수 있는 프로토콜을 정의하고 개발자들이 빠르고 유연하게 더 나은 서 비스와 응용 기술을 개발할 수 있도록 한다. - 158 -
Tran saction Protocol (WTP) WTLS Handshake Protocol Alert Protocol Application Protocol Change Cipher Spec Protocol Record Protocol Datagram Protocol (WDP/ UDP) Bearer Networks (그림 2-11) WAP 레이어 o WAE(Wireless Application Environment) - WAE는 WWW와 이동통신에 기반한 애플리케이션 환경이며 주 목적이 서비 스 공급자들과 개발자들이 다양한 무선 환경에서 효율적으로 애플리케이션과 서비스를 개발하도록 호환적인 환경을 제공하는 것을 목적으로 하기 때문에 무선인터넷 서비스를 개발하기 위해서는 반드시 필요하다. - WAE는 다음과 같은 포맷을 인식할 수 있는 환경을 제공한다. WAP 게이트웨이에서의 WAE WAP 클라이언트에서의 WAE WML : HTML 과 유사한 가벼운(light-weight) 언어, 무선 단말기를 위해 최 적화 되어야 한다. WML Script : Java Script 언어와 유사한 가벼운 스크립트 언어. (2) Wireless Session Layer(WSL) 이해 o WSP(Wireless Session Protocol)는 2개의 session 서비스에 대한 일관적인 인터 페이스로 WAP의 애플리케이션 레이어를 제공한다. 이러한 세션 서비스는 연결 기반 서비스와 비연결기반 서비스로 연결기반 서비스는 WTP 상에서 동작하고 비연결기반 서비스는 WDP위에서 동작한다. - 159 -
(3) Wireless Transport Layer Security(WTLS) 이해 o WTLS(Wireless Transport Layer Security)는 SSL(Secure Socket Layer)로 알려 진 산업 표준인 TLS 프로토콜에 기반한다. WTLS는 WAP을 위해 설계되었으며 좁은 밴드의 통신 채널에 맞도록 최적화되었다. WTLS의 특징은 다음과 같다. - Data integrity - Privacy - Authentication - Denial of service protection o WDP( Wireless Datagram Protocol ) layer는 다양한 네트워크에 의해 지원되는 bearer 서비스를 이용하는 데이터 위에서 작동한다. 일반적인 통신 서비스로써 WDP는 상위레이어로 일관적인 서비스를 제공하며 bearer 서비스위에서 작동한 다. WDP 프로토콜이 상위 레이어 프로토콜에 대하여 통상의 인터페이스를 제 공하기 때문에 Security, Session, Application 레이어는 무선망에 대하여 독립적 으로 작동할수 있다. (4) Wireless Transport Layer(WTP) 이해 - Wireless Transport Layer(WTP) 이해 o WTP는 datagram 서비스의 위에서 동작한다. client(mobile station)에 구현하기 에 적합한 가벼운 트랜잭션 기반의 프로토콜을 제공한다. WTP는 안전성이 보 장되거나 보장되지 않는 무선 데이터그램 망에서 효과적으로 동작한다. o WTP의 특징은 3 종류의 트랜잭션 서비스를 제공 - 신뢰성이 없는 단방향 요구 - 신뢰성 있는 단방향 요구 - 신뢰성 있는 양방향 요구 응답 2.3.2 이동/무선통신 보안 [1급] (1) 보안정책 - 160 -
- 조직이나 업체가 무선랜을 도입하여 강화된 보안 정책 수립 o 무선랜 이해 - 무선랜은 기존 네트워크는 전화선이나 통신케이블 등의 유선으로 연결된 호스 트간의 통신 방식을 이용하는데 이것을 대신하여 전파를 이용하여 통신을 수 행하는 것으로 크게 두 가지 콤포넌트로 구성된다. 액세스 포인트(Access Point) 무선랜 네트워크 어댑터(Wireless Network Interface Card) - AP는 유선 네트워크에 접속되어 무선 사용자들의 트래픽을 중계하는 역할을 담당하는 장비이고 무선랜 네트워크 어댑터은 무선랜 터미널(STA)에서 AP로 접속하기 위한 네트워크인터페이스를 담당하는 장비이다. 기존의 사내 네트워 크 혹은 인터넷 접속은 모두 유선으로만 이뤄져 있어 물리적으로 침투 위치 를 확보해야만 하지만 무선랜의 경우에는 전파가 도달 가능한 거리에 있는 경우 어디에서든지 스니핑과 같은 공격이 가능하다. 또한 무선랜은 사내망이 므로 기존 인터넷 접속 망에 적용되는 보안 정책을 적용하기가 쉽지 않다 o 무선랜 보안정책 수립 방법 - 무선랜 보안정책을 수립하기 위해서는 무선랜에 대한 네트워크 구성 및 특성 을 이해하고 무선랜의 보안 취약점을 고려하여 보안정책을 수립하여야 한다. o 무선랜 보안 취약점 - 무선환경의 물리적 특성에 의한 취약점 AP의 전파가 강하게 설정되어 건물 외부에까지 출력될 경우 건물 외부에서 도 내부 네트워크에 접속 가능 무선랜은 유선처럼 물리적으로 랜케이블을 연결할 필요가 없기 때문에 관 리자의 눈을 피해 불법침입자가 접속하기 용이 기존의 AP를 제거하고 불법으로 AP를 교체하거나, 임의의 장소에 불법으 로 AP를 설치하는 방법으로 내부 네트워크를 해킹 사용자 인증이 없는 경우 장비를 도난하여 네트워크에 손쉽게 접속-무선은 유선에 비해 장비 이동이 용이해 장비 도난 가능성 높음 - 인증 및 암호화 매커니즘의 취약점 단말기 인증과 무선 구간의 암호화를 위해 AP와 단말기에 설정하는 WEP 프로토콜이 있으나 보안기능이 미약(WEP 인증방법은 상호인증 기능을 제 공하지 않기 때문에 AP는 단말기를 인증할 수 있지만 단말기는 AP를 인증 할 수 없어 단말기 입장에서 정당한 AP와 통신하는지 확인이 곤란. WEP 키를 주기적으로 변경하지 않고 사용할 경우 도청에 의한 복호화의 위험. - 161 -