Bibbidi Bobbidi Boo
article thumbnail
Published 2023. 6. 1. 04:05
[TIL/개념] OSI 7 계층 CS/Network

* TIL/개념: 최대한 공식 문서 & 책을 기반으로 배운 내용을 정리

* 현재 취준생으로 풋내기 개발자가 쓰는 글입니다.

* 그러니 조언과 지적 및 훈수는 언제나 환영입니다! 댓글로 많이 달아주세요!

 

부캠 과정에서 정리한 글 재업로드.

참고) 해당 글에서 각 Layer의 이해를 위해

우아한테크 채널의 [10분 테코톡] 히히의 OSI 7 Layer 영상을 많이 참고해서 작성했습니다.(매우 추천!)

각 Layer의 정의는 위키피디아에서 가져왔습니다.



두 대의 컴퓨터는 어떻게 통신하는가?


OSI 7 계층이란?

7 응용 계층(Application Layer)
6 표현 계층(Presentation Layer)
5 세션 계층(Session Layer)
4 트랜스포트(전송) 계층(Transport Layer)
3 네트워크 계층(Network Layer, 망 계층)
2 데이터 링크 계층(Data Link Layer)
1 물리 계층(Physical Layer)
두 대의 컴퓨터는 어떻게 통신하는가?
쉽게 외우기: "응표가 세트장에서 일하다가 내가 잘못해서 내 대신 먹었다"
  • 정의: 네트워크 프로토콜이 통신하는 구조를 7개의 계층으로 분리, 각 계층 간 상호작용하는 방식을 정해놓은 것
  • 배경: 1980년대 다양한 통신망이 생기게 되면서, 네트워크 유형이 어떻든 다 상호 통신해야 겠다는 필요성 부각
    • 국제표준화기구(ISO, International Standards Organization)에서 OSI 7 계층이라는 새로운 네트워크 모델 발표
  • 각 계층은 독립적
    • 특정한 곳에서 문제가 발생하면 해당 계층만 고치면 됨
    • 이로 인해 용이성과 유지관리가 수월

기능

Physical Layer(물리 계층)

물리 계층; 전선으로 연결된 두 컴퓨터

두 컴퓨터가 전선(물리적)으로 연결되어 있을 때, 어떻게 통신하는가?
the physical layer or layer 1 is the first and lowest layer: the layer most closely associated with the physical connection between devices.
  • 물리 계층은 데이터를 0과 1의 나열, 즉 전기적인 신호로 변환해서 주고 받도록 하는 계층
  • Encoding: 0과 1의 나열을 아날로그 신호로 바꾸어 전선으로 흘려 보내기
  • Decoding: 아날로그 신호가 들어오면 0과 1의 나열로 해석
  • 관련 장비 : 리피터, 허브, 모뎀, 네트워크 어댑터

DataLink Layer(데이터 링크 계층)

데이터 링크 계층; 같은 네트워크에 있는 여러 대 컴퓨터들이 스위치로 데이터를 주고 받음

동일한 네트워크 내에서, 여러 대의 컴퓨터는 어떻게 통신하는가?
The data link layer is the protocol layer that transfers data between nodes on a network segment across the physical layer.
  • 데이터 링크 계층은 같은 네트워크에 있는 여러 대 컴퓨터들이 데이터를 주고 받을 수 있도록 하는 계층
  • 데이터 링크 계층에서 전송 단위는 프레임이며, 여기에 MAC 주소를 부여한다.
    • 여기서 프레임(Frame) = 보내고자 하는 데이터(payload) + 송신자(header)
    • MAC 주소(Media Access Control Address): 어떻게 프레임을 전송할 건지 정의
  • 물리 계층으로 받은 신호들이 네트워크 상의 장치에 올바르게 안착할 수 있게 한다.(주소 할당)
  • 신호를 전달하는 동안 오류가 감지되면 데이터를 폐기한다. (오류 감지)
  • 관련 장비: NDIS, Bridge, L2 switch

Network Layer(네트워크 계층)

네트워크 계층; A 컴퓨터에서 B라는 컴퓨터로 데이터를 전송하는 과정

수많은 연결된 컴퓨터 중에서, 목적지를 어떻게 찾을까?
The network layer is responsible for packet forwarding including routing through intermediate routers.
  • 라우터를 통해 이동할 경로를 선택하여 IP 주소를 지정하고, 해당 경로에 따라 패킷을 전달하는 계층
    • IP 주소를 이용해 길을 찾고(Routing), 자신 다음의 라우터에게 데이터를 넘겨준다(Forwarding)
  • 관련 장비: 라우터

Transport Layer(전송 계층) ✨

전송 계층; 컴퓨터에서 Port 번호를 통해 목적지 프로세스에게 데이터를 준다

수신자의 컴퓨터에서 받은 데이터를 컴퓨터 내에 있는 목적지 프로세스에게 어떻게 주는가?
전송 계층(Transport layer)은 계층 구조의 네트워크 구성 요소와 프로토콜 내에서 송신자와 수신자를 연결하는 통신 서비스를 제공한다.
  • Port 번호를 사용하여 호스트에서 최종 도착지인 프로세스까지 데이터가 도달하게 하는 계층
  • 대표적인 통신 방식: TCP와 UDP
  • 종단 간 통신, 신뢰성, 흐름 제어 및 혼잡 제어, 주소 지정 및 다중화 제공
    • 종단 간 통신: 응용 프로그램에 데이터 스트림을 받고 보내는 방법을 제공
    • 신뢰성: 데이터 전송 중에 발생할 수 있는 오류 제어
    • 흐름 제어: 수신측보다 송신측의 데이터 처리 속도가 더 빠른 경우 발생하는 문제 해결
      • 안정적으로 전송할 수 있는 것보다 더 많은 데이터를 전송하지 않도록 한다.
    • 혼잡 제어: 네트워크로 전송되는 패킷의 수가 네트워크에서 처리하는 수를 초과할 때 발생하는 혼잡 문제 해결
    • 주소 지정: 프로세스 간 통신을 위해 응용 프로그램에 포트 번호를 할당
    • 다중화: 출발지 호스트에서 소켓으로부터 데이터를 모아 헤더 정보를 더해 캡슐화하는 작업

Session Layer(세션 계층)

The session layer provides the mechanism for opening, closing and managing a session between end-user application processes, i.e., a semi-permanent dialogue.
  • 세션을 열고 닫고, 관리하는 매커니즘을 제공하는 계층
  • 체크포인트를 설정하여 동기화를 시켜줌
    • 예를 들어 100MB 데이터를 전송할 때, 체크포인트를 5MB로 설정
    •  만약 48MB를 전송하다가 끊겼을 때, 처음부터 다시 하지 않고 45MB부터 전송을 시작

Presentation Layer(표현 계층)

the presentation layer is layer 6 and serves as the data translator for the network.
  • 데이터 변환 → 압축 → 암호화 해주는 계층
  • 수신 애플리케이션 계층에서 읽을 수 있도록 데이터를 변환하는 역할 수행
  • 그 외에도 압축하거나 암호화 및 복호화, 직렬화 등이 해당 계층에서 수행된다.
  • 예시: EBCDIC → ASCII 로 변환

Application Layer(응용 계층)

An application layer is an abstraction layer that specifies the shared communications protocols and interface methods used by hosts in a communications network.
  • 최종 목적지. 데이터를 사용자에게 보여주는 계층
  • 주의: OSI 7 계층 외에도 TCP/IP에도 지정되어 있으나 각각의 정의와 목적은 상이함
    • OSI 7 계층: 통신 담당하는 사용자 인터페이스
    • TCP/IP: 통신 프로토콜 + 사용자 인터페이스

요약

  이름 설명
7 응용 계층(Application Layer) - 최종 목적지로, 데이터를 사용자에게 보여주는 계층(사용자 인터페이스)
- TCP/IP에서는 통신 프로토콜의 역할도 같이 함
6 표현 계층(Presentation Layer) - 데이터 변환, 압축, 암호화, 직렬화 해주는 계층
- 수신 애플리케이션 계층에서 읽을 수 있도록 데이터를 변환하는 역할 수행
5 세션 계층(Session Layer) - 세션을 열거나 닫고, 관리하는 매커니즘을 제공하는 계층
- 체크포인트를 사용하여 동기화
4 전송 계층(Transport Layer) - Port 번호를 사용해서 호스트에서 최종 도착지인 프로세스까지 데이터가 도달하게 하는 계층
- 대표적인 통신 방식: TCP, UDP
- 종단 간 통신, 신뢰성, 흐름 제어 및 혼잡 제어, 주소 지정 및 다중화
3 네트워크 계층(Network Layer) -  IP 주소를 이용해 길을 찾고(Routing),  해당 경로에 따라 패킷을 전달(Forwarding)하는 계층.
- 관련 장비: 라우터
2 데이터링크 계층(Data Link Layer) - 같은 네트워크에 있는 여러 대의 컴퓨터들이 데이터를 주고 받을 수 있도록 하는 계층.
- 전송단위는 프레임
- MAC 주소를 부여
- 주소 할당과 오류 감지 기능 수행
- 관련 장비: L2 switch NDIS, Bridge
1 물리 계층(Physical Layer) - 데이터를 전기적인 신호로 변환해서 주고 받는 계층
- 관련 장비: 리피터, 허브, 모뎀, 네트워크 어뎁터

 


참고 자료

https://www.youtube.com/watch?v=78qXOlD-8NQ 

https://www.techtarget.com/searchnetworking/definition/Transport-layer

 

What is transport layer? – TechTarget Definition

Learn about the transport layer, Layer 4 of the OSI communications model. It ensures data moves back and forth reliably between sender and receiver.

www.techtarget.com


마치며

나중에 시간날 때 각각의 계층에서 인코딩과 디코딩되는 과정을 하나의 그림으로 나타내야겠다...

profile

Bibbidi Bobbidi Boo

@비비디

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!