프로토콜

워니·2024년 12월 31일
0

컴퓨터네트워크

목록 보기
3/15

프로토콜(protocol)

컴퓨터 또는 내부에서, 또는 컴퓨터 사이에서 데이터의 교환방식을 정의하는 규칙체계. 기기 간 통신을 교환하는 데이터의 형식에 대해 상호 합의를 요구하는데, 이런 형식을 정의하는 규칙의 집합을 프로토콜이라고 한다 - MDN
서로 통신하는 방식에 대한 일련의 규칙

대표적인 프로토콜

  1. HTTP/HTTPS:
  • 용도: 웹 브라우저와 서버 간 데이터 전송.
  • 특징: HTTPS는 암호화를 통해 보안성을 강화.
  1. TCP/IP:
  • 용도: 인터넷의 핵심 프로토콜. 데이터 패킷을 신뢰성 있게 전달.
  • 특징: TCP는 연결 지향, IP는 주소 지정 담당.
  1. FTP (File Transfer Protocol):
  • 용도: 파일 전송.
  • 특징: 대규모 파일 전송에 적합.
  1. DNS (Domain Name System):
  • 용도: 도메인 이름을 IP 주소로 변환.
  • 특징: 사용자가 기억하기 쉬운 도메인 주소 사용 가능.
  1. SMTP/POP3/IMAP:
  • 용도: 이메일 전송 및 수신.
  • 특징: SMTP는 발송, POP3/IMAP은 수신 담당.
  1. ARP (Address Resolution Protocol):
  • 용도: IP 주소를 MAC 주소로 변환.
  • 특징: 같은 네트워크 내에서만 동작.

OSI 7계층

네트워크 통신이 이루어지는 과정을 7단계로 나누고, 각 계층의 표준 규격을 정한 것

계층을 나눈 이유 : 통신이 일어나는 과정을 단계별로 파악할 수 있기 때문에, 문제가 발생했을 때 현상에 따라 원인을 파악하기 쉽다

  • 하위 계층으로 갈수록 헤더가 붙어 캡슐화(encapsulation)이 진행되고, 상위 계층으로 갈수록 헤더를 제거하며 역캡슐화(decapsulation)이 진행된다.
  • 이 때, 헤더에는 계층의 기능과 관련된 제어 정보가 포함되어 있다.

AH : Application Header
PH : Presentation Header
SH : Session Header
TH : Transport Header
NH : Network Header / NT : Network Tail
DH : Data Link Header / DT : Data Link Tail

각 계층별 정리

1.물리 계청(physical)

OSI계층을 타고 전달된 데이터를 전기 신호(Bit)로 변환하여 물리적인 연결(통신 케이블)을 통해 데이터를 전송하는 계층

  • 데이터를 0과 1의 비트열, 즉 on/off의 전기적인 신호로 변환하여 주고받는 기능만 수행하며, 알고리즘, 오류 제어 등의 기능이 없다.
  • 대표적인 장비로 케이블(LAN), 허브(Hub), 리피터(Repeater)가 있다.

    프로토콜 데이터 단위(PDU; Protocol Data Unit)

    : 비트(bit) - 0,1

물리 계층을 통해 송수신되는 정보를 관리하여 안전하게 전달되도록 도와주는 계층

  • 물리 계층에서 발생할 수 있는 오류를 탐지하고, 오류를 감지하면 재전송한다
  • 맥주소(Mac Address)를 가지고 통신한다
  • 대표적인 장비로 브릿지(Bridge, Switch)가 있다.

프로토콜

  • Ethernet(이더넷)
    : 네트워크에 연결된 각 기기들이 고유의 MAC주소를 가지고 상호간에 데이터를 주고받을 수 있도록 정한 규칙

3. 네트워크 계층(Network)

데이터를 목적지까지 가장 안전하고 빠르게 전달하는 라우팅 역할을 하는 계층

  • 수신자의 IP주소를 기반으로 최적의 경로를 선택하고, 주소를 정하고, 경로에 따라 패킷을 전달
  • 경로 결정은 라우터의 알고리즘에 의해 결정된다

프로토콜

  • IP(Internet Protocol, 인터넷 프로토콜)
  • ICMP(Internet Control Message Protocol, 인터넷 제어 메세지 프로토콜)
    : TCP/IP의 IP계층에서 추가적으로 필요한 기능을 수행하기 위한 프로토콜(IP 패킷을 처리할 때 발생되는 문제를 알리거나, 그와 같은 문제의 진단 등)
  • ARP(Address Resolution Protocol, 주소 결정 프로토콜)
    : 네트워크 상에서 IP주소를 물리적 네트워크로 대응시키기 위해 사용하는 프로토콜
  • 라우팅 프로토콜 : 패킷이 목적지까지 가는 방법을 결정해주는 프로토콜

4. 전송 계층

통신을 활성화하고, 컴퓨터간 신뢰성 있는 데이터를 주고받을 수 있도록 서비스를 제공하는 계층

  • 송신자와 수신자 간의 논리적 연결을 수행한다
  • 보통 TCP 프로토콜을 이용하며, 포트를 열어서 응용 프로그램들을 전송할 수 있게 한다.
  • 사용자들이 신뢰성 있는 데이터를 주고받을 수 있도록 해준다
  • 단말 간 전달 데이터의 오류를 제어한다(시퀀스 넘버 기반)
    - 네트워크 계층에서 패킷이 유실되거나 순서가 바뀌는 경우, 바로잡아주는 역할을 한다.

프로토콜

  • TCP(Transmission Control Protocol)
  • UDP(User Datagram Protocol)

5. 세션 계층

컴퓨터 간의 연결을 제어하는 계층

  • 양 끝단의 프로세스가 연결을 성립하도록 도와주고, 작업을 마친 후에는 연결을 끊는 역할
  • TCP/IP 세션을 연결하고, 설정하고, 유지하고, 종료한다
  • 송신자와 수신자 간의 통신을 위해 동기화 신호를 주고 받는다
  • 컴퓨터 간의 통신 방식을 결정한다. (단순, 반이중, 전이중 방식 등)
  • 인증(Authentication) 및 권한 부여(Authorization) 기능도 처리한다

프로토콜

  • SSH (Secure Shell, 원격 호스트 컴퓨터에 접속하기 위해 사용되는 보안 프로토콜)
  • TLS (Transport Layer Security, 인터넷에서의 정보를 암호화해서 송수신하는 프로토콜)

6. 표현 계층

데이터를 어떻게 표현할지 데이터 형식을 지정하는 계층

  • 응용 계층으로부터 받은 데이터를 읽을 수 있는 형식으로 변환한다
  • 데이터의 인코딩/디코딩, 암호화/복호화 등의 기능을 수행

프로토콜

  • JPEG (Joint Photographic Experts Group, 정지 화상을 위해서 만들어진 손실 압축 방법 표준)
  • MPEG (Moving Picture Experts Group, 비디오와 오디오 등 멀티미디어의 표준)
  • ASCII (American Standard Code for Information Interchange, 미국 정보 교환 표준 부호)
  • MIDI (Musical Instrument Digital Interface, 악기 디지털 인터페이스)
    EBCDIC (Extended Binary Coded Decimal Interchange Code, 확장 이진화 십진법 교환 부호)

7. 응용 계층

우리가 사용하는 애플리케이션, 즉 소프트웨어 응용프로그램과 직접 상호작용하여 필요에 따른 통신 기능을 제공하는 계층

프로토콜

  • HTTP (HyperText Transfer Protocol, 하이퍼텍스트 전송 프로토콜)
  • FTP (File Transfer Protocol, 파일 전송 프로토콜)
  • DNS (Domain Name System, 도메인 이름 시스템)
  • SMTP (Simple Mail Transfer Protocol, 단순 전자우편 전송 프로토콜)
  • Telnet: 인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜

[면접질문] 프로토콜에 대해 설명해주세요
프로토콜이란 컴퓨터 네트워크에서 서로 다른 기기나 시스템이 데이터를 원활하게 주고받기 위해 약속된 규칙과 절차를 의미합니다. 쉽게 말하면, 통신할 때 사용하는 언어와 규칙의 집합이라고 볼 수 있습니다.
프로토콜의 주요 기능은 주소 지정, 데이터 포맷 정의, 흐름 제어, 오류 제어, 보안 등이 있습니다.
대표적인 프로토콜은 HTTP/HTTPS, TCP/IP, FTP, DNS, SMTP/POP3/IMAP이 있습니다.

[면접질문] 컴퓨터 네트워크에서 데이터를 전송하는 방식에 대해 설명해주세요
컴퓨터 네트워크에서 데이터를 전송하는 방식은 어떤 경로와 방법으로 데이터를 송신자에서 수신자로 전달할지 정의한 방식을 말합니다.
주요 데이터 전송 방식은
1) 전송 방향에 따른 분류

  • 단방향 통신 : 데이터를 한쪽 방향으로만 전송. 예시)TV, 라디오
  • 반이중 통신 : 데이터를 양방향으로 전송할 수 있지만, 동시에는 한 방향으로만 가능. 예시)무전기
  • 전이중 통신 : 데이터를 동시에 양방향으로 전송. 예시)전화, 인터넷
  1. 데이터 흐름 특성에 따른 분류
  • 패킷 교환 방식 : 데이터를 작은 단위인 패킷으로 나누어 전송
  • 회선 교환 방식 : 송신자와 수신자 간에 고정된 회선을 설정한 뒤 데이터를 전송
  • 메세지 교환 방식 : 데이터를 메세지 단위로 전달 (이메일 전송)

[면접질문] TCP/IP에 대해서 설명해주세요.
TCP/IP는 인터넷에서 데이터를 주고받기 위해 사용되는 핵심 통신 프로토콜의 집합입니다.
두 개의 주요 프로토콜, TCP(Transmission Control Protocol)IP(Internet Protocol)를 중심으로 네트워크 통신의 규칙을 정의합니다.
TCP/IP는 인터넷뿐만 아니라 대부분의 네트워크 환경에서 기본적으로 사용됩니다.
TCP/IP의 역할에 대해 말하자면,
IP는 데이터를 패킷 단위로 나누고 목적지 주소를 기반으로 전송 경로를 지정합니다. 데이터를 전달할 때 네트워크 노드 간의 주소 지정을 담당합니다.
TCP는 신뢰성 있는 데이터 전송을 보장하는 프로토콜로서 데이터가 목적지에 도달했는지 확인하고 손실된 데이터가 있으면 재전송합니다. 패킷의 순서를 재정렬하여 완전한 데이터를 수신자에게 전달합ㄴ다.

[면접질문]OSI 7 Layer에 대해서 설명해주세요.
OSI 7 Layer는 네트워크 통신을 7개의 계층으로 나누어 각 계층이 특정 역할을 담당하도록 만든 모델입니다. 이 모델은 표준화된 통신 구조를 제공해 네트워크 장비와 시스템이 서로 호환되도록 돕습니다.
물리 계층 (Physical Layer): 데이터 전송의 물리적 연결 담당 (케이블, 전파).
데이터 링크 계층 (Data Link Layer): 오류 제어와 프레임 단위의 데이터 전송.
네트워크 계층 (Network Layer): IP 주소를 기반으로 데이터 라우팅.
전송 계층 (Transport Layer): 데이터의 신뢰성 보장 (TCP/UDP).
세션 계층 (Session Layer): 세션 관리 (연결 설정/유지/종료).
표현 계층 (Presentation Layer): 데이터 변환과 암호화.
응용 계층 (Application Layer): 사용자와 직접 인터페이스 (HTTP, FTP, SMTP).

[면접질문]OSI 7 Layer, TCP/IP 처럼 프로토콜을 계층화하는 이유가 뭘까요?
프로토콜을 계층화하는 이유는 효율적이고 표준화된 통신을 가능하게 하기 위해서입니다. 구체적으로는 다음과 같은 장점이 있습니다.
1. 역할 분리로 인한 효율성

  • 각 계층은 특정한 역할만 수행합니다. 예: 네트워크 계층은 라우팅, 전송 계층은 데이터 신뢰성 보장.
  • 문제가 발생해도 특정 계층만 수정하면 되므로 문제 해결이 용이합니다.
    2. 상호 호환성
  • 서로 다른 제조사의 장비나 소프트웨어도 호환 가능하게 만듭니다. 예: 애플의 macOS와 윈도우 PC가 동일한 네트워크에서 통신 가능.
    3. 유지보수와 확장성
  • 새로운 기술이 추가되어도 하위 계층에 영향을 주지 않고 통합 가능합니다. 예: Wi-Fi 같은 새로운 물리적 기술이 등장해도 상위 계층은 그대로 사용.
    4. 복잡성 감소
  • 전체 네트워크 동작을 단순화합니다. 예: 개발자는 자신이 다루는 계층에만 집중하면 됨.
  • 웹 개발자는 주로 응용 계층에서 작업.
    5. 표준화와 협력 가능성
  • 전 세계적으로 일관된 통신 규칙을 제공하여 협력이 용이합니다. 예: 인터넷을 사용하는 모든 기기가 동일한 TCP/IP 기반으로 동작.
profile
매일, 조금씩 나아가는중

0개의 댓글