IP/TCP 계층 캡슐화 뒤의 하드웨어/소프트웨어

IP/TCP 계층 캡슐화 뒤의 하드웨어/소프트웨어

내가 읽은 모든 튜토리얼은 레이어가 서로 "통신"하는 방법에 대해 설명하지만 하드웨어/소프트웨어가 각 제어 데이터 레이어를 수신, 추가 및 전송하는 것에 대해서는 언급하지 않습니다.

IP/TCP의 각 계층과 관련된 데이터를 수신/캡슐화/전송하는 하드웨어 및 소프트웨어는 무엇입니까?

예를 들어, 내 라우터는 어떤 계층에서 작동합니까? 텍스트 파일을 SMTP로 변환하는 소프트웨어는 무엇입니까? 내 컴퓨터의 흐름 제어/수송을 위한 소프트웨어는 무엇/어디에 있습니까?

답변1

Layer 1 - Physical - Signaling 

Layer 2 - Data Link - Switching (Ethernet frames) 

Layer 3 - Network - Routing (IP packets)

Layer 4 - Transport - Multiplexing (TCP segments)

Layer 5 - Session

Layer 6 - Presentation

Layer 7 - Application

특정 소프트웨어/하드웨어 구현이 언급되지 않는 이유는 그것이 표준 개발의 전체 요점이기 때문입니다. 각 계층은 데이터가 표준에 따라 표시되는 한 위와 아래 계층이 해당 기능을 어떻게 처리하는지 신경 쓰지 않습니다. 이는 소프트웨어, 하드웨어, 펌웨어, 기계적 비전자 장치를 통해 또는 인간이 수동으로 수행할 수도 있습니다(심각하지 않은 예를 들어 Google의 "TCP over Carrier Pigeon").

관련된 특정 소프트웨어와 하드웨어는 현실 세계에서도 매우 다양합니다. 소프트웨어에서 모든 기능을 수행하는 것은 전적으로 가능합니다(저렴하지만 느림). 하드웨어에서 이 모든 작업을 수행하는 것도 전적으로 가능합니다(빠르지만 비용이 많이 듭니다). Cisco 라우터 등과 같은 전용 네트워크 장치는 라우터로 구성된 Linux를 실행하는 PC보다 하드웨어에서 더 많은 기능을 수행합니다.

일반적으로 레이어 1과 대부분 레이어 2는 하드웨어에서 수행되도록 보장됩니다. 레이어 3은 대부분 Cisco와 같은 엔터프라이즈 수준 라우터의 하드웨어에서 수행됩니다. 많은 NIC에는 NIC의 하드웨어를 통해 레이어 3 및 4의 대부분을 가속화할 수 있는 "TCP 오프로드 엔진"이라는 기능이 함께 제공됩니다. Wal-mart의 소비자 수준 라우터는 일반적으로 소프트웨어에서 라우팅 기능을 완전히 수행합니다. 레이어 5, 6, 7은 일반적으로 하드웨어에서 수행되지 않으며, 하드웨어에서 수행되는 경우 이를 수행하는 장치를 "가속기"라고 합니다.

답변2

IP/TCP의 각 계층과 관련된 데이터를 수신/캡슐화/전송하는 하드웨어 및 소프트웨어는 무엇입니까?

이더넷 하드웨어는 일반적으로 가장 낮은 계층인 물리적 계층과 링크 계층에서만 사용됩니다. MAC 주소를 기반으로 하드웨어는 일치하는 유니캐스트 프레임만 허용합니다. 이더넷 장치 드라이버는 일반적으로 이 장치에 소프트웨어 인터페이스를 제공하는 역할을 합니다. 장치는 일반적으로 연결된(원형) 링에 배열된 버퍼에서 완전한 이더넷 프레임을 읽고 쓸 수 있으며, 드라이버는 버퍼 링 상태의 변경(예: 읽기 또는 쓰기 프레임 작업 완료)에 대해 인터럽트를 서비스하거나 상태를 폴링합니다.

소프트웨어는 집합적으로 다음과 같이 알려져 있습니다.프로토콜 스택. 커널에 내장된 프로시저와 함수의 모음입니다. 이는 소프트웨어의 계층 구조와 마찬가지로 호출됩니다. 사용자 프로그램이 소켓 R/W 시스템 호출을 수행하면 최상위 계층 응용 프로그램 루틴이 호출됩니다. 이 서브루틴/프로시저 계층 구조는 모듈성, 느슨한 결합 및 높은 응집성을 강화하는 잘 구성된 다른 소프트웨어와 같습니다.

프로토콜의 각 계층은 데이터 패킷이 프레임 버퍼에 저장되어 하드웨어에 의해 출력될 준비가 될 때까지 하나 이상의 (중첩된) 프로시저 호출에 의해 수행됩니다. 쓰기가 성공적으로 완료되면 상태가 사용자 호출에 반환됩니다.

예를 들어, 내 라우터는 어떤 계층에서 작동합니까?

인터넷은 다음과 같이 설명됩니다.TCP/IP 모델:

  • 애플리케이션 레이어
  • 전송 계층
  • 인터넷 레이어
  • 링크 레이어
  • 물리층

라우터는 인터넷 계층인 IP 주소를 기반으로 패킷을 전달합니다. 그러나 라우터에는 웹 기반 구성 유틸리티와 같은 다른 서비스를 수행하기 위한 자체 프로토콜 스택이 있습니다. 네트워크의 모든 호스트에는 아마도 완전한 프로토콜 스택이 있을 것입니다. 레이어는 네트워크 호스트/장치 간에 분산되지 않습니다.

텍스트 파일을 SMTP로 변환하는 소프트웨어는 무엇입니까?

메일 프로그램은 애플리케이션 계층과 인터페이스합니다.

내 컴퓨터의 흐름 제어/수송을 위한 소프트웨어는 무엇/어디에 있습니까?

아마도 TCP가 작동하는 전송 계층일 것입니다.

관련 정보