Section 146. TCP/IP

2024. 10. 13. 16:39정보처리기사(실기)/11장 응용 소프트웨어 기초 기술 활용

TCP/IP

1. 프로토콜

1) 정의:
프로토콜은 컴퓨터 네트워크 간의 데이터 통신을 위한 규칙과 절차의 집합입니다. 서로 다른 장치들이 데이터를 효율적으로 송수신하기 위해 정의된 일련의 표준화된 규칙으로, 모든 장치들이 동일한 프로토콜을 사용할 때 데이터 교환이 원활하게 이루어질 수 있습니다.

2) 프로토콜 기본 요소

  • 구문: 데이터의 형식과 구조를 정의하며, 송수신하는 데이터의 구조, 부호화 방식 등을 포함합니다.
  • 의미: 각 메시지가 의미하는 바를 정의하고, 특정 명령과 응답을 명확히 전달하기 위한 규칙을 의미합니다.
  • 시간: 데이터 전송에 있어 필요한 시간적 관계를 정의하며, 동기화 및 타이밍을 포함합니다.

3) 프로토콜의 기능

  • 단편화와 재결합: 큰 데이터를 작은 단위로 나누어 전송하고, 목적지에서 이를 재결합합니다.
  • 캡슐화, 흐름 제어: 송신 측에서 데이터를 캡슐화하고, 수신 측에서 이를 해석하며, 데이터의 흐름을 제어하여 네트워크 혼잡을 방지합니다.
  • 오류 제어: 전송 중 발생할 수 있는 오류를 검출하고 수정하는 기능을 제공합니다.
  • 동기화: 송신자와 수신자가 동일한 데이터 전송 시점을 맞추는 기능입니다.
  • 순서 제어: 여러 패킷이 전송될 때, 원래 순서대로 수신될 수 있도록 관리합니다.
  • 주소 지정: 목적지 장치로 데이터를 올바르게 전송하기 위한 주소 지정 기능입니다.
  • 다중화: 하나의 통신 회선에서 여러 데이터 흐름을 동시에 처리할 수 있도록 하는 기능입니다.
  • 경로 제어: 최적의 경로를 선택하여 데이터를 목적지로 전송합니다.
  • 전송 서비스: 안정적이고 신뢰성 있는 데이터 전송을 위한 서비스 제공 기능입니다.

2. TCP

1) 정의:
TCP(Transmission Control Protocol)는 신뢰성 있는 데이터 전송을 제공하기 위한 연결 지향형 프로토콜로, 데이터의 무결성과 순서를 보장합니다.

2) 기능:

  • 데이터 흐름 제어, 오류 제어, 순서 제어 등을 통해 신뢰성을 보장합니다.
  • 연결 설정 및 해제를 담당하여 두 호스트 간의 안정적인 통신을 지원합니다.

3) 계층: OSI 7계층
TCP는 전송 계층(4계층)에 속합니다.

4) 특징

  • 가상 회선 방식을 기반으로 하는 연결형 서비스 제공: 데이터를 신뢰성 있게 전송하기 위해 논리적인 연결을 설정합니다.
  • 패킷의 다중화, 순서 제어, 오류 제어, 흐름 제어 기능 제공: 여러 패킷을 순서대로 전송하고, 오류를 수정하며 흐름을 제어합니다.

3. IP

1) 정의:
IP(Internet Protocol)는 데이터를 목적지로 전송하기 위해 주소를 지정하고 경로를 설정하는 비연결형 프로토콜입니다.

2) 기능:

  • 데이터 패킷을 목적지까지 전달하기 위한 주소 지정과 경로 설정 기능을 수행합니다.
  • 데이터그램 방식으로 전송하여 데이터의 독립적인 전송을 지원합니다.

3) 계층: OSI 7계층
IP는 네트워크 계층(3계층)에 속합니다.

4) 특징

  • 데이터그램 방식을 기반으로 하는 비연결형 서비스 제공: 각 패킷은 독립적으로 처리되며, 목적지에 도달할 때까지 연결 상태를 유지하지 않습니다.
  • 패킷의 분해/조립, 주소 지정, 경로 선택 기능 제공: 데이터를 작은 단위로 나누어 전송하고 목적지에서 재조립합니다.

4. 단어 설명

1) 연결형 통신이란?
송신자와 수신자 사이에 논리적인 연결을 설정한 후 데이터를 송수신하는 방식입니다. 신뢰성을 보장하며, TCP가 대표적인 연결형 통신 프로토콜입니다.

2) 비연결형 통신이란?
데이터 전송 전에 연결 설정을 하지 않고, 독립적인 데이터그램을 전송하는 방식입니다. 신뢰성은 낮지만, 전송 속도가 빠르며, UDP가 대표적인 비연결형 통신 프로토콜입니다.

3) 데이터그램이란?
비연결형 전송 방식에서 사용하는 독립적인 데이터 단위로, 각 데이터그램은 자체 주소 정보를 가지고 목적지로 전송됩니다.

5. TCP/IP 계층 구조

1) 응용 계층
응용 프로그램 간의 데이터 송수신을 제공합니다.
프로토콜: TELNET, FTP, SMTP, SNMP, DNS, HTTP 등

  • TELNET: 원격으로 다른 컴퓨터에 로그인하여 명령어를 실행할 수 있도록 하는 프로토콜입니다.
  • FTP (File Transfer Protocol): 파일을 전송하기 위한 프로토콜로, 서버와 클라이언트 간의 파일 업로드 및 다운로드를 지원합니다.
  • SMTP (Simple Mail Transfer Protocol): 이메일을 전송하기 위한 프로토콜입니다.
  • SNMP (Simple Network Management Protocol): 네트워크 장치를 관리하고 모니터링하기 위한 프로토콜입니다.
  • DNS (Domain Name System): 도메인 이름을 IP 주소로 변환하기 위한 프로토콜입니다.
  • HTTP (HyperText Transfer Protocol): 웹에서 하이퍼텍스트 문서를 전송하기 위한 프로토콜입니다.

2) 전송 계층
호스트들 간의 신뢰성 있는 통신을 제공합니다.
프로토콜: TCP, UDP, RTCP 등

  • TCP (Transmission Control Protocol): 신뢰성 있는 데이터 전송을 제공하는 연결 지향형 프로토콜입니다.
  • UDP (User Datagram Protocol): 빠른 전송을 위해 신뢰성보다는 속도를 중시하는 비연결형 프로토콜입니다.
  • RTCP (Real-time Transport Control Protocol): 실시간 전송에서 제어 정보를 제공하는 프로토콜로, QoS 모니터링을 지원합니다.

3) 인터넷 계층
데이터 전송을 위한 주소 지정, 경로 설정을 제공합니다.
프로토콜: IP, ICMP, IGMP, ARP, RARP

  • IP (Internet Protocol): 데이터를 목적지로 전송하기 위한 주소 지정 및 경로 설정을 제공합니다.
  • ICMP (Internet Control Message Protocol): 네트워크 오류 메시지와 진단 정보를 전송하는 프로토콜입니다.
  • IGMP (Internet Group Management Protocol): 멀티캐스트 그룹을 관리하는 프로토콜입니다.
  • ARP (Address Resolution Protocol): IP 주소를 물리적 MAC 주소로 변환하는 프로토콜입니다.
  • RARP (Reverse Address Resolution Protocol): MAC 주소를 이용하여 IP 주소를 알아내는 프로토콜입니다.

4) 네트워크 액세스 계층
실제 데이터(프레임)을 송수신하는 역할을 합니다.
프로토콜: 이더넷, IEEE802, HDLC, X.25, RS-232C, ARQ 등

  • 이더넷 (Ethernet): LAN에서 데이터를 송수신하기 위한 프레임 구조와 통신 방식을 정의하는 프로토콜입니다.
  • IEEE 802: LAN 및 MAN의 데이터 링크 계층과 물리 계층을 표준화한 프로토콜입니다.
  • HDLC (High-Level Data Link Control): 데이터 링크 계층에서 데이터를 신뢰성 있게 전송하기 위한 비트 지향 프로토콜입니다.
  • X.25: 패킷 교환 네트워크에서 데이터 전송을 위한 프로토콜입니다.
  • RS-232C: 직렬 통신을 위한 표준 인터페이스입니다.
  • ARQ (Automatic Repeat reQuest): 데이터 전송 중 오류 발생 시 재전송을 요구하는 프로토콜입니다.

6. 응용 계층의 주요 프로토콜

FTP, SMTP, TELNET, SNMP, DNS, HTTP:

  • FTP (File Transfer Protocol): 파일을 서버와 클라이언트 간에 전송하기 위한 프로토콜입니다. 파일 업로드와 다운로드를 지원하며, TCP를 사용하여 신뢰성을 제공합니다.
  • SMTP (Simple Mail Transfer Protocol): 이메일을 송신하기 위한 프로토콜로, 메일 서버 간의 메일 전송을 담당합니다. TCP 포트 25를 사용합니다.
  • TELNET: 네트워크를 통해 다른 컴퓨터에 원격으로 로그인하여 명령어를 실행할 수 있도록 하는 프로토콜입니다. 비암호화된 평문으로 데이터를 전송합니다.
  • SNMP (Simple Network Management Protocol): 네트워크 장비를 모니터링하고 관리하기 위한 프로토콜입니다. 네트워크 성능을 모니터링하거나 장비 오류를 감지하는 데 사용됩니다.
  • DNS (Domain Name System): 도메인 이름을 IP 주소로 변환하는 프로토콜입니다. 사용자가 기억하기 쉬운 도메인 이름을 입력하면, 해당 도메인 이름에 매핑된 IP 주소를 반환합니다.
  • HTTP (HyperText Transfer Protocol): 웹에서 하이퍼텍스트 문서를 전송하기 위한 프로토콜입니다. 주로 웹 페이지의 요청과 응답을 처리하며, 기본적으로 비암호화된 연결을 제공합니다. 각각 파일 전송, 이메일 전송, 원격 로그인, 네트워크 관리, 도메인 이름 해석, 웹 데이터 전송을 담당합니다.

7. 전송 계층의 주요 프로토콜

TCP, UDP, RTCP:

  • TCP (Transmission Control Protocol): 신뢰성 있는 데이터 전송을 제공하는 연결 지향형 프로토콜입니다. 데이터 흐름 제어, 오류 제어, 순서 제어 등을 통해 신뢰성을 보장하며, 연결 설정 및 해제를 담당하여 안정적인 통신을 지원합니다.
  • UDP (User Datagram Protocol): 비연결형 프로토콜로, 데이터의 빠른 전송을 중시하며 신뢰성보다는 속도를 우선시합니다. 실시간 전송이 필요한 애플리케이션(예: 스트리밍, 온라인 게임)에 적합합니다.
  • RTCP (Real-time Transport Control Protocol): 실시간 멀티미디어 스트리밍에서 제어 정보를 제공하기 위한 프로토콜로, QoS 모니터링 및 전송 통계를 관리하는 역할을 합니다. 데이터 전송(TCP), 빠른 전송 속도(UDP), 실시간 전송 제어(RTCP) 등 다양한 전송 방식을 제공합니다.

8. 인터넷 계층의 주요 프로토콜

IP, ICMP, IGMP, ARP, RARP:

  • IP (Internet Protocol): 데이터를 목적지로 전송하기 위한 주소 지정 및 경로 설정을 제공합니다. 각 패킷이 독립적으로 전송되며, 목적지에 도달할 때까지 경로가 결정됩니다.
  • ICMP (Internet Control Message Protocol): 네트워크 오류 메시지와 진단 정보를 전송하는 프로토콜입니다. 네트워크 문제를 감지하고 상태를 점검하는 데 사용됩니다.
  • IGMP (Internet Group Management Protocol): 멀티캐스트 그룹에 가입하거나 탈퇴하는 호스트를 관리하는 프로토콜입니다. 멀티캐스트 트래픽을 효과적으로 전달하기 위해 사용됩니다.
  • ARP (Address Resolution Protocol): IP 주소를 물리적 MAC 주소로 변환하는 프로토콜입니다. 네트워크에서 데이터를 올바른 장치로 전달하는 데 필요합니다.
  • RARP (Reverse Address Resolution Protocol): MAC 주소를 이용하여 IP 주소를 알아내는 프로토콜입니다. 디스크 없는 클라이언트가 부팅 시 자신의 IP 주소를 알기 위해 사용됩니다.

9. 네트워크 액세스 계층의 주요 프로토콜

Ethernet(IEEE 802.3), IEEE 802, HDLC, X.25, RS-232C, L2TP:

  • Ethernet (IEEE 802.3): LAN에서 데이터를 송수신하기 위한 프레임 구조와 통신 방식을 정의하는 프로토콜입니다. 고속 데이터 전송을 지원하며 물리적 계층에서 동작합니다.
  • IEEE 802: LAN 및 MAN의 데이터 링크 계층과 물리 계층을 표준화한 프로토콜입니다. 여러 네트워크 기술의 표준을 정의하여 상호 운용성을 제공합니다.
  • HDLC (High-Level Data Link Control): 데이터 링크 계층에서 데이터를 신뢰성 있게 전송하기 위한 비트 지향 프로토콜입니다. 점대점 연결에서 사용되며 오류 제어와 흐름 제어를 제공합니다.
  • X.25: 패킷 교환 네트워크에서 데이터 전송을 위한 프로토콜로, 전화 회선을 통해 데이터 패킷을 전송하며 신뢰성 있는 연결을 제공합니다.
  • RS-232C: 직렬 통신을 위한 표준 인터페이스로, 컴퓨터와 주변 장치 간의 통신을 지원합니다.
  • L2TP (Layer 2 Tunneling Protocol): 터널링 프로토콜로, VPN 구현 시 사용되며 두 네트워크 간의 데이터를 안전하게 전송합니다. 물리적 전송 매체와 관련된 프레임 전송 및 통신 프로토콜입니다.

10. 단어 설명

1) 물리적 주소(MAC Address)란?
네트워크 장치마다 고유하게 부여된 48비트 주소로, 데이터 링크 계층에서 장치 식별을 위해 사용됩니다.

2) PPTP란?
PPTP(Point-to-Point Tunneling Protocol)는 원격 사용자가 인터넷을 통해 안전하게 사설 네트워크에 액세스하기 위해 사용하는 터널링 프로토콜입니다.

3) L2F란?
L2F(Layer 2 Forwarding)는 시스코에서 개발한 터널링 프로토콜로, 원격 접속 VPN을 지원하기 위해 사용됩니다.

11. OSI 7계층과 TCP/IP 계층 비교 분석 표

계층 번호OSI 7계층TCP/IP 계층주요 기능

1 물리 계층 (Physical Layer) 네트워크 액세스 계층 데이터의 전기적 신호 변환 및 물리적 전송
2 데이터 링크 계층 (Data Link Layer) 네트워크 액세스 계층 데이터 프레임의 전송, 물리적 주소(MAC) 사용 및 오류 검출
3 네트워크 계층 (Network Layer) 인터넷 계층 패킷 전달 및 라우팅, IP 주소 사용
4 전송 계층 (Transport Layer) 전송 계층 데이터 전송의 신뢰성 보장, 흐름 제어, 오류 제어 (TCP/UDP)
5 세션 계층 (Session Layer) 응용 계층 통신 세션 설정, 유지, 종료
6 표현 계층 (Presentation Layer) 응용 계층 데이터 형식 변환, 암호화/복호화
7 응용 계층 (Application Layer) 응용 계층 네트워크 응용 프로그램에 대한 인터페이스 제공 (FTP, HTTP, SMTP 등)

OSI 7계층 모델과 TCP/IP 모델은 네트워크 통신을 계층별로 나누어 각 계층의 역할을 명확히 하고 있습니다. OSI 모델은 개념적인 구조를 제공하며 7계층으로 나뉘지만, TCP/IP 모델은 실제 인터넷 프로토콜 스택에 사용되는 구조로 4계층으로 단순화되어 있습니다.

 


기출문제

문제 1

다음 네트워크 관련 설명의 괄호에 들어갈 알맞은 용어를 쓰시오.

심리학자 톰 마릴은 컴퓨터가 메시지를 전달하고, 메시지가 제대로 도착했는지 확인하며, 도착하지 않았을 경우 메시지를 재전송하는 일련의 방법을 "기술적 은어"를 뜻하는 ( )이라는 용어로 정의하였다.

  • 답: 가상 회선 방식
  • 문제 해설: 메시지의 전달 및 확인, 재전송의 과정을 통해 신뢰성을 보장하는 통신 방식으로, TCP에서 사용되는 가상 회선 방식을 의미합니다.

문제 2

프로토콜은 서로 다른 기기를 간의 데이터 교환을 원활하게 수행할 수 있도록 표준화시켜 놓은 통신 규약이다. 프로토콜의 기본 요소 3가지를 쓰시오.

  • 답: 구문, 의미, 시간
  • 문제 해설: 프로토콜의 기본 요소로는 데이터의 형식과 구조를 정의하는 "구문", 각 메시지가 의미하는 바를 정의하는 "의미", 그리고 데이터 전송에 필요한 시간적 관계를 정의하는 "시간"이 있습니다.

문제 3

다음 설명에 해당하는 알맞은 용어를 쓰시오.

IP(Internet Protocol)의 주요 구성원 중 하나로, OSI 7계층의 네트워크 계층에 속한다. 네트워크 컴퓨터의 운영체계에서 오류 메시지를 수신하거나, 전송 경로를 변경하는 등 오류 처리를 위한 제어 메시지를 주로 제공한다. 관련 도구로는 traceroute, ping이 있으며, ping of death와 같은 네트워크 공격 기법에 활용되기도 한다.

  • 답: ICMP(Internet Control Message Protocol)
  • 문제 해설: ICMP는 네트워크 오류 메시지와 진단 정보를 전송하는 역할을 하며, 네트워크의 문제를 감지하고 상태를 점검하기 위해 사용됩니다.

문제 4

다음 설명에 해당하는 알맞은 용어를 쓰시오.

데이터 링크 계층의 프로토콜 중 하나로, 터널링 프로토콜인 PPTP와 VPN의 구현에 사용하는 L2F의 기술적 장점을 결합하여 만든 프로토콜로, 자체 암호화를 제공하지는 않지만 이를 제공하기 위해 다른 보안 프로토콜과 함께 사용하도록 설계되었다.

  • 답: L2TP(Layer 2 Tunneling Protocol)
  • 문제 해설: L2TP는 VPN 구현 시 자주 사용되며, PPTP와 L2F의 장점을 결합하여 만들어졌으며, 보안을 위해 다른 프로토콜과 함께 사용됩니다.

문제 5

네트워크 및 인터넷과 관련된 다음 설명에 해당하는 용어를 쓰시오.

인터넷 환경에서의 호스트 상호 간 통신에서 연결된 네트워크 접속 장치의 물리적 주소인 MAC 주소를 이용하여 IP 주소를 찾는 인터넷 계층의 프로토콜로, 연속 주소 결정 프로토콜이라고 불린다.

  • 답: ARP(Address Resolution Protocol)
  • 문제 해설: ARP는 IP 주소를 물리적 MAC 주소로 변환하거나 이를 통해 목적지 장치를 찾는 데 사용되는 프로토콜입니다.

문제 6

인터넷에 대한 다음 설명에 괄호에 들어갈 알맞은 용어를 쓰시오.

인터넷이란 TCP/IP 프로토콜을 기반으로 하여 전 세계 수많은 컴퓨터와 네트워크들이 연결된 광범위한 컴퓨터 통신망이다. ( ): 웹 브라우저를 이용해 HTML 문서를 송수신하기 위한 표준 프로토콜로, GET과 POST 메소드를 통해 메시지를 주고받는다.

  • 답: HTTP(HyperText Transfer Protocol)
  • 문제 해설: HTTP는 웹에서 하이퍼텍스트 문서를 송수신하기 위한 표준 프로토콜로, 클라이언트와 서버 간의 요청과 응답을 처리합니다.

문제 7

네트워크에 관련된 다음 설명에서 괄호 ①, ②에 들어갈 알맞은 용어를 (보기)에서 찾아 쓰시오.

①: 연결형 통신에서 주소 사용을 기준으로, 출발지와 목적지의 경로를 고정하여 동일한 논리적인 경로를 설정하는 방식이다.

②: 비연결형 통신에서 주소 사용을 기준으로, 사전에 접속 절차를 수행하지 않고 패킷이 출발지와 목적지까지의 경로 지정을 위한 충분한 정보를 담아서 개별적으로 전달하는 방식이다.

□ 보기

회선 교환 방식

가상 회선 방식

데이터그램 방식

메시지 교환 방식

  • 답:
  • ①: 가상 회선 방식
  • ②: 데이터그램 방식
  • 문제 해설: 가상 회선 방식은 TCP에서 사용되는 연결형 통신 방식이며, 데이터그램 방식은 UDP에서 사용되는 비연결형 방식입니다.