2학년/인터넷 보안

보안_Chapter01 - 네트워크 이해

김야키 2018. 10. 2. 09:59

 

Chapter01 - 네트워크 이해

-     프로토콜

     본래 의미는 외교에서 의례 또는 의정서

     컴퓨터와 컴퓨터 사이에서 메시지를 전달하는 과정

 

-      프로토콜의 3가지 요소

    구문(Syntax) :

l  데이터의 구조나 포맷을 의미

    의미(Semantics) :

l  전송되는 데이터의 각 부분이 무엇을 뜻하는지를 알 수 있게 미리 정해 둔 규칙(데이터 자체 뿐만 아니라 오류 제어, 동기 제어, 흐름 제어를 포함)

    순서(Timing) :

l  어떤 데이터를 보낼 것인지와 얼마나 빠르게 데이터를 보낼 것인지 정의

 

-      프로토콜의 기능

    주소 설정 :

l  서로 다른 시스템의 두 개체가 통신을 하는데 필요

    순서 제어 :

l  프로토콜 데이터 단위를 전송할 때 보내는 순서를 명시하는 기능(연결 지향형에만 사용)

    데이터 대열의 단편화 및 재조함 :

l  대용량 파일을 전송할 때 전송 효율이 높은 작은 단위로 나누어 전송한 뒤 전송 받은 시스템에서 이를 재조합해야 함.

    캡슐화 :

l  데이터에 제어 정보를 덧붙이는 것

    연결 제어 :

l  연결 설정, 데이터 전송, 연결 해제에 대한 통제 수행

    흐름 제어 :

l  송신측 개체로부터 오는 데이터의 양이나 속도를 조절하는 기능

l  송신측과 수신측의 속도 차이 등으로 인한 정보 유실을 방지

    오류 제어

l  두 개체에서 데이터를 교환할 때 SDUPCI가 잘못되었을 경우, 이를 발견하는 기법

l  순서를 검사하거나 특정 시간 안에 받지 못하면 재전송을 요구하는 방식으로 이루어짐

    동기화

l  두 개체 간에 데이터를 전송할 때 각 개체는 특정 타이머 값이나 윈도우 크기 등을 통해 동시에 정의된 인자 값을 공유하는 것

    다중화

l  통신 선로 하나에서 여러 시스템을 동시에 통신할 수 있는 기법

    전송 서비스

l  우선순위 결정, 서비스 등급과 보안 요구 등을 제어하는 서비스

 

-      OSI 7계층

    물리 계층

l  실제 장치를 물리적으로 연결

l  장치 : 허브, 리피터

 

    데이터 링크 계층

l  점대점 사이의 신뢰성 있는 전송을 보장하기 위한 계층

l  CRC 기반의 오류 제어와 흐름 제어가 필요

l  장치 : 이더넷

 

    네트워크 계층

l  여러 노드를 거칠 때마다 경로를 찾아주는 역할

l  라우팅, 흐름제어, 단편화, 오류 제어 등을 수행

l  장치 : 라우터(스위치 – L3스위치 사용)

 

    전송 계층

l  데이터를 전송할 때 신뢰성(연결지향), 비신뢰성(비연결지향)을 결정하는 계층

l  TCP – 연결지향, UDP – 비연결지향

 

    세션 계층

l  양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법 제공

l  종료, 재시작 과정 등을 수행

l  TCP/IP 세션을 만들고 없애는 책임을 짐

 

    표현 계층

l  사용자가 눈으로 볼 수 있게 만들어 줌

l  데이터 압축과 암호화 기능 수행

 

    응용 계층

l  HTTP, FTP, 터미널 서비스, 메일 프로그램(SMTP), 디렉토리 서비스 제공

 

 

 

 

 

-      OSI 7계층과 TCP/IP 프로토콜

 

 

 

-      TCP/IP에서의 데이터 전달 과정

 

 

 

 

물리 계층에 대한 이해

-      시스템 간의 연결선(흔히 LAN선을 뜻함)

 

-      리피터

    네트워크를 연장하기 위한 장비

    불분명해진 신호 세기를 다시 증가시키는 역할

    최근에는 리피터가 모든 네트워크 장비에 공통으로 들어가는 기능이 됨

 

-      허브

    요즘 쓰이는 스위치의 예전 형태

    최근의 스위치를 스위칭 허브, 이전 허브를 더미 허브라 부름

    허브는 스위치와 형태나 사용 방법이 같지만 패킷을 모든 곳에 똑같이 복사해서 보내는 것이 다름(스위치는 목적지에만 데이터를 전송)

 

데이터 링크 계층에 대한 이해

-      랜 카드나 네트워크 장비의 하드웨어 주소(MAC 주소)만으로 통신하는 계층

 

-      MAC주소

    12개의 16진수로 구성

    앞쪽 6개는 회사를 뜻하고, 뒤쪽 6개는 호스트 식별자로 회사에서 임의로 붙인ㅡㄴ 일종의 시리얼

    같은 MAC주소는 존재하지 않음

 

-      이더넷

    이더넷 패킷의 최소 길이는 64Kbytes, 최대 길이는 1,518Kbytes

 

-      브릿지

    랜과 랜을 연결하는 초기의 네트워크 장치

    한 네트워크 에서 그 다음 네트워크로 데이터 프레임을 복사하는 역할

 

-      스위치

    기본적으로 데이터 링크 계층에서 작동하는 스위치

    L2스위치는 연결된 시스템이 늘어날수록 패킷 간 충돌 때문에 매우 낮은 속도로 동작하는 더미 허브의 문제점을 해결하는 방안

 

네트워크 계층에 대한 이해

-      랜을 벗어난 통신을 하기 위해 네트워크 계층에서 IP주소를 사용

 

-      ARP

    데이터를 전달하려는 IP주소와 통신에 필요한 물리적인 주소(MAC)를 알아내는 프로토콜

    선택된 매체에 브로드캐스트를 통해 특정 IP주소를 사용하는 호스트가 응답을 하도록 요구하는 방식을 사용

 

-      IP

    가장 대표적인 네트워크 계층의 프로토콜

    하위 계층의 서비스를 이용하여 두 노드 간의 데이터 전송 경로를 확립해주는 역할

    32자리 2지신수로, 8자리마다 점을 찍어 구분

    오유를 제어하는 부분은 없으므로 ICMP가 항상 따라다닌다.

 

-      ICMP

    호스트 서버와 인터넷 게이트웨이 사이에서 메시지를 제어하고 오류를 알려주는 프로토콜

    대표적인 것은 Ping

 

-      IGMP

    멀티캐스트에 관여하는 프로토콜로 멀티캐스트 그룹을 관리하는 역할

    유니캐스트(Unicast)

l  1 : 1 연결

    브로드캐스트(Broadcast)

l  1: 전채

    멀티캐스트(Multicast)

l  1: 특정그룹

l  지정한 주소로 패킷을 한 번만 전달하면 멀티캐스트 그룹에 속한 모든 호스트에 전달되기 때문에 효율이 높음

l  IP 멀티캐스트 주소는 D 클래스 주소로 규정

 

-      라우터

    네트워크의 대표적인 장비로, 게이트웨이 라고도 함

    논리적으로 분리된 둘 이상의 네트워크를 연결

    로컬 네트워크에서 브로드캐스트를 차단하여 네트워크를 분리

    패킷의 최적 경로를 찾기 위한 라우팅 테이블 구성

    패킷을 목적지까지 가장 빠르게 보내는 길잡이 역할

 

-      라우팅

    목적지의 주소를 가기 위해서 어떤 경로로 갈지 결정하는 일

 

-      정적 라우팅

    관리자 권한으로 특정 경로를 통해서만 패킷이 지날 수 있도록 설정

    보안이 중요한 경우 사용

    라우팅 정보를 분석한 최적의 경로 설정 가능

    네트워크 환경 변화에 대한 대처가 어려움

 

-      동적 라우팅

    라우터가 네트워크 연결 상태를 스스로 파악하여 최적의 경로를 선택해 전송

    네트워크 연결 형태가 변경되어도 자동으로 문제를 해결

    경로 설정이 실시간으로 이루어져 변화에 대처가 쉽다.

    주기적인 라우팅 정보 송수신으로 인한 대역폭 낭비 초래

 

 

 

OSI 7Layer, TCP/IP의 계층별 데이터 명칭

①  5계층: Application Layer == stream, message

    4계층: Transport Layer == segment, datagram

    3계층: Internet Layer == packet

    2계층: Network Access Layer == frame

 

 

전송 계층에 대한 이해

-      대표적인 프로토콜 TCP(Transmission Control Protocol)

-      TCP가 가진 주소를 포트(port)라 하며 0~65535번까지 존재

-      0~1023번을 잘 알려진 포트(Well Known Port)라고 부름(보통 0번 포트는 사용하지 않음).

 

TCP/IP 프로토콜

-      TCP

    연결 지향형 프로토콜

    IP와 함께 통신을 하는 데 반드시 필요한 가장 기본적인 프로토콜

 

-      TCP의 특징

    높은 신뢰성

    가상 회선 연결 방식(연결 지향적, 일대일 서비스)

l  네트워크의 컴퓨터 사이에 통신을 위한 경로가 설정되면 이를 유지함

l  방송(Broadcast)나 멀티캐스트와 같이 일대 다 의 특성을 갖는 것이 아닌 1:1연결

    연결의 설정과 해제 기능

    데이터 Checksum / 오류의 유무 오류가 있으면 데이터를 버린다.

    시간 초과와 재전송(보장형 서비스)

l  패킷을 전송할 때 전송 순서 보장, 중복 방지, 흐름 제어, 체증 제어를 보장한다.

    데이터 흐름 제어

    양방향 통신 서비스, 스트림 전송 서비스

    안정한 연결 종료 서비스

 

Three-Way Handshaking(연결)

 

2.     Send SYN : seq = 100, ctl = SYN

3.     Send SYN : seq = 300, ack = 101(클라이언트의 seq+1), ctl = SYN, ACK

4.     Send SYN : seq = 101, ack = 301(서버의 seq+1), ctl = ACK

 

Four-Way Handshaking(연결해제)

 

 

 

-      신뢰성 있는 연결

    3헨드 쉐이크

l  양쪽 다 응답을 받는 거

 

    2웨이로 하는 순간 마지막 받은 클라이언트 측면에서 이 서버가 보낸 SYN패킷을 받았는지 확인을 할 수가 없음

 

    시퀀스 넘버(랜덤 변수로 뽑는 값)

l  A의 시퀀스 넘버 100, B의 시퀀스 넘버 300

l  연결을 하기 위해 A 100번을 가진 SYN패킷을 B에게 보낸다.

l  받은 BACK를 보낸다. 이때의 A의 시퀀스 넘버에 +1을 해서 ACK넘에 저장해서 보낸다. 보낼 때는 B의 시퀀스 넘버와 ACK넘버를 함께 보낸다.

l  그 다음에 ACK를 받은 A는 시퀀스 넘버가 101이 된다. 하지만 AB에게 ACK를 보낼 때는 B의 시퀀스 넘버에 +1을 해서 보낸다.

 

-      UDP(User Datagram Protocol)

    비 연결 지향형 프로토콜

    상대방이 보낸 응답을 확인하지 않아 네트워크에 부하를 주지 않음.

    데이터 자체의 신뢰성이 없어 수신한 데이터의 무결성을 보장받지 못함

l  오류의 여부를 확인하지 않는다.

l  재 전송 또한 하지 않는다.

 

-      UDP의 특징

    비 연결 지향형

    네트워크 부하 감소

    비 신뢰성

    전송된 데이터의 일부가 손실됨.

 

-      UDP를 사용하는 경우

    단순한 요청 응답 통신을 필요로 하고 흐름 제어와 오류 제어는 큰 관심이 없는 프로세스에 적절하다.

    FTP와 같이 대량의 데이터를 보내야 하는 프로세스에는 보통 사용되지 않는다.

    내부적인 흐름 제어와 오류 제어 메커니즘을 가지고 있는 프로세스에 적절하다.

    멀티캐스팅과 브로드캐스팅을 위한 전송 프로토콜에 적절

    멀티캐스팅과 브로드캐스팅 기능은 UDP 소프트웨어에 내장되어 있다.

    SNMP와 같은 관리 프로세스에 사용된다.

    라우팅 정보 프로토콜과 같은 경로 갱신 프로토콜에 사용된다.