본문 바로가기

Hacking/네트워크

Protocol

통신 프로토콜의 개념

- 프로토콜이란 ?

 

     장치 사이에 정보를 주고받기 위해 정해놓은 규칙이다, 프로토콜이 없다면 장치간 통신은 불가능하다.

 

      -프로토콜의 종류

           프로토콜의 종류로는 우리가 자주쓰는 HTTP, HTTPS나 FTP, SSL, ARP, TCP/IP, telnet 등이 있다.

 

      -프로토콜의 기본 요소

           구문 ( Syntax ), 의미 ( Semantics ), 타이밍 ( Timing )

 

           1. 구문 Syntax

              주고받는 데이터를 어떤 스펙으로, 부호화 할것이며 신호의 레벨은 어떻게 할 것인가

 

           2. 의미 Semantics

              교화적이고 정확한 정보를 전달하기 위해 정보를 송수신하는 기본

 

           3. 타이밍 Timing

              메시지를 전달하는 속도나 순서는 어떻게 고려 할 것인가?


      프로토콜의 기능    

  

             주소 지정 ( Addressing), 순서지정 ( Sequencing ), 단편화 & 재조합 ( fragmentation&reassembly )

         흐름 제어 ( Flow control ), 연결제어 ( Connection control ), 오류제어 (Error control ), 캡슐화 ( Encapsulation )

         동기화 ( Synchronization ), 다중화 ( Multiplexing )가 있다.

 

       - 주소 지정 ( Addressing )

               네트워크에서 통신을 하기 위해 송수신측 간에 인식이 가능하도록 하는 역할

 

       - 순서 지정 ( Sequencing )

              재조합을 위해 순서를 지정한다

 

       - 단편화 & 재조합 ( fragmentation&reassembly )

               큰 데이터를 쪼개고( Fragmentation ) 쪼갠 데이터를 다시 합치는 것

          흐름 제어 ( Flow Control )

              송신측이 수신측의 처리속도 보다 더 빨리 데이타를 보내지 못하도록 제어해 주는 것

              수신측에서 송신측 발송 데이타의 양이나 속도를 제한 (송신측을 억제하는 형태) * 속도조절이라고도 함

 

        - 연결 제어 ( Connection Control )

              데이터를 주고받기 위해 연결을 어떻게 설정할 것인가?           ex / TCP ( 3 handshake ) 

 

        - 오류 제어 ( Error Control )

               전송 도중에 데이터에 오류가 발생한다면 오류를 어떻게 처리 할 것인가?

               수신측에서 에러를 검출 후에 정정 할 것인가

               아니면 에러가 있는 것을 확인하고 데이터를 재요청 할 것인가?

 

        -  캡슐화 ( Encapsulation )

               데이터가 빠져 나갈 때 데이터의 정확한 전송을 위해 여러가지 추가 정보들을 덧붙이는 것

               앞에는 header가 붙고 뒤에는 Trailer가 붙어서 보내진다. 

 

        - 다중화 ( Multiplexing )

               한정된 통신 선로를 가지고 여러 시스템이 동시에 통신을 하려면 어떻게 해야 하는가?

                MUX, DEMUX

                하나의 설비(전송 매체 등)에 여러 신호를 함께 결합시켜 보냄


#추가 

 

단편화 & 재조합 부분

PDU ( Protocol Data Unit ) = 쪼개진 데이터

 

#오류 제어 기법

1. 전진 오류 수정

 - 해밍 코드

 - 상승 코드

 

2. 후진 오류 수정

 2.1. 오류 검출 방식

1. 패리티 검사 (Parity Check)

2. 블록합 검사 (Block Sum check)

3. 순환잉여검사(CRC : Cycle Redundancy Check) 

 

 2.2. (검출 후) 재전송 방식 (Automatic Repeat Request)

1. Stop and Wait ARQ방식

2. Go-back-N방식

3. Selective-Repeat ARQ 방식

4. 적응성(Adaptive)ARQ 방식

 

 

'Hacking > 네트워크' 카테고리의 다른 글

교육 내용 3  (0) 2019.08.31
네트워크_교육내용_2  (0) 2019.08.26
packet [ 패킷 ]  (0) 2019.08.25
Network_Basic  (0) 2019.08.24
네트워크_교육내용_1  (0) 2019.08.24