2016-08-22 13 views
0

실제 네트워크를 시뮬레이트하는 것을 목표로하는 응용 프로그램을 개발 중입니다. 이를 위해서는 시스템에서 패킷이 어떻게 형성되는지에 대한 자세한 정보가 필요합니다.시뮬레이션 패킷 캡슐화

응용 프로그램 계층 메시지가 있고이를 전송 계층 페이로드에 캡슐화하고 원하는 프로세스의 특정 포트 번호를 헤더에 추가 한 다음이를 네트워크 계층 페이로드에 캡슐화하고 IP 주소를 추가한다고 가정 해보십시오.

내 질문

  • 이 경우 상위 계층 프로토콜 '패킷의 캡슐화 층이 일어날 낮은 않는다는 것입니다?
  • 네트워크 카드 드라이버가 OS 또는 그 일부를 담당합니까? 그렇다면 어떤 부분입니까?

나는 컴퓨터 네트워크를 읽었다는 점에 유의하고 싶다 : 주제에 관한 하향식 접근법과 Foruzan의 책 그러나 모든 정보는 매우 이론적이었다.

미리 감사드립니다.

답변

1

실제 구현에 대해 묻는 경우 일반적으로 레이어의 모든 메시지는 하위 레이어 메시지의 전체 페이로드로 전달됩니다. SSL/TLS가없는 Windows 또는 Linux와 같은 OS의 TCP/IP 스택에 대해 말하면 사용하는 소켓 유형에 따라 다릅니다. TCP, STREAM 소켓을 사용할 경우 시스템 호출 보내기 또는 쓰기와 함께 보내는 응용 프로그램 계층 메시지가 TCP 메시지의 페이로드가됩니다. TCP 세그먼트 및 IP 데이터 그램의 처리는 OS 커널에서 발생합니다. 레이어 2 프레임의 처리는 NIC의 장치 드라이버 (커널에서)와 NIC 하드웨어의 일부분에서 발생합니다. 이것은 특정 NIC에 따라 다릅니다.

다른 NIC의 일부는 TCP 세그먼트와 UDP 데이터 그램의 체크섬을 계산할 수 있다는 것입니다. 그런 다음 커널은이 작업을 NIC로 오프로드합니다. 체크섬 만.