최상의 답변
사양에 따르면 명백한 안전상의 이유로 TCP를 사용합니다. TCP는 느리지 만 패킷 손실 위험이 없습니다. UDP는 속도가 필요하고 여기저기서 손실에 대해 신경 쓰지 않을 때 사용됩니다. 일반적으로 영상 또는 음성 채팅과 같은 스트리밍 데이터. 영상 채팅을 할 때 화면에 결함이 있거나 듣지 못한 문장이있는 경우. 그것은 UDP가 패킷을 잃었을 가능성이 높습니다.
이제 그렇다고해서 신뢰할 수있는 UDP를 가질 수 없다는 의미는 아닙니다. 이는 안정성이 프로토콜 자체의 일부가 아님을 의미합니다. 일부 소프트웨어는 속도를 위해 UDP를 사용하고 TCP와는 다르고 더 빠른 방식으로 안전을 구현하려고합니다.
기억은 없지만 SSH 버전이 그렇게하는 것 같습니다. 그러나 악명 높게“Mosh”라는 SSH의 대안이 있으며 방금 설명한 것처럼 구현됩니다. UDP를 사용하고 소프트웨어 자체에 안전이 구현되어 있습니다.
답변
내가 대답 한 질문은“ TCP / IP 프로토콜의 내부를 배우려면 어떻게해야합니까? 일부 인기있는 웹 프레임 워크에서 구현 된 방식에 따라이 작업을 수행하고 싶습니다. ”
웹 프레임 워크는 TCP / IP 프로토콜의 내부에 대해 아무것도 모릅니다.
웹 서버 (및 클라이언트)는 운영 체제 API와 TCP / IP 구성 요소를 연결하는 방법에 대해 알고 있습니다.
운영 체제가 내부적으로 제공하는 서비스의 종류에 따라 다른 운영 체제에서 TCP / IP를 다르게 구현합니다. (참고 : 운영 체제마다 API가 다르거 나 적어도 API의 기능이 있기 때문에 특정 엣지 조건에서 TCP / IP와 다른 동작을합니다.)
cli를 이해하지 못하는 경우 TCP / IP를 사용하는 ent / server 모델의 경우 먼저 간단한 클라이언트 / 서버를 조사 할 수 있습니다. 먼저 이전 FTP 프로토콜의 구현을 찾으십시오 (단순 클라이언트와 단순 서버를 모두 찾으십시오.) TCP / IP 레벨에서 상호 작용하기 위해 웹 프레임 워크가 사용하는 많은 개념은 사용 된 동일한 개념의 다른 추상화입니다. 다른 TCP / IP 클라이언트 / 서버 모델에서.
원래 답변은 TCP / IP 자체를 다루지 않았습니다.
TCP (Transmission Control Protocol)는 호스트 엔드 포인트에서 구현됩니다. IP가 호스트 엔드 포인트와 그 사이의 라우터에서 올바르게 구현되고 라우팅이 올바르게 작동하여 호스트 엔드 포인트 IP 구현이 사용할 올바른 네트워크 인터페이스를 선택하고 중간 라우터가 선택하는지에 따라 달라집니다. IP 데이터 그램을 전달하는 올바른 방법입니다.
TCP 및 IP에 대한 관련 RFC를 읽는 것으로 시작할 수 있습니다. 구글 검색은 당신이 그것들을 찾는 데 도움이 될 것입니다. 라우팅 및 라우팅 관리에 사용되는 프로토콜에 대한 자습서는 전체 경력 경로입니다.