>  기사  >  운영 및 유지보수  >  리눅스 프로토콜 스택이란 무엇입니까?

리눅스 프로토콜 스택이란 무엇입니까?

WBOY
WBOY원래의
2022-07-13 16:05:532403검색

Linux에서 프로토콜 스택은 네트워크의 모든 계층에 있는 프로토콜의 합계인 컴퓨터 네트워크 프로토콜 제품군의 특정 소프트웨어 구현입니다. 프로토콜 제품군의 프로토콜은 일반적으로 한 가지 목적으로만 설계됩니다. 디자인을 더욱 쉽게 만들려면 프로토콜 스택이 네트워크의 파일 전송 프로세스를 반영합니다.

리눅스 프로토콜 스택이란 무엇입니까?

이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.

Linux의 프로토콜 스택이란 무엇인가요?

프로토콜 스택(영어: 프로토콜 스택)은 프로토콜 스택이라고도 알려져 있으며 컴퓨터 네트워크 프로토콜 제품군의 특정 소프트웨어 구현입니다. 프로토콜 제품군의 프로토콜은 일반적으로 한 가지 목적으로만 설계되므로 설계가 더 쉽습니다. 각 프로토콜 모듈은 일반적으로 그 위 및 아래에 있는 두 개의 다른 프로토콜 모듈과 통신하기 때문에 일반적으로 프로토콜 스택의 레이어로 간주될 수 있습니다. 가장 낮은 수준의 프로토콜은 항상 하드웨어와의 물리적 상호 작용을 설명합니다. 각 고급 레벨에는 더 많은 기능이 추가됩니다. 사용자 응용 프로그램은 최상위 프로토콜만 처리합니다.

설명: 네트워크의 각 계층에 있는 프로토콜의 합은 네트워크의 파일 전송 프로세스를 반영합니다.

Linux 저장소 프로토콜 스택 소개:

리눅스 프로토콜 스택이란 무엇입니까?

데이터 흐름:
애플리케이션에서 쓰기를 실행합니다. 시스템 호출을 통해 요청을 하며, 최종 목표는 디스크에 데이터를 쓰는 것입니다. 파일 시스템은 쓰기 요청의 위치를 ​​찾아 블록 장치가 요구하는 블록으로 변환한 후 해당 요청을 장치로 보내는 역할을 합니다. .

    이 프로세스에서는 메모리가 디스크 캐시 역할을 하며, 상위 부분과 하위 부분을 두 개의 프로세스로 분리하여 비동기식으로 실행됩니다. 상위 부분의 경우 예측할 수 있는 방법이 없기 때문에 데이터를 메모리에 보관하는 것이 가장 좋습니다. 향후 수정 여부. 동일한 위치를 자주 수정해야 하는 경우 디스크와의 지속적인 데이터 동기화가 필요하지 않습니다. 후반부에는 데이터가 페이지 캐시(Page Cache)에서 디스크로 동기화되고, 발행된 요청이 요청으로 패키징됩니다. 요청에는 일련의 BIOS가 포함되며, 각 Bio에는 필요한 데이터 페이지가 포함됩니다. 동기화됩니다.
  1. 애플리케이션 계층

애플리케이션은 시스템 호출을 통해 파일에 액세스합니다. 예를 들어 공개 호출

시스템 호출

사용자 응용 프로그램이 커널이 제공하는 다양한 서비스에 접근하고 사용하는 방법은 시스템 호출을 통해서입니다. 커널은 애플리케이션이 시스템 하드웨어 및 운영 체제 리소스에 액세스할 수 있는 일련의 시스템 호출 인터페이스를 제공합니다.

애플리케이션은 시스템 호출 인터페이스 호출 -> 커널 -> 하드웨어 작동 -> 커널로 반환 -> 애플리케이션

스토리지 시스템과 관련된 주요 항목은 읽기, 쓰기, 열기입니다
"mmap()은 file (파일 핸들에 의해 fd로 지정) offset offset부터 시작하는 길이의 블록을 메모리 영역에 매핑하여 파일의 특정 부분을 프로세스의 주소 공간에 매핑함으로써 프로그램이 파일에 접근할 수 있도록 합니다. ”
“일반적인 예는 /dev/mem을 사용하여 MMU가 액세스할 수 있는 일부 물리적 주소를 애플리케이션 계층 가상 주소에 매핑하여 특정 물리적 주소가 애플리케이션 계층에서 직접 액세스되도록 하는 것입니다. 간단한 드라이버 개발.”


가상 파일 시스템

Linux는 공통 API 세트를 사용하여 여러 장치에서 여러 파일 시스템을 지원할 수 있습니다. 파일 시스템은 저장 장치에 파일과 데이터를 저장하고 구성하는 메커니즘입니다.

Linux는 다양한 파일 시스템을 지원합니다


"가상 파일 시스템은 다양한 특정 파일 시스템에 추상화 계층을 구축하여 서로 다른 파일 시스템 간의 차이점을 보호합니다. 가상 파일 시스템 계층 아키텍처를 통해 우리는 작업을 수행할 때 해당 파일이 위치한 특정 파일 시스템의 세부 사항에 신경 쓸 필요가 없습니다. "
"이러한 저장 장치와 파일 시스템에서 이러한 작업을 가능하게 하는 것은 가상 파일 시스템입니다."

VFS에서 제공하는 공통 API


mount(), umount() …
 open(),close() …
 mkdir() …


파일 시스템

현재 대부분의 Linux 배포판에서 사용되는 기본 파일 시스템은 일반적으로 새로운 세대의 btrfs입니다. 이러한 파일 시스템은 다음과 같은 일련의 mkfs.xxx 명령으로 생성됩니다.
mkfs.ext4 /dev/sda
mkfs.btrfs /dev/sdb

커널이 지원하는 파일 시스템 유형은 커널의 fs 디렉토리 내용을 통해 볼 수 있습니다. 커널 디렉토리 트리.

범용 블록 장치 계층

이 계층의 역할은 서로 다른 하드 드라이브가 서로 다른 IO 인터페이스를 제공하는 것입니다. 커널은 이러한 지저분한 인터페이스가 관리에 도움이 되지 않으며 이러한 인터페이스를 추상화하여 통합된 인터페이스를 형성해야 한다고 믿습니다. 이런 식으로 어떤 종류의 하드 디스크나 드라이버를 가지고 있더라도 외부 세계에 제공하는 IO 인터페이스에는 차이가 없으며 모두 블록 장치로 동일하게 취급됩니다.

따라서 한 수준에서 수정이 이루어지면 ext3, ext4 또는 다른 파일 시스템이든 관계없이 모든 파일 시스템에 직접적인 영향을 미칩니다.

하드 드라이브

일반적인 하드 드라이브 유형에는 PATA, SATA 및 AHCI 등이 포함됩니다. Linux 시스템에서 다양한 하드 드라이브에 제공되는 드라이버 모듈은 일반적으로 커널 디렉터리 트리 drivers/ata에 저장되며 범용 하드 드라이브의 경우 드라이브 드라이버는 모듈로 나타나는 대신 커널에 직접 컴파일될 수 있습니다. /boot/config-xxx.xxx 파일을 보면 이를 확인할 수 있습니다.

추천 학습: Linux 비디오 튜토리얼

위 내용은 리눅스 프로토콜 스택이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.