ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 05. 프로토콜
    네트워크 2022. 9. 2. 19:31

     

     

     

    프로토콜

    프로토콜이란 약속 또는 규약을 뜻하는 단어이며,

    네트워크에서는 정보를 주고 받는 양식과 규칙, 통신 규약들을 말합니다.

     

     

     

    우리가 URL에서 보았던 "user=deShaw&password=deShaw" 같은 양식들도

    일정한 규칙을 가지기 때문에 프로토콜로 볼 수 있습니다.

     

    클라이언트가 프로토콜에 따라 위 정보를 양식에 맞춰 서버로 보내면,

    서버는 다시 프로토콜에 따라 'deShaw' 유저의 데이터를 가공해서 클라이언트에게 전달하게 됩니다.

     

     

     

     

     

    프로토콜 구성 요소

    • 구문(Syntax) : 전송하고자 하는 데이터의 형식, 부호화, 신호 레벨 등을 규정합니다.

    • 의미(Semantics) : 데이터 제어 및 에러 발생에 대한 처리 방법을 규정합니다.

    • 시간(Timing) : 두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정합니다.

     

     

    프로토콜은 계층적 역할 관점에 따라 물리적, 논리적 측면으로 나눌 수 있습니다.

     

    물리적 측면 : 자료 전송에 쓰이는 전송 매체, 접속용 단자 및 전송 신호, 회신 규격 등을 말합니다.

    논리적 측면 : 프레임의 구성, 프레임 안에 있는 각 항목의 뜻과 기능, 자료 전송의 절차 등을 담습니다.

     

     

    쉽게 말하면 물리적 측면은 핸드폰 - Type-C ↔ 컴퓨터 - Type-A 처럼 물리적인 기기를 통해 변환되는 것을 뜻하며,

    논리적 측면은 "user=deShaw&password=deShaw" 처럼 일정한 데이터 양식을 뜻합니다.

     

     

     

     

     

    프로토콜의 종류

     

    계층 프로토콜
    응용(Application) HTTP, SMTP, POP, FTP, TFTP, Telnet
    표현(Presentation) ASCII, MPEG, JPEG, MIDI
    세션(Session) NetBIOS, SAP, SDP, NWLink
    전송(Transport) TCP, UDP, SPX
    네트워크(Network) IP, IPX, ARP, RARP
    데이터 링크(Data Link) Ethernet, Token Ring, FDDI, Apple Talk
    물리(Physical) 없음

     

     

      • HTTP(HyperText Transfer Protocol) :
        하이퍼텍스트 문서(html) 문서를 교환하기 위한 프로토콜입니다.

      • FTP(File Transfer Protocol) :
        파일 전송을 위한 프로토콜입니다.

      • TFTP(Trivial File Transfer Protocol) : 
        FTP보다 단순한 방식으로 파일을 전송하여 전송 과정에서 데이터가 손실될 수 있어
        불안정하다는 단점을 가지고 있습니다.
        하지만 구현이 간단하기 때문에 임베디드 시스템에서 주로 사용됩니다.

      • Telnet(TELetype NETwork) :
        원격으로 컴퓨터에 접속해주는 프로토콜입니다.

      • SMTP(Simple Mail Transfer Protocol) :
        메일을 송신하기 위한 프로토콜입니다.

      • POP(Post Office Protocol) :
        메일을 수신하기 위한 프로토콜입니다.
        주로 3 버전이 사용되어 POP3로 칭하기도 합니다.

      • DHCP(Dynamic Host Configuration Protocol) :
        IP 주소를 자동으로 할당하고 관리하는 프로토콜입니다.


      • TCP(Transmission Control Protocol) :
        데이터 흐름을 제어하고 에러 유무를 검사하는 프로토콜입니다.

      • UDP(User Datagram Protocol) :
        데이터그램(데이터 전송 단위) 전송을 위한 프로토콜입니다.


    • IP(Internet Protocol) :
      패킷의 주소를 해석하고 경로 결정 후 전송하는 프로토콜입니다.

    • ARP(Address Resolution Protocol) :
      IP 주소를 물리적 주소(Mac)로 대응시켜 주는 프로토콜입니다.

    • RARP(Reverse Address Resolution Protocol) :
      물리적 주소로 IP 주소를 알려주는 프로토콜입니다.

     

     

     

     

    프로토콜의 기능

    단편화와 재합성

    단편화(Fragmentation) : 송신 측에서 큰 데이터를 쉽게 전송할 수 있도록 작은 블록으로 나누어 전송하는 것을 말합니다.

    재합성(Assembly) : 수신 측에서 쪼개진 블록들을 재합성하여 원래의 데이터로 복원하는 것을 말합니다.

     

     

    캡슐화(Encapsulation)

    각 프로토콜에 맞는 데이터 블록을 만들기 위해 데이터에 정보를 추가하는 것을 말합니다.

     

    HTTP에서 아래와 같은 데이터 블록를 만들었다면 

    {GET HTTP ~~~}

     

    IP에서 아래처럼 헤더를 추가해 데이터 블록을 만드는 것을 캡슐화라고 합니다.

    {192.168.0.1 {~~~~ {GET HTTP ~~~} ~~~}}

     

     

    연결 제어(Connection Control)

    비연결 데이터 전송(데이터그램)과

    연결 위주 데이터 전송(가상회선)을 위한 통신로를 개설, 유지, 종결하는 기능입니다.

     

    흐름 제어(Flow Control)

    송신 측에서 오는 데이터를 수신 측이 처리를 감당할 수 있도록 

    데이터 양이나 통신 속도 등을 조정하는 기능입니다.

     

    오류 제어(Error Control)

    데이터 전송 중 발생할 수 있는 오류를 검출하고 정정하는 기능입니다.

    오류가 있거나 특정 시간 안에 데이터를 받지 못하면 재전송을 요구하는 방식으로 이루어 집니다.

     

    순서 제어(Sequance Control)

    쪼개진 데이터 블록을 전송할 때 순서를 명시하는 기능입니다.

    TCP 프로토콜같은 연결 지향형에만 사용하고, 수신 측은 순서에 맞게 블록을 재조립합니다.

     

    주소 설정(Addressing)

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

     

    동기화(Synchronization)

    송수신자 간의 데이터를 주고받는 시점을 정확하게 일치시키기 위한 기능입니다.

     

    멀티플렉싱(Multiplexing) 

    하나의 통신로를 이용해 다중 연결을 이용할 수 있도록 하는 기능입니다.

     

     

     

     

    참고

    https://computer-science-student.tistory.com/377

    https://real-dongsoo7.tistory.com/81

    https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=hai0416&logNo=221563893539 

     

     

     

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

    07. 네트워크 연결  (0) 2022.09.07
    06. OSI 7계층  (0) 2022.09.04
    04. HTTP  (0) 2022.09.02
    03. 쿠키와 세션  (0) 2022.09.02
    02. 웹 용어 정리  (0) 2022.09.02

    댓글

Designed by Tistory.