본문 바로가기

ComputerScience/Network

[Network] Network, Protocol, Protocol Stack, OSI 7 계층

이미지 출처: https://infraon.io/blog/wp-content/uploads/2023/01/What-is-a-Network-Protocol-and-How-Does-it-Work-min.png

Network

  • 네트워크는 컴퓨터나 기타 기기들이 연결되어 데이터를 주고받기 위한 통신 체계이다.
  • 네트워크의 기능 중 몇 가지는 통신 방법, 신뢰할 수 있는 데이터 전송, 최적의 통신 경로 결정 등이 있다.
  • 또한, 네트워크는 목적지로 데이터를 전송할 때, 각 노드 사이의 데이터를 전송하는 역할도 수행한다.
  • 이 때, 네트워크의 통신체계 중 'OSI 7 Layer'
    는 컴퓨터 간 통신을 위한 표준 모델로써, 데이터를 전송하기 위한 7단계의 과정으로 이루어져있다.

Protocol

  • 네트워크 통신에서 제대로 동작하기 위해 통신참여자들이 따라야 하는 약속된 통신 방법(네트워크 프로토콜)이 필요하다.
  • 프로토콜이란, 컴퓨터나 다른 네트워크 장치들이 서로 정보를 교환할 때 사용하는 규칙이나 절차
  • 이러한 프로토콜은 데이터 형식, 전송 속도, 오류 검출과 복구 방법 등을 정의하며, 데이터의 효과적인 전송을 보장함
  • 하지만, 네트워크가 제공하는 다양한 기능들을 하나의 프로토콜로 구현하는 것은 불가능하다.

Protocol Stack

  • 프로토콜 스택(Protocol Stack)이라는 것은 네트워크에서 데이터 전송을 위해 사용되는 프로토콜 계층
  • 인터넷 프로토콜 스택은 5개의 계층으로 구성되어 있으며, 각 계층은 특정한 기능을 담당

인터넷 프로토콜 스택(Internet Protocol Stack)

  1. 응용 계층(Application Layer): 사용자와 가장 가까운 계층으로, 사용자가 네트워크에 접근할 수 있게 해주며, 사용자 인터페이스와 네트워크 사이의 통신을 관리
    HTTP, FTP, SMTP 등의 프로토콜이 이 계층에서 작동
  2. 전송 계층(Transport Layer): TCP(Transmission Control Protocol)나 UDP(User Datagram Protocol)와 같은 프로토콜이 이 계층에서 작동하며, 데이터의 전송 방식을 결정
    이 계층에서는 데이터를 패킷으로 나누고, 패킷의 순서 제어, 오류 검출 등의 작업을 수행
  3. 네트워크 계층(Network Layer): 이 계층에서는 데이터를 어떻게 경로를 통해 전송할 것인지를 결정
    IP(Internet Protocol)와 같은 프로토콜이 이 계층에서 작동하며, 라우팅, 네트워크 간의 연결 등의 역할을 담당
  4. 데이터 링크 계층(Data Link Layer): 이 계층에서는 물리 계층을 통해 전송되는 데이터의 오류 검출과 흐름 제어 등을 담당
    이 계층에서 사용되는 프로토콜로는 Ethernet이 대표적
  5. 물리 계층(Physical Layer): 이 계층에서는 네트워크의 물리적인 특성을 다룸
    케이블, 커넥터, 전송 신호의 형태 등을 규정하며, 데이터를 비트 단위로 전송하는 역할

OSI(Open Systems Interconnection) 7계층

이미지 출처: https://github.com/gyoogle/tech-interview-for-developer/blob/master/Computer%20Science/Network/OSI%207%20%EA%B3%84%EC%B8%B5.md#osi-7-%EA%B3%84%EC%B8%B5

7) 응용(Application)

  • HTTP, FTP, DNS 등
  • 최종 목적지로, 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행한다.
  • 사용자 인터페이스, 전자우편, 데이터베이스 관리 등의 서비스를 제공한다.

6) 표현(Presentation)

  • JPEG, MPEG 등
  • 데이터 표현에 대한 독립성을 제공하고 암호화하는 역할을 담당한다.
  • 파일 인코딩, 명령어를 포장, 압축, 암호화한다.

5) 세션(Session)

  • API, Socket
  • 데이터가 통신하기 위한 논리적 연결을 담당한다. TCP/IP 세션을 만들고 없애는 책임을 지니고 있다.

4) 전송(Transport)

  • TCP, UDP
  • TCP와 UDP 프로토콜을 통해 통신을 활성화한다. 포트를 열어두고, 프로그램들이 전송을 할 수 있도록 제공해 준다.
  • TCP : 신뢰성, 연결지향적
  • UDP : 비신뢰성, 비연결성, 실시간

3) 네트워크(Network)

  • 라우터, IP
  • 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능을 담당한다.
  • 라우터를 통해 이동할 경로를 선택하여 IP 주소를 지정하고, 해당 경로에 따라 패킷을 전달해 준다.
  • 라우팅, 흐름 제어, 오류 제어, 세그먼테이션 등을 수행한다.

2) 데이터 링크(Data Link)

  • 브릿지, 스위치 등
  • 물리 계층으로 송수신되는 정보를 관리하여 안전하게 전달되도록 도와주는 역할
  • Mac 주소를 통해 통신한다. 프레임에 Mac 주소를 부여하고 에러검출, 재전송, 흐름제어를 진행한다.

1) 물리(Physical)

  • 리피터, 케이블, 허브 등
  • 단지 데이터 전기적인 신호로 변환해서 주고받는 기능을 진행하는 공간
  • 즉, 데이터를 전송하는 역할만 진행한다.

TCP/IP Encapsulation 과정

이미지 출처: https://github.com/ByteByteGoHq/system-design-101#tcpip-encapsulation

위 다이어그램은 네트워크를 통해 데이터를 송수신할 때 데이터가 어떻게 캡슐화 및 역캡슐화되는지를 보여준다.

 

  1. Device A가 HTTP 프로토콜을 통해 네트워크를 통해 Device B로 데이터를 전송할 때, 먼저 응용(7 Application) 계층에서 HTTP 헤더가 추가된다.
  2. 다음 데이터에 TCP 또는 UDP 헤더가 추가된다. 이는 전송(4 Transport) 계층에서 TCP 세그먼트로 캡슐화된다. 헤더에는 출발지 포트, 목적지 포트 및 일련번호가 포함된다.
  3. 세그먼트는 네트워크(3 Network) 계층에서 IP 헤더로 캡슐화된다. IP 헤더에는 출발지/목적지 IP 주소가 포함된다.
  4. IP 데이터그램에는 데이터 링크(2 Data Link) 계층에서 MAC 헤더가 추가된다. 이 헤더에는 출발지/목적지 MAC 주소가 포함된다.
  5. 캡슐화된 프레임은 물리 계층(1 Physical)으로 전송되어 이진 비트로 네트워크를 통해 전송된다.

6-10단계: Device B가 네트워크에서 bit를 받으면 역캡슐화 프로세스를 수행하며, 이는 캡슐화 프로세스의 역방향 처리이다. 헤더는 계층별로 제거되고, 최종적으로 Device B가 데이터를 읽을 수 있다.

 

 

네트워크 모델에서 계층이 필요한 이유는 각 계층이 자체 책임에 중점을 둘 수 있기 때문이다.

각 계층은 처리 지침을 위한 헤더를 신뢰할 수 있으며, 지난 계층의 데이터 의미를 알 필요가 없다.

 

참고 자료

https://github.com/ByteByteGoHq/system-design-101#tcpip-encapsulation

 

GitHub - ByteByteGoHq/system-design-101: Explain complex systems using visuals and simple terms. Help you prepare for system des

Explain complex systems using visuals and simple terms. Help you prepare for system design interviews. - GitHub - ByteByteGoHq/system-design-101: Explain complex systems using visuals and simple te...

github.com

https://github.com/gyoogle/tech-interview-for-developer/blob/master/Computer%20Science/Network/OSI%207%20%EA%B3%84%EC%B8%B5.md#osi-7-%EA%B3%84%EC%B8%B5