본문으로 건너뛰기

TCP/IP 모델과 주요 프로토콜

정보처리기사 목차네트워크 기초레슨 169 / 233

목차

TCP/IP 모델은 인터넷이 실제로 쓰는 프로토콜 묶음을 응용·전송·인터넷·네트워크 접근의 네 계층으로 나눈 모델입니다. HTTP·FTP·SMTP·DNS·SNMP는 응용 계층에, TCP·UDP는 전송 계층에, IP와 이를 돕는 ICMP·IGMP·ARP·RARP는 인터넷 계층에 듭니다.

OSI 7계층은 통신을 설명하는 기준 모델입니다. 인터넷에서는 표현·세션의 일을 응용 프로그램이, 아래 두 층의 일을 랜카드와 드라이버가 함께 맡아서 실제 프로토콜을 네 층에 나눠 봅니다. 아래 그림은 프로토콜 카드가 네 층 건물의 자기 층으로 들어가는 모습입니다.

6단계 중 1단계. TCP/IP 모델은 인터넷이 실제로 쓰는 프로토콜을 네 층으로 나눕니다. 응용 계층이 OSI의 5~7층을, 네트워크 접근 계층이 1~2층을 함께 맡습니다.

1네 계층과 OSI 7계층

TCP/IP 계층OSI 계층대표 프로토콜하는 일
응용(application)5·6·7HTTP·FTP·SMTP·DNS·SNMP프로그램이 쓰는 서비스
전송(transport)4TCP·UDP프로그램 사이 전달, 포트 번호
인터넷(internet)3IP·ICMP·IGMP·ARP·RARPIP 주소로 받는 곳까지 패킷 전달
네트워크 접근(network access)1·2이더넷·PPP같은 네트워크 안 프레임 전달

자료에 따라 인터넷 계층을 네트워크 계층, 네트워크 접근 계층을 네트워크 인터페이스 계층이나 링크 계층이라고도 부릅니다. 전송 계층의 TCP·UDP는 TCP와 UDP에서 배웁니다.

2응용 계층 프로토콜

프로토콜하는 일포트
HTTP(HyperText Transfer Protocol)웹 문서를 주고받는다80(HTTPS 443)
FTP(File Transfer Protocol)파일을 올리고 내려받는다21(제어)·20(데이터)
SMTP(Simple Mail Transfer Protocol)메일을 보낸다(서버로, 서버끼리)25
POP3(Post Office Protocol version 3)메일 서버에서 내 메일을 받아 온다110
DNS(Domain Name System)도메인 이름을 IP 주소로 바꾼다53
SNMP(Simple Network Management Protocol)라우터·스위치 같은 네트워크 장비를 관리한다161

포트(port)는 한 컴퓨터 안에서 받을 프로그램을 가리키는 번호입니다. 메일은 보낼 때(SMTP)와 받을 때(POP3) 프로토콜이 다릅니다.

3인터넷 계층 — IP와 IP를 돕는 넷

프로토콜하는 일
IP(Internet Protocol)받는 곳 IP 주소를 단 패킷을 라우터를 거쳐 전달한다. 도착을 보장하지 않는다
ICMP(Internet Control Message Protocol)전달 중 생긴 문제(목적지에 닿을 수 없음·시간 초과)를 보낸 쪽에 알린다. ping이 쓴다
IGMP(Internet Group Management Protocol)여러 곳에 한 번에 보내는 멀티캐스트에서, 호스트가 든 그룹을 이웃 라우터에 알린다
ARP(Address Resolution Protocol)IP 주소로 같은 네트워크 안 장비의 MAC 주소를 알아낸다
RARP(Reverse Address Resolution Protocol)거꾸로, 자기 MAC 주소로 자기 IP 주소를 알아낸다

같은 네트워크 안에서 프레임을 보내려면 상대의 MAC 주소(자료에 따라 하드웨어 주소·물리 주소)가 있어야 해서, IP 주소만 알 때 ARP로 묻습니다. RARP는 디스크가 없어 켤 때 자기 IP 주소를 모르는 컴퓨터가 쓰던 것입니다. 둘은 IP 주소와 MAC 주소를 잇는 일이라 자료에 따라 네트워크 접근 계층에 두기도 합니다.

예제

다음 네 장면에서 쓰는 프로토콜과 계층을 먼저 골라 보세요.

(가) 메일 프로그램에서 쓴 메일을 회사 메일 서버로 보냅니다.

(나) 같은 사무실 프린터로 인쇄하려는데, 프린터의 IP 주소만 알고 MAC 주소는 모릅니다.

(다) ping으로 서버가 살아 있는지 확인했더니, 중간 라우터에서 '목적지에 닿을 수 없음'이 돌아왔습니다.

(라) 관리자가 지점의 스위치·라우터 수십 대의 트래픽과 고장 여부를 한 화면에서 모아 봅니다.

답을 정했으면 아래 표로 맞춰 보세요.

가르는 기준 — 무엇을 하나프로토콜계층장면
메일을 보낸다SMTP응용(가)
네트워크 장비를 관리한다SNMP응용(라)
IP 주소로 MAC 주소를 묻는다ARP인터넷(나)
전달 중 생긴 문제를 알린다ICMP인터넷(다)

(나)와 (다)는 둘 다 인터넷 계층이지만, ARP는 주소를 묻고 ICMP는 전달 중에 생긴 일을 알립니다.

시험 포인트

  • 필기: TCP/IP 네 계층(응용·전송·인터넷·네트워크 접근)과 OSI의 짝(응용 = 5~7층, 네트워크 접근 = 1~2층)을 묻습니다. ICMP·IGMP·ARP·RARP는 인터넷 계층, DNS·SNMP는 응용 계층으로 짝짓습니다. ARP(IP 주소 → MAC 주소)와 RARP(MAC 주소 → IP 주소)의 방향을 바꾼 보기, 메일 보내기(SMTP)와 받기(POP3)를 바꾼 보기가 나옵니다. 포트 번호(HTTP 80, FTP 21, SMTP 25, DNS 53)도 짝을 묻습니다.
  • 실기: 설명을 보고 프로토콜 이름을 약어와 원어로 씁니다 — ICMP(Internet Control Message Protocol), IGMP(Internet Group Management Protocol), ARP(Address Resolution Protocol), RARP(Reverse Address Resolution Protocol), SMTP(Simple Mail Transfer Protocol), SNMP(Simple Network Management Protocol), DNS(Domain Name System), FTP(File Transfer Protocol).

확인 문제

1. ICMP(Internet Control Message Protocol)가 쓰이는 장면을 고르세요.

  • ① 브라우저가 웹 서버에 문서를 달라고 요청합니다.
  • ② 라우터가 받은 패킷을 더 보낼 길이 없어 버리면서, 보낸 컴퓨터에 그 사실을 알립니다.
  • ③ 컴퓨터가 같은 네트워크 안 공유기의 MAC 주소를 알아냅니다.
  • ④ 컴퓨터가 생중계 방송 그룹에 들겠다고 이웃 라우터에 알립니다.
정답

②입니다. ICMP는 IP 패킷을 전달하다 생긴 문제를 보낸 쪽에 알리는 프로토콜입니다. 길이 없어 버린 패킷을 '닿을 수 없음'으로 알리는 것이 대표적인 쓰임입니다.

  • ① 웹 문서를 주고받는 것은 응용 계층의 HTTP입니다.
  • ③ IP 주소로 MAC 주소를 알아내는 것은 ARP입니다.
  • ④ 멀티캐스트 그룹에 드는 것을 알리는 것은 IGMP입니다.

2. 다음 (가)~(라)에 맞는 프로토콜 이름을 영문 약어와 원어로 함께 쓰세요. 답을 끝까지 쓴 뒤 정답을 펼치세요.

  • (가) IP 패킷을 나르다 길이 끊기거나 너무 오래 떠돌면 그 일을 보낸 쪽에 알리는 규약. 서버가 살아 있는지 확인하는 명령도 이것을 씁니다.
  • (나) 한 번에 여러 곳으로 보내는 방송에서, 호스트가 어느 받는 무리에 들었는지를 이웃 라우터에 알리는 규약
  • (다) 같은 네트워크의 서버로 보내려는데 IP 주소만 알고 하드웨어 주소를 몰라, 그것을 물어 알아내는 규약
  • (라) 디스크가 없는 컴퓨터가 켜질 때 자기 하드웨어 주소만 알고 IP 주소를 몰라, 그것을 물어 알아내는 규약
정답

받는 답: (가) ICMP(Internet Control Message Protocol) · (나) IGMP(Internet Group Management Protocol) · (다) ARP(Address Resolution Protocol) · (라) RARP(Reverse Address Resolution Protocol)

(가)의 실마리는 '전달 중 생긴 일을 알린다'와 '살아 있는지 확인하는 명령'(ping), (나)는 '여러 곳에 한 번에 보내는 받는 무리', (다)와 (라)는 무엇을 알고 무엇을 묻는지입니다.

  • 같은 이름의 다른 꼴: 약어만 쓴 꼴 — 문제가 원어까지 쓰라고 했습니다.
  • 틀리는 꼴 (다)와 (라)를 바꿔 쓴 꼴: IP 주소를 알고 하드웨어(MAC) 주소를 묻는 쪽이 ARP입니다. 거꾸로 묻는 쪽이 RARP입니다.
  • 틀리는 꼴 (가)에 IGMP: IGMP는 멀티캐스트 그룹을 알립니다. 전달 중 생긴 문제를 알리는 것은 ICMP입니다.

3. 다음 (가)~(라)에 맞는 프로토콜 이름을 영문 약어와 원어로 함께 쓰세요. 답을 끝까지 쓴 뒤 정답을 펼치세요.

  • (가) 편지 프로그램이 쓴 글을 우편 서버로 넘기고, 서버끼리도 넘겨 주는 규약. 25번 포트를 씁니다.
  • (나) 공장 곳곳의 라우터·스위치 상태와 트래픽을 한곳에서 모아 보고 설정을 바꾸는 규약
  • (다) www.example.com을 받아 그 서버의 IP 주소를 알려 주는 체계
  • (라) 설계 도면 묶음을 서버에 올리고 내려받는 규약. 명령은 21번 포트로 주고받습니다.
정답

받는 답: (가) SMTP(Simple Mail Transfer Protocol) · (나) SNMP(Simple Network Management Protocol) · (다) DNS(Domain Name System) · (라) FTP(File Transfer Protocol)

(가)의 실마리는 '보내는 쪽'과 25번, (나)는 '장비 상태를 모아 관리', (다)는 '이름 → IP 주소', (라)는 '올리고 내려받기'와 21번입니다.

  • 같은 이름의 다른 꼴: 약어만 쓴 꼴 — 문제가 원어까지 쓰라고 했습니다.
  • 틀리는 꼴 (가)에 POP3: 메일 서버에서 메일을 받아 오는 프로토콜입니다. 보내고 넘겨 주는 쪽은 SMTP입니다.
  • 틀리는 꼴 (나)에 SMTP: 이름이 비슷하지만 SMTP는 메일을 보냅니다. 네트워크 장비를 관리하는 것은 SNMP입니다.
  • 틀리는 꼴 (라)에 HTTP: 웹 문서를 주고받는 프로토콜이고 80번을 씁니다. 21번으로 명령을 주고받으며 파일을 올리고 내려받는 것은 FTP입니다.

4. 같은 사무실의 컴퓨터 A가 프린터 P로 처음 인쇄를 보냅니다. A는 P의 IP 주소만 알고 있습니다. A가 첫 프레임을 보내기 전에 하는 일로 알맞은 것을 고르세요.

  • ① RARP로 P의 IP 주소를 알아냅니다.
  • ② ARP로 P의 IP 주소에 해당하는 MAC 주소를 알아냅니다.
  • ③ DNS로 P의 IP 주소에 해당하는 MAC 주소를 알아냅니다.
  • ④ ICMP로 P와 연결을 맺습니다.
정답

②입니다. 같은 네트워크 안에서 프레임을 보내려면 받는 장비의 MAC 주소가 있어야 하고, IP 주소로 MAC 주소를 알아내는 것이 ARP입니다.

  • ① RARP는 자기 MAC 주소로 자기 IP 주소를 알아낼 때 씁니다. A는 P의 IP 주소를 이미 압니다.
  • ③ DNS는 도메인 이름을 IP 주소로 바꿉니다. MAC 주소는 알려 주지 않습니다.
  • ④ ICMP는 전달 중 생긴 문제를 알리는 프로토콜이고, 연결을 맺지 않습니다.

끝까지 내려오면 저절로 표시됩니다. 이 기기에만 저장합니다.

정보처리기사 목차로