CS/네트워크

OSI 7 계층

Ynghan 2024. 3. 28. 22:46

1 계층 : Physical Layer

두 컴퓨터가 서로 통신하려면 어떻게 해야할까요? 컴퓨터 간의 언어를 사용해야 합니다.

컴퓨터는 0과 1로 이루어져 있습니다.

전기 신호를 발생시켜 전압의 차이를 이용하여 0과 1을 구분해서 신호를 보내는 방식을 사용합니다.

그런데 이 신호는 아날로그 신호 일거 아니에요?

그러면 컴퓨터에서 생성한 데이터는 디지털 신호일거 아니에요?

디지털 신호는 전선을 통해서 전송될 수 없습니다. 따라서 아날로그 신호로 변환해야만 전선을 통해서 신호를 전송할 수 있습니다.

이러한 디지털 신호아날로그 신호로 변경해서 전송하는 것을 인코딩이라고 합니다.

다른 컴퓨터에서 보낸 아날로그 신호를 컴퓨터가 이해할 수 있도록 디지털 신호로 변경하는 것은 디코딩 입니다. 

결국 Physical Layer는 인코딩과 디코딩을 통하여 물리적으로 연결된 두 대의 컴퓨터가 0과 1의 나열을 주고받을 수 있게 해주는 모듈입니다. Physical Layer는 PHY 칩으로 하드웨어적으로 구현되어 있습니다.

PHY 칩

 

라우터

스위치와 라우터

2 계층 : Data Link Layer

여러 컴퓨터에서 이진 신호를 거의 동시에 전송하게 되면 해당 신호들이 연속해서 들어왔을 경우에 이를 해석하는 방법이 필요하다.
예를 들어 A에서 1011, B에서 1000, C에서 0101 이러한 신호가 들어왔을 경우 내 컴퓨터에는 101110000101 이러한 연속된 신호들이 들어올 것이다. 이를 어떻게 구분할 수 있을까? 간단한 원리를 설명하자면 하나의 컴퓨터 신호의 앞에는 1111을 붙이고 뒤에는 0000을 붙이는 방식(Flaming 방식)으로 신호를 구분할 수 있다. 이러한 과정을 Data Link Layer에서 하는 것이다.

결국 Data Link Layer란?

같은 네트워크에 있는 여러 대의 컴퓨터들이 데이터를 주고 받기 위해서 필요한 모듈이다. 

Data Link Layer는 랜카드로 하드웨어적으로 구현되어 있다.

LAN 카드

 

3 계층 : Network Layer

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

Network Layer는 운영체제의 커널에 소프트웨어적으로 구현되어 있다.

 

4 계층 : Transport Layer

Transport Layer는 IP 주소를 통해서 찾은 목적지 컴퓨터의 실행 중인 프로그램(프로세스)에 데이터를 전송하기 위해서 PORT 번호를 패킷에 담는 작업을 한다. 최종 도착지인 프로세스에 까지 데이터가 도달할 수 있도록 한다.

Transport Layer도 운영체제의 커널에 소프트웨어적으로 구현되어 있다.

 

OSI vs TCP/IP

TCP/IP 모델이 OSI 모델과의 시장 점유 싸움에서 이김. 따라서 5, 6 계층은 스킵한다.

OSI vs TCP/IP
origin vs updated

 

7 계층 : Application Layer

우리가 알고있는 HTTP 프로토콜을 Restful API를 사용하여 요청/응답하는 일련의 과정을 처리하는 계층이라고 이해하고 있다.

 

 

+ 해당 내용을 왜 알아야 하나요?

  • 데이터 전송 과정을 단계적으로 이해함으로써, 네트워크 기반 서비스를 설계⭐할 수 있다.
  • 각 계층의 역할과 발생할 수 있는 문제를 이해함으로써, 개발하다 오류 발생 시 네트워크 문제를 빠르게 추적하고 해결⭐ 할 수 있다.

 

출처

1. https://www.youtube.com/watch?v=1pfTxp25MA8&t=49s

2. https://ko.rfidctek.com/news/difference-between-analog-and-digital-signals-21014371.html

3. https://www.digikey.kr/ko/product-highlight/t/texas-instruments/dp83867ir-gigabit-ethernet-phy-transceiver

4. https://namu.wiki/w/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC%20%EC%B9%B4%EB%93%9C

'CS > 네트워크' 카테고리의 다른 글

네트워크 프록시 (Network Proxy)  (0) 2024.03.29
블루투스(Bluetooth)의 동작 원리  (0) 2023.05.17