9/22 OSI 응용 계층

성준호·2024년 9월 22일

1. 응용 계층 (Application Layer)

여러가지 프로토콜에 대한 사용자 인터페이스를 제공한다. 사용자와 응용 프로그램 사이에 데이터 교환을 가능하게 하는 계츠이다. HTTP, FTP, 메일 프로그램 등을 제공한다.

2. Appliction 구조

client-server 구조로 서버와 클라이언트가 통신하는 구조이다.

  • server
    항상 켜져있고 고정 IP 사용

  • client

    • 서버와 통신한다.
    • 동적 IP를 사용하며 간헐적으로 연결된다.
    • 클라이언트끼리 통신할 때 직접 연결하지 않고 서버를 거쳐서 통신한다.

3. peer-to-peer

  • 단대단 통신으로 client-server 구조와 달리 중앙 서버가 없다.
  • end system끼리 직접 연결하기 때문에 서버가 항상 켜져있을 필요가 없다.
  • self scalbility (자기 확장성): 새로운 peers는 새로운 서비스 용량과 새로운 서비스 요구사항을 제공한다.

단점: Peers(clients)끼리 연결할 때마다 IP 주소가 바뀌기 때문에 이것을 관리하기 복잡하다.

4. HTTP 프로토콜

HTTP 프로토콜은 응용 계층 프로토콜로 TCP/IP 위에서 동작한다.

1) URL

HTTP 리소스는 Uniform Resource Locators(URLs)를 통해 네트워크 상에서 위치가 정의되며, 해당 URL를 표현하기 위해 Uniform Resource Identifiers (URI's)를 사용하여 표현한다.
scheme:[//[user:password@]host[:port]][/]path[?query][#fragment]

2) Stateless

HTTP는 Client에서 request를 보낸 후 Server에서 response가 오면 현재 연결을 끊는 connection less 방식으로 동작한다. 따라서 수백만명이 접속하는 웹서비스 형태로 접속이 최소한으로 유지되어도 문제가 없는 응용 소프트웨어에 적합한 구조이다.
그러나 Client의 이전 상태에 대해 알 수 없기 때문에 HTTP 프로토콜로 웹서비스를 구현할 때 Cookie 또는 web form 안의 hidden variables를 통해 이러한 문제를 해결하고 있다.

5. DNS

인터넷을 사용할 때 IP 주소를 외워서 접속하는 경우는 거의 없다. 이를 위해 도메인이 사용된다.
DNS는 사람이 기억하기 쉽게 문자로 만들어진 도메인을 숫자로 된 IP 주소로 바꿔주는 시스템이다. 이를 위해 DNS 서버가 사용되는데 DNS 서버에는 IP 주소와 도메인이 저장되어 있다.
www.naver.com을 치면 바로 네이버에 접속하는 것이 아니라, DNS 서버를 한 번 거치게 된다.

profile
안녕하세요

0개의 댓글