데이터를 위한 C.S 지식 정리_네트워크 공부 : OSI 7계층 이해하기 : [7계층_응용계층].

post-thumbnail

데이터를 위한 C.S 지식 정리네트워크 공부 : OSI 7계층 이해하기 : [7계층응용계층].

CS지식 중에서 '네트워크' 공부 내용을 한번 기록해보겠습니다.

OSI 7계층은 네트워크 공부에서 처음 접하게 되는 부분인데,
OSI 7계층의 등장 배경부터, 각 계층의 수행 역할과 전체적인 흐름까지 정리해보겠습니다.

◇ OSI 7계층이 등장한 배경은?

컴퓨터 네트워크 환경이 발전하면서,
각 회사들마다 자신들만의 독자적인 네트워크 프로토콜을 개발했습니다.

다만 다양한 프로토콜들이 생기면서, 서로 다른 시스템 간 통신이 불가능한 문제가 발생했습니다.

이러한 문제점을 해결하고자 국제표준화기구(ISO)는 1984년에

"개발형 시스템 간 상호 연결(Open Systems Interconnection, OSI) 모델"을 제안했습니다.

∇ 계층을 나눈 이유.

1. 복잡성 관리.
    - 네트워크 통신은 복잡한 과정입니다.
       이를 각각의 독립된 계층으로 나눔으로써 각 계층은 자신의 역할에만 집중할 수 있게 됩니다.
       ex) 애플리케이션 계층은 사용자 인터페이스에만 신경 쓰고, 
             실제 데이터가 어떻게 전송되는지 신경쓰지 않아도 됩니다.
             
2. 유지 보수.
    - 각 계층은 독립적으로 동작하기 때문에 
       하나의 계층 기술을 업데이트하거나 수정할 때 다른 계층에 영향을 주지 않습니다.
       

◇ 각 계층별로 알아보기.

∇ 제 7계층 :: "응용 계층 [Application Layer]

※ "사용자가 네트워크와 직접 상호작용할 수 있게 해주는 인터페이스"를 제공합니다.
- 사용자 의도를 네트워크가 이해할 수 있는 데이터로 변환하고,
반대로 네트워크로 받은 데이터를 사용자가 이해할 수 있는 형태로 표현합니다.

▼ 응용 계층의 예시 :: 웹 사이트 접속.

웹 브라우저로 사용자가 웹 사이트를 방문하는 예시로 응용 계층을 이해해보겠습니다.

  1. 사용자의 의도를 네트워크가 이해할 수 있는 데이터로 변환하는 과정.

    ○ 사용자가 웹 브라우저에 .com 형태의 브라우저 주소를 입력 후 엔터
     ○ 응용 계층에서는 이 행위 자체를 '해당 사이트로 접속하고 싶다'라는 의도로 해석합니다.
     ○ HTTP GET 요청으로 변환(네트워크가 이해 가능한 형식)합니다.
  2. 네트워크로부터 받은 데이터를 사용자가 이해할 수 있는 형태로 변환하는 과정.

       ○ 네트워크로부터 HTML 파일을 받습니다.
        ○ 응용 계층에서 HTML 코드를 해석해 사용자에게 웹 페이지로 변환하여 화면에 표시.
        

    "7계층(응용계층)은 사용자와 네트워크가 상호작용할 수 있는 인터페이스를 제공합니다.
    == 웹상에서의 '인터페이스'는 '웹 브라우저'

▼ 응용 계층의 예시 :: 이메일.

이메일 전송 과정으로 응용 계층을 설명해보자면,

1. 사용자가 이메일을 작성하고 전송 버튼을 클릭합니다.
2. 응용 계층(이메일 프로그램)에서는 사용자가 작성한 내용을
    SMTP 프로토콜이 이해할 수 있는 형식으로 변환합니다. 
                

📌 응용 계층은 우리가 사용하는 프로그램(인터페이스)을 통해 사용자의 행동, 의도를
네트워크 프로토콜이 이해할 수 있는 명령어와 데이터로 변환해줍니다.
그리고 네트워크로부터 받은 기계적인 데이터를 사용자가 이해할 수 있는 형태(웹 페이지, 이메일 메시지 등)로 표현해줍니다.

▼ 주요 프로토콜.

◎ HTTP/HTTPS ( 웹 통신 )

 ● 웹 브라우저와 웹 서버 간의 통신을 담당합니다.    
 ● 요청과 응답 구조로 동작하고, GET/Post/Put/DELETE 등 메소드를 이용합니다.
 

◎ FTP(파일전송)

 ● 클라이언트와 서버 간의 '파일전송'을 위한 프로토콜 입니다.    
 ● 제어 연결(21번 포트)과 데이터 연결(20번 포트)을 분리하여 사용합니다.    

◎ SMTP/POP3/IMAP(이메일)

 ● SMTP는 '메일 발송'을 담당합니다.    
 ● POP3은 '메일 수신'을 담당하고, 서버에서 메일을 다운로드하면 서버에서는 삭제됩니다.
 ● IMAP은 더 발전된 형태의 '메일 수신 프로토콜'로 서버와 동기화를 유지합니다.

◎ DNS ( 도메인 이름 시스템 )

 ● '도메인 이름을 IP주소로 변환' 하는 역할을 수행합니다.   
 ● 계층적 구조로 이루어진 분산-데이터베이스-시스템 입니다.
 

◎ DHCP ( 동적 호스트 설정 )

 ● 네트워크 장치에 '자동으로 IP 주소를 할당' 합니다.  
 ● DORA( Discover, Offer, Request, Acknowledge) 프로세스를 통해 동작합니다.
 
 

0개의 댓글