CH02 네트워크에 대한 이해_01 프로토콜
출처: 네트워크 해킹과 보안 - 한빛아카데미
프로토콜
-기술적 은어
-각각의 모국어(언어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 다중화
통신 선로 '하나에서' '여러' 시스템을 '동시에' 통신할 수 있는 기법전송 서비스
우선순위 결정, 서비스 등급과 보안 요구 등을 제어