이것저것

OSI 7계층 - 2 (Network, Transport, Application) 본문

Network

OSI 7계층 - 2 (Network, Transport, Application)

nays111 2021. 1. 15. 18:04

3. Network Layer

우리가 주소창에 www.naver.com을 입력하면, 이 영어 주소는 IP주소로 변환되어 사용된다. (DNS)

결론적으로, 상대방의 IP주소를 알고 있어야 메시지(데이터)를 보낼 수 있다.

(우리는 모두 www.naver.com의 IP주소를 알고 있는 것이다.)

23.37.87.61 data 를 패킷이라 부른다.

  1. A가 라우터 (가)에게 패킷을 전달
  2. 패킷을 받은 (가)는 패킷을 열어서 목적지 IP 주소를 확인한다. (가 : 나랑 연결된 컴퓨터 중에서는 23.37.87.61인 컴퓨터가 없네?)
  3. (가)는 데이터를 다시 포장하여 자신과 연결되어 있는 유일한 라우터인 (마)에게 전달
  4. 패킷을 받은 (마)는 (가)가 그랬던 것과 마찬가지로 패킷을 열어서 목적지 주소를 읽는다.
  5. 목적지가 B라는 것을 알게된 라우터 (마)는 이제 패킷이 B에 도착하려면 어느 전선으로 패킷을 보내야하는지 알아내야한다. (바)로 가야하나? (나) 로 가야하나?
  6. (마)는 라우팅을 통해 (바)에게 패킷을 보내야한다는 것을 알 수 있다.
  7. (마)는 데이터를 다시 포장하여 (바)에게 넘겨준다.
  8. (바)는 (마)가 했던 것과 똑같은 방법으로(라우팅)을 통해 (라)에게 패킷을 보낸다.
  9. (라)는 자신과 연결된 컴퓨터들 중에 IP주소가 23.37.87.61 이라는 것을 알고 있으므로 B컴퓨터에게 패킷을 전달
  • 수많은 네트워크들의 연결로 이루어진 inter-network속에서

  • 어딘가에 있는 목적지 컴퓨터로 데이터를 전송하기 위해,

  • IP 주소를 이용해서 길을 찾고(routing)

  • 자신 다음의 라우터에게 데이터를 넘겨주는 것(forwarding)

  • 운영체제의 커널에 SW적으로 구현되어 있다.

 

4. Transport Layer

  • 데이터를 받는 수신자는 전 세계의 컴퓨터로부터 데이터를 받을 것이다.
  • 그런데, 컴퓨터에는 여러 개의 프로그램(프로세스)들이 실행되고 있었습니다.
  • 컴퓨터는 받은 데이터를 프로세스에게 나누어주려고 한다.
  • Q : 어떤 데이터를 무슨 프로세스에게 줘야할지 어떻게 알 수 있을까?
  • A : 먼저, 데이터를 받고자 하는 프로세스들은 포트 번호 라는 것을 가져야 한다.

포트 번호는 하나의 컴퓨터에서 동시에 실행되고 있는 프로세스들이 서로 겹치지 않게 가져야하는 정수값 

 

송신자는 데이터를 보낼 때, 데이터를 받을 수신자 컴퓨터에 있는 프로세스의 포트 번호를 붙혀서 보내야한다.

Q : 그러면 데이터 전송자는 포트번호를 이미 알고 있는건가??

A : 맞다

www.naver.com을 입력하는 것은 사실 www.naver.com:80 인데 포트번호가 생략되어 있는 것이다,

  • 포트번호를 사용하여 도착지 컴퓨터의 최종 도착지인 프로세스에 까지 데이터가 도달하게 하는 모듈
  • 운영체제의 커널에 SW적으로 구현되어 있다.

 

 

5. Application Layer

사실 현대의 인터넷은 OSI 모델이 아니라 TCP/IP 모델(5계층) 을 따르고 있다.

TCP/IP 모델도 OSI 모델과 마찬가지로 네트웤 시스템에 대한 모델이다,

현대의 인터넷이 TCP/IP 모델을 따르는 이유는 OSI 모델이 TCP/IP 모델과의 시장 점유에서 졌기 때문

TCP/IP 소켓 프로그래밍

  • OS의 Transport Layer에서 제공하는 API를 활용해서 통신 가능한 프로그램을 만드는 것을 TCP/IP 소켓 프로그래밍, 또는 네트워크 프로그래밍이라고 한다.
  • 소켓 프로그래밍 만으로도 클라, 서버 프로그램을 따로 따로 만들어서 동작시킬 수 있다.
  • 누구나 자신만의 Application Layer 인코더와 디코더를 만들 수 있다.

⇒누구나 자신만의 Application Layer 프로토콜을 만들 수 있다!

'Network' 카테고리의 다른 글

도메인 검색시 일어나는 흐름  (0) 2021.04.30
DNS 서버  (0) 2021.04.30
TCP : 3-way handshake, 3-way handshake 이후 데이터 송수신 과정  (0) 2021.04.29
OSI 7계층 -1 (Physical, Data-Link Layer)  (0) 2021.01.15
TCP vs UDP  (0) 2021.01.10
Comments