IT CookBook, 최신 정보통신개론
Download
Report
Transcript IT CookBook, 최신 정보통신개론
7장 인터넷과 서비스
• 인터넷의 개요
• 인터넷 프로토콜과 주소 체계
• 인터넷의 각 계층별 프로토콜의 종류
학습목표
인터네트워킹과 인터넷의 정의, 인터넷의 등장 배경을 알아본다.
인터넷에서 데이터 전송 과정, 프로토콜과 주소 체계를 학습한다.
인터넷 각 계층에 있는 프로토콜의 종류, TCP/IP와 UDP/IP를
학습한다.
인터넷 관련 최신 서비스와 기술을 학습한다.
2/80
Section 01 인터넷의 개요
인터네트워킹과 인터넷의 정의
인터네트워크(Internetwork)
• LAN 또는 WAN 등 독립적인 네트워크를 상호 연결하여 만들어진 복잡한 네트워크
인터네트워킹(Internetworking)
• 인터네트워크를 연결하는 과정 또는 방법. 하나의 통신 기준을 바탕으로 종류가 다른
네트워크를 서로 연결하므로 다양한 하드웨어 기술 및 소프트웨어 기술을 요함
관련 장비는 리피터, 브리지, 라우터, 게이트웨이 등
인터네킹으로 구성된 대표 네트워크는 인터넷(Internet)
3/80
Section 01 인터넷의 개요
인터넷의 기반 프로토콜
TCP/IP 기술
• 가정과 대학 캠퍼스, 학교, 기업, 정부 연구기관 등을 서로 연결하여 전 세계적 규모의
인터넷을 구성하는 기반을 만듦
4계층(네트워크 접근 계층, 인터넷 계층, 전송 계층, 응용 계층)으로 구성
OSI 7계층과 비교하면 네트워크 접근 계층은 1, 2계층에, 인터넷 계층
은 3계층에, 전송 계층은 4계층에, 응용 계층은 5~7계층에 대응
4/80
Section 01 인터넷의 개요
인터넷의 등장 배경과 필요성
인터넷의 기원은 1969년 미국 국방성의 알파넷(ARPANET)
연구기관에도 보급되면서 기능이 확대되고 정보를 주고받는 컴퓨터 사
이에 적용하는 일정한 약속이나 규정인 표준 규약이 만들어짐.
인터넷 기반 프로토콜인 TCP/IP를 인터넷 프로토콜 슈트라고도 함.
서로 연결된 네트워크라면 종류에 관계없이 통신 기본 프로토콜 사용
미국의 알파(ARPA)가 주도한 연구는 인터넷 기술과 개념을 만들고 발
전시켜옴
NSF, DOE, DOD, HHS, NASA 등의 미국 연구 기관이 인터넷을 창설
하는 데 참가하고, TCP/IP로 자신의 연구 사이트를 연결
5/80
Section 02 인터넷 프로토콜과 주소 체계
인터넷의 계층별 대표 프로토콜
인터넷에서 사용되는 프로토콜은 4계층으로 구성
6/80
Section 02 인터넷 프로토콜과 주소 체계
인터넷에서 데이터 전송하는 과정
송신 측 최상위 계층(응용 계층)에서 발생한 데이터는 하위 계층으로
차례로 전달. 각 계층에서는 헤더 정보에 전달 받은 데이터에 헤더 정
보를 추가해 바로 아래 계층으로 전달
한 단계 낮은 계층에서는 전달받은 데이터(헤더1+데이터)를 하나의
데이터로 취급하고 또 다시 새로운 헤더(헤더2)를 추가해(헤더2+헤더
1+데이터) 다시 바로 아래 계층으로 전달. 이 과정을 거쳐 최하위 계
층(네트워크 접근 계층)에 도달
송신 측에 있는 최하위 계층의 데이터는 원래의 데이터에 여러 개의 헤
더가 씌어진 형태(캡슐화)
수신 측 최하위 계층(네트워크 접근 계층)에서의 데이터는 헤더가 여
러 개 씌어진 형태.
각 계층의 헤더에 해당되는 부분을 벗겨내며 수신측의 최상위 계층으
로 전달(캡슐 해제)하여 송신 측 최상위 계층에서 보낸 원래의 데이터(
헤더가 없는 데이터)가 수신 측 최상위 계층(응용 계층)에 정확하게 전
달
7/80
Section 02 인터넷 프로토콜과 주소 체계
인터넷에서 데이터 전송하는 과정
8/80
Section 02 인터넷 프로토콜과 주소 체계
인터넷에서 데이터 전송하는 과정
9/80
Section 02 인터넷 프로토콜과 주소 체계
주소 결정 및 관리
전 세계 인터넷 주소 자원을 총괄/관리하는 곳은 IANA, 아/태 지역은
APNIC, 그 아래에 각 국가별 NIC가 존재
우리나라에는 한국 인터넷 정보센터(KRNIC, Korea NIC)가 있는데 한
국인터넷진흥원(NIDA)에서 업무 수행. NIDA는 네트워크로 구현되는
사이버 대한민국의 국토청이라 할 수 있음.
한국인터넷진흥원 기본 업무는 도메인과 IP 등 인터넷 주소 자원 관리
로, 인터넷 활성화, 차세대 인터넷 주소 자원 IPv6, 식별 체계의 통합
서비스 등 다양한 사업을 진행.
인터넷 주소는 임의로 결정하는 것이 아니라 국내에서 인터넷 도메인
을 등록하려면 한국인터넷진흥원의 한국 인터넷 정보센터(KRNIC)로
부터 주소를 할당받아야 함
10/80
Section 02 인터넷 프로토콜과 주소 체계
인터넷 주소
인터넷 사용자가 다른 컴퓨터 사용자와 통신하려고 숫자로 표현하지
않고 영문자 및 .를 혼합해 주소를 표현하는 것을 인터넷 도메인
도메인명(Domain Name) 규칙
• 도메인명의 길이는 최대 256자까지 가능
• 도메인명은 숫자(0-9)나 영문자(A - Z) 또는 영문자와 숫자의 조합으로 구성
• ,(쉼표)나 _(언더바) 등은 사용 불가. 단 -(하이픈)은 사용 가능
- 전 세계적으로 중복되지 않은 고유 주소를 사용해야 함
11/80
Section 02 인터넷 프로토콜과 주소 체계
국가별 도메인명 예
12/80
Section 02 인터넷 프로토콜과 주소 체계
기관 도메인명 예
13/80
Section 02 인터넷 프로토콜과 주소 체계
IP 주소의 개념
IP 주소는 10진수 4개와 .(점)으로 표현하며, 실제로 32비트로 구성
각 10진수 숫자는 0~255까지 사용할 수 있으며 숫자가 256개인 8비
트가 필요하므로 전체적으로 32비트 필요
14/80
Section 02 인터넷 프로토콜과 주소 체계
IP 주소 체계
IP 주소는 네트워크 번호와 그 네트워크에 접속되어 부여되는 호스트
번호로 구성
IP 주소 체계는 클래스 A~E까지 5종류며, 첫 번째부터 세 번째 비트
까지 번호를 할당하여 클래스 구분
15/80
Section 02 인터넷 프로토콜과 주소 체계
IP 주소 체계
A 클래스
• 첫 번째 비트가 0인 주소로, 범위는 1.X.X.X~127.X.X.X
• 64.X.X.X라면 64.0.0.0과 64.255.255.255은 특수 목적, 나머지는 망에 있는 호스트 주
소. 호스트 주소는 16,777,214(256*256*256-2)개. 64.0.0.0은 서브망 주소
B 클래스
• 첫 번째와 두 번째 비트가 각각 1, 0인 주소로, 범위는128.0.X.X~191.255.X.X
• 149.11.X.X라면 149.11.0.0와 149.11.255.255은 특수 목적, 나머지는 망에 있는 호스
트 주소. 호스트 주소는 65,534(256*256-2). 149.11.0.0은 서브망 주소
C 클래스
• 첫 번째~세 번째 비트가 각각 1, 1, 0인 주소로, 범위는 192.0.0.X~255.255.255.X
• 249.11.1.X라면 249.11.1.0과 249.11.1.255은 특수 목적. 나머지는 망에 있는 호스트
주소. 호스트 주소는 254(256-2). 249.11.1.0은 서브망 주소
D 클래스
• 첫 번째~네 번째 비트가 각각 1, 1, 1, 0인 주소로, 나머지 28비트를 멀티캐스트용으로
사용. 범위는 224.X.X.X~239.255.255.255
E 클래스
• 첫 번째~네 번째 비트가 각각 1, 1, 1, 1인 주소로, 향후 사용하려고 남겨둔 예비/실험
용 주소. 범위는 240.X.X.X~247.255.255.255
16/80
Section 02 인터넷 프로토콜과 주소 체계
서브넷 주소
IP 주소를 네트워크 번호와 호스트 번호로만 구분하여 나누지 않고 호
스트 번호 부분을 서브넷 번호와 호스트 번호로 더욱 세분하는 방식
IP 주소의 비트를 더욱 효율적으로 사용하는 방법
17/80
Section 02 인터넷 프로토콜과 주소 체계
서브넷 주소를 이용하는 이유
외부 라우터가 내부 네트워크 조직을 모르게 하고, 라우팅 테이블 크기
를 줄이는 효과
클래스 B 주소 193.055일 때 서브넷 주소를 사용하면 IP 주소가
193.055로 시작하는 호스트를 접근하려는 외부 라우터는 IP 주소의
경로만 알면 됨
외부 라우터에서는 모든 IP 주소를 라우팅 테이블로 갖고 있을 필요 없
이 193.055 주소만 알면 됨
18/80
Section 02 인터넷 프로토콜과 주소 체계
인터넷의 주소 체계
도메인 네임 서비스(DNS, Domain Name System)
• 인터넷 도메인명과 IP 주소와 대응시켜 주는 거대 규모의 분산 시스템
• 인터넷 도메인명에서 IP 주소로의 변환을 해주는 프로토콜이 예
URL(Uniform Resources Locator)
• 인터넷에서 자원의 위치를 통일적으로 표현하는 주소
• 웹 브라우저에서 URL을 입력하면 그 URL이 가리키는 웹 서버에 있는 하이퍼미디어들
의 문서를 찾는 주소로 사용
19/80
Section 03 인터넷의 계층별 프로토콜 종류
네트워크 접근 계층 프로토콜
네트워크 접근 계층은 네트워크 매체와 인터페이스에서 하드웨어 세부
사항을 처리하며, 상위 계층의 데이터를 수용하여 이와 연결된 다른 네
트워크로 전송
네트워크인터페이스 카드(NIC)의 디바이스 드라이버처럼 하드웨어와
관련된 프로그램이 있음
여기서 전달되는 데이터를 프레임이라고 함
대표 프로토콜은 이더넷, FDDI, 토큰 링, X.25 등
20/80
Section 03 인터넷의 계층별 프로토콜 종류
인터넷 계층 프로토콜
인터넷 계층은 발신지에서 목적지로 데이터를 전송하는 일
주소 지정, 패키징(Packaging), 라우팅(Routing) 등의 기능 제공
주소는 지정하지만, 목적지의 호스트에서 성공적으로 정보를 받았다는
처리 과정이 없는 비연결형
신뢰성이 없고, 오류 검사나 추적을 하지 않음
패키징은 데이터에 헤더를 추가하는 것으로, 헤더에는 발신지와 목적
지 IP 주소, 전송 프로토콜, 체크섬, 생존 시간 등의 정보 포함
발신지와 목적지 IP 호스트가 동일한 네트워크에 있다면 데이터그램은
목적지 호스트로 바로 전송되지만, 원격지의 네트워크에 있으면 발신
지와 목적지의 라우팅 테이블을 검색하여 최적의 경로를 찾고 설정
여기서 전달되는 데이터를 데이터그램
대표 프로토콜은 IP, ICMP, ARP, RARP 등
21/80
Section 03 인터넷의 계층별 프로토콜 종류
IP(Internet Protocol)
인터넷 계층에서 가장 중요한 프로토콜
다양한 네트워크로 구성된 인터넷을 통하여 발신지에서 목적지까지 데
이터그램을 전송할 수 있도록 라우팅 기능 수행
오류와 상황 보고, 경로 제어하는 정보 전달 기능 등은 미포함
IP 데이터그램은 헤더와
데이터로 구성. 헤더에는
다양한 정보 포함
22/80
Section 03 인터넷의 계층별 프로토콜 종류
IP 헤더의 항목
23/80
Section 03 인터넷의 계층별 프로토콜 종류
IP 헤더의 항목
24/80
Section 03 인터넷의 계층별 프로토콜 종류
IP 라우팅과 라우터
IP 라우팅
• IP 패킷을 송신지에서 목적지로 보내기 위해 패킷을 전송할 경로를 직접 연결하지 않고
중간 노드를 경유하여 연결하는 기능
라우터
• 라우팅 기능을 수행하는 장비
라우팅 프로토콜과 라우팅 테이블
• 라우터가 경로를 결정하기 위해 사용하는 규칙을 라우팅 프로토콜.
• 라우팅은 경로 결정과 스위칭이라는 두 가지 기능으로 구성
• 결정된 경로는 라우팅 테이블이라는 곳에 저장
• 라우팅 프로토콜에 따라 한 번 결정한 경로를 계속 사용하는 경우도 있지만, 대부분은
결정한 경로가 유효한지 계속 확인
• 특정 경로를 사용할 수 없게 되면 또 다른 경로를 찾고, 더 좋은 경로를 찾으면 현재의
경로를 새것으로 대체
25/80
Section 03 인터넷의 계층별 프로토콜 종류
IP 라우팅 예
26/80
Section 03 인터넷의 계층별 프로토콜 종류
IP 라우팅 예
27/80
Section 03 인터넷의 계층별 프로토콜 종류
IPv6(Internet Protocol Version 6)
IPv4의 한계와 IPv6의 출현 배경
• IPv4는 지난 약 30년 동안 가장 광범위하게 사용해 온 주소 체계
• 주소의 표현 범위가 32비트기 때문에 인터넷 사용자의 급속한 증가에 비해서 주소의
표현에 있어서 한계
• 주소 할당 공간이 부족하고, 주소 설정이 어려우며, 보안 대책 등이 미흡
IPv6의 주소 공간
• 128비트며, 32비트인 IPv4보다 주소 공간 많이 확대
• 예) 3122: FFAB: 1234: 3120: 1111: DCDD: 2241: 0099
IPv6의 추진 조직
• 1990년대 초에 인터넷 기술 작업반(IETF)에서 연구와 표준화 작업을 수행
IPv6의 특징
• 주소 공간은 128비트이며, 32비트인 IPv4의 주소 공간보다 많이 확대
• IPv4에 있는 헤더 길이 항목을 포함하지 않으며, 헤더 길이를 40 바이트로 고정되어 있
으므로 헤더를 처리하는 소프트웨어를 최적화하기 쉬움.
• 유니캐스트, 애니캐스트, 멀티캐스트 세 가지 형태에 관한 주소 규칙이 있음
28/80
Section 03 인터넷의 계층별 프로토콜 종류
IPv6의 헤더 구조
29/80
Section 03 인터넷의 계층별 프로토콜 종류
IPv6 헤더의 항목
30/80
Section 03 인터넷의 계층별 프로토콜 종류
ICMP(Internet Control Message Protocol)
오류 보고, 상황 보고, 경로를 제어하는 정보의 전달 기능이 있음
ICMP의 예
• 시스템 A에서 시스템 B로 메시지를 전달할 때, 라우터 3에 있는 라우팅 테이블이 잘못
되어 데이터그램을 시스템 B로 전달할 수 없으면 ICMP 메시지를 출발지인 시스템 A로
되돌려 보냄
31/80
Section 03 인터넷의 계층별 프로토콜 종류
ICMP(Internet Control Message Protocol)
ICMP 메시지의 캡슐화
• ICMP 메시지는 인터넷과 라우터를 거쳐 운반되어야 하므로 IP로 캡슐화
• ICMP 메시지가 IP로 캡슐화되더라도 ICMP는 상위 계층 프로토콜로 간주하지 않음
32/80
Section 03 인터넷의 계층별 프로토콜 종류
ICMP 헤더의 항목
33/80
Section 03 인터넷의 계층별 프로토콜 종류
IGMP(Internet Group Message Protocol)
IGMP
• 멀티캐스팅 기능을 수행하는 프로토콜
• 네트워크의 멀티캐스트 트래픽을 자동으로 조절하고 제한하며 수신자 그룹에 메시지를
동시에 전송하는 데 사용
멀티캐스트(Multicast)
• 하나의 송신 노드가 네트워크에 연결된 하나 이상의 수신 노드에 데이터를 전송하는 것
• 송신 노드는 수신될 노드를 미리 지정
• 전자우편에서 주소록을 미리 등록하여 보내는 방식이 대표 예
IGMP와 멀티캐스트 비교
• IGMP는 사용자와 라우터와의 관계고, 멀티캐스트 라우팅은 라우터에서 라우터로 경로
를 설정하는 것
34/80
Section 03 인터넷의 계층별 프로토콜 종류
인터넷 라우팅 프로토콜
인터넷에는 연결된 수많은 네트워크에서, 네트워크 내부의 라우팅이나
네트워크 관리를 독자적인 방식으로 운영하는 주체를 자율시스템
(Autonomous System)이라고 함
자율 시스템의 구성요소가 라우팅 정보를 저장/관리하며, 이 정보를 이
용하는 프로토콜을 인터넷 라우팅 프로토콜
자율 시스템 내부에 위치한 게이트웨이를 내부 게이트웨이, 자율 시스
템을 연결하는 게이트웨이를 외부 게이트웨이
내부 게이트에서 동작하는 라우팅 프로토콜을 내부 게이트웨이 프로토
콜(IGP), 외부 게이트에서 동작하는 라우팅 프로토콜을 외부 게이트웨
이 프로토콜(EGP)
35/80
Section 03 인터넷의 계층별 프로토콜 종류
인터넷 라우팅 프로토콜
36/80
Section 03 인터넷의 계층별 프로토콜 종류
인터넷 라우팅 프로토콜의 종류
주소 결정 프로토콜(ARP)
• IP 주소를 NIC의 물리적 하드웨어 주소인 이더넷 주소로 변환
• IP와 관련된 LAN 카드의 물리 주소를 알아냄
• ARP 기능을 이용해 스위치 아래에서 실제 동작 중인 단말의 IP, MAC 주소 알수 있음
• ARP는 RFC 826 규격
역주소 결정 프로토콜(RARP)
• NIC의 물리적 하드웨어 주소인 이더넷 주소를 IP 주소로 변환
• RFC 903 규격
내부 게이트웨이 프로토콜(IGP)
• 내부 게이트웨이와 외부 게이트에서
위치하며, 자율 시스템 내부에서
작동
외부 게이트웨이
프로토콜(EGP)
• 외부 게이트에 위치하며,
서로 다른 자율 시스템 간에 작동
37/80
Section 03 인터넷의 계층별 프로토콜 종류
전송 계층 프로토콜
포트를 사용한 두 종단 호스트 간에 데이터 전달을 담당
대표 프로토콜은 TCP와 UDP
TCP(Transmission Control Protocol)
• 두 종단 간에 연결을 설정한 후에 데이터를 8비트의 바이트 스트림으로 교환하는 연결
형 프로토콜
TCP와 IP의 도메인의 비교
38/80
Section 03 인터넷의 계층별 프로토콜 종류
TCP의 캡슐화
TCP 패킷은 IP가 캡슐화하여 운반. 이는 인터넷과 라우터를 거쳐 전
달되기 때문
39/80
Section 03 인터넷의 계층별 프로토콜 종류
TCP의 세그먼트의 형식
40/80
Section 03 인터넷의 계층별 프로토콜 종류
TCP 헤더의 항목
41/80
Section 03 인터넷의 계층별 프로토콜 종류
TCP 헤더의 항목
42/80
Section 03 인터넷의 계층별 프로토콜 종류
TCP의 연결 설정
➊ 송신 측이 수신 측에SYN 세그먼트를 보내 연결 설정을 요청한다.
➋ 수신 측이 송신 측에 수신 확인으로SYN 세그먼트를 전송한다.
➌ 송신 측이 수신 측에 응답 세그먼트의 확인 응답으로ACK를 보낸다.
43/80
Section 03 인터넷의 계층별 프로토콜 종류
전송 계층 프로토콜
TCP의 특징
• 상위 계층이 넘겨준 데이터를 세그먼트 단위로 쪼개어 가공한 후 하위층으로 넘겨줌
• 원래 IP에서 동작하도록 설계되었기에 하위층 대부분은 IP가 됨
• 쪼개진 세그먼트에 순서를 부여한 후 전송·수신하여 순서가 뒤바뀌는 일이 없도록 하는
데, 패킷이 왔다갔다해 순번이 뒤바뀌어도 다시 복구하여 상위층이 신뢰할 수 있는 연
결 방식을 제공
• TCP의 연결 지향형 방식을 신뢰성 스트림 서비스(Reliable Stream Service)라고도 함
44/80
Section 03 인터넷의 계층별 프로토콜 종류
TCP의 연결 해제
➊ 송신 측이 수신 측에 FIN 세그먼트를 보내 연결 해제를 요청한다.
➋ 수신 측이 송신 측에 확인 응답으로ACK 세그먼트를 전송한다.
➌ 수신 측이 송신 측에 FIN 세그먼트를 전송하여 연결 해제 요청한다.
➍ 송신 측이 수신 측에 응답 세그먼트의 확인 응답으로ACK를 보낸다.
45/80
Section 03 인터넷의 계층별 프로토콜 종류
UDP(User Datagram Protocol)
두 종단 간에 연결을 설정하지 않고 데이터를 교환하는 비연결형 프로
토콜
UDP의 캡슐화
• UDP 패킷은 인터넷과 라우터를 거쳐 전달되기 때문에 IP가 캡슐화하여 운반
46/80
Section 03 인터넷의 계층별 프로토콜 종류
UDP의 데이터그램 형식
47/80
Section 03 인터넷의 계층별 프로토콜 종류
UDP 헤더의 항목
48/80
Section 03 인터넷의 계층별 프로토콜 종류
UDP의 특징
TCP와는 달리 비연결성이라 수신 측이 제대로 도착했는지 확인하지
않는 비신뢰성 서비스
사용자 데이터를 데이터그램에 포함하여 전송
TCP와 UDP의 특징 비교
49/80
Section 03 인터넷의 계층별 프로토콜 종류
클라이언트와 서버 모델
클라이언트, 서버, 네트워크가 연결되어 있음
클라이언트는 서버에게 작업 요청을 하는 장비나 프로세스를, 서버는
클라이언트의 요청을 받아 작업을 처리하거나 그 결과를 클라이언트에
통보하는 장비나 프로세스
클라이언트와 서버의 협동 처리(cooperative processing)
50/80
Section 03 인터넷의 계층별 프로토콜 종류
클라이언트와 서버 모델의 동작 원리
➊ 대기 상태와 요청 : 서버 프로세스는 임의의 컴퓨터시스템에서 수행
되며, 클라이언트의 요청을 기다리는 대기 상태(Sleep). 클라이언트
프로세스는 서버나 컴퓨터 네트워크와 연결된 컴퓨터시스템에서 가동
된다. 이 상태에서 클라이언트가 서버에 연결을 요청
➋ 처리 : 서버가 클라이언트의 요청에 해당하는 서비스를 처리
➌ 결과 통보 : 처리 결과를 클라이언트에 통보하는 응답
클라이언트와 서버 모델의 종류
연결 방식에 따라 연결형과 비연결형으로 분류
연결형은 TCP/IP를, 비연결형은 UDP/IP를 사용
51/80
Section 03 인터넷의 계층별 프로토콜 종류
인터넷 응용 서비스 관련 프로토콜의 종류
52/80
Section 03 인터넷의 계층별 프로토콜 종류
HTTP(Hypertext Transfer Protocol)
인터넷에서 하이퍼텍스트 문서를 교환하는 데 사용되는 통신 규약
하이퍼텍스트는 문서 중간 중간에 특정 키워드를 두고 문자나 그림을
상호 유기적으로 결합하여 연결시킴으로써, 서로 다른 문서라 할지라
도 하나의 문서인 것처럼 보이면서 참조하기 쉽도록 하는 방식
1989년 팀 버너스 리에 의해 처음 설계되어 인터넷을 통한 월드 와이
드 웹(WWW)에 기반을 두고 전 세계적으로 정보를 공유할 수 있게 함
첫 번째 버전은 인터넷을 통하여 가공되지 않은 데이터를 전송하기 위
한 단순한 프로토콜이었으나, 데이터에 대한 전송과 요구․응답에 대한
수정 등 가공된 정보를 포함하는 프로토콜로 개선
인터넷 주소를 지정할 때 'http://www....‘처럼 쓰는데 www로 시작되
는 URL인 인터넷 주소에서 하이퍼텍스트 문서의 교환을 http 통신규
약으로 처리하라는 뜻
53/80
Section 03 인터넷의 계층별 프로토콜 종류
HTTP의 특징
웹(Web)에서 HTML 문서를 송수신하는 데 사용하며, 텍스트, 이미지,
멀티미디어 파일 등 다양한 형태의 데이터를 전송 가능
HTTP의 동작 원리와 예
사용자가 인터넷에 접속해 웹 문서를 이용할 때는 클라이언트와 서버
방식을 이용
웹 브라우저는 클라이언트가 서비스를 요구하면 TCP 연결 하나 생성
웹 브라우저에서 요구한 URL 도메인명에 해당하는 컴퓨터 서버에 접
근하여 URL 경로의 HTML 파일을 요구하고, 서버에서 처리
HTML 문서를 웹 브라우저를 이용해 클라이언트에 보여줌
www.hanb.co.kr서버에 있는 book 폴더(디렉터리)에서 test.html 문
서를 찾아 클라이언트 쪽 웹 브라우저에 보여주는 과정
➊ 클라이언트의 웹 브라우저에서 http://www.hanb.co.kr/book/test.html을 입력하여
요청
➋ 웹 브라우저가 DNS에 http://www.hanb.co.kr의 IP 주소를 요청하면 DNS는
http://www.hanb.co.kr의 IP 주소를 응답
54/80
Section 03 인터넷의 계층별 프로토콜 종류
도메인명을 IP 주소로 변환하는 과정
55/80
Section 03 인터넷의 계층별 프로토콜 종류
FTP(File Transmission Protocol)
파일을 효율적으로 주고받기 위한 파일 전송 프로토콜
인터넷을 통하여 어떤 한 컴퓨터에서 다른 컴퓨터로 파일을 송수신할
수 있도록 지원하는 방법과 그런 프로그램을 통칭하기도 함
FTP의 특징
원하는 프로그램이나 각종 데이터를 무료나 저렴한 가격에 살 수 있음
용량이 큰 파일도 빠르게 송수신 가능
파일을 송수신할 때는 적당한 자격, 즉 원격 호스트 컴퓨터를 이용할
수 있는 사용자 ID와 패스워드가 있어야 접속할 수 있음
인터넷에는 패스워드가 없어도 접속할 수 있는 공개 FTP 호스트도 있
음. 공개 FTP 호스트를 익명(Anonymous) FTP라고 하는데, 전 세계
적으로 수천 개에 달함
사용자로 등록하지 않고서도 익명이라는 ID와 패스워드로 자신의 전
자우편 주소를 설정하면 원격지 호스트에 접속하여 파일을 쉽게 송수
신할 수 있음
56/80
Section 03 인터넷의 계층별 프로토콜 종류
FTP의 동작 원리와 예
57/80
Section 03 인터넷의 계층별 프로토콜 종류
FTP의 동작 원리와 예
서버는 FTP의 포트 21로 수동적으로 개방 후 클라이언트 접속에 대기
클라이언트는 제어를 연결하려고TCP 포트 21로 능동적으로 개방
클라이언트는 연결된 제어를 이용해 파일 전송을 요청
서버는 FTP의 임시 포트로 클라이언트와 연결을 설정. 이때, 서버 측
의 파일 전송용을 연결하는 포트 번호는 변경
서버는 연결을 이용해 클라이언트에 파일을 전송
파일 전송 후 서버는 연결을 해제
클라이언트는 원하는 파일을 전부 수신했으면 연결을 해제
58/80
Section 03 인터넷의 계층별 프로토콜 종류
텔넷(Telnet, Teletype network)
원격지에서 컴퓨터를 이용한 가상 단말 기능 구현을 위한 프로토콜
원격지에 위치한 호스트 컴퓨터를 사용자의 로컬 컴퓨터처럼 사용
텔넷의 특징
인터넷 사용자는 텔넷을 이용해 전 세계에 있는 다양한 온라인 서비스
를 제공받을 수 있음
다른 컴퓨터에 접속하려면 그 컴퓨터를 사용할 수 있는 사용자 번호와
패스워드를 알아야 함
텔넷 응용 서비스는 거리에 관계없이 쉽게 원격시스템에 접속할 수 있
어 매우 효과적
텔넷은 클라이언트와 서버 모델을 사용하며, 서버는 의사 단말
(Pseudo Terminal)로 처리
59/80
Section 03 인터넷의 계층별 프로토콜 종류
텔넷의 동작 원리와 예
터미널에 있는 사용자는 로그인하려는 호스트와TCP 연결을 설정
서버는 연결을 이용해 사용자에게 가상의 터미널을 제공
사용자는 가상의 터미널을 실제 터미널처럼 이용
60/80
Section 03 인터넷의 계층별 프로토콜 종류
SMTP(Simple Mail Transfer Protocol)
전자우편 서비스(E-mail Service)를 사용할 수 있는 프로토콜
SMTP의 특징
• 하위 계층에서 TCP 프로토콜을 사용하며, 전자우편을 송수신하려고 사용자 에이전트
(User Agent)와 메시지 전송 에이전트(MTA, Message Transfer Agent)를 사용
• 전자우편 사용자와는 직접 관계가 없고, 전자우편 메시지가 통과하는 로컬 메인시스템
하고만 정보를 교환
• 사용자의 메시지 접수방법, 사용자 인터페이스 구성방법, 사용자의 메시지 저장방법 등
은 지정하지 않음
SMTP의 동작 원리와 예
• 송신 측에서 메일 명령(Mail Command)을 수행
• 송신 측에서SMTP에 규정된 전자우편의 형식에 따라 내용을 작성
• 송신 측에서 송신용 메일 큐나 스풀에 송신할 내용의 전자우편을 미리 저장
• 송신 측에서 수신용 메일 큐에 전자우편이 있는지 검색하여 있으면 헤더를 참조해
SMTP 규정에 따라 수신 측으로 발송
• 수신 측에서 수신용 메일 큐에 전자우편이 있으면 전자우편을 읽음
61/80
Section 03 인터넷의 계층별 프로토콜 종류
SMTP의 동작 원리와 예
62/80
Section 03 인터넷의 계층별 프로토콜 종류
SNMP(Simple Network Management Protocol)
인터넷에서 네트워크를 관리하는 프로토콜. 네트워크의 관리 정보를
교환하는 데 사용
SNMP의 특징
• 다른 응용 계층 프로토콜은 일반 사용자용이지만, SNMP는 네트워크를 관리
• 관리자 프로세스와 관리 프로세스 간에 정보를 주고받을 수 있는 기능만 지원하므로,
자신을 통과하는 관리 정보는 알 수 없음
• 하위 계층에서 UDP 프로토콜을 사용
SNMP의 동작 원리와 예
• 관리 에이전트는 관리국(Management Station)과 관리 대상 노드에 있고, 기기의 상태
나 이력 공간인 데이터베이스를 관리하며, 기기의 조작에도 영향을 줌
• 관리국은 관리 에이전트와SNMP 프로토콜로 통신
• 관리 대상 노드는 디바이스고, 관리 에이전트(SNMP Agent)가 동작하며, 호스트, 프린
터, 라우터, 브리지 등 외부에 상태 정보를 통신하는 능력이 있음
• SNMP의 동작은 관리국이 에이전트에서 관리 정보를 가져오고, 설정하며, 오류 등 이
상이 발생하면 에이전트가 관리국에 이를 알리는 일련의 과정
63/80
Section 03 인터넷의 계층별 프로토콜 종류
SNMP의 동작 원리와 예
64/80
Section 04 인터넷 관련 최신 서비스와 기술
웹 서비스(Web Service)
플랫폼에 독립적으로 시스템 간 연계, 통합과 자원 공유가 가능하도록
표준화된 XML 기반 웹 기술
네트워크에서 서로 다른 종류의 컴퓨터가
상호작용하는 서비스 지향 분산 컴퓨팅 기술
근간이 되는 기술에는 XML, 웹 서비스의
표준화 프로토콜 스택인 SOAP,
UDDI, WSDL 등이 있음
65/80
Section 04 인터넷 관련 최신 서비스와 기술
웹 서비스의 구성요소
웹 서비스제공자, 웹 서비스중개자, 웹 서비스요청자로 구성
66/80
Section 04 인터넷 관련 최신 서비스와 기술
웹 서비스의 계층 구조
67/80
Section 04 인터넷 관련 최신 서비스와 기술
웹 서비스의 계층 구조
SOAP(Simple Object Access Protocol)
• HTTP, HTTPS, SMTP 등을 사용해 XML 형식 메시지를 컴퓨터 네트워크에서 교환
• 웹 서비스에서 기본 메시지를 전달하는 기반
• 보통 원격 프로시저 호출(RPC, Remote Procedure Call) 패턴으로, 네트워크 노드(클
라이언트)에서 다른 쪽 노드(서버)로 메시지를 요청하고, 서버는 즉시 응답
• XML을 근간으로 헤더와 바디를조합하는 디자인 패턴으로 설계
• 선택사항인 헤더에는 반복이나 보안, 트랜잭션 등 메타 정보가, 몸체에는 주요 정보
UDDI(Universal Description, Discovery and Integration)
• 웹 서비스를 등록하고, 검색할 수 있는 웹 서비스 레지스트리에 관련된 명세
• 회사가 이름, 제품, 장소, 웹 서비스별 목록을 제공할 수 있게 해주고, 그 등록은 회사
규모에 상관없이 모든 기업에 개방되어 있음
WSDL(Web Services Description Language)
• 웹 서비스 기술 언어 또는 기술된 정의 파일을 총칭하며 XML로 기술
• 서비스 제공 장소, 서비스 메시지 형식, 프로토콜 등 웹 서비스 내용 구체적으로 기술
• 특정 비즈니스가 제공하는 서비스를 설명하고, 개인이나 회사가 그 서비스에 전자적으
로 접근할 수 있는 방법을 제공하는 데 사용하는 XML 기반 언어
• 마이크로소프트, IBM, 아리바(Ariba) 등이 주도한 UDDI의 기본
68/80
Section 04 인터넷 관련 최신 서비스와 기술
웹 서비스의 동작 원리
69/80
Section 04 인터넷 관련 최신 서비스와 기술
웹 서비스의 진화
70/80
Section 04 인터넷 관련 최신 서비스와 기술
유비쿼터스 웹 서비스 컴퓨팅
71/80
Section 04 인터넷 관련 최신 서비스와 기술
SOA를 사용하는 목적
72/80
Section 04 인터넷 관련 최신 서비스와 기술
웹 언어
CGI언어와 마크업 언어로 구분
CGI(Common Gate Interface)
• 서버와 외부 데이터, 응용 프로그램 간의 인터페이스
• 브라우저에서 서버로 보낸 데이터를 가공하여 다른 응용 프로그램으로 전달하고, 응용
프로그램에서 받은 데이터를 가공하여 서버를 이용해 웹 브라우저로 전달
• 다루는 정보는 사용자와 이용 시간대에 따라 내용과 표현이 달라지는 동적인 정보
마크업 언어(Markup Language)
• 웹 서버에 저장된 문자, 그림, 표, 음성, 동영상 등을 모두 포함한 문서를 클라이언트가
다운로드받아 웹 브라우저에서 표현
• SGML, HTML 순으로 발전하고, XML은 SGML과HTML의 단점을 보완해 등장
73/80
Section 04 인터넷 관련 최신 서비스와 기술
XML(eXtensible Markup Language)
1996년 W3C에서 제안
SGML을 복잡하게 하는 요인인 많은 선택 기법을 채택하지 않아 단순
하고 SGML의 장점인 구조성과 융통성을 유지
SGML처럼 확장이 가능해 HTML보다 표현력이 좋음
XML 문서는 웹에서 구조화된 문서를 전송할 수 있도록 내용(XML)과
구조(DTD), 표현(XSL)이 분리된 구조적 문서므로 WWW, 인트라넷
등에서 데이터와 형식 두 가
지를 모두 공유할 때 유용
XML을 이용하면 데이터베이스 조작이나 환경 설정, 서비스 관련 설정
을 더 쉽게 처리할 수 있음
HTML과 달리 규정된 태그만 사용하는 것이 아닌 사용자가 원하는 태
그를 만들어 응용 프로그램에 적용 가능
74/80
Section 04 인터넷 관련 최신 서비스와 기술
SGML, HTML, XML의 비교
75/80
Section 04 인터넷 관련 최신 서비스와 기술
AJAX(Asynchronous JAvascript and XML)
대화식 웹 응용 프로그램을 제작하는 데 조합을 이용하는 웹 개발 기법
비동기 자바스크립트와 XML를 의미하며, 웹에 있는 DHTML, CSS,
XML, 마이크로소프트 객체인 XMLHttp-Request 등의 기술이 합쳐짐
개발자가 좀 더 쉽게 접근할 수 있도록 인터페이스를 만드는 방법론으
로 볼 수 있음
76/80
Section 04 인터넷 관련 최신 서비스와 기술
웹의 진화 과정과 특징
77/80
Section 04 인터넷 관련 최신 서비스와 기술
웹의 진화와 웹 3.0의 특징
78/80
Section 04 인터넷 관련 최신 서비스와 기술
지능형 웹 서비스
웹 서비스의 정적이고 구문적인 접근 방식의 문제점을 해결하려고 시
맨틱 웹 에이전트 기술을 웹 서비스에 접목하는 시도
시맨틱 웹, 미래의 인터넷
현재처럼 사람이 마우스나 키보드를 이용해 원하는 정보를 찾아 눈으
로 보고 이해하는 웹이 아니라, 컴퓨터가 이해할 수 있는 웹
컴퓨터가 이해할 수 있는 형태의 새로운 언어로 표현해 기계끼리 의사
소통을 할 수 있는 지능형 웹
컴퓨터가 정보 자원의 뜻을 해석하고, 기계끼리 정보를 주고받으면서
필요한 일을 자체적으로 처리할 수 있음
79/80
IT CookBook, 최신 정보통신 개론