운영 체제는 하드웨어와 소프트웨어 사이에서 중재자 역할을 하며 이를 위해 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 Mode는 OSI 7 계층의 각 역할을 분담하여 네트워크 통신을 구현한다.
출처
inflearn.com/course/네트워크-핵심이론-기초/dashboard
외워서 끝내는 네트워크 핵심이론 - 기초 강의 | 널널한 개발자 - 인프런
널널한 개발자 | TCP/IP에서 HTTP까지! 네트워크에 대한 기본 이론이 부족한 분들이 '외워서'라도 전공 이론을 이해하고자 희망하는 분들을 위해 준비한 강의입니다. 할 수 있습니다!, 네트워크, 외
www.inflearn.com
'Dev > Network' 카테고리의 다른 글
『Network』 www.google.com을 주소 창에 쳤을 때 일어나는 과정 (0) | 2024.11.27 |
---|---|
『Network』 한 번에 끝내는 DNS (1) | 2024.11.26 |
『Network』 Docker 정리, 근데 좀 많이 긴 (3) | 2024.11.04 |
『Network』 Internet Gateway와 NAT Gateway의 차이점은 무엇인가? (0) | 2024.11.01 |
『Network』 가상 머신과 하이퍼바이저에 대해 알아보자. (0) | 2024.10.28 |