애플리케이션 계층 프로토콜은 어디에 있습니까? C, C++, Java 등의 라이브러리 루틴의 일부입니까?
~처럼미역취 속의 일종그의 대답에서 그는 이것이 애플리케이션 계층 프로토콜의 구현에 관한 것이라고 말했습니다.
답변1
애플리케이션 계층 프로토콜은 어디에 있습니까?
프로토콜은 추상화이므로 실제로 사양 및 기타 문서 외부의 어느 곳에도 "상주"하지 않습니다.
그렇다면 그 사람들은 어디에 있나요?구현,몇 가지 일반적인 패턴이 있습니다.
먼저 네이티브 C에서 라이브러리로 구현될 수 있으며, 이는 다른 언어에서 사용하기 위해 래핑될 수 있습니다(대부분의 다른 언어는 자체적으로 C로 구현되고 C 인터페이스를 갖기 때문입니다). 예를 들어 암호화 프로토콜은 일반적으로 다음과 같습니다.
해당 언어(및/또는 이를 구현하는 언어)만 사용하여 특정 언어에서 사용하기 위한 라이브러리 또는 모듈로 처음부터 구현할 수 있습니다. 예를 들어 높은 수준의 네트워크 프로토콜이 있습니다.
특정 애플리케이션에 대해 처음부터 구현할 수 있습니다.
이는 순전히 사용자 공간 구현이지만 낮은 수준 네트워킹과 같은 일부 프로토콜은 커널에서 구현될 수 있습니다. 여기에는 해당 기본 C 사용자 영역 라이브러리(네트워크 및 파일 시스템과 마찬가지로)가 포함될 수 있거나 커널(독립형 커널 모듈 포함)이 /dev
procfs 등을 통해 언어 독립적인 인터페이스를 제공 할 수 있습니다.