애플리케이션 계층


사용자가 직접 사용하면서 체감할 수 있는 서비스를 제공



사용자가 직접 사용하는 프로토콜


Http - 웹 클라이언트와 웹 서버 사이에서 웹페이지 데이터를 주고 받는다. 

POP, SMTP, IMAP - 메일을 송수신하고 보관한다.

SMB, AFP - LAN 안에서  파일을 공유한다.

FTP - 서버를 통해 파일을 주고 받는다

Telnet, SSH - 원격에서 서버를 제어한다.



사용자가 간접적으로 사용하는 프로토콜


DNS - 도메인명과 IP어드레스의 정보를 서로 변환할 때 사용한다.

DHCP - LAN 내의 컴퓨터에게 IP어드레스를 할당할 때 사용한다.

SSL/TLS - 통신 데이터를 암호화하여 주요 정보를 안전하게 주고 받을 때 사용한다.

NTP - 네트워크에 연결된 장비들의 시스템 시간을 동기화할 때 사용한다.

LDAP - 네트워크에 연결된 자원(사용자, 장비들)의 통합 관리에 필요한 디렉터리 서비스를 제공할 때 사용한다.



웹페이지가 표시되기까지의 과정


웹브라우저가 웹서버로 특정 웹페이지를 요청하면 웹서버가 해당 페이지의 내용을 HTML 형식으로 응답



HTTP 메세지


웹 브라우저와 웹서버는 HTTP라는 애플리케이션 계층의 프로토콜을 사용

이 과정에서 주고 받은 정보가 HTTP 메세지, 크게 request와 response로 나뉨



HTTP  메세지 구조


request line/ status line(응답 정보행)   - 메세지의 종류나 상태를 표시 

 header  - 메세지에 대한 상세한 정보 

 blank line

message body  - 응답인 경우 이 부분에 HTML 데이터가 들어감



HTTP는 통신 시 정보를 한 번씩 주고 받은 후 바로 끊는 형태로 처리,

이렇게 상태정보를 저장하지 않는 통신형태를 stateless라고 함(무상태 프로토콜)

--> 상태 정보를 유지하기 위한 별도의 처리가 필요




HTTP 요청과 URL


http://www.test.co.kr/test/index.html

스키마        host        도메인          디렉토리        파일


스키마 - 사용하는 프로토콜을 명시

호스트 - 서버의 이름 혹은 역할을 명시

도메인 - 서버를 운영하는 조직을 명시

디렉터리 - 서버내의 디렉터리를 명시

파일 - 해당 디렉터리 내의 파일을 명시



HTTP 요청 예시


 GET/test/index.html HTTP/1.1 

 Host:www.test.co.kr

 connection : keep-alive

 Accept : text/html,aplication/xhtml+xml

 User-Agent: Mozila/5.0(Macintosh; Intel Mac OS X 10_9_2) AppleWebkit/537.36 (KHTML, like Gecko) Chrome/3

 생략

 get일 경우 메시지 바디는 없다.



HTTP 응답과 상태 코드


HTTP 응답 데이터에는 첫번쨰 행에는 요청에 대한 응답 상태를 표시하는 상태코드가 들어간다.

응답이 정상이라면 메시지 바디에 요청한 웹페이지의 내용이 들어감


 HTTP/1.1 200 OK 

 data:TUE, 10 Jan 2017 14:19:20 GMT

 Server:Apache

 Last-Modified:Fri, 8 Jan 2017 12:12:12 GMT

 생략

 빈줄

 HTML 내용



'네트워크' 카테고리의 다른 글

네트워크 서비스와 어플리케이션 계층(3)  (0) 2017.01.13
네트워크 서비스와 애플리케이션 계층(2)  (0) 2017.01.11
프로토콜 종류  (0) 2017.01.04
컴퓨터네트워크(3)  (0) 2017.01.03
컴퓨터 네트워크(2)  (0) 2016.12.24

4계층의 역할


1. 애플리케이션 계층


역할 - 사용자가 실제로 체감할 수 있는 서비스를 제공하는 것


키워드 - URL



2. 트랜스포트 계층


역할 - 애플리케이션 계층의 프로그램에서 전달 받은 데이터를 목적지 애플리케이션 계층의 프로그램까지 전달하는 것

    재전송도 여기서 수행

    데이터가 제대로 전달되도록 포트 번호 정보를 헤더에 붙이거나 떼어내는 일을 한다.


키워드 - 포트



3. 인터넷 계층


역할 - 데이터에 에드레스 정보를 덧붙여 목적지까지 전달하는 것, 인터넷 통신에서는 목적지까지 도달할 수 있는 경로를 찾아야 하는데,

         이때 라우터라는 장비가 사용


키워드 - 어드레스(192.168.219.120)



4. 네트워크 인터페이스 계층


역할 - 유선 LAN 어댑터나 무선 LAN 어댑터가 처리할 수 있는 형태로 데이터를 변환하고 데이터를 목적지까지 전달 하는 것


핵심 - 인터넷 계층은 멀리 떨어져 있는 목적지까지 어떻게 데이터를 잘 전달할 수 있을까에 초점을 맞추고 있고

         네트워크 인터페이스 계층은 물리적으로 인접하여 연결된 장비까지 어떻게 데이터를 잘 전달할까에 초점을 맞추고 있다.


키워드 - 이더넷 헤더




통신규약과 프로토콜



프로토콜이란?


컴퓨터가 통신할 때, 지켜야 할 절차나 규약

어떤 절차에 따라 무엇을 보낼것인가?



각 계층 별 프로토콜


애플리케이션 계층 - HTTP

트랜스포트 계층, 인터넷 계층 - TCP/IP

네트워크 인터페이스 계층 - 이더넷



주고받은 데이터의 구조


이더넷 헤더 

IP 헤더 

TCP 헤더 

HTTP 데이터 

 

네트워크 인터페이스         인터넷 계층                    트랜스포트 계층             애플리케이션 계층




TCP/IP란?


인터넷에서 사용되는 각종 표준 프로토콜을 한데 모아서 일컫는 말



인터넷이란?


TCP/IP라는 프로토콜 집합을 사용해서 전 세계의 네트워크를 연결하고 통합한 세계 최대의 네트워크





'네트워크' 카테고리의 다른 글

네트워크 서비스와 애플리케이션 계층(2)  (0) 2017.01.11
네트워크 서비스와 애플리케이션 계층(1)  (0) 2017.01.10
프로토콜 종류  (0) 2017.01.04
컴퓨터 네트워크(2)  (0) 2016.12.24
컴퓨터 네트워크(1)  (0) 2016.12.22

+ Recent posts