tcp/ip 참조 모델은 4개 계층으로 구분됩니다. 1. 물리적 매체에서 데이터 전송을 처리하기 위해 네트워크 카드 인터페이스의 네트워크 드라이버를 구현하는 데이터 링크 계층 2. 구현하는 네트워크 계층 데이터 패킷 라우팅 및 전달 선택 3. 두 호스트의 애플리케이션에 대한 종단간 통신을 제공하는 전송 계층 4. 애플리케이션 로직 처리를 담당하는 애플리케이션 계층
TCP/IP 프로토콜 제품군은 아래에서 위로 데이터 링크 계층, 네트워크 계층, 전송 계층 및 애플리케이션 계층으로 구성된 4계층 프로토콜 시스템입니다. 각 계층은 서로 다른 기능을 수행하며 여러 프로토콜을 통해 구현됩니다. 상위 계층 프로토콜은 하위 계층 프로토콜에서 제공하는 서비스를 사용합니다.
데이터 링크 계층(네트워크 인터페이스 계층)
데이터 링크 계층은 네트워크 카드 인터페이스용 네트워크 드라이버를 구현하여 물리적 매체(예: 이더넷, 토큰 링 등)의 데이터를 처리합니다. 전염.
데이터 링크 계층에서 일반적으로 사용되는 두 가지 프로토콜은 ARP 프로토콜(Address Resolve Protocol, Address Resolution Protocol)과 RARP 프로토콜(ReverseAddress Resolve Protocol, Reverse Address Resolution Protocol)입니다. 이는 IP 주소를 시스템의 물리적 주소(일반적으로 이더넷, 토큰 링 및 802.11 무선 네트워크에서 사용되는 MAC 주소)로 변환합니다.
네트워크 계층은 IP 주소를 사용하여 머신의 주소를 지정하는 반면, 데이터 링크 계층은 물리적 주소를 사용하여 머신의 주소를 지정합니다. 따라서 네트워크 계층은 먼저 대상 머신의 IP 주소를 물리적 주소로 변환해야 합니다. 제공되는 서비스,이것이 ARP 프로토콜의 목적입니다.
RARP 프로토콜은 네트워크의 특정 디스크 없는 워크스테이션에서만 사용됩니다. 저장 장치가 부족하기 때문에 디스크가 없는 워크스테이션은 자신의 IP 주소를 기억할 수 없지만 네트워크 카드의 물리적 주소를 사용하여 네트워크 관리자(서버 또는 네트워크 관리 소프트웨어)에 자신의 IP 주소를 쿼리할 수 있습니다. RARP 서비스를 실행하는 네트워크 관리자는 일반적으로 네트워크의 모든 시스템에 대한 물리적 주소와 IP 주소의 매핑을 유지 관리합니다.네트워크 계층
네트워크 계층은 데이터 패킷의 라우팅 및 전달을 구현합니다. WAN(Wide Area Network, Wide Area Network)은 일반적으로 분산된 호스트 또는 LAN(Local Area Network, Local Area Network)을 연결하기 위해 많은 계층적 라우터를 사용합니다. 따라서 두 통신 호스트는 일반적으로 직접 연결되지 않고 여러 중간 노드를 통해 연결됩니다. (라우터)가 연결되었습니다. 네트워크 계층의 임무는 이러한 중간 노드를 선택하여 두 호스트 간의 통신 경로를 결정하는 것입니다. 동시에 네트워크 계층은 상위 계층 프로토콜에서 네트워크 토폴로지 연결의 세부 사항을 숨기므로 전송 계층과 네트워크 애플리케이션의 관점에서 통신하는 두 당사자가 직접 연결됩니다.
네트워크 계층의 핵심 프로토콜은 IP 프로토콜(인터넷 프로토콜)입니다. IP 프로토콜은 대상 IP 주소를 기반으로 데이터 패킷을 전달하는 방법을 결정합니다. 데이터 패킷을 대상 호스트로 직접 보낼 수 없는 경우 IP 프로토콜은 이에 적합한 다음 홉 라우터를 찾아 전달을 위해 데이터 패킷을 라우터에 전달합니다. 이 과정을 여러 번 반복하며 결국 패킷은 목적지 호스트에 도달하거나 전송 실패로 인해 폐기됩니다. IP 프로토콜은 hop by hop 방식을 사용하여 통신 경로를 결정하는 것을 볼 수 있습니다.
네트워크 계층의 또 다른 중요한 프로토콜은 ICMP 프로토콜(인터넷 제어 메시지 프로토콜)입니다. 이는 IP 프로토콜의 중요한 보완 요소이며 주로 네트워크 연결을 감지하는 데 사용됩니다.
8비트 유형 필드는 메시지 유형을 구별하는 데 사용됩니다.
오류 메시지
로 나뉩니다. 이러한 메시지는 주로 대상 연결 불가(유형 값 3) 및 리디렉션(유형 값 5)과 같은 네트워크 오류에 응답하는 데 사용됩니다. 이 유형의 메시지는 네트워크 정보를 쿼리하는 데 사용됩니다. 예를 들어, ping 프로그램은 ICMP 메시지를 사용하여 대상에 도달할 수 있는지 확인합니다(유형 값은 8). 일부 ICMP 메시지는 8비트 코드 필드를 사용하여 다양한 조건을 더욱 세분화합니다. 예를 들어 리디렉션 메시지는 코드 값 0을 사용하여 네트워크 리디렉션을 나타내고, 코드 값 1을 사용하여 호스트 리디렉션을 나타냅니다. ICMP 메시지는 16비트 체크섬 필드를 사용하여 전체 메시지(헤더 및 콘텐츠 포함)에 대해 순환 중복 검사(CRC)를 수행하여 전송 중에 메시지가 손상되었는지 여부를 확인합니다. ICMP 메시지 유형에 따라 본문 내용이 다릅니다.
전송 계층
전송 계층은 두 호스트의 애플리케이션에 대한 종단 간 통신을 제공합니다. 네트워크 계층에서 사용하는 hop-by-hop 통신 방법과 달리 전송 계층은 통신의 출발지와 목적지에만 관심이 있고 데이터 패킷의 전송 프로세스에는 관심이 없습니다.
세로 실선 화살표는 TCP/IP 프로토콜 제품군의 계층 간 물리적 통신을 나타내고(데이터 패킷은 실제로 이 선을 따라 전송됨) 가로 점선 화살표는 논리적 통신 회선을 나타냅니다. 또한 이 다이어그램은 다양한 물리적 네트워크가 어떻게 연결되어 있는지 설명합니다. 데이터 링크 계층(드라이버)은 물리적 네트워크의 전기적 세부 사항을 캡슐화하고, 네트워크 계층은 네트워크 연결의 세부 사항을 캡슐화하며, 전송 계층은 애플리케이션에 대한 종단 간 논리적 통신 링크를 캡슐화한다는 것을 알 수 있습니다. 데이터 송수신, 링크 타임아웃 재연결 등을 담당합니다. 애플리케이션 계층 데이터 링크 계층, 네트워크 계층 및 전송 계층은 네트워크 통신의 세부 사항을 처리하는 역할을 담당하며 이 부분은 안정적이고 효율적이어야 하므로 모두 커널 공간에 구현됩니다. 애플리케이션 계층은 파일 전송, 이름 쿼리, 네트워크 관리 등 많은 로직을 처리하기 때문에 사용자 공간에서 구현됩니다. 애플리케이션 계층도 커널에 구현되면 커널이 매우 커집니다. 물론, 커널에 구현된 서버 프로그램도 몇 가지 있으므로 코드가 사용자 공간과 커널 공간 사이를 오가며(주로 데이터 복사) 필요가 없어 작업 효율성이 크게 향상됩니다. 그러나 이러한 종류의 코드는 구현하기 복잡하고 유연성이 부족하며 이식하기 쉽지 않습니다. 텔넷 프로토콜은 원격 작업을 로컬에서 완료할 수 있게 해주는 원격 로그인 프로토콜입니다. OSPF(Open Shortest Path First) 프로토콜은 라우터 간 통신에 사용되어 라우팅 정보를 서로 알리는 데 사용되는 동적 라우팅 업데이트 프로토콜입니다. DNS(도메인 이름 서비스) 프로토콜은 컴퓨터 도메인 이름을 IP 주소로 변환하는 기능을 제공합니다. 애플리케이션 계층 프로토콜(또는 프로그램)은 전송 계층을 건너뛰고 핑 프로그램 및 OSPF 프로토콜과 같이 네트워크 계층에서 제공하는 서비스를 직접 사용할 수 있습니다. 응용 프로그램 계층 프로토콜(또는 프로그램)은 일반적으로 TCP 서비스와 DNS 프로토콜과 같은 UDP 서비스를 모두 사용할 수 있습니다. /etc/services 파일을 통해 잘 알려진 모든 응용 프로그램 계층 프로토콜과 해당 프로토콜이 사용할 수 있는 전송 계층 서비스를 볼 수 있습니다. 5계층 프로토콜의 기본 아이디어: 상위 계층은 하위 계층의 세부 사항을 보호하고 제공되는 서비스만 사용합니다. 데이터 패킷은 각 계층마다 세그먼트, 데이터그램, 프레임이라고 불리는 서로 다른 형식을 가지고 있습니다. 데이터는 애플리케이션 계층에서 프로토콜 스택을 통해 전달됩니다. 마지막으로 이를 프레임으로 캡슐화하여 전송 매체로 보냅니다. 라우터나 대상 호스트에 도달하면 헤더가 제거되어 상위 계층 요청자에게 전달됩니다.
전송 계층 프로토콜: TCP 프로토콜, UDP 프로토콜. TCP 프로토콜(전송 제어 프로토콜)은 애플리케이션 계층에 안정적인 연결 지향 스트림 기반 서비스를 제공합니다. TCP 프로토콜은 시간 초과 재전송, 데이터 승인 등을 사용하여 데이터 패킷이 대상으로 올바르게 전송되도록 보장하므로 TCP 서비스가 안정적입니다. TCP 프로토콜을 사용하여 통신하는 두 당사자는 먼저 TCP 연결을 설정하고 연결 상태, 읽기 및 쓰기 버퍼, 많은 타이머 등 연결에 필요한 일부 데이터 구조를 커널에서 유지해야 합니다. 통신이 끝나면 양 당사자는 이 커널 데이터를 해제하기 위해 연결을 닫아야 합니다. TCP 서비스는 스트림 기반입니다. 스트림 기반 데이터에는 경계(길이) 제한이 없으며 통신의 한쪽 끝에서 다른 쪽 끝으로 지속적으로 흐릅니다. 송신자는 데이터 스트림에 바이트 단위로 데이터를 쓸 수 있고, 수신자는 이를 바이트 단위로 읽을 수 있습니다.
Ping은 프로토콜이 아닌 애플리케이션입니다. 앞에서 언급했듯이 ICMP 메시지를 사용하여 네트워크 연결을 감지하며 네트워크 환경을 디버깅하는 데 필수적인 도구입니다.
위 내용은 tcp/ip 참조 모델의 계층은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!