본문 바로가기
Dev/Network

『Network』 User Mode와 Kernel Mode

by 세대교체 2024. 11. 23.

 

운영 체제는 하드웨어와 소프트웨어 사이에서 중재자 역할을 하며 이를 위해 User Mode (사용자 모드)와 Kernel Mode (커널 모드)라는 두 가지 실행 모드를 제공한다. 이 두 모드는 네트워크 통신의 OSI 7 계층 모델과 밀접하게 연관되어 있다.

 

User Mode와 OSI 상위 계층 (5~7 계층)

  • 세션 계층(5 계층), 표현 계층(6 계층), 응용 계층(7 계층)은 주로 사용자 모드에서 동작하는 애플리케이션에 의해 구현된다.
  • 이러한 애플리케이션은 직접 하드웨어에 접근하지 않고, 시스템 콜이나 API를 통해 커널 모드에 요청을 전달한다.

 

Kernel Mode와 OSI 하위 계층 (1~4 계층)

  • 물리 계층(1 계층), 데이터 링크 계층(2 계층)은 NIC(Network Interface Card)와 이를 제어하는 드라이버에 의해 구현된다.
  • 드라이버는 커널 모드에서 실행되며 하드웨어와 소프트웨어 간의 인터페이스를 제공한다.

  • 네트워크 계층(3 계층), 전송 계층(4 계층)은 IP와 TCP/UDP 프로토콜 스택으로 커널 모드에서 동작한다.
  • 이 계층들은 패킷의 라우팅, 데이터 전송 및 흐름 제어 등을 담당한다.

 

사용자 모드와 커널 모드의 상호 작용

  • 사용자 모드 애플리케이션소켓 인터페이스를 통해 네트워크 통신을 요청한다.
  • 소켓커널 모드의 TCP/IP 스택과 상호 작용하여 실제 데이터 전송을 수행한다.
  • 이 과정에서 시스템 콜을 통해 사용자 모드에서 커널 모드로의 전환이 이루어진다.

 

 

전체적인 데이터 흐름

사용자 모드

  • 애플리케이션네트워크 요청 생성 (예: 웹 페이지 요청).
  • 소켓을 통해 시스템 콜로 커널 모드에 요청 전달.

커널 모드

  • TCP/IP 프로토콜 스택이 데이터 패킷 생성 및 처리.
  • 드라이버가 NIC를 제어하여 물리적 데이터 전송 수행.

하드웨어 계층

  • NIC가 실제 네트워크 매체를 통해 데이터 송수신.

 

 

이러한 방식으로 User Mode와 Kernel ModeOSI 7 계층의 각 역할을 분담하여 네트워크 통신을 구현한다.


출처

inflearn.com/course/네트워크-핵심이론-기초/dashboard

 

외워서 끝내는 네트워크 핵심이론 - 기초 강의 | 널널한 개발자 - 인프런

널널한 개발자 | TCP/IP에서 HTTP까지! 네트워크에 대한 기본 이론이 부족한 분들이 '외워서'라도 전공 이론을 이해하고자 희망하는 분들을 위해 준비한 강의입니다. 할 수 있습니다!, 네트워크, 외

www.inflearn.com