본문 바로가기
CS

네트워크 프로토콜

by Forsaken Developer 2023. 4. 11.
728x90
728x90

네트워크 프로토콜

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

프로토콜의 기본 3요소

  • 구문(Syntax) : 시스템 간의 정보 전송을 위한 데이터 형식, 코딩, 신호 레벨 등의 규정
  • 의미(Semantic) : 시스템 간의 정보 전송을 위한 제어 정보로 조정과 에러 처리를 위한 규정
  • 타이밍(Timing) : 시스템 간의 정보 전송을 위한 속도 조절과 순서 관리 규정

프로토콜의 특징

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

데이터 링크 계층(2계층) 프로토콜

  • HDLC(High-level Data Link Control) : 점대점 방식이나 다중방식의 통신에 사용되는 ISO에서 표준화한 동기식 비트 중심의 데이터 링크 프로토콜
  • PPP(Point-to-Point Protocol) : 네트워크 분야에서 두  통신 노드 간의 직접적인 연결을 위해 일반적으로 사용되는 데이터 링크 프로토콜
  • 프레임 릴레이(Frame Relay) : 프로토콜 처리를 간략화하여 데이터 프레임들이 중계기능과 다중화 기능만 수행함으로써 데이터 처리속도의 향상과 전송지연을 감소시킨 고속의 데이터 전송 기술
  • ATM : 정보전달의 기본단위를 53바이트 셀 단위로 전달하는 비동기식 시분할 다중화 방식의 패킷형 전송 기술

네트워크 계층(3계층) 프로토콜

  • 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 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜로 메시지 형식은 8바이트의 헤더와 가변 길이의 데이터 영역으로 분리
  • IGMP(Internet Group Management Protocol) : 호스트 컴퓨터와 인접 라우터가 멀티캐스트 그룹 멤버십을 구성하는  데 사용하는 통신 프로토콜
  • 라우팅 프로토콜(Routing Protocol) : 데이터 전송을 위해 목적지까지 갈 수 있는 여러 경로 중 최적의 경로를 설정해주는 라우터 간의 상호 통신 프로토콜

전송 계층(4계층) 프로토콜

TCP(Transmission Control Protocol)

근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥텟을 순서대로 안정적으로, 에러없이 교환할 수 있게 해주는 프로토콜

TCP 특징

  • 신뢰성 보장
  • 연결 지향적 특징
  • 흐름 제어
  • 혼잡 제어

TCP 헤더 구조

출처 - IT위키

  • Source/Destination Port Number : 송신지 port번호, 목직지 port번호 (각 16비트)
  • Sequence Number : 바이트 단위로 구분되어 순서화되는 번호 (32비트)
  • Acknowledgement Number : 확인응답번호/승인번호 (32비트)
  • HLEN(Header Length) : TCP 헤더 길이를 4바이트 단위로 표시  (4비트)
  • Flag Bit : TCP 연결 설정과 연결 해제 메시지를 구분  (1bit 6개)
  • Window Size : 해당 세그먼트의 송신 측이 현재 수신하고자 하는 윈도의 크기  (16비트)
  • Checksum : 헤더 및 데이터의 에러 확인을 위해 사용  (16비트)
  • Urgent Pointer : 시퀀스 번호로부터의 오프셋  (16비트)
  • Options and Padding : 최대 40바이트까지 옵션 데이터 포함 가능

UDP(User Datagram Protocol)

비연결성이고, 신뢰성이 없으며 순서화되지 않은 데이터그램 서비스를 제공하는  전송 계층의 통신 프로토콜

UDP 특징

  • 비신뢰성
  • 순서화되지 않은 데이터그램 서비스 제공
  • 실시간 응용 및 멀티캐스팅 가능
  • 단순 헤더

UDP 헤더 구조

  • Source Port Number : 송신 포트번호 (16비트)
  • Destination Port Number : 수신 포트번호 (16비트)
  • UDP Length : 바이트 단위의 길이 (16비트)
  • UDP Checksum : 헤더 및 데이터의 에러 확인을 위해 사용되는 필드 (16비트)
  • Data : 가변 길이 데이터 (가변)

세션 계층(5계층) 프로토콜

  • RPC(Remote Procedure Call) : 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행할 수 있는 프로세스 간 통신에 사용되는 프로토콜
  • NetBIOS(Network Basic Input/Output System) : 응용계층의 애플리케이션 프로그램에게 API를 제공하여 상호 통신할 수 있도록 해주는 프로토콜

응용 계층(7계층) 프로토콜

  • HTTP(HyperText Transfer Protocol) : 하이퍼텍스트를 빠르게 교환하기 위한 프로토콜
  • FTP(File Transfer Protocol) : TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일을 전송하기 위한 프로토콜
  • SMTP(Simple Mail Transfer Protocol) : TCP 포트번호 25번을 사용하여 이메일을 보내기 위한 프로토콜
  • POP3(Post Office Protocol Version 3) : 원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는 데 사용하는 프로토콜
  • IMAP(Internet Messaging Access Protocol) : 원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는 데 사용하는 프로토콜
  • Telnet : 인터넷이나 로컬 영역에서 네트워크 연결에 사용되는 네트워크 프로토콜
  • SSH(Secure Shell) : Telnet 보다 강력한 보안을 제공하는 원격접속 프로토콜
  • SNMP(Simple Network Management Protocol) : TCP/IP의 네트워크 관리 프로토콜

멀티캐스트 프로토콜(Multicast Protocol)

인터넷에서 같은 내용의 데이터를 여러 명의 특정한 그룹의 수신자들에게 동시에 전송할 수 있는 프로토콜

유니캐스트 프로토콜(Unicast Protocol)

고유 주소로 식별된 하나의 네트워크 목적지에 1:1로 트래픽 또는 메시지를 전송하는 프로토콜

브로드캐스트 프로토콜(Broadcast Protocol)

하나의 송신자가 같은 서브 네트워크상의 모든 수신자에게 데이터를 전송하는 프로토콜

애니캐스트 프로토콜(Anycast Protocol)

하나의 호스트에서 그룹 내의 가장 가까운 곳에 있는 수신자에게 데이터를 전달하는 전송 기술

라우팅 프로토콜

데이터 전송을 위해 목적지까지 갈 수 있는 여러 경로 중 최적의 경로를 설정해주는 라우터 간의 상호 통신규약

RIP(Routing Information Protocol)

자율 시스템 내에서 사용하는 거리 벡터 알고리즘에 기초하여 개발된 내부 라우팅 프로토콜

  • 벨만-포드 알고리즘 사용
  • 15홉 제한
  • UDP 사용
  • 30초마다 정보 공유

OSPF(Open Shortest Path First)

규모가 크고 복잡한 TCP/IP 네트워크에서 RIP의 단점을 개선하기 위해 자신을 기준으로 링크 상태 알고리즘을 적용하여 최단 경로를 찾는 라우팅 프로토콜

  • 다익스트라 알고리즘 사용
  • 라우팅 메트릭 지정
  • 자치시스템 분할 사용
  • 홉 카운트 무제한
  • 멀티캐스팅 지원

BGP(Border Gateway Protocol)

자치시스템 상호간에 경로 정보를 교환하기 위한 라우팅 프로토콜

라우팅 알고리즘

거리 벡터 알고리즘(Distance Vector Algorithm)

인접 라우터와 정보를 공유하여 목적지까지의 거리와 방향을 결정하는 라우팅 프로토콜 알고리즘

벨만-포드 알고리즘 사용

링크 상태 알고리즘(Link State Algorithm)

링크 상태 정보를 모든 라우터에 전달하여 최단 경로 트리를 구성하는 라우팅 프로토콜 알고리즘

다익스트라 알고리즘 사용

728x90
반응형

'CS' 카테고리의 다른 글

IPv4와 IPv6  (0) 2023.04.11
네트워크 계층 구조  (0) 2023.04.11
가상화와 클라우드  (0) 2023.04.11
운영체제 핵심 기능  (0) 2023.04.11
운영체제 명령어 활용  (0) 2023.04.11

댓글