프로그래밍 공부
작성일
2022. 10. 9. 03:54
작성자
WDmil
728x90

통신 프로토콜의 개념

  • 통신을 원하는 두 객체 간의 무엇을 어떻게 언제 통신할 것인지 서로 약속해 놓은 규정
  • 정보 통신에서 통신을 통제하는 규칙들을 규정

통신 프로토콜의 예시

표준화 개념

    • 1960년대 처음에는 IBM에서 제정한 프로토콜인 BSC와 SDLC를 많이 사용
    • 1976년 국제전신전자문위원회 CCITT는 프로토콜을 하나로 통합하여 사용을 권고
    • 국제 표준화 기구에서 OSI 참조 모델을 제정하여 발표
    • 지금은 인터넷 기술이 발전하면서 TCP/IP를 많이 사용

 

통신 프로토콜의 발전 과정


OSI 7계층 프로토콜

프로토콜과 참조 모델

OSI 7계층의 구성

  • 1계층 : 물리 계층
  • 2계층 : 데이터 링크 계층
  • 3계층 : 네트워크 계층
  • 4계층 : 전송 계층
  • 5계층 : 세션 계층
  • 6계층 : 표현 계층
  • 7걔층 : 응용 계층

OSI 7계층 프로토콜의 구성

  • 최상위 계층에서 발생한 데이터를 하위계층으로 차례로 전달함.
  • 처음의 데이터에 각 계층에서 전달받은 헤더정보를 추가하여 전달함.
  • 최하위 계층에 도달
  • 각 계층의 헤더에 해당하는 부분을 벗긴 후 최상위 계층으로 전달함.

7계층 프로토콜에서 데이터 전달 원리

OSI 7계층 상호간의 데이터 전달 원리

  • 캡슐화와 캡슐해제 과정을 거쳐 송신 측의 최상위 계층에서 보낸 원래의 데이터를 수신측의 최상위 계층으로 정확하게 전달
  • 캡슐화 = 데이터에 헤더를 씌우는 과정
  • 캡슐 해제  = 수신 측에서 각 계층의 헤더를 벗기는 과정\

 

OSI 7계층의 역활

1 물리계층 : 케이블 형태, 전송방식, 신호 형식 결정

2 데이터 링크 계층 : 접속 방식, 오류 검출 정립, 흐름제어, 프레임에 대한 도익화

3 네트워크 계층 : 접속 방식 유지, 오류 검출 정립, 흐름 제어

4 전송 계층 : 오류복구, 전송담당, 흐름제어, 네트워크 주소 지정

5 세션 계층 : 연결 접속과 동기 제어

6 표현 계층 : 데이터 재구성, 코드 변환 구문 검색

7 응용 계층 : 데이터베이스, 전자우편, 기타 응용 프로그램

 


물리 계층

  • OSI 참조 모델 중 최하위 계층에 해당하는 1계층
  • 상위 계층에서 내려온 비트열 데이터를 상대편에 전송할 수 있도록 통신기기 사이에 있는 물리적 매체를 이용해 연결을 확립하는 역할.
  • 데이터가 전송되는 동안 연결을 유지하거나 해제하는 기계적, 전기적, 기능적, 절차적 특성을 정의

 

  1. 기계적 : 핀 연결 규격 정의
  2. 전기적 : 신호의 전압정의 ( 0V = 0, 5V = 1 )
  3. 기능적 : 각 핀간의 의미를 부여하여 데이터 제어 타이밍 접지 등 수행
  4. 절차적 : 물리적 연결의 활성화, 비활성화 동작종료 절차 규정

물리계층의 역할

표준화한 규격으로는 RS-232C, RS-422, RS-485

표준은 ISO, CCITT에서 결정함.

CCITT 표준에서는 V와 X가 있음

V = 아날로그 데이터

X = 디지털 데이터

 

데이터 링크 계층

  • OSI 참조 모델에서 하위 계층인 2계층
  • 두 시스템 사이에서 오류없이 정보 데이터를 전송하려고 상위계층 에서 받은 비트열의 데이터로 프레임을 구성하여 하위 계층으로 전달함.
  • 대표 기능에는 노드대 노드 , 주소지정, 전송제어, 흐름제어, 오류제어, 동기화 등이 있음.
  • 채널상으로 데이터를 전송, 노드대 노드 전달을 책임

노드 대 노드

이웃 노드 간의 데이터 링크를 설정하는 기능. 헤더와 트레일러에는 발신지 주소, 목적지 주소 등 정보가 있음

 

전송제어

데이터의 송 수신시 데이터를 올바르게 전송하는 일련의 절차를 제어

전송제어 절차

  1. 회선 접속 : 정보 전송 전단계 회선 접속함
  2. 데이터 링크 확립 : 데이터의 송수신이 가능하도록 경로 구성
  3. 정보 전송 : 정보전송 시작
  4. 데이터 링크 해제 : 정보 전송 종료되면 그 내용을 수신측에 통보 후 링크 해제
  5. 회선 절단 : 연결된 회선 끊음

흐름 제어

회선 양쪽 시스템이 처리 속도가 다를 떄 데이터 양이나 통신속도가 수신측이 처리할 수 있는 능력을 넘어서지 않도록 조정하는 기능. 데드락을 피하기 위해 흐름 제어가 필요함.

정지 대기방식, 슬라이딩 윈도 방식 이 있음

  1. 정지대기 방식 : 한번에 프레임1개씩 전송 가능 수신측에서는 완료 후 다음을 받음
  2. 슬라이딩 윈도 방식 : 전송 시 한번에 프레임을 여러개 를 보내고 프레임 수신 완료 시 다음 여러개의 프레임을 보냄. 가장 대표적인 방식

오류 제어

오류는 통신 회선의 순간적인 절단현상, 통신회선의 잡음과 감쇄, 혼선, 군 지연, 찌그러짐, 펄스성 잡음, 에코현상, 장치의 기계적/구조적 원인, 전원 중단 등 전기적 원인 때문에 발생함.

물리 계층에서는 데이터를 주고 받기만 할 뿐 오류 여부는 검사 불가

오류 를 검출하여 수정 처리하는 기능은 데이터 링크 계층에서 담당

제어 방식 : 오류 무시, 반향 검사, 검출 후 재전송, 전진 오류 수정

검출 후 재전송(ARQ) : 패리티, 블록 합 검사, 순환 중복 검사

전진 오류 수정(FEC) : 해밍 부호 검사

 

오류 무시

텍스트, 숫자가 포함안된 간단한 문자 전송. 중요하지 않은 데이터에 사용

 

반향 검사

루프 방식이라고도 함. 전송데이터, 수신데이터 서로 비교하며 판단함.

궤환 전송 방식 : 수신 데이터 송신 측에 다시 전송받아 원래 데이터와 비교

연속 전송 방식 : 송신 측에서 두번이상 전송하여 수신측에서 이 데이터를 상호 비교

 

ARQ

오류가 발생 시 수신측은 송신측에 오류발생 사실을 알리고 재전송 요구

수신측 역채널 통해 데이터 잘 받았으면 ACK, 오류가 있으면 NAK 정보 전송

송신 측은 전송 중인 프레임 기억해야 함으로 버퍼가 필요. 버퍼의 크기는 프레임 크기, 개수로 결정

수신 측에서 오류를 검출하는 방식 : 패리티검사, 블록합 검사, 순환 중복 검사 등이 있음

 

정지 대기

형태가 가장 단순한 ARQ 받고 정지후 검사 후 다시 받기 반복함.

연속적

데이터 블록을 연속해서 보내는 방식.

GO - Back N ARQ 방식, 선택적 ARQ 방식이 있음

 

GO - Back N ARQ 방식

오류 발생 시 송신측에 NAK와 함꼐 오류 프레임 번호 통보함.

송신 측에서는 NAK에서 오류가 발생한 프레임 번호 확인 후 그 프레임부터 재전송함

 

선택적 ARQ 방식

GO - Back N ARQ의 단점 개선

오류 발생 시 NAK와 함께 오류 프레임 번호 통보 후 오류 방생한 프레임 번호를 확인한 후 해당 프레임만 다시 전송함.

실제로는 GO - Back N ARQ 방식을 더 많이 사용함.

 

적응적 방식

전송 효율을 최대한 높이려고 데이터 블록의 길이를 동적으로 변경시켜 전송하는 방식

수신 측이 수신한 데이터 블록을 감지하고 오류 발생률을 판단하여 송신 측에 통보함.

송신 측을 통신 회선의 오류 발생 등이 낮으면 긴 프레임을 높으면 짧은 프레임을 전송

통신 프로토콜에서는 잘 안씀

 

FEC

수신측에서 오류가 있음을 발견 시 해당 오류를 검출할 뿐만 아니라 오류 수정도 가능한 방식

연속적 데이터 전송이 가능하며 역채널을 사용하지 않는다는 장점이 있음

잉여 비트에 의한 전송 채널 대역이 낭비됨. 기기와 코드 방식이 복잡하다는 단점있음

FEC 코드 종류에는 크게 블록코드, 콘볼루션 코드로 구분됨.

 

728x90