CS/정보처리산업기사

네트워크 기초 활용 - TCP/IP 프로토콜

jjh0119 2025. 3. 21. 16:50

01. Transmission Contorl Protocol / Internet Protocol

1) TCP/IP의 개념

  • 인터넷 통신을 위한 기본 통신 프로토콜이다.
  • OSI 7 Layer를 실무에 활용하는 기능 중심으로 4계층으로 구조화하고, 각 그룹에서 활용되는 프로토콜군을 정리한 네트워크 통신 구조 모델이다.
  • 인터넷에 연결된 서로 다른 기종의 컴퓨터들이 데이터를 주고받을 수 있도록 하는 표준 프로토콜이다.
  • TCP와 IP 프로토콜만을 지칭하는 것이 아니라 UDP(User Datagram Protocol), ICMP(Internet Control Message Protocol), ARP(Address Resolution Protocol), RARP(Reverse ARP) 등 관련된 프로토콜을 통칭한다.

2) TCP/IP 프로토콜 스택의 구성

  • OSI 7 Layer의 1,2 계층과 5,6,7 계층을 통합하여 4계층으로 구성된다.

(1) 네트워크 엑세스 계층 = 물리 + 데이터 계층

  • Ethernet, IEEE 802, HDLC, X-25, RS-232C, V.35 등

(2) 인터넷 계층 = 네트워크 계층

  • ARP, RARP, ICMP, IP, IGMP 등

(3) 전송 계층

  • TCP, UDP 등

(4) 응용 계층 = 세션 + 표현 + 응용 계층

  • HTTP, FTP, IMAP, SMTP, TELNET, E-Mail 등

02. TCP(Transmission Control Protocol)

1) 특징

  • 수신측의 수신 가능 상태, 수신 여부등을 단계별로 체크해 가며 데이터를 전송한다.
  • 데이터의 중복이나 손실없이 종단간에 데이터를 전송한다.
  • 논리적인 1:1 가상회선을 지원하여 해당 경로로만 데이터가 전달되도록 한다.
  • 전이중 서비스를 제공한다.
  • 스트림 데이터 서비스를 제공한다.
  • 대표 서비스 : FTP, Telnet, HTTP, SMTP, POP, IMAP 등

2) TCP 헤더 구조

  • 출발지/ 목적지 포트 주소 : 송신- 수신 프로세스에 할당되는 포트 주소를 나타낸다.
  • 순서 번호 : 송신자가 전하는 데이터 전송 순서로, 전달하는 바이트마다 번호를 부여한다.
  • 수신 확인 번호 (Acknowledgement Number) : 제대로 수신했는지 여부를 수신자측으로부터 전달받는다.
  • 헤더 길이 : 정수값으로 세그먼트 헤더의 길이를 나타낸다.
  • 예약필드 : 6비트 영역으로 필요에 따라 다른 사용 목적으로 확보된 필드로 실제 사용되지 않는다.
  • 윈도우 크기 : 수신 윈도우의 버퍼크기를 지정하는 영역으로, 한 번에 전송할 수 있는 데이터의 양을 나타낸다.
  • Checksum : 헤더와 데이터의 오류를 검출하고, 데이터를 포함한 세그먼트의 오류를 검사한다.
  • 긴급 위치 : 긴급 데이터 처리용으로 사용한다.
  • 제어 비트 : 총 6개로 통신의 성질을 나타낸다.
    • SYN(동기화) : 연결 시작 용도로 사용한다. 연결이 시작될 때 SYN 플래그에 1로 표시해서 보낸다.
    • ACK(확인) : ACK 번호가 유효할 경우, 1로 표시해서 보낸다. 초기 SYN이 아닌 모든 패킷은 기존 메시지에 대한 응답이므로 ACK 플래그가 1로 표기된다
    • PSH(가능한 빨리 처리) : 서버측에서 전송할 데이터가 없거나 데이터를 버퍼링 없이 응용 프로그램으로 즉시 전달할 것을 지시할 때 사용한다.
    • URG(긴급) : 긴급 데이터인 경우 1로 표시해서 보낸다.
    • RST(강제 초기화) : 연결 종료 시 1로 표시되는데, 연결을 일방적으로 끊을 때 사용한다
    • FIN(연결 해제) : 연결 종료 시 1로 표시하며, 데이터 전송을 마친 후 정상적으로 양방향 종료 시 사용한다.

03. UDP(User Datagram Protocol)

1) 특징

  • 망으로 데이터를 송신만 하며, 확인 작업을 수행하지 않는다.
  • 비연결형 프로토콜로, 연결되어 있지 않아도 데이터를 송신할 수 있다. 단, 수신측의 수신 여부는 확인하기 어렵다.
  • 흐름 제어, 오류 제어를 하지 않아 신뢰성 있는 데이터 전송에는 부적합하다.
  • 하나의 송신정보를 다수의 인원이 수신해야 할 경우 UDP를 사용한다.
  • 적은 오버헤드로 빠른 전송을 할 수 있다.
  • 대포 서비스 : SNMP, DNS, TGTP, NFS, NETBIOS, 인터넷 게임/방송/증권 등

2) UDP 헤더 구성

  • 출발지/목적지 포트 주소
  • 데이터 길이
  • UDP 체크섬

04. 인터넷 계층

1) IP

  • IP는 패킷의 주소를 해석하고 경로를 결정하여 다음 호스트로 전송한다.
  • IP 계층의 패킷은 데이터그램이라고 하며, 각 데이터그램은 독립적으로 처리된다.
  • 데이터그램은 서로 다른 경로로 전달될 수 있고, 순서가 바뀌어 전달될 수 있다.
  • 신뢰성 없는 비연결형 데이터그램 프로토콜로 오류 검사 및 추적기능이 없다.

IP 헤더의 구성

  • 버전 : 4비트
  • 헤더 길이 : 4비트
  • 서비스 타입 : 8비트
  • 전체 길이 : 16비트
  • 단편화 식별자 : 16비트
  • 플래그 : 3비트
  • 단편 오프셋 : 32비트 또는 13비트
  • 패킷 수명: 8비트
  • 프로토콜 유형 : 8비트
  • 헤더 체크섬 : 16비트
  • 송신지 IP 주소와 수신지 IP 주소 : 32비트
  • IP 헤더 옵션 영역 : 가변크기
  • 패딩: 헤더의 길이가 32비트의 배수가 되도록 메워놓는 가변크기의 영역

2) ARP

  • 논리 주소인 IP 주소를 물리 주소(MAC)으로 변환하는 프로토콜이다.

3) RARP

  • 물리적 하드웨어 주소인 이더넷 주소를 IP 주소로 변환하는 프로토콜이다.

4) ICMP

  • IP의 동작 과정에서의 전송 오류가 발생하는 경우에 대비해 오류 정보를 전송하는 목적으로 사용하는 프로토콜이다.

05. 네트워크 계층별 헤더 정보

1) 전송 계층

  • 전송 계층의 목적은 큰 데이;터를 잘 분할하고 받는 쪽에서 잘 조립하는 것이다.
  • 데이터에 순서를 정하고 받은 패킷의 순서가 맞는지, 빠진 패킷은 없는지 점검한다.
  • 포트 번호 : 상위 프로토콜 지시자

주요 포트 번호

  • TCP 20, 21 : FTP
  • TCP 22 : SSH
  • TCP 23 : TELNET
  • TCP 25 : SMTP
  • TCP 80 : HTTP
  • TCP 443 : HTTPS

2) 네트워크 계층

  • Source IP : 출발지 컴퓨터 주소
  • Destination IP : 목적지 컴퓨터 주소
  • 프로토콜 번호 : 상위 프로토콜 지시자

주요 프로토콜 번호

  • 1 : ICMP
  • 2 : IGMP
  • 6 : TCP
  • 17 : UDP
  • 58 : IPv6용 ICMP

3) 데이터 링크 계층

  • Source MAC : 발신지 MAC
  • Destination MAC : 목적지 MAC
  • 오류 체크
  • 이더 타입 : 상위 프로토콜 지시자

주요 이더 타입

Ox0800 : IPv4
Ox86DD : IPv6
Ox0806 : ARP
Ox8035 : RARP