나는 TCP와 UDP가 모두 IP 위에 구축되어 있다는 것을 알고 TCP와 UDP의 차이점을 알고 있지만 정확히 "원시 IP"가 무엇인지 혼동합니다. TCP와 UDP는 모두 IP를 구현하지만 그 자체로는 데이터를 전송할 수 없다고 말하는 것이 공정한가? 아니면 IP는 매우 낮은 수준의 통신 형태이며 TCP와 UDP에 의해 더 추상화됩니까?
나는 TCP와 UDP가 모두 IP 위에 구축되어 있다는 것을 알고 TCP와 UDP의 차이점을 알고 있지만 정확히 "원시 IP"가 무엇인지 혼동합니다. TCP와 UDP는 모두 IP를 구현하지만 그 자체로는 데이터를 전송할 수 없다고 말하는 것이 공정한가? 아니면 IP는 매우 낮은 수준의 통신 형태이며 TCP와 UDP에 의해 더 추상화됩니까?
답변:
IP는 레이어 3 프로토콜입니다. TCP / UDP는 레이어 4 프로토콜입니다. 그들은 각각 다른 목적으로 사용됩니다.
계층 3은 엔드 투 엔드 전달을 담당 합니다. 유일한 기능은 한 호스트에서 다른 호스트로 패킷을 가져 오기 위해 패킷에 필요한 것을 추가하는 것입니다.
계층 4는 서비스 간 배달을 담당 합니다. 유일한 기능은 데이터 스트림을 분리하는 것입니다. 컴퓨터에는 여러 프로그램이 실행 중일 수 있으며 각 프로그램은 유선으로 비트를 송수신합니다. IE : 여러 개의 브라우저 탭, 인터넷 라디오 스트리밍, 다운로드 실행, 법적 토렌트 실행 , 채팅 응용 프로그램 등을 사용할 수 있습니다. 이러한 모든 항목은 유선에서 1과 0을 수신하고 계층 4는 각 데이터 스트림을 그들을 필요로하는 독특한 응용 프로그램. 그림은 다음과 같습니다.
IP가 올바른 서비스 / 응용 프로그램에 패킷을 전달할 수 없습니다. TCP / UDP는 인터넷의 한쪽 끝에서 다른 쪽 끝으로 패킷을 전달할 수 없습니다.
TCP와 IP는 모두 인터넷 통신의 "최종 목표"를 달성 할 수 있도록 함께 작동합니다.
한 호스트에서 다른 호스트로 가져와야하는 데이터는 OSI 모델의 상위 계층에 의해 생성됩니다.
이 데이터는 소스 및 대상 포트가있는 TCP 헤더와 같이 서비스에서 서비스로 데이터를 전달하는 데 필요한 정보를 추가하는 L4로 전달됩니다. 이제 데이터와 L4 헤더를 세그먼트라고합니다.
그런 다음 세그먼트가 L3으로 전달되어 소스에 대상 IP 주소가있는 IP 헤더와 같이 세그먼트를 끝에서 끝까지 전달하는 데 필요한 정보가 추가됩니다. L3 헤더 및 세그먼트는 이제 패킷으로 지칭 될 수있다.
이 프로세스를 캡슐화 및 캡슐화 해제 (또는 때때로 캡슐화 해제)라고합니다. 작동 방식은 다음과 같습니다.
이것이 이해가되지 않는다면, OSI 모델 과 각 계층이 어떻게 인터넷을 통해 패킷을 이동시키기 위해 서로 다른 책임을 지는지에 대해 더 읽어 볼 것을 제안 합니다 .
inside an IP header is usually a TCP or UDP header
TCP / UDP 헤더가 IP 헤더 내에 있지 않고 IP 패킷의 데이터 부분에 있습니다.
IP는 데이터를 잘 전송할 수 있지만 문제는 데이터가 다른 쪽 끝에 도달 할 때 발생하는 문제입니다. 유일한 식별 정보는 호스트의 IP 주소와 프로토콜 번호입니다. 어느 쪽이 데이터의 소켓인지 구별 할 수있는 방법은 없습니다.
프로그램이 "원시 소켓"으로 알려진 것을 통해 IP를 직접 사용할 수는 있지만 데이터를 전송할 소켓을 결정하기위한 적절한 메커니즘이 부족하여 보안 및 성능 문제가 발생합니다 (커널은 모든 원시 소켓에 데이터를 보내야 함) 주어진 프로토콜 번호에 대해). 이러한 이유로 "원 소켓"을 여는 기능은 일반적으로 루트 (또는 플랫폼의 동등성)로 제한됩니다.
UDP는 IP를 통한 상당히 최소한의 계층입니다. 포트 번호를 추가하여 데이터의 소켓과 체크섬 (손상된 패킷을 거부 함)을 식별합니다. 응용 프로그램은 손실 된 패킷을 처리하고 정체를 제어하며 데이터를 적절한 크기의 패킷으로 분할하는 책임을 유지합니다.
TCP는 포트 번호와 체크섬을 제공 할뿐만 아니라 바이트 스트림을 패킷으로 분할하고 대상에서 다시 조합하여 혼잡 제어 및 복구 기능을 제공하는보다 복잡한 프로토콜입니다.
IP는 OSI 계층 -3 프로토콜이고 TCP와 UDP는 OSI 계층 -4 프로토콜입니다. 계층 3 프로토콜 인 IP는 다양한 계층 4 프로토콜을 전달할 수 있습니다. TCP와 UDP가 가장 일반적 일지 모르지만 유일한 것은 아닙니다. Layer-4 프로토콜은 응용 프로그램이 종단 간 연결로 사용하는 것입니다. IP는 계층 -4 프로토콜을 네트워크에서 네트워크로 (호스트 간) 전송합니다. 이더넷과 같은 계층 2 프로토콜은 LAN에서 계층 3 프로토콜을 전송합니다.
OSI 모델을 조사해야하지만 이는 모델 모델이며 실제 세계는 종종 정확히 일치하지 않음을 인식하십시오.