200 likes | 490 Views
제 8 장 인터넷과 TCP/IP. 목 차. 인터넷. TCP/IP 프로토콜. 데이타통신망의 유형. 인터넷의 역사 및 현황과 제공 서비스에 대해 알아본다 인터넷이 사용하는 TCP/IP 프로토콜의 기능 및 역할을 알아본다. 인터넷 현황과 서비스. 인터넷의 진화. 아파넷 (ARPANET) 미국방성에서 군납업체와 관련 연구기관사이의 정보교환을 위한 ARPA 프로젝트 일환으로 추진된 네트워크 초기에 4 개의 호스트컴퓨터를 연결
E N D
제 8장 인터넷과 TCP/IP 목 차 인터넷 TCP/IP프로토콜 데이타통신망의 유형 인터넷의 역사 및 현황과 제공 서비스에 대해 알아본다 인터넷이 사용하는 TCP/IP 프로토콜의 기능 및 역할을 알아본다
인터넷 현황과 서비스 인터넷의 진화 아파넷(ARPANET) 미국방성에서 군납업체와 관련 연구기관사이의 정보교환을 위한 ARPA프로젝트 일환으로 추진된 네트워크 초기에 4개의 호스트컴퓨터를 연결 사용자 증가로 새로운 프로토콜 요구되어 TCP/IP프로토콜 개발 아파넷 이용 증가로 군사용 MILNET 과 인터넷 모태인 연구목적용 아파넷으로 분리 사용자 증가로 새로운 프로토콜 요구되어 TCP/IP프로토콜 개발 NSFNET 미 과학재단(NSF)의 슈퍼컴퓨터 센터간 통신을 위한 네트워크 아파넷과 연결되면서 수요 급증 아파넷은 네트워크를 연결하는 인터넷 하부구조 역할 마련 아파넷은NSF의 지속적 투자로 NSFNET에 인터넷 기간망 자리를 넘겨줌 유럽 및 아시아의 기간 네트워크들과 연결되어 거대한 네트워크 형성 <그림> 인터넷 발전사
인터넷 현황과 서비스 국내 인터넷 역사와 망구성 SDN(System Development Network) 국내의 전자 전산분야의 연구기관들간에 소프트웨어나 인력등의 자원의 공유 및 최신 정보를 신속히 교환하는 연구환경 조성 및 네트워크 개발기술의 축적을 목적으로 관련 기관들의 컴퓨터들이 연결된 연구 개발용 네트워크 1982년 서울대와 KIET(한국전자통신연구소 전신)간 연결, 그 후 여러 기관간 연결 전자우편, 파일전송, 가상터미널, 저자게시판 서비스 미국의 교육연구망인 CSNET, UNIX 머신간의 정보교환 목적인 USENET/UUCPNet과 연결 KREN(Korean Education Network) : 교육전산망 교육 관련 기관간의 정보교환을 위한 통신망 KREONet(Korean Research and Education Network) : 연구전산망 연구 및 교육 관련 기관간의 정보교환을 위한 통신망 HANA/SDN : 하나망 KAIST를 중심으로 몇 개 대학과 연구소에 공동으로 설치된 통신망 1990년에 56kbps 급 전용회선으로 인터넷에 연결되어 인터넷 본격적 도입
인터넷 현황과 서비스 인터넷서비스 기본서비스 전자우편 (e-mail) 인터넷 사용자가 자신의 컴퓨터에서 작성한 내용을 인터넷에 연결된 다른 사용자에게 전달 거의 실시간적 전달 사용자이름과 메일호스트로 구성 <그림> 전자우편시스템 파일전송 (ftp : file transfer protocol) 다른 컴퓨터(ftp 서버)에 접속하여 그곳에 있는 파일을 전송받거나, 자신의 파일을 전송 접속하고자 하는 ftp서버에 계정을 가져야 함 계정이 없는 사용자에게도 ftp서비스를 제공하는 ‘무명 ftp서버’도 대부분 제공 원거리접속 또는 가상터미널(remote login or virtual terminal)) 멀리 떨어진 컴퓨터에 접속하여 마치 자신이 사용하는 컴퓨터인 것처럼 사용 응용프로그램으로 telnet과 rlogin 이를 이용하여 다양한 데이타베이스 검색과 전자게시판 사용
인터넷 현황과 서비스 인터넷서비스 뉴스서비스 전자게시판을 통해 사용자들에게 정보를 제공하는 서비스 게시판을 컴퓨터화 한 것 전자게시판(BBS: Bulletin Board System) 센터의 호스트 컴퓨터를 게시판이라 보고, 그 컴퓨터에 사서함을 갖는 회원이 자신의 PC로 각종 메시지를 기억시켜 불특정 다수와 연락하거나 정보 게시 등을 행하는 것 뉴스 : 전자게시판상의 기사내용 뉴스서버 : 뉴스를 제공하는 서버 실제로 유즈넷(Usenet)이라는 뉴스서버를 연결한 가상 네트워크를 이용
인터넷 현황과 서비스 인터넷서비스 정보검색서비스 인터넷호스트로부터 특정 정보를 검색하여 이를 이용할 수 있도록 해주는 서비스 아키(Archie) 원하는 정보의 위치를 알 수 있도록 캐나다 McGill 대학에서 개발한 검색소프트웨어 문서제공자(Archive server)라는 개념으로 부터 이름 빌림 일정 기간마다 무명 ftp로부터 파일목록을 제공받고, 이를 정리하여 데이타베이스로 보관 찾고 있는 파일이 존재하는 무명 ftp서버의 위치 및 서버내의 경로와 파일이름을 알려줌 WAIS (Wide Area Information Service) 인터넷상에서 색인(index)을 갖는 정보를 검색해 주는 서비스 사용자가 문의한 자료에 가장 가까운 순으로 정보를 제공 찾고자 하는 데이터의 집합인 자원 제공자들에 의해 운영되므로 서비스 분야가 넓지 못함 고퍼 (Gopher) 인터넷상에서 색인(index)을 갖는 정보를 검색해 주는 서비스 미국 미네소타대학에서 학생들이 컴퓨터에 관한 질문에 대답하는 것을 돕기 위해 개발 메뉴방식으로 자료를 검색하므로 WAIS 보다 다루기 쉬움
인터넷 현황과 서비스 인터넷서비스 정보검색서비스 웹 (Web, WWW : World Wide Web) 텍스트 뿐만 아니라 음성, 이미지 등 다양한 형태의 정보를 검색해 주는 서비스 ftp, telnet, Usenet 등의 서비스를 웹브라우저 툴로 다루기 때문에 인터넷 상의 거의 모든 서비스를 이용 가능 문서중의 단어나 문구와 같은 개체(object)가 외부자료에 직접 연결되는 링크를 가짐 : 이러한 문서를 “하이퍼텍스트” 라고 명명 <그림> 하이퍼텍스트의 연결 웹 동작과정 HTTP(Hypertext Transfer Protocol) 프로토콜을 이용하여 클라이언트/서버 방식으로 동작 웹 브라우저 (Web Browser) 웹에서 효과적인 자료검색을 지원하는 윈도우로 동작하는 클라이언트 프로그램 윈도우상에서 사용자 친화적(user friendly) 방식 사용 웹 브라우저 화면에 표시되는 문자,음성,영상 등의 개체들은 URL을 통해 다른 자료와 연결 대표적 웹 브라우저는 모자이크, 넷스케이프, 익스플로러
인터넷 현황과 서비스 인터넷서비스 URL (Uniform Resource Locator) 하이퍼텍스트상의 객체를 정보 형태에 상관없이 통일되게 접근하는 수단 자료전송방법(프로토콜과 서비스), 인터넷주소(IP address), 자료위치 및 형태(서버내의 경로와 화일이름) 등으로 구성 예 : http://honey.kwangju.ac.kr/~chcho/index.html MIME (Multipurpose Internet Mail Extensions) 웹에서 클라이언트와 서버간에 음성 및 영상등의 멀티미디어 정보를 포함한 HTML문서를 전자우편의 확장된 형태로 부호화하고 해독하는 프로토콜 IETF에서 채택한 확장된 전자우편 표준 인터넷 전자우편 프로토콜인 SMTP가 문자전송에만 국한되는 한계를 극복하기 위해 개발 <그림> HTML 문서전송과정
인터넷 현황과 서비스 인터넷서비스 웹브라우저와 자바(Java) 자바(Java) 웹브라우저에서 동화상서비스를 기반으로 한 대화형작업이 가능한 환경을 지원하기 위한 프로그래밍 언어 객체지향언어인 C++ 기반 네트웍을 통한 동적인 서비스(애플릿을 통함) 제공 원시코드를 한줄씩 해석하면서 동시 실행시키는 인터프리터 방식 멀티타스킹과 유사한 멀티쓰레딩 지원 여러 프로그램을 동시에 실행시켜 대화형 멀티미디어 서비스 제공 어떠한 컴퓨팅 운영환경에서도 실행되는 바이트코드와 가상머신 개념 도입 애플릿(applet) : HTML에서 자바프로그램을 지시하여 실행시키는 엔티티 웹 브라우저는 HTML로 작성된 문서를 분석하는 도중에 애플릿을 가르키는 항목을 만나면, 서버에 바이트코드로 작성된 애플릿의 전송을 요청하고, 전송받은 애플릿을 해석하여 실행 어떠한 컴퓨팅 운영환경에서도 실행되는 목적코드와 가상머신 개념 도입 애플릿을 HTML 문서에서 사용하면 웹 브라우저 스스로 실행시킬 수 없는 프로그램이나 전혀 새로운 정보형식도 다루기 쉬움
인터넷 현황과 서비스 인터넷서비스 : 자바 프로그램 예제 <HTML> <HEAD> <TITLE> A sample program </TITLE> </HEAD> <BODY> <CENTER> <APPLET CODE=“Sample.class” WIDTH=300 HEIGHT=50> </APPLET> </CENTER> </BODY> </HTML> HTML 문서 Import java.awt.*; import java.applet.*; public class Sample extends Applet { public void paint(Graphics gc) { gc.setColor(Color.red); gc.drawString(“Java Testing”, 100, 60); } } Java 화일
TCP/IP 프로토콜 TCP/IP 프로토콜 운영환경 TCP/IP 프로토콜 네트웍에 서로 연결된 컴퓨터간 통신하는 방법(TCP)과 서로 연결된 네트웍간의 데이터가 라우팅되는 방법(IP)을 나타내기 위해 인터넷에서 사용하는 표준 프로토콜 TCP/IP 프로토콜 운영환경의 구성요소 호스트 네트웍에 연결된 컴퓨터 여러 개의 프로세스 지원 호스트간 통신은 네트웍을 통해 이루어짐 프로세스 호스트상에서 운용되는 응용 프로토콜 대표적 예로 ftp, telnet, e-mail 네트웍 호스트간의 통신을 지원하는 하부구조 <그림> TCP/IP 프로토콜 운영환경 <표> TCP/IP 프로토콜 모음의 각 계층별 주요 기능
TCP/IP 프로토콜 TCP/IP 구조와 OSI 구조 OSI 프로토콜 구조와 TCP/IP 프로토콜 구조의 개념적 차이 <그림> TCP/IP 구조와 OSI 구조 비교
TCP/IP 프로토콜 응용 프로세스 계층 응용 프로세스 계층 TCP/IP 프로토콜을 이용하여 인터넷 서비스를 제공하는 응용 계층 파일전송 (ftp : file transfer protocol) 네트웍상의 컴퓨터간에 파일을 주고 받도록 해주는 서비스 서로 다른 운영체제나 다른 코드체계를 사용하는 컴퓨터간에도 파일 송수신 가능 대표적 예로 인터넷에서 많이 쓰이는 ftp 원거리접속 (rlogin, telnet : remote login) 네트웍에 연결된 다른 컴퓨터에 접속하여 마치 자신의 계정이 있는 호스트처럼 사용 대표적 예로 telnet, rlogin 전자우편 (e-mail) 인터넷을 이용한 전자메일 송수신 서비스 실제로 SMTP(Simple Mail Transfer Protocol) 사용
TCP/IP 프로토콜 전달 계층 (Transport Layer) 전달계층의 프로토콜 분류 각 호스트의 전달계층 엔티티간에 안정적인 정보교환을 위한 프로토콜 1)TCP (Transmission Control Protocol) 호스트간에 신뢰성있는 경로를 확립하고 안정적인 메시지를 전송 가상적으로 연결된 형태의 응용 프로세스에게 서비스 제공 메시지 분할 및 조립 전송에러 감시하고, 에러 발생 시 재전송 대표적 이용 프로세스는 ftp, telnet 2)UDP (User Datagram Protocol) 큰 신뢰성을 요하지 않고 산발적으로 발생하는 메시지 전송 TCP 보다 단순한 헤더 구조 비 연결형 서비스에 사용 안정적 전송 보장 못함 방송, 멀티캐스팅 메시지 전송에 적합(예 : 인터넷 MBONE :Multicast Backbone) <표> TCP와 UDP 비교
TCP/IP 프로토콜 IP 계층 (Internet Protocol Layer) IP 계층 프로토콜들 송신측으로 부터 패킷이 여러 네트웍을 거쳐 가면서 수신측까지 갈 수 있도록 통신경로를 선택 1)IP (Internet Protocol) 상위 계층으로부터 받은 메시지를 접속된 네트웍에 적합한 크기(패킷)로 나누고, 전송할 경로를 선택한 다음 패킷을 전송 데이타그램 방식 사용 흐름제어, 에러제어 안함 전송에러 감시하고, 에러 발생 시 재전송 대표적 이용 프로세스는 ftp, telnet 2)ICMP (Internet Control Message Protocol) IP 동작중에 발생하는 문제를 해결하기 위한 프로토콜 패킷을 처리해야 할 상위계층에 문제 발생 시 ICMP 메세지를 송신호스트에 송신 버퍼 부족으로 패킷을 버릴 경우 ICMP 메세지를 송신호스트에 송신 IP주소를 인식할 수 없는 패킷이 들어올 경우 ICMP 메세지를 송신호스트에 송신 <표> ICMP 메세지
TCP/IP 프로토콜 IP 계층 (Internet Protocol Layer) 3)ARP (Address Resolution Protocol) 호스트의 IP주소(인터넷 주소)를 호스트와 연결된 네트웍접속장치의 물리적 주소로 번역 물리적주소 : 이더넷 드라이버 같은 네트웍접속장치에 부여되는 일련의 고유번호로서, 네트웍접속계층에서 송신측과 수신측을 식별하기 위해 사용 IP주소 : 129.254.48.28 이더넷주소 : 08-00-39-00-2F-C3
TCP/IP 프로토콜 IP 계층 (Internet Protocol Layer) 경로선택 프로토콜 (Routing protocol) 경로설정표에 따라 패킷 전송 경로를 결정해 주는 프로토콜 라우터 : 경로설정표에 따라 패킷의 전송경로를 결정하여 그곳으로 전송하는 장치 문제점 : 각 라우터마다 인터넷에 등록된 모든 호스트에 대한 경로설정표 작성은 거의 불가능 해결안 : 자치시스템(예 : 한 학교나 회사의 전산망) 도입 자치시스템간에는 EGP(Exterior Gateway Protocol) 경로선택 프로토콜 이용 자치시스템내에서는 IGP(Interior Gateway Protocol) 경로선택 프로토콜 이용 TCP/IP에서 사용하는 IGP 고정경로방식 RIP (Routing Information Protocol) OSPF (Open Shortest Path First)
TCP/IP 프로토콜 IP 계층 (Internet Protocol Layer) TCP/IP에서 사용하는 IGP 고정경로방식 네트웍관리자가 임의로 경로를 결정 수시로 변하는 네트웍환경을 적절히 반영하지 못함 RIP (Routing Information Protocol) 벨만-포드 알고리즘을 이용하여 최단경로를 구하고, 이 정보를 인접한 게이트웨이 또는 라우터간에만 주기적으로 교환 분산형 경로선택 방식 OSPF (Open Shortest Path First) 네트웍 상황이 바뀔때마다 변경된 정보를 플러딩(flooding)시키고, 이 네트웍에 연결된 라우터 또는 게이트웨이는 경로표를 갱신 각 네트웍사이의 최단경로는 딕스트라 알고리즘 이용하여 계산
계층간 상호기능 예제 : ftp를 사용하는 TCP/IP 구조 <그림> ftp를 사용하는 TCP/IP 구조 <그림> TCP에서 헤더씌우기