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

1. 개요

- Router의 주 목적이다.

- Packet 전송 경로 검색

- 최적의 경로를 Routing table에 저장

- 목적지를 모를 경우 폐기( Drop )

- static 방식과 dynamic 방식

- 확인 시 Privileged mode에서 확인한다.

- " show ip route "


2. Static Routing Protocol

1) 특징

- 관리자가 직접 입력

- 초기 등록 및 변경 시 수동 입력

- 소규모 네트워크에 적합

- 한번 지정하면 자동 변경되지 않는다.

- 정해진 경로로만 전달한다.


2) 장점

- 라우터에 부담이 적다

- 대역폭을 절약할 수 있다.

- 보안에 유리하다.


3) 단점

- 직접 설정해야 하기 때문에 불편하다.

- 문제 발생 시 자동으로 처리할 수 없다. -> 문제 발생 시 처리 시간 지연

- 확장 및 변경이 어렵다.


4) 설정

1 : 목적지 네트워크 주소

2 : 목적지 네트워크의 서브넷 마스크

3: 목적지 네트워크로 가기 위한 next-hop address( 즉 설정하는 Router와 연결된 상대방 Router 인터페이스의 주소 )

4 : 3번의 address 대신 interface를 넣을 수 있다.( 자기 Router에서 데이터가 나가는 출구 interface를 의미함 )

5 : distance는 메트릭 값. distance 값이 커지면 가치가 떨어진다.

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

[Network] EIGRP  (0) 2017.04.18
[Network] RIP  (0) 2017.04.17
[Network] 라우터  (0) 2017.04.17
[Network] 네트워크 보안  (0) 2017.04.06
[Network] TCP/IP 모델  (2) 2017.04.06
Posted by Imp3rio
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
* MAC 계층과 LLC 계층

- MAC 계층
LAN 종류에 따라 특성이 구분된다.
1) 이더넷
> 공유 버스 구조를 지원하며, 충돌 현상이 발생한다.
> 충돌 감지 기능이 필요하다.
> 충돌 현상 발생시 호스트는 이를 감지하고, 일정 시점이 지난 후에 재전송해야 한다.
2) 토큰링
> 토큰을 사용해서 데이터 전송 시점을 제어하므로 충돌 발생이 불가능하다.

- LLC 계층
LAN 환경의 데이터 링크 계층 기능을 수행한다.
LAN 종류에 따라 MAC 계층의 설계 형태가 영향을 받는 것처럼, LLC 계층도 LAN 특성에 부분적으로 영향을 받을 수 있다.
이더넷에서 사용하는 LLC와 토큰링에서 사용하는 LLC는 약간 다를 수 있다.

* IEEE 802 시리즈


1) CSMA/CD

MA( Multiple Access ) - 다수 호스트가 하나의 공유 매체에 연결됨

CS( Carrier Sense ) - 호스트는 공유 메체의 사용 가능 여부를 신호 감지로 확인

CD( Collision Detection ) - 공유 매체에서 데이터 충돌 여부를 확인


충돌 감지 기능이 필수적으로 요구된다.

충돌 감지 후, 재전송 기능으로 오류 복구한다.

공유 매체의 길이가 길수록 전송지연이 증가하여 충돌 가능성이 높아진다.


2) 토큰 버스

물리적으로 버스 구조

논리적으로 토큰링 구조

데이터를 전송하기 위해서는 반드시 토큰을 확보해야 한다.


3) 토큰 링

물리적으로 토큰링 구조

- 대기모드

입력단으로 들어온 데이터를 바로 출력단으로 보낸다.

호스트가 다운되거나 기타 장애가 발생해도 네트워크에 영향을 주지 않기 위함이다.


- 전송모드

토큰을 확보해 데이터를 전송할 수 있는 권한을 보유한 상태를 말한다.

호스트가 중개 기능을 수행하며, 출력단을 통해 데이터를 전송할 수 있다.


* 이더넷( Ethernet )

1) 1-persistent CDMA

프레임을 전송하기 전에 채널 사용 여부를 확인한다.

채널이 사용중이면 유휴 상태가 될 때까지 대기한다.

이후, 채널이 유휴 상태가 되면 확률 1의 조건으로 프레임을 전송한다.

둘 이상의 호스트에서 동시에 유휴 상태로 판단하면 충돌이 발생한다.

충돌이 발생하면 임의의 시간 동안 대기한 후 채널 사용 여부부터 다시 시작한다.


2) Non-persistent CSMA

프레임을 전송하기 전에 채널 사용 여부를 확인한다.

채널이 사용중이면 더 이상 유휴 상태를 확인하지 않는다.

대신 임의의 시간 동안 대기 후 다시 채널 감지를 시작한다.

1-persistent CSMA 방식보다 충돌 확률을 줄일 수 있다.


3) P-persistent CSMA

슬롯 채널 방식에서 주로 사용한다.

프레임을 전송하기 전에 채널 사용 여부를 확인한다

채널이 사용 중이면 다음 슬롯까지 대기 후 다시 채널 감지를 시작한다.

채널이 유휴 상태면 p의 확률로 프레임을 전송한다.


* 프레임

MAC 프레임 - MAC 헤더 + LLC 프레임 + MAC 트레일러

LLC 프레임 - LLC 계층이 MAC 계층에게 전송하도록 요청한 데이터

- 프레임 구조

preamble : 수신 호스트가 송신 호스트의 클록 동기를 맞추는 용도

Start Delimiter : 프레임의 시작 위치 구분

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

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

Length : Data 필드에 포함된 가변 길이의 전송 데이터 크기

Checksum : 데이터 변형 오류를 감지하는 기능


1) 문자 프레임

프레임의 내용이 문자로만 구성된다.

전송 데이터에 특수 문자가 포함되면 혼선이 발생한다.

- 문자 스터핑 : 문자 프레임의 전송 데이터 중 DLE 문자가 포함되면서 발생하는 혼란을 예방하는 방법이다.


2) 비트 프레임

프레임의 시작과 끝을 구분하기 위하여 플래그 (01111110)를 사용한다.

- 비트 스터핑 : 송신 호스트가 전송하고자 하는 데이터 내용 중에 값이 1인 패턴이 연속해서 5번 발생하면 강제로 0을 추가해 전송한다.


* 오류 검출

1) 단일-비트 오류( Single-bit Error )

데이터 단위 중 하나의 비트만 변경된 오류를 말한다.


2) 다중-비트 오류( Multiple-bit Error )

데이터 단위 중 두 개 이상의 비연속적인 비트가 변경된 오류를 말한다.


3) 집단 오류( Burst Error )

데이터 단위 중 두 개 또는 그 이상의 연속적인 비트가 변경된 오류를 말한다.


4) 패리티 비트 검사

전송 과정에서 홀수개의 비트가 깨지면 오류 검출이 가능하다.

즉, 짝수개의 비트가 깨지면 오류 검출이 불가능함을 의미한다.

전송하는 데이터마다 패리티 비트를 하나씩 추가하여 홀수 또는 짝수 검사 방법으로 오류를 검출한다.

- 홀수 패리티 방식

전체 비트에서 1의 개수가 홀수가 되도록 패리티 비트를 정하는 것


- 짝수 패리티 방식

전체 비트에서 1의 개수가 짝수가 되도록 패리티 비트를 정하는 것을 말한다.


5) 블록합검사


문자를 블록으로 전송하면 오류 확률이 높아지는데, 오류 검출 능력을 향상시키려고 문자 블록에 수평 패리티와 수직 패리티를 2차원적으로 검사하는 방법이다.

행 단위 패리티에 열 단위의 오류 검사를 수행할 수 있는 열 패리티 문자를 추가하여 이중으로 오류 검출 작업을 수행한다.


6) 순환 중복 검사( CRC, Cyclic Redundancy Check )

정확하게 오류를 검출하려고 다항식 코드를 사용하는 방법이다.

오류가 없을 때는 계속 발생하지 않다가 오류가 발생하면 그 주위에 집중적으로 오류를 발생시키는 집단 오류를 검출하는 능력이 탁월하고 구현이 단순하다.


* 프로토콜의 기초

1) 프레임의 종류

- 정보 프레임 ( I )

상위 계층이 전송 요구한 데이터를 송신하는 용도

순서번호, 송수신 호스트 정보 등이 포함된다.

- 긍정 응답 프레임 ( ACK )

전송 데이터가 올바르게 도착했음을 회신하는 용도

데이터를 수신한 호스트가 데이터를 송신한 호스트에게 전송한다.

- 부정 응답 프레임 ( NAK )

전송 데이터가 깨져서 도착했음을 회신하는 용도

데이터를 수신한 호스트가 데이터를 송신한 호스트에게 전송한다.

데이터를 송신한 호스트는 원래의 데이터를 재전송하여 오류를 복구한다.


* 슬라이딩 윈도우 프로토콜

양방향 통신을 지원한다.

오류 제어와 흐름 제어 기능을 모두 지원한다.

- 기본절차

송신 호스트는 정보 프레임을 순서 번호에 따라 순차적으로 전송한다.

정보 프레임을 수신한 수신 호스트가 응답하는 순서 번호는 정상적으로 수신한 번호가 아닌 다음에 수신하기를 기대하는 번호를 회신하는 것이 일반적이다.

송신 호스트가 관리하는 송신 윈도우는 긍정 응답이 회신되지 않은 프레임을 보관한다.

- 흐름제어

1) 순서번호

프레임 별로 부여되는 일련 번호

0 부터 임의의 최댓값까지 순환 방식으로 사용한다.

일반적으로 순서 번호의 최댓값이 송신 윈도우 크기보다 커야 한다.

프레임에서 순서번호의 공간 크기 = 0 ~ 2ⁿ-1


2) 윈도우 크기

긍정 응답 프레임을 받지 않고 연속으로 전송할 수 있는 프레임의 최대 개수


- 피기배킹

정보 프레임이 응답 프레임의 기능까지 수행한다.

정보 프레임 = 정보 프레임 + 응답 프레임

2개의 순서 번호 - 전송 데이터용 순서 번호, 응답용 순서 번호


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

[Network] 네트워크 보안  (0) 2017.04.06
[Network] TCP/IP 모델  (2) 2017.04.06
[Network] 네트워크 기술  (0) 2017.04.05
[Network] 네트워크 모델  (0) 2017.04.04
[Network] 네트워크 통신  (0) 2017.04.04
Posted by Imp3rio

* 교환 시스템

네트워크 양단에 연결된 호스트들이 전송하는 패킷은 전송과정에서 전송 경로 중간에 위치한 교환 시스템을 거친다.

교환 시스템은 데이터를 최종 목적지까지 올바르게 전달하도록 데이터를 중개하는 교환기능을 제공한다.


* 회선 교환

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

음성전화 서비스에서 발전했다.

고정 대역이 할당된 연결을 설정한 후에 데이터 전송 시작한다.

연결회선에 할당된 고정 크기의 안정적인 전송률로 데이터를 전송 가능하다.

연결이 유지되는 동안에는 다른 연결에서 이 대역을 사용할 수 없다.

데이터 전송 경로가 연결 설정 과정에서 고정되므로 라우팅 등의 작업이 쉽다.


* 패킷 교환

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

컴퓨터 네트워크에서 발전했다.

데이터 전송을 위한 전용 대역을 따로 하지 않기 때문에 가변 크기의 전송률을 지원한다.

가상 회선 방식 - 모든 패킷의 경로를 일정하게 유지하는 방식

데이터그램 방식 - 패킷들을 각각의 경로로 전송하는 방식


* 교환 시스템의 종류

- 전용 회선 방식 : 송수신자 사이에 전용 전송 선로를 사용한다.

- 교환 회선 방식 : 전송 선로를 다수의 사용자가 공유한다.

- 회선 교환 : 데이터 전송 전에 양단 사이의 연결을 설정한다.

- 패킷 교환 : 연결을 설정하지 않고 패킷 단위로 데이터를 전송한다.




* 회선 교환

통신하고자 하는 호스트가 데이터를 데이터를 전송하기 전에 연결 경로를 먼저 설정한다.

연결 설정 과정에서 송수신 호스트 간의 경로가 결정되기 때문에 데이터가 모두 같은 경로로 전달된다.

고정 대역의 논리적 전송 선로를 전용으로 할당받으므로 안정적인 데이터 전송률을 지원한다.


* 메시지 교환

전송하는 메시지의 헤더에 목적지의 주소를 표시하는 방식이다.

데이터 전송 전에 경로를 미리 설정할 필요가 없다.

전체 데이터를 하나의 단위로 교환 처리한다.

이전 교환 시스템의 전체 데이터가 도착한 후 다음 교환 시스템으로 중개한다.


- 장점

교환 시스템에서 전송 데이터를 저장하는 기능을 제공하기 때문에 송신 호스트가 보낸 시점과 수신 호스트가 받은 시점이 반드시 일치할 필요가 없다


* 패킷 교환

전송 데이터를 고정 크기의 패킷으로 나누어 전송한다.


- 장점

전송 대역의 효율적 이용

: 여러 호스트에서 전송한 패킷이 전송 대역을 동적인 방식으로 공유하기 때문에 전송 선로의 > 이용 효율을 극대화할 수 있다.


호스트의 무제한 수용

> 전송 대역이 부족하여 연결 설정 요청을 허용하지 않는 현상이 발생하지 않는다.

> 연결 요청에 고정 대역을 할당하지 않기 때문에 이론상 호스트를 무한히 수용할 수 있다.


패킷에 우선 순위를 부여할 수 있다.


지터 - 패킷의 도착 지연 시간이 가변적이며, 각 패킷들의 지연 시간 분포를 의미한다.

정적 경로 - 호스트 사이의 전송 경로를 미리 고정한다.

동적 경로 - 네트워크 혼잡도를 비롯한 주변 상황에 따라 전송 경로를 조정한다.


- 가상회선( Virtual Circuit )

연결형 서비스를 지원하기 위한 기능이다.

하나의 연결을 통해 전송되는 패킷의 경로는 동일하다.

패킷을 전송하는 원리는 회선 교환 방식과 비슷하다.

회선 교환 방식은 패킷 기능을 지원하지 않는 것이 중요한 차이점이다.



- 데이터그램

비연결형 서비스를 이용해 패킷을 독립적으로 전송한다.

패킷이 전달되기 전에 연결을 설정하는 과정이 없으므로 경로를 미리 할당하지 않는다.

전송되는 패킷들이 독립 경로로 전달된다.

전송할 정보의 양이 적거나 상대적으로 신뢰성이 중요하지 않은 환경에서 사용한다.



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

[Network] TCP/IP 모델  (2) 2017.04.06
[Network] MAC 계층과 데이터링크 계층  (0) 2017.04.05
[Network] 네트워크 모델  (0) 2017.04.04
[Network] 네트워크 통신  (0) 2017.04.04
[Network] 네트워크 기초  (0) 2017.04.03
Posted by Imp3rio

1. 계층 구조의 개념

* 모듈화

크고 복잡한 시스템을 기능별로 여러 개의 작고 단순한 모듈로 독립화

모듈 사이의 적절한 인터페이스가 필요하다.

* 계층 구조

상위 모듈이 하위 모듈에게 서비스를 요청

하위 모듈은 서비스를 실행하고 그 결과를 상위 모듈에 통보


- 장점

> 전체 시스템을 이해하기 쉽고, 설계 및 구현이 용이하다.

> 모듈간의 인터페이스가 단순하면 모듈의 독립성을 향상시킬 수 있으며, 이는 시스템 구조를 단순화시키는 장점이 된다.

> 대칭 구조에서는 동일 계층 사이의 인터페이스인 프로토콜을 단순화시킬 수 있다.

> 특정 모듈의 외부 인터페이스가 변하지 않으면 내부 기능의 변화가 전체 시스템의 동작에 영향을 미치지 않는다.


* 프로토콜 설계 시 고려 사항

1) 주소 표현

주소의 활용도를 높이기 위하여 구조적 정보를 포함한다.


2) 오류제어

데이터 변형 오류 - 데이터가 깨져서 수신자에게 도착함

데이터 분실 오류 - 데이터가 수신자에게 도착하지 못함

오류제어는 데이터 링크 계층의 주요 기능으로 재전송 방식을 사용한다.


3) 흐름제어

수신자의 처리 능력에 비해 너무 빨리 데이터를 전송하지 못하도록 제어한다.

수신 버퍼가 부족하면 수신자는 데이터를 분실처리한다.


4) 데이터 전달 방식

단방향 - 데이터를 한쪽 방향으로만 전송

전이중 - 데이터를 양쪽에서 동시에 전송

반이중 - 양방향으로 전송할 수 있지만, 특정 시점에서는 한쪽 방향으로만 전송


* OSI 참조 모델


1) 용어정의

계층n 프로토콜 - 계층 n 모듈끼리 사용하는 통신 규칙

동료 프로세스 - 동일 계층에 위치한 통신 양단 프로세스

인터페이스 - 상하위 계층 사이의 접속 방법

서비스 - 상위 계층이 하위 계층을 사용하는 방법


2) 중개 기능


3) 계층별 기능

- 물리 계층

데이터 전송 속도, 클록 동기화 방법, 물리적 연결 형태 등

- 데이터 링크 계층

물리 계층의 물리적 전송 오류 문제를 해결

프레임 - 전송 데이터의 명칭

- 네트워크 계층

데이터의 전송 경로를 결정

호스트 구분을 위한 주소 개념 필요 ( IP 주소 )

패킷 - 전송 데이터의 명칭

혼잡 제어 - 데이터 전송 경로의 선택에 따라 네트워크 혼잡에 영향을 미친다.

- 전송 계층

송수신 프로세스 사이의 단대단( peer to peer ) 통신 기능을 지원한다.

프로세스 구분을 위한 주소 개념 필요 ( PORT 번호 )

- 세션 계층

송수신자 사이에 상위적 연결 개념인 세션을 지원한다.

- 표현 계층

데이터의 의미와 표현 방법을 처리한다

암호화/압축 기능도 처리한다.

- 응용 계층

FTP, Telnet, 전자메일 등


* OSI 참조 모델의 데이터 전송

데이터는 응용 계층에서 하위 계층으로 순차적으로 전송된다.

물리 계층과 응용 계층을 제외한 나머지 계층에서는 데이터의 시작부분과 끝부분에 헤더나 트레일러 형태로 정보를 추가한다.


실제 네트워크 프로토콜은 OSI 참조 모델의 7계층을 모두 사용하지 않고, 처음 세 계층만 사용한다.


* OSI 참조 모델 7계층

계층 7개는 서로 독립적이므로 어느 한 계층의 변경이 다른 계층에는 영향을 미치지 않는다.

기능에 필요한 몇 개의 계층만 표준화하면 정상적으로 통신할 수 있다.


1) 물리계층

두 시스템 간에 데이터를 전송하려고 링크를 활성화하고 관리하는 전기적・기계적・절차적・기능적 특성 등을 정의한다.

허브, 라우터, 네트워크 카드, 케이블 등 전송매체를 통해 비트를 전송한다.

상위 계층에서 전송된 데이터를 물리 매체를 통해 다른 시스템에 전기적 신호로 전송한다.


2) 데이터 링크 계층

물리적 링크를 이용하여 신뢰성 있는 데이터를 전송하는 계층으로, 네트워크를 통해 데이터를 전송할 때 전송로 역할을 한다.

데이터 링크 계층에서는 비트를 프레임이라는 논리적 단위로 구성하는데, 전송하려는 데이터에 인접한 노드의 주소( MAC 주소 )가 더해진다.

시스템 간에 오류 없이 데이터를 전송하려고 네트워크 계층에서 받은 데이터 단위를 프레임으로 구

성하여 물리 계층으로 전송한다.


3) 네트워크 계층

상위 계층에 연결하는 데 필요한 데이터 전송과 경로선택 기능을 제공하고, 라우팅 프로토콜을 사용하여 최적의 경로를 선택한다.

데이터를 패킷 단위로 분할하여 전송한 후 재결합한다.

전송 개체 사이에 안정적으로 전송할 수 있도록 서비스를 제공한다.


4) 전송 계층

프로토콜과 관련된 계층으로 오류 복구와 흐름 제어 등을 담당하며, 두 시스템 간에 신뢰성 있는 데이터를 전송한다.

네트워크 계층에서 온 데이터를 세션 계층의 어느 어플리케이션에 보낼 것인지 판독하고, 네트워크 계층으로 전송할 경로를 선택한다.


5) 세션 계층

응용 프로그램 계층 간의 통신을 제어하는 구조를 제공하려고 응용 프로그램 계층 사이의 접속을 설정・유지・종료시켜주는 역할을 한다.

사용자와 전송 계층 간의 인터페이스 역할을 하며, LAN 사용자가 서버에 접속할 때 이를 관리하는 기능도 수행한다.

데이터의 단위를 전송 계층으로 전송할 순서를 결정하고, 데이터를 점검 및 복구하는 동기 위치를 제공한다.


6) 표현 계층

데이터 표현 차이를 해결하려고 서로 다른 형식으로 변환하거나 공통 형식을 제공하는 계층이다.

송신측에서는 수신측에 맞는 형태로 변환하고, 수신측에서는 응용 계층에 맞는 형태로 변환한다.

송신측과 수신측 사이에서 표준화된 데이터 형식을 규정한다.


7) 응용 계층

파일 전송, 데이터베이스, 원격 접속, 이메일 전송 등 응용 서비스를 네트워크에 접속시키는 역할을 하며, 여러 가지 서비스를 제공한다.

사용자에게 정보를 입력받아 하위 계층으로 전달하고, 하위 계층에서 전송한 데이터를 사용자에게 전달한다.


* 인터넷 모델( TCP/IP 모델 )

1) 응용 계층


2) 전송계층

- TCP

송신지에서 수신지까지 문자 스트림을 전송하는데, 두 응용 계층이 서로 대화하는 것을 허용하는 신뢰성 있는 프로토콜이다.

- UDP

OSI 참조 모델에서 정의하는 전송 계층의 일부 역할을 무시하는 단순한 전송 프로토콜이다.

흐름 제어 및 오류 검출 등의 기능이 없어 패킷을 빠르게 전송할 수 있다.


3) 인터넷 계층 ( Network )


- ICMP( Internet Control Message Protocol )

IP 패킷을 처리함에 있어 발생되는 문제를 알리거나, 진단 등과 같이 IP 계층에서 필요한 기타 기능을 수행한다.

IP 프로토콜에 캡슐화되어 전송된다.


- IGMP ( Internet Group Message Protocol )

서브넷 ( 로컬 네트워크 )에서 그룹관리를 위한 프로토콜이다.


- ARP( Address Resolution Protocol )

논리적인 IP 주소를 물리적인 MAC 주소로 변환하는 프로토콜이다.


- RARP ( Reverse Address Resolution Protocol )

물리적인 MAC 주소를 논리적인 IP 주소로 변환하는 프로토콜이다.


- IP ( Internet Protocol )

데이터 그램이라는 패킷을 만들고 수신지에 해당 패킷을 전송한다.


4) 네트워크 접속 계층


인터넷 모델은 대부분 하나의 네트워크나 다른 네트워크의 송신지에서 수신지까지 데이터를 주고 받는데, 물리 계층과 데이터 링크 계층에서 하는 일은 LAN과 WAN을 연결하여 인터넷을 구성하는 것이다.


* 프로토콜


* 계층별 사용장비

1) 물리계층

- 리피터

cable 전송으로 약화된 신호를 초기화, 증폭, 재전송의 기능을 수행한다.

리피터와 허브는 상위 계층에서 사용하는 MAC 주소나 IP주소를 이해하지 못하고 단지 전기 신호만을 증폭시키는 역할을 한다.


- 허브

리피터와 마찬가지로 전기적 신호를 증폭시킨다.

LAN 전송거리를 연장시키고 여러 대의 장비를 LAN에 접속할 수 있도록 한다.


2) 데이터 링크 계층

- LLC( Logical Link Control )

Data Link의 부 계층 중 하나로 물리적 매체 상에서 흐름제어와 에러제어 등의 트래픽을 관리한다.

두 장비간에 link를 설정하고 Frame을 송수신하는 방식과 상위 계층 프로토콜의 종류를 알리는 역할을 한다.

- MAC( Media Access Control )

Frame의 포맷, Ethernet 동작 방식, 충돌감지 및 재전송 방식 등을 정의한다.


- 브리지

단순히 전기적 신호만을 증폭시키는 것이 아니라 Frame을 다시 만들어서 전송한다.

MAC 주소를 보고 Frame 전송 포트를 결정한다.


- 스위치

MAC 주소와 해당 장비의 포트번호가 기록된 MAC address table을 보고 목적지에게만 Frame을 전송한다.

한 포트에서 전송되는 Frame이 MAC address table에 있는 특정 포트로만 전송하기 때문에 다른 포트가 전송하는 Frame과 충돌이 발생하지 않는다.


3) 네트워크 계층

- 라우터

IP 주소 등을 참조하여 목적지와 연결되는 포트로 패킷을 전송한다.

다른 네트워크( LAN )구간의 장비와 통신을 하려면 반드시 L3 장비를 거쳐야 한다.

경로 결정, 경로에 따른 패킷 전송

L3 스위치는 VLAN 간 고속 라우팅을 위해 사용하는 경우가 많다.

동일한 VLAN 포트간에는 스위칭 기능을 제공하고 서로 다른 VLAN 포트간에는 라우팅 기능을 제공한다.



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

[Network] TCP/IP 모델  (2) 2017.04.06
[Network] MAC 계층과 데이터링크 계층  (0) 2017.04.05
[Network] 네트워크 기술  (0) 2017.04.05
[Network] 네트워크 통신  (0) 2017.04.04
[Network] 네트워크 기초  (0) 2017.04.03
Posted by Imp3rio

1. 통신방식 ( LAN에서 통신하는 방식 )

* 유니캐스트 ( Unicast )

서버와 클라이언트 간의 일대일( 1:1 ) 통신 방식

통신하려면 전송되는 프레임 안에 송신지의 MAC 주소와 수신지의 MAC 주소가 있어야 한다.

자신의 MAC 주소와 수신지 MAC 주소가 동일하면 전송된 데이터를 수신하고 그렇지 않다면 버린다.


* 브로드캐스트 ( Broadcast )

로컬 LAN에 있는 모든 네트워크 단말기에 데이터를 보내는 방식

다른 라우터를 찾거나, 라우터끼리 데이터를 교환하거나, 서버가 서비스를 제공하려고 모든 클라이언트에게 알릴 때 등 여러 상황에서 사용할 수 있다. 하지만 불특정다수에게 전송되는 서비스라 수신을 원치 않는 클라이언트도 수신하게 되므로 네트워크 성능 저하를 가져올 수 있다.


* 멀티캐스트 ( Multicast )

전송하려는 특정 그룹에게만 한 번에 전송할 수 있기 때문에 유니캐스트처럼 반복해서 보낼 필요가 없고, 브로드캐스트처럼 전송받을 필요가 없는 컴퓨터에 보내지 않아도 된다.


2. 통신방식 ( 전송 방향에 따른 통신 방식 )

* 단방향 통신 ( Simplex )

송신측과 수신측이 미리 고정되어 있고, 통신 채널을 통해 접속된 단말기 두 대 사이에서 데이터가 한쪽 방향으로만 전송되는 통신 방식

단방향 통신에서 전기적으로 신호를 보내려면 송신측과 수신측을 연결하는 회로를 구성해야 하므로, 비록 단방향 전송일지라도 전송로는 두 개가 필요하다.

대표적으로 라디오, 아날로그 TV, 모니터, 키보드 등이 있다.


* 양방향 통신 ( Duflex )

통신 채널을 통해 접속된 두 대의 단말기 사이에서 데이터의 송수신이 모두 가능한 방식

데이터의 송수신을 한번씩 번갈아가며 할 수 있는 Half-Duflex와 송수신을 동시에 할 수 있는 Full-Duflex로 구분된다.


- Half-Duflex

통신 채널에 접속된 두 대의 단말기 중 어느 한쪽이 데이터를 송신하면 상대방은 수신만 할 수 있는 통신 방식이다. 송신측과 수신측이 정해져 있지 않으며, 양쪽 단말기의 상호 협력에 따라 송수신 방향이 바뀐다.

대표적으로 휴대용 무전기와 모뎀을 이용한 데이터 통신이 있다.



- Full-Duflex

통신 채널에 접속된 단말기 두 대가 동시에 데이터를 송수신할 수 있는 통신 방식이다.

통신 채널 두 개를 이용하여 한번에 데이터를 송수신할 수 있다.


3. 통신방식 ( 동기화 )

두 시스템 간 컴퓨터의 속도 차이( 클럭 오차 )가 있기 때문에 송신비트 시간 간격( TS )과 수신비트 시간 간격( TR )이 정확하게 일치하지 않는다.

적절한 방법으로 송신 측에서 전송한 데이터의 각 비트를 수신측에서 정확하게 수신할 수 있도록 해야 한다. --> 동기화 ( Synchronization )



* 동기식 전송

송수신기가 동일한 클럭을 사용하여 데이터를 송수신 하는 방법.

미리 정해진 수만큼의 문자열을 한 묶음으로 만들어서 일시에 전송하는 방법

비트( 시작비트와 정지비트 )와 데이터 간에 간격 없이 차례대로 비트를 전송하기 때문에 데이터는 끊어지지 않는 0과 1의 문자열로 전송된다.

수신측은 차례대로 문자열을 수신한 후 문자나 바이트로 분리해서 의미 있는 데이터로 재구성한다.

--> 파일 업로드와 파일 다운로드


- 비트지향 동기화 기법

데이터의 시작과 끝을 알리는 시작 플래그로 시작해서 종료 플래그로 끝난다.

프래그 등의 패턴을 구별하기 위해 '0' 비트를 삽입한다.


- 문자 지향 동기화 기법

모든 데이터의 단위를 문자 단위로 처리함으로써 동기화에 필요한 데이터까지 문자로 표현한다.

동기 문자에는 SYN, 문장의 시작을 알리는 STX, 문장의 끝을 알리는 ETX 등이 있다.



* 비동기식 전송

긴 데이터 비트열을 연속적으로 전송하는 대신 한 번에 한 문자씩 전송한다.

전송하고자 하는 정보가 불규칙하게 발생하는 경우에 주로 사용되는 방식

--> 메신저에서 사용자가 키보드를 통해 입력하는 정보를 전송하는 경우


문자 단위로 재동기하려고 맨 앞에는 한 문자의 시작을 알리는 시작비트를, 맨 뒤에는 한 문자의 종료를 표시하는 정지비트를 둔다.

보통 시작 비트는 0을 사용하고, 정지 비트는 1~2비트 정도를 사용한다.

전송하는 문자는 시작 비트 바로 뒤에 오는데, 문자의 종류에 따라 5~8 비트의 길이를 갖는다.

문자 비트열 뒤에는 패리티 비트가 뒤따르며, 2진수 1의 개수는 패리티 비트를 포함하여 홀수 또는 짝수의 값을 갖는다.


비동기식 전송은 하나의 문자를 전송한 후 휴지 상태에 들어간다.

전송하려는 정보가 불규칙하게 발생할 대 주로 사용한다.


4. 통신방식 ( 직렬 전송과 병렬 전송 )

* 직렬 전송

하나의 정보를 나타내는 각 데이터 비트를 직렬로 나열한 후 하나의 통신회선을 사용하여 순차적으로 1비트씩 송신하는 방식

하나의 통신회선을 사용하기 때문에 송신 측에서는 데이터를 1비트씩 송신하고, 수신측에서는 수신되는 비트를 일정한 단위로 모아서 사용한다.

병렬 전송에 비해 데이터 전송 속도가 느린 반면, 원거리 데이터 전송에서는 통신회선이 한 개만 필요하므로 경제적이다.

* 병렬 전송

부호를 구성하는 비트 수와 같은 양의 통신회선을 사용하여 여러 데이터 비트를 동시에 병렬로 전송하는 방식으로, 비트 n개를 전송하려고 회선 n개를 사용한다.

송신측과 수신측 단말기 간에 여러 개의 통신회선을 사용하기 때문에 여러 비트의 데이터를 한 번에 송신한다.

거리에 비례해서 선로비용이 많이 들기 때문에 전송속도가 빨라야 하는 짧은 거리의 데이터 전송에 주로 사용한다.


5. 통신오류제어

* 전송 오류의 유형

- 수신 호스트의 응답 프레임

긍정 응답 프레임 : 데이터가 정상적으로 도작했을 때

부정 응답 프레임 : 데이터가 깨져서 도착했을 때

부정 응답 프레임을 받은 송신 호스트는 재전송 기능으로 오류 복구 시도


- 송신 호스트의 타이머 기능

송신 호스트가 전송한 데이터가 네트워크에서 사라지는 문제를 해결

데이터 분실 시 수신 호스트로부터 어떠한 응답 프레임도 발생하지 않는다

송신 호스트는 일정 시간동안 응답 프레임이 없으면 타임아웃 기능으로 재전송 시도


- 순서 번호 기능

수신 호스트가 중복 프레임을 구분할 수 있도록 지원

데이터 프레임 내에 프레임 구분을 위한 일련 번호 부여


6. 네트워크 형태

* 근거리 네트워크 ( LAN, Local Area Network )

가까운 거리에 위치한 컴퓨터의 네트워크를 말하며, 유선 케이블, 적외선 링크, 무선 송수신기 등을 이용하여 통신한다. 

집에서 인터넷을 이용할 때나 PC방, 사무실 등 작은 규모로 컴퓨터를 연결할 때 LAN을 사용한다.


1) LAN의 특징

- 단일 기관의 소유로, 수 km 범위 내의 지역으로 한정된다.

- 네트워크 기기에 상관없이 서로 통신이 가능하다.

- 광역 전송매체의 사용으로 고속통신이 가능하고, 많은 사용자가 단일매체로 지연없이 데이터를 주고 받을 수 있다.

- 좁은 구간에서 통신하는 네트워크이기 때문에 전송지연시간이 적고, 양질의 통신회선을 사용하여 통신 품질도 우수하다.

- 컴퓨터뿐만 아니라 프린터 등 주변 장치를 쉽게 연결하여 사용할 수 있고, 확장하기도 쉽다.

- 서버를 이용하여 데이터를 쉽게 관리할 수 있다.

 - 전송 특성이 좋은 매체를 사용하여 신뢰성있는 데이터를 전송할 수 있다.

- 저럼현 네트워크 단말기를 사용하기 때문에 경제적인 면에서 유리하다.

- 보안 기능과 사용자 통제 기능을 사용하여 외부 침입을 체계적으로 관리할 수 있다.


2) LAN 전송 방식

- 베이스밴드 방식

데이터를 전송할 때 디지털 데이터 신호를 변조하지 않고 직접 전송하는 방식. -> 이더넷

하나의 케이블에 단일 통신 채널을 형성하여 데이터를 전송한다. 채널 하나에 신호 하나만 전송하기 때문에 모뎀이 필요 없고 비용도 경제적이다.


- 브로드밴드 방식

부호화된 데이터를 아날로그로 변조하고 필터 등을 사용하여 제한된 주파수만 동축 케이블 등 전송매체에 전송하는 방식

하나의 케이블에 다수의 통신 채널을 형성하여 데이터를 동시에 전송하는 방식 -> 케이블 TV



3) 매체 접근 방식

- 이더넷

LAN 구간에서 사용되는 네트워킹 방식 중 하나 ( Layer 2에서 사용되는 프로토콜 )

* CSMA/CD ( Carrier Sense Multiple Access with Collision Detection )

> 버스형 통신망으로 알려진 이더넷에 주로 사용한다.

> 동축 케이블에 연결된 컴퓨터의 단말을 서로 접속시키는 방식으로, 모든 컴퓨터는 버스에 연결되어 있고 전송매체는 컴퓨터로 공유할 수 있다.

> 데이터를 송신하기 전에 반송파 여부를 감지하는데, 반송파가 감지되면 다른 컴퓨터에서 데이터 송신 중임을 판단하여 데이터를 전송하지 않는다.

> 반송파가 감지되지 않으면 컴퓨터가 전송매체를 사용하지 않는 것으로 판단하여 데이터를 전송한다.


- 토큰 제어 방식

접속된 노드 사이를 토큰이라는 패킷이 순차적으로 순환하는 동안 토큰을 얻어 전속하고, 전송이 완료되면 토큰을 반납하는 방식

CSMA/CD 방식처럼 충돌현상은 발생하지 않지만, 자신에게 토큰이 올 때까지 기다려야 한다는 단점이 있다.

* 토큰링 방식 ( Token Ring )

> 링을 따라 순환하는 토큰을 이용한다.

> 모든 컴퓨터가 휴지 상태에 있을 때의 토큰을 '프리토큰'이라 하며 데이터를 전송하려는 컴퓨터는 이 프리토큰이 자신에게 올 때까지 대기해야 한다.

> 장점은 각 노드마다 전송 기회가 공평하게 주어진다는 것이다.

> 권한을 얻는 대기시간이 정해져 있어 과부하가 일어나도 성능 저하는 심하지 않다.

> CSMA/CD 방식보다 실시간 처리가 요구되는 분야에 적합하다



* 토큰버스 방식 ( Token Bus )

이더넷과 토큰링의 특징을 합친 형태

실시간으로 처리해야 하는 공장자동화에 많이 응용한다.

물리적으로는 버스형 접속 형태를 띠지만 버스의 모든 컴퓨터는 논리적으로 링형 접속 형태를 띤다.

CSMA/CD 방식과는 다르게 채널에서 데이터 충돌이 발생하지 않으므로 한 패킷을 전송하는 데 걸리는 시간이 일정하다.



- FDDI ( Fiber Distributed Data Interace )

이더넷과 토큰링 방식만큼 많이 사용하지는 않지만, LAN의 고속 컴퓨터 연결이나 백본으로 주로 사용한다.

전송매체로 광섬유를 사용하여 고속의 전송속도가 장점이다.

매채 접근 방식으로 토큰 제어 방식을 사용하고, 통신망은 링형 접속 형태를 띤다.



* 광역 네트워크 ( WAN, Wide Area Network )

두 개 이상의 근거리 네트워크를 넓은 지역에 걸쳐 연결하는 것을 말한다.

근거리 네트워크에 포함되지 않은 멀리 떨어진 컴퓨터 사이에서도 광역 네트워크를 이용하여 서로 통신할 수 있다.


1) 회선 교환 ( Circuit Switching )

두 스테이션 간에 전용의 통신 경로가 있음을 의미한다.

데이터를 전송하기 전에 물리적인 하나의 경로가 설정되며, 설정된 경로는 통신을 종료할 때까지 독점한다.

경로를 설정할 대 지연이 발생하지만, 일단 경로를 설정하면 회선 교환망은 사용자에게 투명하게 전송하 수 있다. 현재 널리 사용하는 전화 시스템이 회선 교환 방식의 대표적인 예다.

- 장점

> 회선을 전용선처럼 사용할 수 있어 많은 양의 데이터를 전송할 수 있다.

> 경로가 설정되면 사용자에게는 고정적인 전송률로 정보를 전송할 수 있다.

> 경로가 설정되면 교환 노드에서 처리지연이 거의 없다.

> 음성이나 동영상 등 실시간 전송이 요구되는 미디어 전송에 적합하다.


- 단점

> 오류 없는 데이터 전송이 요구되는 데이터 서비스에는 부적절하다.

> 설정되면 데이터를 그대로 투과시키므로 오류 제어 기능이 없다.

> 데이터를 전송하지 않는 기간에도 회선을 독접하므로 비효율적이다.


2) 메시지 교환 ( Message Switching )

가변 길이의 메시지 단위로 저장/전송 방식에 따라 데이터를 교환하는 방식

저장/전송 방식이란 도착하는 메시지를 일단 저장한 후 다음 노드로 가는 링크가 비어 있으면 전송하는 방식 -> Store-and-forward 


3) 패킷 교환 ( Packet Switching )

회선 교환 방식과 메시지 교환 방식의 장점을 수용하고, 두 방식의 단점을 최소화시킨 방식

저장/전송 방식을 사용한다는 점에서 메시지 교환과 비슷하지만 적당한 크기로 메시지를 분할하여 전송한다.


4) ATM 교환 방식 ( Cell Switching )

데이터를 고정 길이의 셀로 나누어 전송하는 방식

전송 데이터를 48바이트의 고정 길이로 분할하고, 5바이트의 제어 정보를 추가하여 53 바이트의 셀을 생성한 후 전송하는 방법

셀의 크기는 패킷에 비해 매우 작은 편이다.

고정 길이의 셀을 이용하여 저속 전송에서는 빈 셀을 전송하거나 다른 사용자에게 채널을 양보하는 방법을 사용하고, 고속 전송에서는 연속으로 전송한다.

회선 교환과 패킷 교환의 장점을 도입한 방식으로, 광케이블을 이용한 전송 기술의 발달로 정보를 고속으로 보낼 수 있고 오류도 거의 없다.

패킷 재전송과 같은 복잡한 제어를 할 필요가 없고, 교환기나 단말기의 소프트웨어적 부담을 줄이는 것도 가능해졌다.

* 인트라넷 ( Intranet )

인터넷에서 사용하는 회선과 여러 기반 기술을 이용하여 구축하는 사설 네트워크를 말한다.

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

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

1. 네트워크의 사전적 의미

- 모뎀이나 LAN, 케이블, 무선매체 등 통신설비를 갖춘 컴퓨터로 서로 연결하는 조직이나 체계, 통신망이다. 즉, 통신설비들로 두 대 이상의 컴퓨터를 서로 연결한 것을 말한다. 컴퓨터 두 대로 연결했든, 그 이상으로 연결햇든 간에 필요에 따라 여러 대를 서로 연결한 것이 바로 네트워크인 셈이다.


2. 네트워크 관련 기초 용어

* 시스템

: 내부 규칙에 따라 능동적으로 동작하는 대상 ( 컴퓨터, 자동차 등 )

* 인터페이스

: 시스템과 시스템을 연결하기 위한 표준화된 접근 방법 ( RS-232C, USB )

* 전송매체

: 시스템끼리 데이터를 전달하기 위한 물리적인 전송 수단 ( 케이블 )

* 프로토콜

: 전송 매체를 통해 데이터를 교환하기 위한 특정 규칙

* 네트워크

: 프로토콜을 사용하여 데이터를 교환하는 시스템의 집합을 통칭

* 인터넷

: 저세계의 네트워크가 유기적으로 연결되어 동작하는 통합 네트워크 ( IP )

* 노드

: 인터넷에 연결된 시스템이 가장 일반적인 용어

* 호스트

: 컴퓨팅 기능이 있는 시스템

* 클라이언트

: 서비스를 요청하는 시스템

* 서버

: 서비스를 제공하는 시스템

* 클라이언트와 서버



3. 네트워크의 기능

* 계층모델

- OSI 7계층

7. Application Layer ( 응용계층 )

: 다양한 응용환견을 지원

6. Pressentation Layer ( 표현 계층 )

: 데이터의 표현 방법 ( 압축, 암호화 )

5. Session Layer ( 세션 계층 )

: 대화 개념을 지원하는 상위의 논리적 연결을 지원



4. Transport Layer ( 전송 계층 )

: 송수신 프로세스 사이의 연결 기능을 지원

3. Network Layer ( 네트워크 계층 )

: 올바른 전송 경로를 선택 ( 혼잡 제어 포함 )

2. Data-Link Layer ( 데이터 링크 계층 )

: 물리적 전송 오류를 해결 ( 오류 감지 / 재전송 기능 )

1. Physical Layer ( 물리 계층 )

: 물리적으로 데이터를 전송하는 역할을 수행

- 프로토콜과 인터페이스

* 프로토콜

: 서로 다른 호스트에 위치한 동일 계층끼리의 통신 규약

* 인터페이스

: 같은 호스트에 위치한 상하위 계층 사이의 규칙

* 서비스

: 하위 계층이 상위 계층에 제공하는 인터페이스


- 인터네트워킹

* 게이트웨이

: 인터네트워킹 기능을 수행하는 시스템

- 리피터 : 물리 계층을 지원 ( 신호 증폭 )

- 브리지 : 물리 계층과 데이터 링크 계층을 지원

- 라우터 : 물리 계층과 데이터 링크 계층, 네트워크 계층을 지원


4. 네트워크 접속장치

- LAN 카드

두 대 이상의 컴퓨터로 네트워크를 구성하려고 외부 네트워크와 빠른 속도로 데이터를 송수신할 수 있게 컴퓨터 내에 설치하는 확장 카드를 말한다.

네트워크에 연결하는 물리적 장치에는 반드시 하나 이상의 LAN 카드가 있어야 한다. 

전송매체에 접속하는 역할, 데이터의 입출력 및 송수신, 프로토콜의 처리 기능


각 LAN 카드는 48비트의 MAC 주소를 갖고 있다.

MAC 주소 중 앞의 24비트는 LAN 칩셋 제조사를 의미하는 고유 코드, 뒤 24비트는 제품의 일련번호와 같이 부여된다.

실제 네트워크 통신을 할 때 하드웨어가 사용하는 주소는 LAN 카드에 할당된 MAC 주소를 이용한다.


- 허브 ( HUB )

여러 대의 컴퓨터를 손쉽게 연결하는 장치

여러 개의 입력과 출력 포트가 있는 특수한 형태의 네트워크 장치

한 포트에서 수신된 신호들은 허브의 다른 모든 포트로 즉시 재전송되며, 모든 입력과 출력은 서로 연결되어 있어 여러 개의 노드가 똑같은 중계기를 공유할 수 있도록 해준다.


* 더미허브

단순히 컴퓨터와 컴퓨터간의 네트워크를 중계하는 역할을 한다.

네트워크의 전체 대역폭을 노드 수만큼 분할하여 사용하기 때문에 허브에 연결된 노드 수가 증가하면 네트워크의 속도가 떨어진다.



* 스위칭 허브

수신지 주소로 스위칭하는 기능이 있고, 노드들은 각각 점대점으로 접속시키기 때문에 네트워크의 효율이 훨씬 높다.


* 스태커블 허브

스택 접속 포트가 갖춰진 허브로, 허브와 허브 사이를 연결하여 용량을 확장할 수 있다.

중규모 이상의 네트워크를 구성할 때 이 허브를 여러 층으로 쌓아서 구성한다.

여러 대의 허브가 하나의 허브처럼 동작하기 때문에 전송소고의 차이가 적다.


* 인텔리전트 허브

신호의 조절과 변경 등 다양한 지능형 기능을 포함한 허브를 말한다.


- 스위치 ( Switch )

컴퓨터에 할당되는 대역폭을 극대화시켜주는 장치

허브와 동일한 방식으로 작동하지만 수신하는 데이터의 의도한 대상을 식별할 수 있으므로 데이터를 수신하기로 되어 있는 컴퓨터에만 해당 데이터를 보낸다. 또한 데이터를 동시에 송수신할 수 있으므로 허브보다 빠른 속도로 데이터를 보낼 수 있다.

허브와는 달리 근거리 통신망이 제공하는 대역폭을 컴퓨터로 모두 전송한다.


- 브리지 ( Bridge )

두 개 이상의 근거리 통신망을 연결하여 하나의 네트워크로 만들어 주는 장치로, 수신지 주소에 따라 특정 네트워크 트래픽만 통과시킬 수 있도록 설계된 특수한 형태의 네트워크 스위치이다.

근거리 통신망에서 하나의 장치가 데이터를 송신할 대 다른 장치도 데이터를 송신하면 충돌이 발생한다. 이처럼 네트워크에 노드 수가 늘어나면 충돌이 발생할 확률이 높고, 통신 속도도 떨어지는데 브리지를 이용하면 문제를 해결할 수 있다.


- 게이트웨이 ( Gateway )

종류가 다른 두 개 이상의 네트워크를 상호 접속하여 정보를 주고받을 수 있는 장치

브리지와 달리 서로 다른 프로토콜 통신망 간에도 프로토콜을 변환하여 정보를 주고받을 수 있다.


- 중계기 ( Repeater )

장거리로 전송하면 신호가 약해지거나 감쇠되는데, 중계기는 노드 사이의 케이블에서 신호를 증폭시켜 이 문제를 해결한다. 중계기는 신호를 증폭시키기만 할 뿐 데이터 내용은 변경하지 않으며, 근거리 통시남ㅇ을 구성하는 세그먼트들을 확장하거나 서로 연결하는 데 주로 사용한다.


- 라우터 ( Router )

서로 구조가 다른 망을 연결할 수 있어 근거리 통신망과 대도시 통신망, 광대역 통신망을 연결하는 데 사용한다.

IP 주소를 바탕으로 데이터가 수신지까지 갈 수 있는 경로를 검사하여 효율적인 경로를 선택하는 라우팅 기능도 수행한다.

라우팅은 라우팅 테이블이 결정하는데, 라우팅 테이블은 인터넷상에서 수신지의 주소를 토대로 경로상의 다음 주소를 결정한다.

논리적 주소에 따라 네트워크 트래픽의 방향을 지정하는 게이트웨이와 유사한 네트워크 장치이다.

라우터를 사용하면 서로 다른 네트워크 간에 데이터를 전송할 수 있다.

방화벽과 같은 1차적인 보안 기능을 제공하며, 비용은 허브나 스위치보다 비싸다.




5. 네트워크 접속형태

* 성형 ( Star )

가장 일반적인 네트워크 구성형태이다.

허브가 네트워크 중앙에 위치하여 다른 모든 노드를 연결한다.

모든 노드가 중앙의 허브에 연결되어 통신하므로 통신망의 처리 능력과 신뢰성은 허브가 좌우한다.

하나의 케이블은 허브 같은 중앙의 네트워크 장치하고만 연결하므로, 배선 문제는 단지 해당 노드에만 영향을 줄 뿐 네트워크에는 영향을 미치지 않는다.


- 장점

> 각 장치는 다른 장치와 연결하는 링크 한개와 I/O 포트 한개만 필요하므로 설치비용이 저렴하고, 중앙 집중적인 구조라 유지보수나 확장이 용이하다.

> 링크 하나가 끊어져 작동하지 않을 때 해당 링크만 영향을 받고 다른 링크들은 영향을 받지 않는다.


- 단점

> 중앙에 있는 전송제어장치에 장애가 있으면 네트워크 전체가 동작할 수 없고, 통신량이 많으면 전송이 지연된다.

> 각 노드가 중앙 허브와 연결되어 있어야 하기 때문에 일부 다른 접속형태보다 많은 케이블을 연결해야 한다.

> 최초로 설치할 때 케이블 링에 소요되는 비용과 노력이 크다.


* 버스형 ( Bus )

모든 네트워크 노드 및 주변장치가 파이프 등 일자형의 케이블에 연결되어 있는 형태

모든 노드는 하나의 케이블에 연결되어 있고, 케이블의 시작과 끝에는 터미네이터라는 장치를 붙여 신호가 케이블로 되돌아오는 것을 막아준다.

버스형에서는 케이블에 연결되어 있는 하나의 노드가 전송을 하면 그것이 브로드캐스트 되어 다른 모든 노드가 수신할 수 있다.


- 장점

> 설치가 간단하고 케이블 비용이 적게 든다. 또한 장비를 추가하기 쉽고, 고장이 나도 전체 네트워크에 영향을 미치지 않는다.

> 중추 케이블을 가장 효과적으로 설치할 수 있고, 다양한 길이의 유도선으로 노드를 연결할 수 있기에 성형이나 트리형 접속 형태보다 사용하는 케이블양이 적다.


- 단점

> 장비 수가 많아지면 네트워크 성능이 저하되고, 중앙 케이블이 고장 나면 네트워크 전체가 동작하지 않는다.

> 버스 케이블에 결함이나 파손이 생기면 모든 전송을 중단하고, 끊어진 한쪽 지역에 있는 장치 간에 전송도 할 수 없다.

> 재구성이나 결합 및 분리가 어렵다.

> 베이스밴드 전송 방식에서는 케이블 거리가 멀어지면 신호가 점점 약해지기 때문에 중계기를 사용해야 한다.

> 한 노드에서 데이터를 전송할 때 다른 노드에서 이미 데이터를 전송하고 있으면 충돌이 발생하므로 나중에 다시 전송해야 한다.


* 트리형 ( Tree )

성형의 변형으로, 중앙에 있는 전송제어장치에 모든 장비를 연결한 것이 아니라 트리 형태의 노드에 전송제어장치를 두어 노드들을 연결하는 형태

상위 계층의 노드가 하위 노드들을 직접 제어하는 계층적인 네트워크에 적합


- 장점

> 제어가 간단하여 관리나 네트워크 확장이 쉽다.

> 중앙에 있는 하나의 전송제어장치에 더 많은 장비를 연결할 수 있어 각 장비 간의 데이터 전송거리를 늘릴 수 있다.

> 여러 컴퓨터를 분리하거나 우선순위를 부여할 수 있다.


- 단점

> 중앙에 트래픽이 집중되어 병목현상이 발생할 수 있고, 중앙의 전송제어장치가 다운되면 전체 네트워크에 장애가 발생한다.


* 링형 ( Ring )

노드가 링에 순차적으로 연결된 형태로, 모든 컴퓨터를 하나의 링으로 연결한다.

각 노드들은 인접한 노드 두 개하고만 연결되며, 전체 네트워크는 하나의 원을 형성한다.

한 방향으로만 데이터를 전송할 수 있는 단순 링형과 양방향으로 전송할 수 있는 이중 링형이 있다.


- 장점

> 구조가 단순하여 설치와 재구성이 쉽고, 장애가 발생해도 복구시간이 빠르다.

> 각 장치는 바로 이웃하는 장치에만 연결되어 있고, 장치를 추가하거나 삭제할 때는 단지 연결선 두개만 움직이면 된다.

> 보통 신호는 항상 순환되므로 한 장치가 특정한 시간 내에 신호를 받지 못하면 경보를 낼 수 있다.

> 성형보다 케이블 비용을 많이 줄일 수 있다.


- 단점

> 링을 제어하는 절차가 복잡하고, 새로운 장비를 연결하려면 링을 절단한 후 장비를 추가해야 한다.

> 단순 링형에서는 링에 결함이 생기면 전체 네트워크를 사용할 수 없다.


* 그물형 ( Mesh Topology )

중앙에 제어하는 노드 없이 모든 노드가 상호 간에 전용의 점대점 형태로 연결되는 형태

전용이라는 것은 연결된 두 장치 간에 통신만 담당하는 링크가 있음을 의미하며, 그물형에서는

n(n-1)/2 개의 물리적 채널이 필요하다.

네트워크가 복잡하고 많은 통신회선이 필요하기 때문에 비용이 많이 들지만, 신뢰성이 높아 중요한 네트워크에 주로 사용한다.


- 장점

> 전용 링크를 사용하면 각 연결회선이 원하는 자료를 전송할 수 있어 많은 장치를 공유하는 링크에서 발생하는 통신량 문제를 해결할 수 있다.

> 한 링크가 고장 나더라도 전체 시스템에는 큰 문제가 발생하지 않는다. 일부 통신 회선에 장애가 발생하면 다른 경로를 통해 데이터를 전송하면 된다.

> 모든 메시지는 전용선으로 보내기 때문에 원하는 수신자만 받을 수 있다. 따라서 비밀 유지와 보안에 유리하다.


- 단점

> 노드를 다른 모든 노드와 연결해야 하므로 설치와 재구성이 어렵다.

> 실제 필요한 전선의 용적이 벽 속이나 천장, 바닥 아래 등 전선을 수용할 공간보다 커질 수 있다.

> 네트워크가 복잡하고 많은 통신회선이 필요하기 때문에 각 링크와 연결되는 하드웨어에 엄청난 비용이 들 수 있다.


* 혼합형

노드 수가 상대적으로 큰 실제 네트워크에서는 효율을 높이고 결함 허용 능력을 증대시키려고 혼합형 접속 형태를 사용한다.

네트워크 서브넷이 서로 연결되어 규모가 큰 접속 형태가 되도록 여러 접속 형태를 결합할 수 있다.







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

[Network] TCP/IP 모델  (2) 2017.04.06
[Network] MAC 계층과 데이터링크 계층  (0) 2017.04.05
[Network] 네트워크 기술  (0) 2017.04.05
[Network] 네트워크 모델  (0) 2017.04.04
[Network] 네트워크 통신  (0) 2017.04.04
Posted by Imp3rio
NCS보안3기/암호2017. 3. 28. 16:44

1. 해쉬함수


임의의 길이 이진 수열을 입력 받아 고정된 길이의 이진 수열을 출력

압축( Compression ) -> h:D→R, |D|>|R|    many to one => Collision

계산 용이성 h(x)


해쉬함수의 분류


2. 해쉬 함수의 특성

* MDC( Modification Detection Code )의 성질

- Preimage resistance (one-way)

주어진 y에 대하여 h(x) = y가 되는 x를 찾는 것이 어렵다.

- 2nd preimage resistance (weak collision resistance)

주어진 x에 대하여 h(x) = h(x')가 되는 x'≠x 를 찾는 것이 어렵다.

- Collision resistance (strong collision resistance)

h(x) = h(x')이 되는 x≠x'의 쌍을 찾는 것이 어렵다.


OWHF : preimage resistance, 2nd preimage resistance

CRHF : 2nd preimage resistance, collision resistance


* MAC( Message Authentication Code )의 성질

- 계산 저항성 (computation resistance)

(xi, hk(xi)) 쌍이 주어지든, 주어지지 않았든 간에

∀x≠xi 에 대하여 MAC 값 hk(x)를 계산하기 어렵다.


3. MDC 해쉬 함수의 기본 구성법


* 사전 처리

- 메시지를 고정된 길이 n으로 분할 m = m1m2K mr

- padding : mr'=mr||0K 0|| |m| if |mr| ≠ n

   mr' = 100K 0|| |m| if |mr| = n


* 기초함수( 압축함수 )를 이용하여 반복 처리 hi = f(mi, hi-1)

* 사후처리 : H(m) = g(hr) 선택적으로 적용


4. 블록 암호를 기초로 한 해쉬 함수

* Rabin Hash Function

- 메시지를 블록 암호에 적용될 입력의 크기와 동일한 블록으로 나눈다.

- m = m1m2K mt

- IV : 초기 벡터


- Meet-in-the middle attack이 적용된다.

M||H(M)이 관찰되면 M'=m1'm2'을 선택

m1'으로 IV를 암호화하고, m2'으로 H(M)을 복호화하여 그 값이 일치하면 메시지 위조 가능


*Davies-Mejer Hash Function

- Rabin 방식을 개선하여, '중간충돌' 공격으로부터 안전한 해쉬 함수


5. 전용 해쉬 함수

- 소프트웨어로 고속 동작이 가능한 형태로 제안

- MD4 : Rivest가 제안(1990), 취약점이 발견되어 폐기

- MD5 : MD4를 보강(1992)

- SHA : 미국 표준 해쉬 알고리즘(1993, SHA1(1995))

- RIPEMD-128, RIPEMD-160 : 유럽에서 제안

- HAVAL : 호주에서 제안

- HAS : 한국 표준

< MD4를 기준으로 작성된 표 >


6. MD5

* 기본구조


- b 비트 메시지를 512비트 단위로 분할

- 최종적으로 남은 메시지에 1000...을 삽입하여 448비트가 되게 하고 b mod 2⁶⁴를 삽입하여 512비트 생성


* 압축함수



- 각 mi를 32비트씩 분할하여 16개의 소블록 X[j]를 생성하여 압축함수에 입력

- 4라운드로 구성

- 128 비트 A,B,C,D를 메시지 블록으로 변환하여 128비트 출력


* Round 함수


7. MDC 이용 방법

* 무결성 제공



* 메시지 기밀성과 동반한 무결성 제공


* MD 암호화를 통한 무결성 검증



'NCS보안3기 > 암호' 카테고리의 다른 글

[Encryption] 블록암호와 DES  (0) 2017.03.27
[Encryption] 고전 암호 기법  (0) 2017.03.27
[Encryption] 컴퓨터 보안과 암호  (0) 2017.03.27
Posted by Imp3rio