애플리케이션 계층


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



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


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

프로토콜 종류



애플리케이션 계층


 프로토콜 이름

설명 

 HTTP

 웹페이지의 데이터를 주고 받음 

 HTTPS 

 보안을 위해 웹페이지 데이터를 주고 받는 과정을 암호화 

 POP3

 서버에 보관된 수신 메일을 꺼내옴 

 SMTP

 메일을 송신함 

 FTP

 파일을 전송함 

 Telnet

 컴퓨터를 원격에서 제어함  

 SSH

 보안을 위해 컴퓨터를 원격에서 제어하는 과정을 암호화함 

 SMB

 윈도우 컴퓨터와 파일을 공유함 

 DHCP

 컴퓨터에게 프라이빗 IP를 동적으로 할당

 DNS

 도메인 이름과 IP 어드레스를 서로 변환함 

 SSL

 보안을 위해 통신 과정에서 주고받는 테이터를 암호화 



트랜스포트 계층


프로토콜 이름 

설명 

 TCP

 애플리케이션 데이터를 송수신하되 정확한 전달을 중시 

 UDP

 데이터를 송수신하되 전송 속도를 중시 



인터넷 계층


프로토콜 이름 

설명 

IP

 패킷을 목적지까지 전달 

ICMP 

 IP의 통신 오류를 전달 

 IPsec

 패킷을 암호화하여 전달 

 ARP

 네트워크 장비의 MAC 어드레스를 알아냄 



네트워크 인터페이스 계층


프로토콜 이름 

설명 

 이너넷

 일반 금속 케이블이나 광케이블을 통해 데이터를 전달 

 PPP

 사용자 인증 후에 원격지의 장비와 통신함 


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