프로토콜(Protocol)

vvinter·2024년 4월 5일
0

개발용어

목록 보기
22/28

프로토콜이란?

프로토콜이란 서로 다른 시스템이나 기기들 간의 데이터 교환을 원활하게 하기 위해 표준화된 통신규약이다.

프로토콜의 구성

프로토콜은 두 가지로 이루어져 있으며 물리적 측면과 논리적 측면으로 나뉜다.

  • 물리적 측면 : 자료 전송에 쓰이는 전송 매체, 접속용 단자 및 전송 신호, 회선 규격 등
  • 논리적 측면 : 프레임(자료의 표현 형식 단위) 구성, 프레임 안에 있는 각 항목의 뜻과 기능, 자료 전송의 절차 등.
    • 폐쇄적인 프로토콜
      : 자사 장치들끼리 통신하기 위한 독자적인 통신 규약이며, 자세한 규격이 공개되어 있지 않아서 크래킹 위협에 상대적으로 안전함
    • 공개된 범용 프로토콜
      : 여러 장치들에 쓰이는 널리 알려진 규격이며, 규격이 널리 공개되어 있기 때문에 컴퓨터와 네트워크 크래킹에 취약한 편임.

프로토콜의 3요소

  • 구문(Syntax)
    • 시스템 간의 정보 전송을 위한 데이터 형식, 부호화, 신호 레벨 등의 규정
  • 의미(Semantics)
    • 시스템 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정
  • 시간(Timing)
    • 시스템 간의 통신 속도, 메시지의 순서 제어 등을 규정

네트워크 프로토콜

컴퓨터나 원거리 통신 장비 사이에서 메지를 주고받는 양식과 규칙의 체계이다.


OSI 7계층의 프로토콜

7 - 응용 Applicaiton
: HTTP, SMTP, FTP, Telnet, POP3, IMAP, SSH, SNMP

6 - 표현 Presentation
: ASCII, MPEG, JPEG, MIDI

5 - 세션 Session
: RPC, NetBIOS, SAP, SDP, NWLink

4 - 전송 Transport
: TCP, UDP, SPX

3 - 네트워크 Network
: IP, ARP, RARP, ICMP, IGMP, 라우팅 프로토콜, IPX

2 - 데이터링크 Data Link
: HDLC, PPP, 프레임 릴레이, ATM, Ethernet, Token Ring, FDDI, Apple Talk

1- 물리 Physical
: 10BASE-T, 100BASE-TX, ISDN, wired, wireless, RS-232, DSL, Twinax


++) OSI 모델
: 모든 종류의 컴퓨터 시스템 간의 통신을 가능하게 하는 네트워크 시스템 설계를 위한 계층 구조


프로토콜의 기능

  • 단편화 : 전송이 가능한 작은 블록으로 나누어지는 기법
  • 재조립, 재합성 : 단편화되어 온 조각들을 원래 데이터로 복원하는 기법
  • 캡슐화 : 상위 계층의 데이터에 각종 정보를 추가하여 하위 계층으로 보내는 기법
  • 연결 제어 : 데이터의 전송량이나 속도를 제어하는 기법
  • 오류 제어 : 데이터 전송 중 잃어버리는 데이터나 오류가 발생한 데이터를 검증하는 제어 기법
  • 흐름 제어 : 데이터양이나 통신 속도 등이 수신 측의 처리 능력을 초과하지 않도록 조정하는 기능
  • 동기화 : 송신과 수신, 두 통신 객체의 상태(시작, 종류, 검사 등)를 맞추는 기법
  • 다중화 : 하나의 통신 회선에 여러 기긱들이 접속할 수 있는 기술
  • 주소 설정 : 송신과 수신지의 주소를 부여하여 정확한 데이터 전송을 보장하는 기법

계층별 주요 프로토콜

  • Ethernet

    • 비연결성모드, 전송속도 10Mbps 이상, LAN 구현 방식을 말함
  • HDLC (High-Level Data-Link Control)

    • 점대점 방식이나 다중방식의 통신에 사용되는 ISO에서 표준화된 동기식 비트 중심의 데이터 링크 프로토콜
  • PPP (Ponit-to-Point Protocol)

    • 네트워크 분야에서 두 통신 노드 간의 직접적인 연결을 위해 일반적으로 사용되는 데이터 링크 프로토콜
    • 전화선 같이 양단간 비동기 직렬 링크를 사용하는 두 컴퓨터간의 통신을 지원하는 프로토콜

3. 네트워크 Network

  • IP (Internet Protocol)

    • 송신, 수신 간의 패킷 단위로 데이터를 교환하는 네트워크에서 정보를 주고받는 데 사용하는 통신규약
  • ARP (Address Resolution Protocol)

    • IP 네트워크 상에서 IP 주소를 MAC 주소로 변환하는 프로토콜
  • RARP (Reverse Address Resolution Protocol)

    • IP 호스트가 자신의 물리 네트워크 주소(MAC)는 알지만 IP 주소를 모르는 경우, 서버로부터 IP 주소를 요청하기 위해 사용하는 프로토콜
  • ICMP (Internet Control Message Protocol)

    • IP의 동작 과정에서 전송 오류가 발생하는 경우에 대비해 오류 정보를 전송하는 목적으로 사용하는 프로토콜
  • IGMP (Internet Group Management Protocol)

    • 인터넷 그룹 관리 프로토콜, 호스트 컴퓨터와 인접 라우터가 멀티캐스트 그룹 멤버십을 구성하는 데 사용하는 통신 프로토콜
  • 라우팅 프로토콜 (Routing Protocol)

    • 패킷이 목적지까지 가는 방법을 결정해주는 프로토콜
    • 내부 RIP, OSPF / 외부 EGP, BGP

4. 전송 Transport

  • TCP (Transmission Control Protocol)

    • 전송 제어 프로토콜
    • 네트워크의 정보전달을 통제, 데이터의 전달을 보증하고 보낸 순서대로 받게 해줌
    • 신뢰성 보장, 흐름 제어, 혼잡 제어
  • UDP (User Datagram Protocol)

    • 사용자 데이터그램 프로토콜
    • 비연결성이고 신뢰성이 없으며 순서화되지 않은 데이터그램 서비스를 제공하는 통신 프로토콜

5. 세션 Session

  • RPC (Remote Procedure Call)

    • 원격 프로시저 호출
    • 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행할 수 있는 프로세스 간 통신에 사용되는 프로토콜
  • NetBIOS (Network Basic Input/Output System)

    • 네트워크에 대한 기본적인 입출력((Net + BIOS) 이라는 뜻으로 합성된 용어
    • 응용계층(7계층)의 애프리케이션 프로그램에게 API를 제공하여 상호 통신할 수 있도록 해주는 역할
      ⇒ 프로토콜 보다는 소프트웨어 인터페이스 및 이름 명명법을 정의하고 있는 일종의 API 라고 할 수 있음
    • 통상, 통신 프로토콜 만을 가르키는 경우, NetBIOS 대신에 NetBEUI 라고 부름

6. 표현 Presentation

  • JPEG : 이미지를 위해 만들어진 표준 규격
  • MPEG : 멀티미디어(비디오, 오디오)를 위해 만들어진 표준 규격
  • ASCII : 7비트의 인코딩으로 33개의 제어 문자와 95개의 영어문자로 이루어짐

7.응용 Applicaiton

  • HTTP (HyperText Transfer Protocol)

    • 텍스트 기반의 통신규약으로 인터넷에서 데이터를 주고받을 수 있는 프로토콜
    • 하이퍼 텍스트를 빠르게 교환하기 위한 프로토콜
    • 80번 포트
  • SMTP (Simple Mail Transfer Protocol)

    • 인터넷에서 이메일을 보내기 위해 이용되는 프로토콜
    • 25번 포트
  • FTP (File Transfer Protocol)

    • TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일을 전송하기 위한 프로토콜
    • 데이터전달 : 20번 포트, 제어정보전달 : 21번 포트
  • TELNET

    • 인터넷이나 로컬 영역에서 네트워크 연결에 사용되는 네트워크 프로토콜
    • 보안 문제로 거의 사용되지 않으며 원격제어를 위해 SSH로 대체
    • 23번 포트
  • SSH (Secur Shell)

    • TELNET보다 강력한 보안을 제공하는 원격접속 프로토콜
    • 클라이언트와 서버 간의 상호 인증을 수행(신뢰성 보장)
    • 통신을 안전하게 암호화하여 중간자 공격, 데이터 도용 및 데이터 유출과 같은 보안 위협을 방지
    • 키를 통한 인증은 클라이언트 공개키를 서버에 등록해야 하고 전송되는 데이터는 암호화
    • 원격 네트워크 서비스를 안전하게 터널링 하는데 사용
    • 22번 포트






📎  참고

https://developer.mozilla.org/ko/docs/Glossary/Protocol
https://computer-science-student.tistory.com/377
🗒️ 수제비 정보처리기사 실기 문제집
https://itwiki.kr/w/프로토콜
https://blog.naver.com/seungj1031/221012340470
https://developer.mozilla.org/ko/docs/Glossary/TCP
https://needjarvis.tistory.com/158
http://www.ktword.co.kr/test/view/view.php?m_temp1=319
https://velog.io/@pingu_9/계층-별-프로토콜의-특징8-
https://velog.io/@pingu_9/%EA%B3%84%EC%B8%B5-%EB%B3%84-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C%EC%9D%98-%ED%8A%B9%EC%A7%95

0개의 댓글