본문 바로가기
GP/NETWORK HACKING AND SECURITY

CH02 네트워크에 대한 이해_01 프로토콜

by sjs_2215 2018. 12. 17.

출처: 네트워크 해킹과 보안 - 한빛아카데미 

프로토콜

-기술적 은어
-각각의 모국어(언어a, 언어b)와 영어만 사용할 수 있는 통역원 두 명이 언어 a 사용자와 언어 b 사용자의 소통을 도운다 한다. 소통의 과정에서는 영어가 서로의 통신을 위한 프로토콜
-문장 구조, 억양, 속도 등 많은 것으로 이루어진 고도화된 프로토콜이 사람의 언어.
-컴퓨터가 메시지를 전달하고, 메시지가 제대로 도착했는지 확인하며, 제대로 도착하지 않으면 메시지를 재전송하는 일련의 방법

프로토콜의 3가지 요소

언어, 화제, 대화 수단 등에 대한 약속을 사전에/대화 중에 정해두어야 의사소통이나 정보 교환이 가능. 이를 위해 프로토콜에는 3가지 요소가 포함되어야 함.

  • Syntax 구문

  • Semantics 의미

  • Timing 순서

프로토콜의 기능

  • Addressing 주소 설정
    -서로 다른 시스템의 두 개체가 통신을 하는 경우 필요
    -한 개체가 상대 개체에게 데이터를 전송하려면 상대의 주소를 알아야 함. 프로토콜에는 각 전송 계층을 맞게 이를 지정하는 기능이 있다
    -해킹:정상이 아닌 변조된 주소 값을 가진 패킷을 보내면 네트워크나 시스템에 혼란을 줄 수 있다.

  • Sequence Control 순서 제어
    -protocol data unit (PDU)=데이터가 전송될 때 일정 크기의 데이터 블록.
    -프로토콜 데이터 단위를 전송할 때 보내는 순서를 명시하는 기능
    -연결 지향형(1:1로 연결 상태를 유지하여 통신하는 것)에만 사용된다.
    -순서 지정 이유: 전달, 흐름 제어, 오류 제어 등을 위해서이다
    -어떻게 작동: 순서가 정해진 각 PDU를 상대 개체에 보내면 수신측에서 순서에 맞게 데이터를 재구성한다.
    -해킹: 잘못된 PDU는 재전송을 요구한다. 해커는 순서가 뒤죽박죽된 패킷을 보내 시스템에 과부하가 걸리게 하기도 한다.

  • Fragmentation & Reassembly 데이터 대열의 단편화 및 재조합
    -전송 효율이 높도록 작은 단위로 나누어 전송한 뒤 전송받은 세스템에서 이를 재조합하는 기능
    -해킹: 대량의 패킷을 공격 대상에게 보냄 & 일부러 재조합이 불가능한 데이터를 보내 공격 대상을 혼란에 빠트림

  • Encapsulation 캡슐화
    -차를 보트에 싣는 과정이 캡슐화고, 차를 보트에서 내리는 일은 캡슐 제거와 같다
    -어떤 네트워크를 통과할시에 전송하려는 데이터를 다른 무언가로 감싸서 보내고 해당 네트워크를 통과시 그 감싼 부분을 다시 벗겨내는 기능
    -프로토콜 데이터 단위인 PDU는 전송하려는 데이터=service data unit (SDU)와 송신자/수신자 주소, 오류 검출 코드, 프로토콜 제어 정보 등=protocol control information (PCI)로 구성되어 있다.
    -즉, 데이터에 제어 정보를 덧붙이는 것을 Encapsulation 캡슐화라 한다.
    -장점: 해커로부터 자신의 통신 내용을 숨길 수 있게 해준다.

  • Connection Control 연결 제어
    -Connection Oriented Data Transfer 연결 지향형 데이터 전송
    :두 시스템이 서로 데이터를 교환할 때 연결을 설정하는 것
    :연결 설정, 데이터 저송, 연결 해제라는 3단계로 구성되며, 데이터 전송 중 연결을 지속적으로 관리한다.
    대표적 ex) TCP를 이용한 연결. 연결제어를 하는 패킷을 이용해 네트워크 연결을 임의로 끊을 수도 있고, 해당 세션을 뺏을 수도 있다.
    -Connectionless Data Transfer 비연결 지향형 데이터 전송
    :두 시스템이 서로 데이터를 교환할 때 연결을 설정하지 않는 것
    대표적 ex) UDP를 이용한 연결로, 흔히 이렇게 전송되는 데이터를 데이터그램이라 부른다.

  • Flow Control 흐름 제어
    -송신측 개체로부터 오는 데이터의 양이나 속도를 조절하는 기능
    -송신-수신측의 속도 차이 등으로 인한 정보 유실 방지
    -흐름 제어 기법1: 패킷 하나 보내고 해당 패킷에 대한 응답이 와야 다음 패킷을 보내는 stop and wait 정지-대기 기법
    -흐름 제어 기법2: 가용 데이터 분량의 패킷을 한꺼번에 보낸 후 응답 패킷을 받으면 다시 그만큼의 데이터를 한꺼번에 보내는 sliding window 슬라이딩 윈도우 방식 (정지-대기 흐름 제어보다 훨씬 효율적인 데이터 전송 방식)

  • Error Control 오류 제어
    -두 개체에서 데이터를 교환할 때 SDU나 PCI가 잘못되었을 경우, 이를 발견하는 기법
    -어떻게 작동: 순서를 검사하거나 특정 시간 안에 받지 못하면 재전송을 요구하는 방식으로 이루어진다.

  • Synchronization 동기화
    -두 개체 간에 데이터 전송할 때 각 객체는 특정 타이머 값이나 윈도우 크기 등을 기억해야 함.
    -이는 두 개체가 정보를 송수신할 때 서로 호흡을 맞추는 것
    -'두' 개체가 '동시에' 정의된 인자 값을 공유하는 것

  • Multiplexing 다중화
    통신 선로 '하나에서' '여러' 시스템을 '동시에' 통신할 수 있는 기법

  • 전송 서비스
    우선순위 결정, 서비스 등급과 보안 요구 등을 제어


'GP > NETWORK HACKING AND SECURITY' 카테고리의 다른 글

CH02 네트워크에 대한 이해_03 물리 계층  (0) 2018.12.17
CH02 네트워크에 대한 이해_02 네트워크 계층 구조  (0) 2018.12.17
CH01 네트워크와 보안  (0) 2018.12.17
UDP  (0) 2018.12.17
TCP  (0) 2018.12.17

Comments