OSI 7계층 완벽 정리

Seungmin Yi·2022년 5월 29일
1

developer-roadmap

목록 보기
3/5
post-thumbnail

OSI 7 계층이란?

간단히 말해서, 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것입니다.
지금부터 각각의 단계에서 어떤 일이 일어나는지 알아보러 가봅시다!


그 전에, 왜 계층을 나눈 것일까? 🤔

그 이유는 통신이 일어나는 과정을 단계별로 알 수 있기 때문입니다.
또한 단계별로 나눠놓으니 흐름을 한눈에 알아보기 쉽고, 사람들이 이해하기 쉽게 되죠!
만약 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들이지 않고도 이상이 생긴 단계만 고칠 수 있고요!


1계층(물리계층)

  • 대표적인 통신 장비: 통신 케이블, 리피터, 허브
  • 0과 1의 나열을 아날로그 신호로 바꾸어 전선으로 흘려 보내고(encoding)
  • 아날로그 신호가 들어오면 0과 1의 나열로 해석하여(decoding)
  • 물리적으로 연결된 두 대의 컴퓨터가 0과 1의 나열을 주고받을 수 있게 해주는 모듈
  • 하드웨어적으로 구현되어 있음.
  • 여러 대의 컴퓨터가 통신하기는 기술이 부족

2계층(데이터링크 계층)

  • 같은 네트워크에 있는 여러 대의 컴퓨터들이 데이터를 주고받기 위해서 필요한 모듈
  • 하드웨어적으로 구현되어 있음.

3계층(네트워크 계층)

더 많은 컴퓨터들 사이의 통신을 위해 각 컴퓨터들이 갖는 고유한 주소 (IP 주소)를 갖고 통신을 한다.

그렇다면 상대방의 컴퓨터의 IP 주소를 어떻게 알아낼 수 있을까? 🤔
- 우리가 주소창에 www.naver.com 을 입력하면 이 도메인은 IP 주소로 변환되어 사용된다. (DNS)
- 도달하고자 하는 IP 주소가 어느 라우터 안에 있는지 알 수 있는 방법 - 라우팅의 개념

  • 수많은 네트워크들의 연결로 이루어지는 inter-network 속에서
  • 어딘가에 있는 목적지 컴퓨터로 데이터를 전송하기 위해
  • IP 주소를 이용하여 길을 찾고 (routing)
  • 자신 다음의 라우터에게 데이터를 넘겨주는 것 (forwarding)

[사진 필요]


4계층(전송 계층)

이젠 전세계 컴퓨터들과 통신을 할 수 있게 되었습니다!
하지만 어떤 데이터를 무슨 프로세스(실행중인 프로그램)에게 줘야할 지 컴퓨터가 어떻게 알 수 있을까요?

데이터를 받고자 하는 프로세스들은 포트 번호를 가지고 있어요.
그래서 송신자는 데이터를 보낼 때 데이터를 받을 수신자 컴퓨터에 있는 프로세스의 포트 번호를 붙여서 보냅니다.
포트 번호란?
: 하나의 컴퓨터에서 동시에 실행되고 있는 프로세스들이 서로 겹치지 않게 가져가야하는 정수 값

Q. 엇 그러면 송신자는 이미 수신자 컴퓨터에 있는 프로세스의 포트 번호를 알고 있는건가요? 🤔
⇒ 네 맞습니다!

  • port 번호를 사용하여
  • 도착지 컴퓨터의 최종 도착지인 프로세스에게까지
  • 데이터가 도달하게 하는 모듈

OSI 모델 VS TCP/IP 모델

  • 현대의 인터넷은 OSI 모델이 아닌 TCP/IP 모델을 따르고 있습니다.
  • TCP/IP 모델도 OSI 모델과 마찬가지로 네트워크 시스템에 대한 모델이죠.
  • OSI 모델이 TCP/IP 모델과의 시장 점유 싸움에서 졌기 때문에 현대의 인터넷은 TCP/IP 모델을 따르고 있어요.
  • TCP/IP 모델은 업데이트 되면서 조금 바뀌었습니다. (아래 그림처럼)
  • 오늘날 Updated 모델이 더 많이 사용되고 있어요.

5계층(응용 계층)

앞서 말했듯이 오늘날 Updated 모델이 더 많이 사용되고 있어 이 글에서도 Updated 모델에 따라 5-7계층을 application 계층으로 한번에 설명하려고 합니다.

  • 누구든 자신만의 Application Layer 프로토콜을 만들어서 사용할 수 있다.
  • 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행한다.

대표적인 Application Layer의 프로토콜: HTTP

HTTP에 관해 궁금하다! 싶으신 분들은 아래 링크에서 더 자세히 알아보실 수 있습니다!
https://velog.io/@julianneyi/HTTP-HTTPS%EB%9E%80


출처

https://www.youtube.com/watch?v=1pfTxp25MA8
https://shlee0882.tistory.com/110

profile
공부한 내용을 정리하는 공간입니다. 피드백은 언제나 환영입니다 😁

0개의 댓글