CS

[CS] Protocol 이란?

JM_Code 2022. 11. 19. 21:03

프로토콜(Protocol)이란?

통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다. 즉 통신 규약 및 약속이다.

프로토콜의 기본 요소

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

프로토콜의 구성

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

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

프로토콜 종류 (OSI 7계층)

  • OSI (Open Systems Interconnection Reference Model)
  • 국제 표준화 기구(ISO)에서 개발한 모델
  • 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층별로 나눈 형태
  • OSI 모델을 OSI 7 Layer 또는 OSI 7 계층 모형이라고 칭함
  • (물데네전세표응..)

계층 프로토콜

응용(Application) HTTP, SMTP, FTP, Telnet
표현(Presentation) ASCII, MPEG, JPEG, MIDI
세션(Session) NetBIOS, SAP, SDP, NWLink
전송(Transport) TCP, UDP, SPX
네트워크(Network) IP, IPX
데이터 링크(Data Link) Ethernet, Token Ring, FDDI, Apple Talk
물리(Physical) 없음 (그냥 모든 물리 장치적인 장치)

FTP : port(20,21)

파일 전송 프로토콜(File Transfer Protocol)

컴퓨터 사이의 원활한 파일 전송을 위해 사용되는 프로토콜

port(20) : 데이터 전송용

port(21) : 제어용

보안성 문제로 TLS와 결합한 FTPS와 SSH와 결합한 SFTP가 있다.

 

TFTP : port(69)

파일 전송 프로토콜

FTP보다는 단순한 방식이어서 데이터 전송 과정에서 데이터가 손실될 수 있는 등 불안정하다.

FTP처럼 복잡한 프로토콜을 사용하지 않기에 구현이 간단하다.

임베디드 시스템에서 운영 체제 업로드로 주로 사용된다.

 

Telnet : port(23)

원격지 컴퓨터 시스템에 로그인 할 수 있도록 도와주는 프로토콜

 

HTTP : port(80)

하이퍼 텍스트 전송 프로토콜(Hyper Text Transfer Protocol)

인터넷에서 하이퍼 텍스트 문서를 교환하기 위해 사용되는 프로토콜

 

SNMP : port(161)

네트워크 관리 시스템 프로토콜(Simple Network Management Protocol)

네트워크 관련 자원들을 효율적으로 감시하고 제어하는 기능을 한다.

 

SMTP : port(25)

전자 우편 전송(송신) 프로토콜(Simple Mail Transfer Protocol)

TCP/IP 호스트의 우편함에 아스키(ASCII)문자 메시지를 전송

사용자의 컴퓨터에서 작성된 메일을 받아서 다른 사람의 계정이 있는 곳으로 전송해 주는 전자 우편 송신 프로토콜

 

POP3 : port(110)

전자 우편 전송(수신) 프로토콜(Post Office Protocol)

전송 받은 메일을 저장하고 있다가 사용자가 메일 서버에 접속하면 이를 보내주는 역할을 하는 전자 우편 수신 프로토콜

 

DHCP : port(67,68)

Dynamic Host Configuration Protocol

클라이언트가 동적인 IP 주소를 할당받아 인터넷을 사용 할 수 있게 해주는 프로토콜

고유한 IP주소를 가져야 다른 네트워크나 인터넷에 접속 할 수 있는데, DHCP는 고유한 IP주소 없이 접속할 때 자동으로 새로운 IP주소를 할당해준다.

port(67) : BOOTP 서버

port(68) : BOOTP 클라이언트

 

ICMP : port(1)

운영체제에서 오류메시지를 전송받는데 주로 쓰인다.

몇몇 진단프로그램을 제외한 남지는 데이터를 교환하지 않는다.

 

NETBIOS : port(139)

컴퓨터 어플리케이션들이 근거리 통신망을 통해 통신 할 수 있게 한다.

프로토콜의 기능

단편화(Fragmentation)와 재합성(Assembly)

단편화 : 송신 측에서는 긴 데이터 블록을 손쉽게 전송할 수 있도록 크기가 똑같은 작은 블록으로 나누어 전송

재합성 : 수신 측에서 쪼개진 작은 데이터 블록을 재합성하여 원래의 메시지로 복원하는 기능

 

캡슐화(Encapsulation)

각 프로토콜에 적합한 데이터 블록을 만들려고 데이터에 정보를 추가하는 것플래그, 주소, 제어 정보, 오류 검출 부호 등을 부착하는 기능

 

연결 제어(Connection Control)

비연결 데이터 전송(데이터그램)과 연결 위주 데이터 전송(가상회선)을 위한 통신로를 개설·유지·종결하는 기능

 

흐름 제어(Flow Control)

데이터양이나 통신속도 등이 수신 측의 처리 능력을 초과하지 않도록 조정하는 기능

 

오류 제어(Error Control)

데이터 전송 중 발생할 수 있는 오류나 착오 등을 검출하고 정정하는 기능

 

순서 결정(Sequencing)

연결 위주의 데이터를 전송할 때 송신 측이 보내는 데이터 단위 순서대로 수신 측에 전달하는 기능

 

주소 설정(Addressing)

발생지, 목적지 등의 주소를 명기하여 데이터를 정확하게 전달하는 기능

 

동기화(Synchronization)
두 통신 객체의 상태(시작, 종류, 검사 등)를 일치시키는 기능

 

다중화(Multiplexing)

하나의 통신로를 여러 개로 나누거나 회선 여러 개를 하나의 통신로로 변환시켜 다수의 가입자가 동시에 사할 수 있도록 하는 기능

 

전송 서비스(Transmission Service)

통신 객체를 사용하기 쉽도록 별도로 추가 서비스(패리티 검사, 보안도, 서비스 등급, 우선순위 등)를 제공하는 기능

'CS' 카테고리의 다른 글

[CS] Process, Thread  (0) 2022.11.26
[CS] Transaction  (0) 2022.11.24
[CS] URI, URL & URN  (0) 2022.11.15
[CS] REST API  (0) 2022.11.09
[CS] API 란?  (0) 2022.11.08