네트워크 프로토콜 파악

김민세·2022년 12월 21일
1
post-thumbnail

네트워크 프로토콜 개요

네트워크 프로토콜은 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다. 통신 규약 또는 규칙에는 전달 방식, 통신 방식, 자료의 형식, 오류 검증 방식, 코드 변환 규칙, 전송 속도 등을 정하게 된다. 다른 기종의 장비는 각기 다른 통신 규약을 사용하는데 프로토콜을 사용하면 다른 기기 간 정보의 전달을 표준화할 수 있다.

프로토콜 특징

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

IP

IP(Internet Protocol) 주소는 전 세계 컴퓨터에 부여되는 유일한 식별자이다.

IPv4는 인터넷 초기부터 현재까지 쓰고 있는 주소 체계이며 000.000.000.000과 같이 12자리로 표시하며 약 43억 개를 부여할 수 있다.
최근에는 디바이스의 증가로 IPv4가 가진 주소의 양이 부족할 수 있어 IPv6를 공표하였다.

IPv4IPv6가 공존하며 두 개의 주소 체계를 변환하여 사용하고 있으며 이를 담당하는 것을 NAT(Network Address Translator)라고 한다. IPv6는 이전 버전에 비하여 효율적인 패킷을 처리하고 보안이 강화된 특징이 있다.


TCP/IP 프로토콜

TCP/IP이란 TCP와 IP 프로토콜만을 지칭하는 것이 아니라 UDP(User Datagram Protocol). ICMP(Internet Control Message Protocol), ARP(Address Resolution Protocol), RARP(Reverse ARP) 등 관련되 프로토콜을 통친한다.

TCP와 UDP로 구분되는 프로토콜은 트랜스포트 계층에 응용 계층과 인터넷 계층 사이의 통신을 담당한다.

TCP와 UDP의 가장 큰 차이점은 데이터 전송의 신뢰성에 있다. TCP는 수신 측의 수신 가능 상태, 수신 여부 등을 단계별로 체크해 가며 데이터를 전송하는 반면 UDP는 망으로 데이터를 송신할 뿌 확인 작업을 수행하지 않는다.

TCP(Transmission Control Protocol)

  • CRC 체크와 재전송 기능을 통해 신뢰성 있는 전송을 확보한다.
  • Flow Control 기능을 수행하여 단계별 데이터 전송 상황을 체크한다.
  • 논리적인 1:1 가상 회선을 지원하여 해당 경로로만 데이터가 전달되도록 한다.
  • 대표 서비스: FTP, Talent, Http, SMTP, POP, IMAP

TCP/UCP의 헤더 구조

프로토콜의 차이는 해더의 구조에 잘 나타나 있다.

  • 송/수진자 포트번호: 송신-수신 프로세스에 할당되는 포트 주소
  • 순서 번호: 송신자가 전하는 데이터 전송 순서
  • 응답 번호: 제대로 수신했는지 여부를 수신자 측으로부터 전달받음
  • 데이터 오프셋: 헤더의 크기
  • 예약 필드: 다른 사용 목적으로 확보된 필드로 실제 사용 안 함
  • 윈도 크기: 수신 윈도의 버퍼 크기 지정
  • Checksum: 헤더와 데이터의 오류 검출
  • 긴급 위치: 긴급 데이터 처리용
  • 제어 비트: 긴급 필드 설정, 응답 번호 유효 여부 등 체크
profile
김민세

0개의 댓글