ip는 컴퓨터 네트워크 아키텍처의 "네트워크 계층" 프로토콜에 속합니다. IP는 TCP/IP 시스템의 네트워크 계층 프로토콜인 인터넷 상호 연결 프로토콜을 말하며 TCP, UDP 등과 같은 다양한 프로토콜 정보를 전송 계층에 제공할 수 있습니다. 이더넷, 토큰링 네트워크 등 다양한 기술을 통한 링크 계층이 전송에 사용됩니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, Dell G3 컴퓨터.
IP는 컴퓨터 네트워크 아키텍처의 "네트워크 계층" 프로토콜에 속합니다.
IP 프로토콜 간략한 설명
IP는 인터넷 프로토콜(Internet Protocol)을 의미하며 인터넷 프로토콜(Internet Protocol)의 약어입니다. IP는 전체 TCP/IP 프로토콜 제품군의 핵심이자 인터넷의 기초입니다. IP는 TCP/IP 모델의 네트워크 계층(OSI 모델의 네트워크 계층과 동일)에 위치하며 TCP, UDP 등과 같은 다양한 프로토콜 정보를 전송 계층에 제공할 수 있습니다. 링크 계층에 위치하며 이더넷, 토큰링 네트워크 등 다양한 기술을 통해 전송됩니다.
IP 설계의 목적은 네트워크의 확장성을 향상시키는 것입니다. 첫째, 인터넷 문제를 해결하고 대규모 이종 네트워크의 상호 연결을 실현하고, 둘째, 최상위 네트워크 애플리케이션 간의 결합 관계를 분리합니다. 및 기본 네트워크 기술, 두 가지 모두의 독립적인 개발을 촉진합니다. 엔드투엔드 설계 원칙에 따르면 IP는 연결이 없고 신뢰할 수 없는 최선의 노력 패킷 전송 서비스만 호스트에 제공합니다.
IPV4는 결국 IPV6으로 대체되지만 현재 IPV4는 여전히 IP 프로토콜의 주류 버전이므로 IPV4 버전에 중점을 둘 것입니다. TCP 프로토콜과 소켓 프로그래밍을 배울 때, 인터넷 공유 네트워크에서 호스트를 정확하게 찾으려면 호스트의 IP 주소가 필요하다는 것을 알고 있습니다. 호스트에는 IP 주소가 있지만 라우팅 제어(데이터 패킷을 전달하고 그룹화하는 것을 의미하는 라우팅)를 수행할 수 없습니다. 라우터와 같은 장치에는 IP 주소가 있으며 호스트를 인터넷에 연결하여 라우팅 제어도 수행할 수 있습니다. 라우터를 노드라고 합니다.
예를 들어, 우리 보통 사람들은 자신의 주소만 가지고 있습니다. 친구에게 속달 배송을 보내고 싶거나 다른 사람으로부터 속달 배송을 받고 싶다면 우체부에게 상대방의 주소나 우리 자신의 주소만 제공하면 됩니다. , 우리는 주소 식별자만 가지고 있지만 특급 배송은 보낼 수 없습니다. 택배는 라우터와 같습니다. 그는 또한 자신의 주소가 있고 개인 특급 배송을 받을 수 있지만 운송에 따라 다른 특급 경로를 선택할 수도 있습니다. 목적지. 다음 그림은 네트워크 환경에서 IP 프로토콜의 역할을 명확하게 표현합니다.
앞서 TCP 및 UDP 프로토콜을 학습한 것과 마찬가지로 먼저 IP 프로토콜의 헤더 형식을 소개하겠습니다
IP 프로토콜 헤더가 IP 프로토콜 헤더 형식과 매우 유사하다는 것을 알 수 있습니다. TCP 프로토콜 헤더. 특별한 사정이 없으면 모두 20바이트이므로 둘을 합쳐서 TCP/IP 프로토콜이라고 부르는 경우가 많다. 다음은 IP 프로토콜 헤더의 각 필드에 대한 자세한 소개입니다.
명령을 사용하여 MTU를 보는 것과 같습니다. 用户数据 + 应用层协议报头(如HTTP请求报头)
作为有效载荷交给传输层(如TCP协议),TCP协议再将TCP报头 + 应用层传来的数据
下交给IP层,IP层再将IP协议首部 + TCP层传来的TCP报文
交付给MAC帧。因此每个MAC帧其实是IP协议首部 + IP层的有效载荷
。而MAC帧是有长度限制的,所以就要求IP数据报向下交付时并不是随心所欲想发多长就发多长,如果MAC帧要求MTU为1500字节,而IP数据包总长度有2000字节,那么就需要分片,将原有的IP数据包分成两片,依次发送,对端的主机在接收后,由对端的IP层再完成组装。我们在Linux环境下可以使用ifconfig
조각화 및 조립은 상위 계층 TCP/UDP 및 하위 계층 MAC에 투명합니다. 즉, 상위 계층이나 하위 계층 모두 IP 계층이 데이터 패킷을 조각화했다는 사실을 알지 못하므로 조각화 및 조립 작업이 수행됩니다. 발신자 IP 계층에 의해 수행되고 수신 IP 계층은 이 작업을 자동으로 수행합니다. 그러나 조각화는 전송을 위해 하나의 데이터를 여러 데이터 그룹으로 변환해야 하며 반대쪽 끝에서 조립을 수행해야 함을 의미합니다. 이로 인해 네트워크 전송 효율성이 크게 감소하고 오류 위험이 높아집니다. 즉, MTU 길이를 초과하는 IP 데이터그램을 보내지 마십시오.
IPV4에서는 32비트 양의 정수를 사용하여 IP 주소를 나타냅니다. 그러나 사람들은 이진수로 직접 IP 주소를 저장합니다. 이므로 점을 사용합니다. IP 주소를 10진수로 기록합니다. 즉, 32비트 IP 주소를 8자리의 4개 그룹으로 나누고 그룹을 '.'으로 구분한 다음 각 그룹을 10진수로 변환합니다.
그러므로 IPV4 표준에서는 최대 2^32 = 4292967296개의 IP 주소가 있다고 직접 계산할 수 있지만, 사람들이 사용할 수 있는 숫자는 이 숫자보다 훨씬 적습니다. (예를 들어 일부 IP 주소는 특별한 목적으로 예약되어 있으며 라우터와 같은 일부 장치는 여러 IP 주소를 차지합니다.)
IP 주소는 네트워크 식별자(네트워크 주소)와 호스트 식별자(호스트 주소)는 두 부분으로 구성됩니다.
IP 주소를 찾는 과정은 특정 장소로 여행하는 것과 같습니다. 예를 들어 천안문 광장에 가려면 먼저 베이징에 도착해야 합니다. (목적지 네트워크), 베이징 내 교통수단을 거쳐 천안문(목적지 호스트)에 도착합니다. 따라서 라우팅을 선택할 때 먼저 대상 호스트가 위치한 LAN을 찾은 다음 LAN에서 대상 호스트를 찾아야 합니다. 이 방법을 사용하면 대상 LAN을 빠르게 찾을 수 있습니다. LAN에서 대상 호스트를 검색하는 것이 광대한 네트워크에서 호스트를 찾는 것보다 훨씬 빠릅니다.
네트워크 ID: 서로 연결된 두 네트워크 세그먼트가 서로 다른 ID를 가지고 있는지 확인하세요.
호스트 ID: 동일한 네트워크 세그먼트에 있는 두 호스트가 서로 다른 ID를 가지고 있는지 확인하세요.
IP 주소는 클래스 A, 클래스 B, 클래스 C, 클래스 D 및 클래스 E(한 번도 사용된 적이 없음)의 5개 레벨로 나누어져 있으므로 현재 볼 수 있는 IP만 있습니다. 네 가지 유형의 주소: A, B, C, D. 구분 기준은 IP 주소의 첫 번째부터 네 번째 비트까지입니다.
클래스 E IP 주소를 고려하지 않으면 클래스 A, B, C, D 주소의 네트워크 번호를 알 수 있습니다. 점유되는 비트 수는 점차 증가하는 반면, 호스트 번호가 점유하는 비트 수는 점차 감소합니다. 이는 위의 4가지 유형의 주소 중 한 유형의 주소에 포함된 서브넷의 수는 증가하지만 해당 서브넷에 연결할 수 있는 호스트의 수는 점점 줄어들고 있음을 의미합니다. 중국의 일반 대학을 예로 들면, 학교에는 약 30,000명의 교사와 학생이 있습니다. 모든 사람이 캠퍼스 LAN에 연결해야 하는 노트북을 가지고 있고 일부 학생도 태블릿 컴퓨터와 기타 터미널 장치를 가지고 있습니다. 네트워크에 연결하려면 네트워크 신청 시 50,000~60,000개의 IP 주소를 신청해야 합니다. Class A 주소를 사용하는 경우 24자리 호스트 번호는 2^24 = 16777216개의 IP 주소를 생성합니다. 실제로 필요한 것보다 훨씬 많은 클래스 C 클래스 B 주소를 사용하면 2^8 = 256개의 IP 주소만 있으므로 필요한 IP 주소보다 훨씬 적으므로 가장 적합한 것은 클래스 B 주소입니다. 2^16 = 65536개의 IP 주소. 또한 이 예에서는 IP 주소가 너무 많아도 안 되고 너무 적어도 안 되며, 그렇지 않으면 많은 장치가 네트워크에 연결할 수 없게 된다는 점을 알려줍니다.
인터넷이 발달하면서 처음 네 자리 숫자를 사용하여 분류하는 데 따른 단점이 1이거나 그렇지 않은 경우 나타나기 시작했습니다. 즉, 많은 서브넷 신청자가 클래스 B 네트워크 주소를 신청하게 됩니다. A 도저히 다 쓸 방법이 없고, 카테고리 C만으로는 부족합니다. 그 결과, Class B의 네트워크 주소가 빠르게 할당되었습니다. 클래스 A 네트워크를 신청하면 많은 IP 주소가 낭비됩니다. 이 경우 사람들은 새로운 분할 방식인 CIDR(Classless Interdomain Routing)을 제안했습니다.
&
하여 결과는 네트워크 번호서브넷 마스크를 통한 네트워크 번호와 호스트 번호의 구분을 이해하는 데 도움이 되는 두 가지 예를 들어주세요
IP 주소 | 이진수식 |
---|---|
140.252.20.68 | 1000 1100 1111 1100 0001 0100 0100 0100 |
서브넷 마스크 | 이진 표현식 |
---|---|
255.255.255.0 | 1111 1111 1111 1111 1111 1111 0000 0000 |
IP 주소와 서브넷 마스크에 대해 비트 AND 연산을 수행한 후 1000 1100 1111 1100 0001 0100 0000 0000
을 얻은 다음 이를 사람들이 사용하기 편리한 점으로 구분된 십진법으로 변환합니다. 140.252.20.0, 서브넷의 네트워크 번호입니다. 그리고 서브넷 마스크의 마지막 8비트는 0입니다. 이 서브넷은 2^8 = 256개의 호스트를 나타낼 수 있으므로 이 서브넷의 주소 범위는 <code>140.252.20.0 ~ 140.252.20.255
1000 1100 1111 1100 0001 0100 0000 0000
,再转化为方便人们使用的点分十进制为140.252.20.0
,这就是该子网的网络号了。并且它的子网掩码末尾的8个比特位为0,这个子网可以表示2 ^ 8 = 256台主机,因此这个子网的地址范围是140.252.20.0 ~ 140.252.20.255
IP地址 | 二进制表达 |
---|---|
140. 252. 20. 68 | 1000 1100 1111 1100 0001 0100 0100 0100 |
子网掩码 | 二进制表达 |
---|---|
255.255.255.240 | 1111 1111 1111 1111 1111 1111 1111 0000 |
将IP地址与子网掩码进行按位与操作后得到1000 1100 1111 1100 0001 0110 0100 0000
,即该子网的网络号,同样转换成常用的点分十进制为140.252.20.64
,它的子网掩码末尾的4个比特位为0,这个子网可以表示2 ^ 4 = 16台主机,因此这个子网的地址范围就是140.252.20.64 ~ 140.252.20.79
IP 주소 | 이진 표현식 | 140.252. 20. 68 | 1000 1100 1111 1100 0001 0100 0100 0100 |
---|
1000 1100 1111 1100 0001 0110 서브넷의 네트워크 번호인 0100 0000
도 일반적으로 사용되는 점으로 구분된 십진수 표기법으로 변환되어 서브넷 마스크인 140.252.20.64
로 변환됩니다. 마지막 4비트는 0입니다. 서브넷은 2^4 = 16개의 호스트를 나타낼 수 있으므로 이 서브넷의 주소 범위는 140.252.20.64 ~ 140.252.20.79
특수 IP 주소 FAQ 칼럼을 방문해 주세요!
위 내용은 컴퓨터 네트워크 아키텍처에서 IP는 어떤 프로토콜에 속합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!