NCS보안3기/네트워크2017. 4. 17. 20:17

라우터란 Network 계층에서 동작하는 장비이며 IP 프로토콜을 사용한다.


* 역할

- 서로 다른 네트워크를 연결한다.

- Broadcast Domain을 분리한다.

- Packet의 전송 경로를 결정한다. -> Routing

- 경로에 따른 packet을 전송한다. -> Switching

- 네트워크 보안 -> ACL


* 종류

- 단독형 : 일체형으로 이미 모든 인터페이스가 구성되어 있다 -> 확장 불가능

- 모듈형 : 사용자 필요에 따라 인터페이스 추가 가능 -> 확장 가능


* 인터페이스 종류

- LAN ➞ Ethernet( Fast Ethernet ) Interface

- WAN ➞ Serial Interface

- 관리용 ➞ Console Port, Auxiliary Port


* 케이블 종류

- V.35 ➞ WAN구간에 사용되는 케이블 중 하나

- UTP ➞ LAN구간에 사용되는 케이블

- Console cable ➞ 장비 관리용 케이블


* 라우터 접속 방법

1) Console cable 이용

- Router의 Console 포트에 Console cable연결

- 반대쪽은 컴퓨터의 serial 포트에 연결

- 연결 후 터미널 프로그램으로 접속

- 가장 안정적인 접근이 장점

- 불편하다는 단점


2) telnet 이용

- 편리하고 보편적인 방법

- Router의 IP주소가 필요

- 장소와 관계없이 접속 가능

- 첫 구성 및 네트워크 문제 시 사용 제약


3) 기타 방식

- AUX 포트

- NMS( Network Management System )

- TFTP 서버를 이용


* 라우터 구성

1) RAM

- IOS가 로딩되고 실행되는 위치

- Routing table과 구성파일( 설정내용 )이 동작하는 장소

- ARP cache 저장

- fast switching에 대한 cache 등을 저장

- 휘발성 메모리


2) NVRAM

- 비 휘발성 메모리

- 설정파일 저장

- Routing table 저장 X


3) Flash

- 전원을 차단해도 저장된 내용 유지

- 주로 IOS 이미지 파일 저장

- NVRAM보다 큰 메모리

- Router 기능 추가 시 IOS만 업그레이드


4) ROM

- Router의 기본적인 내용 저장

- 부팅 과정 등이 저장된다.( Bootstrap )

- 복구용 Mini IOS가 저장된다.


* 부팅과정

- Power on self test( POST )

- Load and run bootstrap code

- Find the IOS software

- Load the IOS software

- Find the configuration

- Load the configuration

- Run


* 라우터의 모드

1) ROMMON Mode

- 복구 모드

- ISO 이미지 파일 문제 시 사용

- Router 패스워드 분실 시 사용

- RXBOOT 모드라고도 부른다.

- 부팅 과정에서 Ctrl + Break 혹은 Register 값을 변경( 0x2141 )해서 진입한다.


2) Setup Mode

- Router 설정 파일이 없는 경우 자동 실행

- Router 설정을 위해 동작


3) User Mode

- 사용중인 Router에 처음 접속 시의 모드

- 프롬프트가 ' Router> ' 로 표시

- ping test 혹은 trace 가능

- 설정 불가능

- 명령어 제한

- 간단한 확인 및 점검


4) Privileged Mode

- 관리자 모드

- User mode에서 'enable' 명령어로 진입

- 상세한 설정 확인 및 점검

- 설정 불가

- 프롬프트가 ' Router# '로 표시


5) Global Configuration Mode

- 설정을 위한 모드

- Privileged mode에서 'configure terminal' 명령어로 진입

- 세부적인 세팅을 위한 항목별 진입

- exit 명령어로 사우이 모드로 변경

- end 명령어로 Privileged mode로 탈출


* 암호 설정

- Console Password : 사용자 모드 진입 시에 사용할 암호 설정

- Enable Password : 관리자 모드 진입 시 사용할 암호 설정( 평문 )

- Enable Secret : 관리자 모드 진입 시 사용할 암호 설정( 암호화 )

- VTY Password : 텔넷 접속 시에 사용하는 암호 설정


* IP 설정

- Global configuration Mode에서 인터페이스 선택

- 해당 인터페이스에 IP 설정






'NCS보안3기 > 네트워크' 카테고리의 다른 글

[Network] RIP  (0) 2017.04.17
[Network] 라우팅  (0) 2017.04.17
[Network] 네트워크 보안  (0) 2017.04.06
[Network] TCP/IP 모델  (2) 2017.04.06
[Network] MAC 계층과 데이터링크 계층  (0) 2017.04.05
Posted by Imp3rio

1. 네트워크 보안의 개념과 필요성

보안은 크게 컴퓨터 보안과 네트워크 보안으로 구분할 수 있다.

쉽게 말해, 컴퓨터 보안은 컴퓨터 자체의 데이터를 보호하는 것이고, 네트워크 보안은 컴퓨터 간에 데이터를 안전하게 전송하는 것이다.


* 보안 위협 요소

- 전송 차단

> 송신측에서 수신측에 메시지 전송 시 제 3자가 데이터의 전송을 차단


- 가로채기

> 송신측에서 수신측에 메시지 전송 시 제 3자가 도청


- 변조

> 송신측에서 수신측으로 전송할 데이터를 제 3자가 가로채서 데이터의 일부 또는 전부를 변경하여 잘못된 데이터를 수신측에 전송


- 위조

> 제 3자가 마치 송신측이 메시지를 전송한 것처럼 수신측에 전송


* 네트워크 보안

> 방화벽은 인터넷과 내부 네트워크 간에 일종의 세관 역할을 수행한다. 외부 네트워크에서는 네트워크 전면에 있는 방화벽만 보이고, 그 뒤에 놓인 내부 네트워크는 보이지 않는다.

> 따라서 해커가 침입하더라도 갈 수 있는 한계는 방화벽까지며, 내부 네트워크는 격리된다.


* 네트워크 보안의 요구사항

- 비밀성( Privacy )

> 데이터의 소유자가 원하는대로 비밀이 유지되어야 한다.

> 데이터는 소유자의 인증을 받은 사람만 접근이 가능해야 한다.

> 인증되지 않은 데이터는 공개가 불가능해야 한다.


- 무결성( Data Integrity )

> 인증되지 않은 사용자가 데이터를 임의로 변경, 수정, 삭제하지 못하게 해야 한다.

> 데이터의 정확성과 완전성을 보장해야 한다.


- 가용성( Data Availability )

> 정당한 방법으로 권한을 받은 사용자가 데이터 또는 자원을 필요로 할 때 아무런 방해를 받지 않고 데이터에 접근하고 사용할 수 있음을 보장해야 한다.


* 바이러스의 이해

> 컴퓨터 동작에 피해를 주는 프로그램이다.

> 다른 일반 프로그램과 동일한 누군가에 의해 제작된다.

> 네트워크 공유 및 이메일, P2P 프로그램에서의 파일 다운로드, 메신저 프로그램 등을 통해서 전파 및 감염 된다.

> 바이러스 감염 증상

- 컴퓨터 부팅 시 시스템 관련 파일을 찾을 수 없다는 에러 메시지가 나오는 경우

- 윈도우 자체가 실행되지 않는 경우

- 프로그램 실행 속도가 현저히 저하되고 시스템이 자주 멈추는 경우

- PC 사용 중 비정상적인 그림이나 메시지가 뜨거나 소리가 나는 경우

- 사용자 의사와 상관없이 프로그램이 실행되거나 마우스가 스스로 움직이는 경우

- 폴더에 알 수 없는 파일이 생기는 경우


* 바이러스 예방과 제거

> 백신 프로그램 또는 개인 방화벽 등 보안 프로그램 설치 운영

> 윈도우 업데이트가 자동으로 실행될 수 있도록 설정

> 소프트웨어는 정품만 사용

> 중요한 프로그램이나 데이터는 수시로 백업

> 새로운 프로그램을 사용할 때 하나 이상의 최선 버전 백신 프로그램으로 검사

> 정기적으로 디스크 검사 수행


* 웜

> 실행 코드 자체로 번식하는 유형주로 컴퓨터 내에서 실행된다.

> 웜과 바이러스는 감염 대상 유무와 자기 복제 능력 유무에 따라 분류된다.


- 공격 유형

1) 백 도어 기능을 이용한 정보 유출

> 최근에는 해킹을 하기 위해 해커들이 직접 웜을 제작하는 경우가 많아졌다.

> 개인의 아이디나 패스워드는 물론 개인 금융 정보까지 위협받고 있다.


2) 서비스 거부 공격

> 시스템의 정상적인 서비스를 방해하기 위한 목적으로 대량의 데이터 전송

> 시스템 또는 네트워크의 성능을 급격히 저하시키는 공격 유형이다.

> 웜에 감염된 불특정 다수의 컴퓨터들은 주기적으로 특정 사이트에 접속한다.

> 해커의 명령이 없다면 웜은 아무 기능도 수행하지 않는다.

> 만약 해커가 공격 명령을 전달하면 감염된 웜이 동시에 특정 시스템을 공격한다.

> 불특정 다수 시스템에게 동시 공격을 받기 때문에 전체 네트워크 마비 위험


- 전파 유형

1) 이메일을 통한 전파

> 웜이 실행되면 자신을 윈도우 폴더 또는 주요 시스템 폴더에 복사

> 재부팅이 되더라도 자동으로 실행 가능하게 레지스트리에 자신을 등록

> 컴퓨터에 저장된 주소록이나 브라우저의 임시 디렉터리에서 이메일 주소를 추출해 하드디스크에 저장

> 수집된 이메일 주소로 웜을 첨부하여 발송

> 이메일을 받은 사용자가 이메일을 읽거나 첨부 파일을 실행ㅎ면 동일한 일들이 반복되어 웜이 전파된다.


2) P2P 공유 프로그램을 통한 전파

> 지정된 폴더에 웜을 복사

> 사용자들이 많이 검색하는 이름으로 파일 이름을 변경

> 공유 폴더에 있는 파일을 다운로드하여 실행함을써 웜이 전파되는 악순환 반복


* 악성 코드( malware )

> 악의적인 소프트웨어의 약자

> 시스템 파괴 및 작업 지연, 정보 유출 등 악의적 활동을 위해 의도적으로 제작된 소프트웨어

> 자기 복제와 파일 감염이 특징인 바이러스의 개념까지 포함한다.

> 악성코드 감염증상

- 웹 브라우저를 실행할 때마다 특정 웹사이트로 이동하는 경우

- 수시로 음란광고 같은 팝업이 뜨는 경우

- 사용자가 변경하지 않았는데도 윈도우 설정이 자동으로 바뀌는 경우

- 실행하지 않은 파일이 저절로 삭제되거나 변형되는 경우

- 컴퓨터의 속도나 인터넷 속도가 갑자기 느려지는 경우

- 부팅 속도가 느려지는 경우

- 컴퓨터를 사용하지 않는데도 하드디스크 드라이브가 작업 중일 경우


* 트로이 목마( Trojan horse )

> 자료 삭제, 정보 유출, 해킹 기능이 있다.

> 인터넷을 통해 감염된 컴퓨터의 정보를 외부로 유출하는 악성 프로그램이다.

> 주로 인터넷에서 파일을 다운로드할 때 전파된다.

> 유용한 프로그램으로 가장하여 사용자가 그 프로그램을 실행하도록 속인다.

> 사용자가 그 프로그램을 실행하게 되면 실제 기대했던 기능을 수행한다.

> 트로이 목마는 자기 복제 능력이 없어 한 프로그램 내에서만 존재


* 스파이웨어

> 스파이와 스프트웨어의 합성어

> 광고나 마케팅을 목적으로 배포하므로 애드웨어라고도 한다.

> 최근에는 컴퓨터 사용자 동의 없이 설치되어 컴퓨터 사용에 불편을 끼치거나 정보를 가로채는 악성 프로그램을 일컫는다.

> 보통 인터넷에서 무료로 공개되는 소프트웨어 다운로드 시 함께 설치된다.


* 해킹

> 사용이 허락되지 않은 컴퓨터에 불법으로 접속 및 저장된 파일 또는 정보를 취득하거나 임의로 수정하는 행위

> 운영체제나 정상적인 프로그램을 손상시키는 행위


* 쿠키

> 사용자가 방문한 인터넷 웹 사이트에서 추후에 어떤 용도로든 사용하기 위해서 사용자의 하드디스크에 남기는 정보를 의미한다.

> 사용자와 웹 사이트를 연결해 주는 정보

> 사용자가 특정 홈페이지 접속 시 생성되는 정보를 담은 4KB 이하 임시 파일


* 피싱

> 개인정보와 낚시의 합성어

> 웹 상에서 계좌번호, 신용카드번호, 주민등록번호 등과 같은 개인정보를 입력하도록 유도함으로써 개인정보를 불법적으로 알아내는 사기 수법


* 파밍

> 사용자 컴퓨터에 트로이목마 프로그램을 심어 은행의 공식 인터넷 뱅킹 주소를 변경함

> 고객이 거래 은행의 주소를 입력하면 해커가 만든 위장 사이트로 접속됨

> 고객들은 위장 사이트인 줄 모르고 자신의 금융 정보를 입력하고 해커는 이를 가로챔

> 인터넷 뱅킹 사용 시 평소에 묻지 않던 정보를 모두 입력하라는 화면이 나오면 파밍 가능성을 의심해야 한다.


* IP 스푸핑

> 자신이 공격하고자 하는 컴퓨터를 무력화시키기 위해 자신이 그 컴퓨터인 것처럼 IP 주소를 속이는 행위를 말한다.

> 외부 네트워크 공격자가 임의로 웹사이트를 구성해 일반 사용자의 방문을 유도하여 사용자 시스템 권한을 획득한 뒤 정보를 빼가는 해킹 수법이다.


> 스푸핑  차단 방법

1) 액세스 제어

내부 네트워크에 존재해야 하는 송신지 주소를 가진 외부 네트워크의 패킷은 모두 거부하도록 한다.

2) 필터링

내부 네트워크의 IP 주소 범위에서 송신지 주소를 보유하지 않은 패킷이 외부로 나가는 것을 차단한다.

3) 암호화

IP 스푸핑을 차단하는 가장 좋은 방법은 패킷을 암호화 하는 것이다.


* IP 스니핑

> 네트워크를 통해 전송되는 데이터를 엿듣는 일종의 도청 행위

> 보안의 기본 요소 중 비밀성을 해치는 공격 방법이다.

- TCP/IP 프로토콜은 인터넷이 시작되기 전에 설계된 프로토콜이므로 패킷에 대한 암호화, 인증 등을 고려하지 않아 데이터 통신 보안의 기본 요소 중 비밀성, 무결성 등을 보장할 수 없다.


2. 시스템 보안 방법

입출력 패킷 분석을 통한 트래픽 제어 또는 차단용 방화벽 시스템 사용

> 인터넷과 같은 외부 네트워크와 연결된 내부 네트워크 보호 목적

 침입 탐지 시스템( IDS )과 침입 방지 시스템( IPS )

> 단순한 접근 제어 수준의 방화벽 기능의 한계를 보완하기 위해 등장했다.


1) 방화벽

> 내부 네트워크의 자원 및 정보를 보호하기 위한 시스템이다.

> 기본 구성 요소

* 네트워크 정책

- 제한된 네트워크로부터 서비스 허용 여부를 정의하는 정책

- 실질적인 액세스 제한 방법 및 상위 레벨에서 정의한 서비스 필터링 방법 제시


*  방화벽 사용자 인증 시스템

- 스마트 카드, 인증 토큰, 소프트웨어 매커니즘, 일회용 패스워드 사용


* 패킷 필터링

- 패킷 필터링 라우터로 라우터 인터페이스를 지나는 패킷을 필터링


* 응용 계층 게이트웨이

- 축적 전달 방법 사용하는 경우가 많음

- 게이트웨이는 송신자 서비스가 보내는 정보를 그대로 전달

- 프록시 서버 기능 제공


> 방화벽 종류

* 스크리닝 라우터( Screening Router )

- 네트워크에서 사용하는 프로토콜의 형태

- 송수신지 주소, 프로토콜의 제어 필드, 통신 시 사용하는 포트 번호를 분석

- 내부 네트워크에서 외부 네트워크로 나가는 패킷의 진입을 허가 또는 거절

- 외부 네트워크에서 내부 네트워크로 딘입하는 패킷의 진입을 허가 또는 거절

- OSI 참조 모델의 3계층과 4계층에서 동작하기 때문에 3계층과 4계층에서 동작하는 프로토콜인 IP, TCP 또는 UDP의 헤더에 포함된 내용을 분석한다.



- 장점

> 필터링 속도가 빠르고, 비용이 적게 듦

> 네트워크 및 전송 계층에서 동작하기 때문에 클라이언트와 서버에 변화가 없어도 된다.

> 하나의 스크리닝 라우터로 보호하려는 네트워크 전체를 동일하게 보호할 수 있다.


- 단점

> 네트워크 계층과 전송 계층의 트래픽만 방어할 수 있다.

> 패킷 필터링 규칙을 구성하여 검증하기 어렵다.

> 패킷 내의 데이터 공격을 차단하는 것은 불가능하다.

> 스크리닝 라우터를 통과하거나 거절당한 패킷의 기록을 관리하기 힘들다.


* 베스천 호스트

- 보호된 네트워크에서 유일하게 외부의 공격에 노출된 컴퓨터 시스템을 말한다.

- 내부 네트워크와 외부 네트워크 사이의 게이트웨이 역할을 한다.

- 네트워크 보안상 가장 중요한 위치를 차지하므로 관리자에 의해 철저하게 감시한다.

- 불법적인 침입 의도로 접속한 모든 시스템 기록에 대해서 주기적으로 검사를 실행한다.

- 장점

> 응용 서비스의 종류에 종속적이므로 스크리닝 라우터보다 안전성이 높다.

> 데이터 공격을 확실하게 방어할 수 있다.

> 로그 정보의 생성 및 관리가 용이하다.


- 단점

> 모든 보안 기능이 베스천 호스트에 집중되어 있으므로 베스천 호스트가 손상되면 내부 네트워크를 전혀 보호할 수 없다.

> 각종 로그인 정보가 누출되면 방화벽 역할이 불가능하다.


3. 방화벽 시스템 방식

1) 패킷 필터링 방식

> OSI 참조 모델의 네트워크 계층과 전송계층에서 패킷의 송신지 및 목적지 IP 주소정보, 각 서비스의 포트 번호를 이용한 접속을 제어한다.

2) 응용 프로그램 게이트웨이

> 응용 프로그램 게이퉤이는 OSI 참조모델의 응용 계층에 방화벽 기능이 들어 있다.

> 각 서비스별 프록시를 이용하며, 패킷 필터링 방식처럼 IP 주소 및 TCP 포트를 이용하여 네트워크의 접근을 제어할 수 있다.

3) 회로 레벨 게이트웨이

> OSI 참조모델에서 5계층과 7계층 사이에 있으며, 응용 프로그램 게이트웨이와는 달리 각 서비스별로 프록시가 있는 것이 아니고 어느 응용 프로그램이든 이용할 수 있는 일반적인 프록시만 있다.

4) 혼용 방화벽

> 때에 따라 여러 유형의 방화벽을 복합적으로 구성할 수도 있다.


4. 방화벽 구축 시 고려 사항

> 보호하고자 하는 하드웨어나 소프트웨어, 각종 중요한 정보나 시스템관리에 대한 문서 등을 정의하고 방화벽 시스템 구축 시 고려해야 한다.

> 보호하고자 하는 자원 및 정보들에 대한 위협이 어떤 것들이 있는지 분석해야 한다.

> 사용자 계정을 가진 사용자만이 네트워크를 사용하도록 할 것인지 비인증자라도 제한된 자원을 사용하도록 할 것인지 결정해야 한다.

> 해커와 같이 불법 침입자가 시스템 내부를 공격했을 때 취할 대응책을 마련해야 한다.

> 구매하는데 드는 비용과 구현에 드는 비용을 정확하게 산축해야 한다.


5. 침입 탐지 시스템( IDS )


* 기초 자료의 종류에 따른 분류

- 단일 호스트 기반

> 침입 탐지 시스템을 설치한 단일 호스트에서 생성되고, 수집된 감사 자료를 침입 탐지에 활용하는 방식


- 다중 호스트 기반

> 단일 호스트 기반과 동일한 방식이지만 여러 호스트의 자료를 활용한다.


- 네트워크 기반

> 해당 네트워크 전체의 패킷 관련 자료를 수집하여 침입 탐지에 활용하는 방식


* 침입 행위의 기준에 따른 분류

- 정상적인 행위의 탐지

> 정상적으로 시스템을 사용한 행위의 프로파일을 보유하고 있다가 프로파일의 기준에서 벗어나면 즉시 탐지 작업을 수행하는 방식


- 잘못된 행위의 탐지

> 시스템의 잘 알려진 취약점을 공격하는 행위의 프로파일을 보유하고 있다가 해당 공격이 취해지면 즉시 탐지 작업에 들어가는 방식



6. 침입 방지 시스템( IPS )


'NCS보안3기 > 네트워크' 카테고리의 다른 글

[Network] 라우팅  (0) 2017.04.17
[Network] 라우터  (0) 2017.04.17
[Network] TCP/IP 모델  (2) 2017.04.06
[Network] MAC 계층과 데이터링크 계층  (0) 2017.04.05
[Network] 네트워크 기술  (0) 2017.04.05
Posted by Imp3rio

* TCP/IP의 이해

1) 네트워크 접속 계층

> 운영체제의 네트워크 카드와 디바이스 드라이버 등과 같이 하드웨어적인 요소와 관련되는 모든 것을 지원하는 계층이다.

> 송신측은 상위 계층으로부터 전달받은 패킷에 MAC 주소 정보를 가지고 있는 헤더를 추가하여 프레임을 생성하고 물리 계층으로 전달한다.

> 수신측은 데이터 링크 계층에서 추가된 헤더를 제거하여 상위 계층인 네트워크 계층으로 전달한다.


- 네트워크 계층

라우팅 - 송수신 호스트 사이의 패킷 전달 경로를 선택하는 과정을 의미한다.

혼잡제어 - 혼잡의 발생을 예방하거나 제거하는 기능이다.

패킷의 분할과 병합 - 송신측은 적절한 크기로 데이터를 분할하고 수신측은 병합한다.


- 전송계층

> 상위 계층에서 볼 때, 두 개의 호스트간의 자료 전송을 담당하는 계층이다.

> TCP, UDP 두 종류의 프로토콜을 사용한다.

> 네트워크 양단의 송수신 호스트 사이에서 신뢰성 있는 전송 기능을 제공한다.

> OSI 모델에서 세션 계층의 일부 기능과 전송 계층에 해당한다.

> 시스템의 논리 주소와 포트가 있어 각 상위 계층의 프로세스를 연결하여 통신한다.

> 송신측은 상위 계층으로부터 전달받은 데이터를 효율적으로 전송하기 위해 패킷단위로 분할한다.

> 수신측은 하위 계층으로부터 전달받은 패킷을 원래 데이터로 재결합한다.


- 응용 계층

> TCP/IP 프로토콜의 범위는 응용 계층의 프로토콜까지 포함한다.

> 해당되는 프로토콜과 서비스에는 Telnet, FTP, SMTP 등이 있다.


2) TCP/IP 주소의 구조

- 물리 주소

> 링크 주소 또는 통신망에서 정의된 노드의 주소, 이더넷 네트워크인터페이스 카드 주소 등을 말한다.

> 이더넷 상에서 각 호스트를 구별하기 위하여 각각의 이더넷 카드에 부여되는 고유 번호를 의미한다.


- 인터넷 주소

> 인터넷에는 기존 물리 주소와는 별도로 각 호스트를 식별할 수 있는 유일한 주소를 지정해야 한다.

> 현재 인터넷에 연결된 호스트를 유일하게 식별할 수 있는 32비트 주소 체계를 사용한다.


- 포트 주소

> 수신지 컴퓨터까지 전송하려면 IP 주소와 물리주소가 필요하다.

> 인터넷 통신의 최종 목적은 한 프로세스가 다른 프로세스와 통신할 수 있도록 하는 것이다.


3) 서비스의 종류


- 비연결형 서비스

> 패킷의 전달 순서

패킷이 서로 다른 경로로 전송되므로 도착 순서가 일정하지 않다.

상위 계층에서 순서를 재조정해야 한다.

> 패킷 분실 가능성

패킷의100% 도착을 보장하지 않는다.

상위 계층에서 패킷 분실 오류를 복구해야 한다.


- 연결형 서비스

> 상대적으로 신뢰성이 높다


4) 라우팅

패킷의 전송 경로를 지정한다.

전송 경로 결정시 고려사항

> 공평 원칙 - 다른 패킷의 우선 처리를 위해 다른 패킷이 손해를 보면 안된다.

> 효율 원칙 - 전체 네트워크의 효율성에 대해 고려해야 한다.


- 정적 라우팅

> 패킷 전송이 이루어지기 전에 경로 정보를 라우터가 미리 저장하여 중개한다.

> 단점 - 경로 정보의 갱신이 어려우므로, 네트워크 변화/네트워크 혼잡도 대처가 부족하다.


- 동적 라우팅

> 라우터의 경로 정보가 네트워크 상황에 따라 적절히 조절된다.

> 단점 : 경로 정보의 수집과 관리로 인한 성능 저하


- HELLO/ECHO 패킷

HELLO : 주변 라우터에 HELLO 패킷을 보내어 주변 경로 정보를 파악하는 용도

ECHO : 라우터 사이의 전송 지연 시간을 측정하는 용도


- 라우팅 테이블

> 라우터가 패킷의 적절한 경로르 찾기 위한 가장 기본적인 도구이다.


- 라우팅 정보의 처리

> 소스 라우팅

송신 호스트가 패킷의 전달 경로를 결정하는 방식

전송 경로는 전송 패킷 내부에 기록된다.

> 분산 라우팅

라우팅 정보를 분산하여 관리하는 방식

호스트의 개수가 많아질수록 효과적이다.

> 중앙 라우팅

특정 호스트( RCC )가 모든 라우팅 정보를 관리

송신 호스트는 패킷 전송 전에 RCC에게 경로 정보를 얻어서 소스 라우팅으로 전송한다.

호스트의 개수가 많아질수록 비효율적이다.

> 계층 라우팅

분산 라우팅과 중앙 라우팅의 조합이다.

네트워크 규모가 커질수록 매우 효과적이다.


5) 혼잡 제어

- 혼잡의 원인

>타임아웃기능에 의한 패킷의 재전송으로 혼잡도 증가

초기 혼잡 과정에서 타임아웃시간이 작으면 혼잡도가 급격히 증가한다.

패킷 도착 순서가 다른 상황에서 패킷을 분실처리하면 타임아웃이 증가한다.

의도적으로 피기배킹을 사용하면 응답시간이 느려져 타임아웃이 증가한다.

패킷 생존 시간을 작게 하면 패킷이 강제로 제거되어 타임아웃이 증가한다.

> 라우팅 알고리즘

혼잡이 발생하지 않는 경로를 배정하도록 설계해야 한다.

혼잡이 발생하는 경로를 선택하면 혼잡이 주변으로 확대된다.


- 트래픽 성형

> 혼잡의 발생은 트래픽이 특정 시간에 집중되는 버스트 현상이 원인이다.

> 패킷 발생 정도를 네트워크에서 예측 가능한 정도로 조절하는 기능이 필요하다

> 리키 버킷 알고리즘


- 혼잡 제거

>특정 지역의 혼잡이 다른 지역으로 확대되지 않도록 하는 것이 중요하다.

> 자원 예약 방식 - 호스트와 서브넷이 미리 네트워크 자원의 사용 정도를 협상한다.

> 초크 패킷

6) 라우팅

- 거리 벡터 프로토콜

> 누가 : 이웃하게 직접 연결된 라우터간에 라우팅 정보를 교환

> 무엇을 : 각 라우터에서 개별 네트워크까지 패킷을 전송하는데 걸리는 거리 정보


- RIP

> 거리 벡터 프로토콜을 사용하는 내부 라우팅 프로토콜

> UDP 프로토콜을 사용한다.

> 라우팅 테이블 적용 원리

거리 벡터 정보가 새로운 네트워크 주소면 적용

목적지까지의 지역이 더 적으면 기존 경로를 대체

거리 벡터 정보가 입력되면 등록 정보를 수정

> 패킷 구조 : 벡터 정보를 교환하는 목적으로 사용한다.


- 링크 상태 프로토콜

> 거리 벡터 프로토콜과 반대의 원리로 동작한다.

> 누가 : 네트워크에 연결된 모든 라우터간에 라우팅 정보를 교환

> 무엇을 : 개별 라우터에서 주변 라우터까지 패킷을 전송하는데 걸리는 거리 정보

> 정보 전달 시점의 차이

거리 벡터 : 주기적으로 전달

링크 상태 : 주변 상황에 변화가 생기는 경우


7) IP 프로토콜

비연결형 서비스를 제공한다.

패킷을 분할/병합하는 기능을 수행한다.

헤더 체크섬만 제공한다.

Best Effort 방식의 전송 기능


- IP 헤더

> Sevice Type


> 패킷 분할

- Identification

분할되지 않은 패킷 : 값을 순차적으로 증가

분할된 패킷 : 동일한 번호 부여

- DF

패킷 분할 금지

- MF

분할된 패킷의 처음과 중간 : 1

분할된 패킷의 마지막 : 0

- Fragment Offset

분할되기 전 데이터에서의 사애적인 위치 정보

8 바이트의 배수로 지정한다.

> 주소 관련 필드

Source Address : 송신 호스트의 IP 주소

Destination Address : 수신 호스트의 IP 주소

> 기타 필드

- Version Number : 버전 4( IPv4 )

- Header Length : 헤더 길이를 32비트 단위로 표시

- Packet Length : 헤더를 포함한 패킷의 전체 길이

- Time To Live( TTL )

패킷의 생존 시간

라우터를 거칠 때마다 1씩 감소되며, 0이 되면 네트워크에서 강제로 제거

- Transport Protocol : 상위 계층 프로토콜

- Header Checksum : 헤더 오류 검출

- Options

- Padding


8) IP

- IPv4

8비트 크기의 필드 네 개를 이용하여 구성한 32비트 논리 주소


- IP 주소 체계

네트워크 주소( net id )와 호스트 주소( host id )로 구분한다.


1) 네트워크 주소

전체 네트워크를 보다 작은 네트워크로 분할하여 각 호스트가 속한 네트워크를 대표하는데 사용한다.

8비트, 16비트, 24비트의 크기로 분류한다.

2) 호스트 주소

네트워크 주소로 표현되는 네트워크 내부에서 각 호스트의 주소를 표현한다.

전체 32비트에서 네트워크 주소를 제외한 나머지에 해당한다.


- IP 주소

> IP 주소의 효률적인 배정을 위하여 설계 시 클래스라는 개념을 도입했다.

> 클래스에는 A, B, C, D, E 다섯 가지 종류가 있다.

D 클래스는 IP 멀티 캐스팅용

E 클래스는 자원 확보를 위한 예비용

실제 사용하는 것은 A, B, C 클래스 세 가지 종류


1) A 클래스

> 네트워크 주소로 8비트, 호스트 주소로 24비트를 사용한다.

> 식별자 : "0" 

> 범위 : 0.0.0.0 ~ 127.255.255.255

> 0.0.0.0 -> 사용하지 않는 주소

> 127.X.X.X -> 시스템 루프백 주소라 사용하지 않는다

> 실질적인 범위 : 0.0.0.0 ~ 126.255.255.255

> 대형 기관 및 대형 기업

2) B 클래스

> 식별자 : "10"

> 네트워크 주소에 16비트, 호스트 주소에 16비트를 배정하는 클래스

> IP 주소의 시작이 128 ~ 191로 시작하고, 기본 네트워크 마스크는 255.255.0.0

> 범위 : 128.0.0.0 ~ 191.255.0.0

> 호스트 주소는 2바이트로 호스트 65,534개 구성

> 중형 기업 및 기관

3) C 클래스

> 식별자 : "110"

> 네트워크 주소에 24비트, 호스트 주소에 8 비트를 배정하는 클래스

> 호스트를 최대 254개 사용

> IP 주소의 시작이 192 ~. 23으로 시작, 기본 네트워크 마스크는 255.255.255.0

> 범위 : 192.0.0.0 ~ 223.255.255.255

> 소규모 기관 사용


4) 사설 주소

> IP 주소 중 인터넷에서 사용하지 않는 주소

> IP 주소 부족을 해결하는 방안


5) 서브넷팅

> IP를 효율적으로 낭비 없이 분배하고, Broadcast Domain의 크기를 작게 나눠 주는 것

> Class 별 default Subnet mask를 사용하지 않고 적당한 크기의 Subnet mask로     사용자의 상황에 따라 하나의 네트워크를 작게 여러 개로 나눠 사용한다.

> Classful Network를 여러 개의 네트워크로 나누는 것이다.

> 네트워크가 분리되면 서로 통신하기 위해서는 라우터를 통해야 한다.


- IPv6

16바이트, 즉 128 비트로 구성된다.

주소를 읽기 쉽게 하기 위해 16진수 콜론 표기를 규정한다.

128비트는 길이가 2바이트인 8개의 영역으로 나뉜다.

16진수 표기법에서 2바이트는 4개의 16진수로 표현되어 전체적으로 32개의 16진수로 표현된다.


9) 이중 스택

인터넷의 모든 시스템이 IPv6를 사용할 때까지 IPv4와 IPv6를 동시에 사용한다.

패킷을 목적지로 보낼 때 버전을 결정하기 위해 송신측에서 DNS에 질의를 한다.


10) TCP

- TCP는 연결 지향, 신뢰성 있는 바이트 스트림 서비스를 제공한다.

> 연결지향

응용 프로그램이 데이터를 교환하기 전에 서로 TCP 연결을 확립해야 한다.

> 신뢰성 있는

메시지를 성공적으로 수신했거나 오류가 발생했다는 것을 알린다.

> 순서적인 데이터 전달 서비스

송신측 전송 계층 프로세스와 목적지 전송 계층 프로세스 사이에 연결이라는 논리적 관계가 설정된다.


- 포트 번호

* 포트

> TCP가 상위 계층으로 데이터를 전달하거나 상위 계층에서 TCPfㅗ 데이터를 전달할 때 상호 간에 사용하는 데이터의 이동통로

> 상위 계층 프로토콜과 하위 계층 프로토콜은 같은 포트를 사용해야 한다.

> 다수의 포트를 활용하여 동시 다운로드가 가능하다.


- TCP 세그먼트

> 바이트 스트림을 세그먼트 단위로 나눈다.


> 송신지 포트 번호

세그먼트를 전송하는 호스트에 있는 응용 프로그램의 포트번호

> 수신지 포트 번호

수신지 호스트에서 수행하는 프로세스가 사용하는 포트 번호

> 순서 번호

세그먼트에 포함된 데이터의 첫 번째 바이트에 부여된 것

> 확인 응답 번호

세그먼트를 수신하는 노드가 상대편 노드에서 수신하려는 바이트의 번호

> 헤더 길이

TCP 헤더 길이를 4바이트 워드 값으로 나타낸다. 20~60 바이트

> 예약

나중에 사용하려고 예약된 6비트 필드

> 플래그

프로토콜의 동작을 젱하는데 사용하는 비트 단위의 플래그

> 윈도우 크기

상대방이 유지해야 하는 바이트 단위의 윈도우 크기를 정의한다.

> 검사합

헤드 부분의 오류를 검출하는 검사합 계산을 포함한다.

>긴급 포인터

URG 플래그 설정 시 긴급 데이터의 마지막 바이트의 순서 번호

> 옵션

송신자가 수신하기를 원하는 세그먼트의 최대 크기를 나타낸다.


- TCP 연결 관리

연결 설정( 3-way handshaking )


연결 종료( 4-way handshaking )


- TCP 흐름 제어

> TCP는 원래의 데이터를 패킷이라는 작은 단위로 분할하여 전송하기 때문에 수신측의 컴퓨터는 수신한 패킷들을 재결합하여 다시 원래의 데이터로 만들어 주어야 한다.

> 한번에 패킷을 하나씩 송수신한 후 다음 번 패킷을 송신하는 것보다 한 번에 여러 개의 패킷을 송수신 한 다음 수신 확인 신호를 전송하는 것이 훨씬 효율적이다.


11) UDP

비연결 지향 프로토콜

패킷이나 흐름 제어, 단편화 및 전송 보장 등의 기능 등을 제공하지 않는다.

요청 메시지와 응답 메시지로 구성된다


> 송신지 포트 번호

데이터 영역의 데이터 정보를 만든 전송 시스템의 프로세스나 응용 프로그램

TCP 헤더의 송신지 포트 기능

> 수신지 포트 번호

데이터 영역의 데이터 정보를 처리할 수신 시스템의 프로세스나 응용 프로그램

TCP 헤더의 수신지 포트 기능

> 길이

UDP 헤더와 데이터의 길이를 바이트 단위로 나타낸다.

UDP 메시지에 들어있는 데이터 정보의 양을 나타낸다.

> 검사합

수신측에서 UDP 헤더와 데이터 및 IP 헤더의 에러를 검사한다.

> 데이터

송신지 포트의 응용 계층 프로세스가 만든 데이터 정보


'NCS보안3기 > 네트워크' 카테고리의 다른 글

[Network] 라우터  (0) 2017.04.17
[Network] 네트워크 보안  (0) 2017.04.06
[Network] MAC 계층과 데이터링크 계층  (0) 2017.04.05
[Network] 네트워크 기술  (0) 2017.04.05
[Network] 네트워크 모델  (0) 2017.04.04
Posted by Imp3rio