제1항 인터

(1) 인터넷의 정의

1) 서로 다른 컴퓨터간에 전송 규약을 사용하여 연결된 모든 네트워크의 집합체

2) TCP/IP 프로토콜을 기반으로 전 세계 수 많은 컴퓨터와 네트워크들이 연결된 광범위한 컴퓨터 통신망이다.

 

(2) 사전적 의미

1) Inter + Network = Internet

 

(3) 인터넷의 특징

1) 클라이언트/서버 구조의 쌍방향 통신이다.

① 클라이언트(Client)

특정 서비스를 요청하는 개체를 말한다.

② 서버(Server)

클라이언트가 요청하는 서비스를 처리해 응답하는 개체를 말한다.

2) 정보의 공유가 자유로운 가상공간이다.

3) 관리조직이나 통제 기구가 없다.

특정 컴퓨터 혹은 통신망에 이상이 발생하더라도 통신망 전체에는 영향을 주지 않도록 세계 각지의 국가나 단체 등에서 분산적으로 관리되고 있다.

 

(4) 인터넷의 역사

1) ARPANET

2) TCP/IP의 도입과 ARPANET의 분리

3) NSFNET의 창설과 ARPANET의 소멸

4) 월드 와이드 웹의 시작과 웹 브라우저의 출현

 

(5) 월드와이드웹(WWW, World Wide Web)

1) 개요

① 오늘날 웹은 웹페이지라 불리는 문서들로 되어 있는 정보의 보고이다웹페이지는 전 세계에 광범위하게 분포되어 있으며서로 연관된 문서끼리 링크되어 있다.

② 각 사이트는 웹페이지(web page)라고 불리는 하나 또는 그 이상의 문서들을 유지한다각 웹페이지는 동일한 사이트 또는 다른 사이트에 있는 다른 웹 페이지들로 링크를 포함할 수 있다.

 

2) 웹 클라이언트(브라우저)

① 다양한 벤더들이 웹페이지를 해석하여 표현하는 상용 브라우저를 제공한다그리고 이들은 모두 거의 동일한 구조를 가진다브라우저(browser)는 제어기(controller), 클라이언트 프로토콜 및 해석기(interpreter)의 세부분으로 구성된다.

② 제어기는 키보드나 마우스로부터 입력을 받아 클라이언트 프로그램을 사용하여 문서에 액세스한다문서가 액세스 된 후 제어기는 해석기 중 하나를 사용하여 문서를 화면에 표현한다.


그림 132. Browser architecture

 

3) URL(Uniform Resource Locator)

① 웹페이지를 정의하기 위해서는 호스트(host), 포트(port), 경로(path)의 3가지 식별자가 필요하다.

종류

설명

프로토콜

서버로부터 웹 문서를 얻기 위한 프로토콜을 지정하는 필드로, HTTP 이외에 FTP, Gopher, News, 텔넷 등이 있다.

호스트

웹문서가 저장되어 있는 컴퓨터의 이름으로 보통 www 라는 별칭으로 시작하나 반드시 그런 것은 아니다.

포트

기본적으로 HTTP는 80번 포트를 사용하고 보안상의 이유로 웹서버의 포트번호 변경은 가능하다

경로

웹 문서가 위치한 파일의 경로명을 표시한다. ‘/’를 사용하여 경로명을 길게 확장 가능하다.

 

 

4) 웹 문서

① 정적문서

• WWW에서의 문서는 정적(static), 동적(dynamic), 액티브(active) 세 분류로 크게 나눌 수 있다.

• 정적 문서(static documents)들은 서버에서 생성되어 저장된 고정된 내용의 문서이다클라이언트는 문서의 복사본만을 얻을 수 있다파일의 내용이 파일이 사용될 때가 아닌 생성될 때 결정된다.

 

 

• 정적 문서들은 다음 여러 언어중 하나를 사용하여 준비된다. HTML(Hypertext Markup Language), XML(Extensible Markup Language), XSL(Extensible Style Language, XHTML(Extended Hypertext Markup Language)

 

② 동적문서

• 동적 문서는 브라우저가 문서를 요청할 때마다 웹 서버에 의해 생성된다요청이 들어오면 웹 서버는 동적 문서를 만드는 응용 프로그램이나 스크립트를 수행한다.

• 각 요청에 대해 새로운 문서가 생성되기 때문에동적 문서의 내용은 각각의 요청마다 달라질 수 있다동적 문서의 매우 간단한 예는 서버로부터 날짜와 시간을 받는 것이다.

 

 

• 스크립트를 사용하여 동적 문서를 생성하는 기술에는 몇 가지가 있다가장 일반적인 것으로 Perl 언어를 사용하는 PHP(Hypertext Preprocessor) JSP(Java Server Pages), ASP(Active Server Pages) 등이 있다.

• ASP나 JSP와 같이 동적인 페이지를 제공하는 스크립트를 SSS(Server Side Script)라 한다.

 

③ 액티브 문서

• 많은 응용에서 클라이언트 사이트에서 수행될 프로그램 또는 스크립트를 필요로 한다이들을 액티브 문서(active document)라 부른다.

• 프로그램은 애니메이션이나 상호 작용이 일어날 클라이언트 사이트에서 반드시 수행되어야 한다브라우저가 액티브 문서를 요청할 때서버는 문서의 복사본이나 스크립트를 전송한다그리고 문서는 클라이언트(브라우저사이트에서 수행된다.

• 자바 애플릿(Java applets)

ü  애플릿은 서버에서 자바로 작성된 프로그램이다애플릿은 컴파일되어 수행될 준비가 된다문서는 바이트코드(바이너리)형태이다클라이언트 프로세스(브라우저)는 이 애플릿의 인스턴스를 생성하고 이를 수행시킨다.

 

• 자바 스크립트(JavaScript)

ü  동적문서에서의 스크립트 개념이 액티브 문서를 위해서도 사용될 수 있다만일 문서의 액티브 부분이 작다면 이는 스크립트 언어로 작성될 수 있고이는 클라이언트에 의해 해석되고 동시에 수행될 수 있다.

ü  스크립트는 소스코드(텍스트)로 바이너리 형태가 아니다웹 서비스에 이용되는 스크립트에는 자바 스크립트(JavaScript)나 비주얼 베이직 스크립트(Visual Basic Script) 등이 있다.

ü  이들은 서버가 아닌 클라이언트 측의 웹 브라우저에 의해 해석되고 적용되는 이를 CSS(Client Side Script)라 한다.

 

구분

서버 스크립트 언어

클라이언트 스크립트 언어

종류

PHP, ASP, JSP 등 다양

JavaScript, Vbscript가 대표적

특징

서버에서 프로그램 처리

취약점이 서버에게 직접 영향

클라이언트에서 프로그램 처리

취약점이 개인 시스템에 영향

장점

데이터베이스와 연동이 쉽다

서버내에 있는 파일 접근이 용이

서버에 부하를 주지 않는다

단점

서버에 부하를 줌

기능이 제한적임

 

 

(6) 하이퍼텍스트 전송 프로토콜(HTTP, Hypertext Transfer Protocol)

1) 개요

① 하이퍼텍스트 전송 프로토콜은 웹에서 웹페이지를 가져오기 위해 어떻게 클라이언트-서버 프로그램이 작성될 수 있는지를 정의한다.

② HTTP 클라이언트는 요청을 하고 HTTP 서버는 응답을 한다서버는 포트 80번을 사용하고 클라이언트는 임시 포트 번호를 사용한다.

 

2) 영속성

① HTTP 버전 1.0은 비영속적 연결(nonpersistent connection)을 사용하였으나버전 1.1은 영속적 연결(persistent connection)을 기본값으로 하는데 이는 사용자에 의해 변경될 수 있다.

 

3) 비영속적 연결

① 비영속적 연결에서는 각 요구/응답에 대해 하나의 TCP 연결이 만들어진다동작은 아래와 같다.

• 클라이언트가 TCP 연결을 열고 요청을 보낸다.

• 서버는 응답을 보내고 연결을 닫는다.

• 클라이언트는 end-of-file 표시가 나타날때까지 데이터를 읽고 그 후 연결을 닫는다.

 

② 비영속적 연결은 서버에 큰 오버헤드를 부과하게 되는데그 이유는 서버가 연결을 열 때마다 다른 버퍼들을 필요로 하기 때문이다.

 

4) 영속적 연결

① 영속적 연결에서 서버는 응답을 전송한 후에 차후의 요청을 위해 연결을 열어 놓은 상태로 유지한다서버는 클라이언트로부터 요청을 받거나 타임아웃이 되면 연결을 닫을 수 있다.

② 오직 하나의 버퍼와 변수만이 각 사이트의 연결을 설정하는데 필요하다영속적 연결을 사용하면 시간과 자원을 절약할 수 있는데그 이유는 연결 설정과 연결 종료를 위한 왕복 시간(round trip time)이 절약되기 때문이다.

 

(7) HTTP 트랜잭션

1) 개요

① HTTP는 TCP의 서비스를 이용하지만, HTTP 자체는 상태가 존재하지 않는(stateless) 프로토콜이다이는 클라이언트에 대한 정보가 서버에 저장되어 있지 않다는 의미이다.

② 클라이언트는 요청 메시지를 보내어 트랜잭션을 초기화한다서버는 응답을 보내어 대답한다.

 

 

2) 요청메시지

① 요청라인

• 요청 메시지의 첫 줄은 요청 라인(request line)이라고 부른다이 라인에는 문자 구분 기호에 의해 분리된 세 개의 필드가 존재한다.

 

 

• 이 필드들은 메소드와 URL, 버전이라 부른다이 세 필드는 공백 문자로 구분되어야 한다메소드 필드는 요청 유형(request type)을 정의한다.

 

② 메소드

• GET 방식

ü  GET 방식은 가장 일반적인 HTTP Request 형태로 웹 브라우저에 요청 데이터에 대한 인수를 URL(Uniform Resource Locator)을 통해 전송한다.


 

ü  GET 방식에서는 각 이름과 값을 &로 결합하며 글자 수를 255자로 제한한다메신저로 알려준 URL을 클릭하여 특정 웹 페이지를 똑같이 확인할 수 있는 경우가 GET 방식이 사용된 예이다.

ü  GET 방식은 데이터가 주소 입력란에 표시되기 때문에 최소한의 보안도 유지되지 않은 매우 취약한 방식이다따라서 간혹 아이디나 패스워드가 인수로 저장되어 전달되는 경우도 발생한다.

 

• POST 방식

ü  POST 방식은 URL에 요청 데이터를 전달하지 않고, HTTP 헤더 영역이 아닌 바디 영역에 소켓을 이용하여 데이터를 전송하기 때문에 GET 방식에서의 ‘?page=1&num=1’와 같은 부분이 존재하지 않는다.

 

 

③ 요청 헤더 라인

ü  요청 라인 이후 0개 이상의 요청 헤더(request header) 라인을 가질 수 있다각 헤더 라인은 추가적인 정보를 클라이언트에서 서버로 보낸다.

 

④ 본체

ü  보통은 메소드가 PUT이나 POST일 때 송신될 주석이나 웹사이트에 게시될 파일을 담고 있다.

 

3) 응답메시지

① 상태라인

• 응답 메시지의 첫 줄은 상태 라인(status line)이라 부른다첫 필드는 HTTP 프로토콜의 버전을 의미하고 현재는 1.1이다.

 

② 응답 헤더 라인

• 상태 라인 이후 0개 이상의 응답 헤더 라인을 가질 수 있다각 헤더 라인은 서버에서 클라이언트로 추가적인 정보를 보낸다.

• 예를 들어 송신자는 문서에 대한 부가 정보를 보낼 수 있다각 헤더 라인은 헤더 이름과 콜론스페이스 그리고 헤더 값을 가지고 있다.

 

③ 본체

• 서버에서 클라이언트로 전송되는 문서를 포함한다응답이 오류 메시지가 아니라면 본체가 존재한다.


 

 

제1절 통신 프로토콜

제1항 프로토콜

(1) 기본 개념

1) 데이터통신에 있어서 신뢰성 있게 효율적이고 안전하게 정보를 주고 받기 위해서 정보의 송/수신측 또는 네트워크 내에서 사전에 약속된 규약 또는 규범이다.

2) 주로 송신측에서 수신측을 호출하여 연결하는 과정이다통신회선에서의 접속 방식통신회선을 통해 전달되는 정보의 형태오류 발생에 대한 제어/수신측 간의 동기 방식등에 대한 약속을 포함하고 있다.

 

(2) 주요 구성요소

1) 프로토콜은 무엇을어떻게 그리고 언제 통신할 것인가를 규정한다프로토콜의 주요 요소는 구문과 의미 그리고 타이밍이다.

2) 구문(Syntax)

구문은 데이터의 구조나 형식을 가리키며데이터가 표현되는 순서를 의미한다예를 들면 간단한 프로토콜에서의 데이터의 시작 8비트는 송신자의 주소를 의미하고다음 8비트는 수신자의 주소를 의미한다.

3) 의미(Semantics)

의미는 비트들의 영역별 의미를 나타낸다특정 패턴을 어떻게 해석하고그를 기반으로 어떤 동작을 할 것인가를 결정하게 된다예를 들면 주소는 메시지 최종 목적지나 선택되어지는 경로를 구분하게 된다.

4) 타이밍(Timing)

타이밍은 두가지 특징을 가지는데 데이터를 언제 얼마나 빠른 속도로 전송할 것인가를 나타낸다.

 

제2항 OSI 7계층

(1) 개요

1) 네트워크 통신을 체계적으로 다루고 있는 ISO 표준은 개방 시스템 상호 연결(OSI, Open System Interconnection) 모델이다. OSI 모델은 1970년 후반에 처음 소개되었다.

2) 개방 시스템(Open System)은 기반 구조와 관계없이 시스템 간의 통신을 제공하는 프로토콜의 집합이다. OSI 모델은 하드웨어나 소프트웨어 기반의 논리적인 변화에 대한 요구 없이 서로 다른 시스템간의 통신을 원활하게 하는 데 그 목적이 있다.

 

(2) 계층의 구성

7개의 계층으로 구분되어지고 3개의 그룹으로 나눌 수 있다

 

 

1) 1, 2, 3 계층

물리계층(1계층), 데이터링크 계층(2계층), 네트워크 계층(3계층으로 한 장치에서 다른 장치로 데이터를 전송할 때 필요한 물리적인 면(전기적인 규격물리적인 연결물리 주소전송시간과 신뢰도 등)을 처리한다.

 

2) 계층

4계층은 두 그룹을 연결한다하위 계층에서 전송한 내용을 상위 계층이 사용할 수 있는 형태가 되도록 변환한다.

 

3) 5, 6, 7 계층

세션계층(5계층), 표현계층(6계층), 응용계층(7계층)은 사용자를 지원하는 계층으로 생각할 수 있다여기서는 서로 관련이 없는 소프트웨어 시스템 간의 상호 연동을 가능하게 한다.

 

 

(3) 계층의 구조

1) 물리계층(Physical Layer)

① 데이터를 물리 매체상으로 전송하는 역할을 담당하는 계층으로 전송을 위해 필요한 물리적 링크의 설정유지해제를 담당한다.

② 사용자장비와 네트워크 종단장비 사이의 물리적전기적인 인터페이스 규정에 초점을 두고 있으며전송 선로의 종류에 따라 전송방식과 인코딩 방식을 결정한다.

 

2) 데이터링크 계층(Data link Layer)

① 데이터링크 계층(Data link Layer)은 물리 계층의 전송 설비를 신뢰할 수 있는 링크로 변환한다.

② 물리 계층에서 전송하는 비트들에 대한 비트 동기 및 식별 기능과 원활한 데이터의 전송을 위한 흐름제어안전한 데이터 전송을 위한 오류제어 기능등을 수행한다.

③ 데이터링크 계층은 논리적 연결제어를 담당하는 LLC(Logical Link)와 장비와 장비간의 물리적인 접속을 담당하는 MAC(Media Access Control)으로 나눌 수 있다.

 

 

 

④ 데이터링크 계층에서 데이터 단위를 지칭하여 프레임(frame)이라고 부른다.

 

 

3) 네트워크 계층(Network Layer)

송신측에서 수신측까지 데이터를 안전하게 전달하기 위해서 논리적 링크를 설정하고 상위 계층 데이터를 작은 크기의 패킷으로 분할하여 전송하는 역할을 수행한다.

 

 

4) 전송 계층(Transport Layer)

① OSI 7계층 구조는 전송 계층을 기점으로 하위 계층으로 이루어진 네트워크 서비스와 상위계층으로 이루어진 사용자 서비스로 구별될 수 있다.

② 전송 계층은 세션을 맺고 있는 두 사용자 사이의 데이터 전송을 위한 종단간(End-to-End) 제어를 담당한다.

③ 종단간 전송은 단순히 한 컴퓨터에서 다음 컴퓨터로의 전달이 아니라 송신 컴퓨터의 응용프로그램(프로세스)에서 최종 수신 컴퓨터의 응용프로그램(프로세스)으로 전전달하는 것 의미한다.

 

 

5) 세션 계층(Session Layer)

① 세션 계층은 네트워크 대화 제어기이다이는 통신 시스템 간에 상호 대화를 설정하고 유지하고 동기화 한다.

② 특정한 프로세스들 사이에서 세션이라 불리는 연결을 확립하고 유지하며 동기화하는 기능을 제공한다여기서 프로세스에 해당하는 것으로는 실제 이용자의 응용 프로그램이 있다.

③ 세션 계층은 표현 계층으로부터 받은 데이터를 효율적인 세션 관리를 위해 짧은 데이터 단위로 나눈 후에 전송 계층으로 보낸다.


 

6) 표현 계층(Presentation Layer)

① /수신자가 공통으로 이해할 수 있도록 정보의 데이터 표현 방식을 바꾸는 기능을 담당한다.

② 송신측의 표현 계층은 응용 계층으로부터 받은 데이터의 보안과 효율적인 전송을 위해 암호화와 압축을 수행하여 세션 계층으로 내려 보낸다.

 

 

7) 응용 계층(Application Layer)

① 최상위 계층으로 사용자가 네트워크에 접속하는 것을 가능하게 한다전자우편원격 파일 접속과 전송공유된 데이터베이스 관리분산된 정보 서비스의 또 다른 유형과 같은 서비스를 지원하고 사용자 인터페이스를 제공한다.

 

'정보처리기사 > 데이터통신' 카테고리의 다른 글

17. TCP/IP  (0) 2017.08.02
15. VAN & ISDN  (0) 2017.08.02
14. 근거리통신망(LAN)  (0) 2017.08.02
13. 패킷 교환망  (0) 2017.08.02
12. 데이터 회선망  (0) 2017.08.02

+ Recent posts