>  기사  >  컴퓨터 네트워크 아키텍처에서 IP는 어떤 프로토콜에 속합니까?

컴퓨터 네트워크 아키텍처에서 IP는 어떤 프로토콜에 속합니까?

青灯夜游
青灯夜游원래의
2022-08-29 16:12:185430검색

ip는 컴퓨터 네트워크 아키텍처의 "네트워크 계층" 프로토콜에 속합니다. IP는 TCP/IP 시스템의 네트워크 계층 프로토콜인 인터넷 상호 연결 프로토콜을 말하며 TCP, UDP 등과 같은 다양한 프로토콜 정보를 전송 계층에 제공할 수 있습니다. 이더넷, 토큰링 네트워크 등 다양한 기술을 통한 링크 계층이 전송에 사용됩니다.

컴퓨터 네트워크 아키텍처에서 IP는 어떤 프로토콜에 속합니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, Dell G3 컴퓨터.

IP는 컴퓨터 네트워크 아키텍처의 "네트워크 계층" 프로토콜에 속합니다.

IP 프로토콜 간략한 설명

IP는 인터넷 프로토콜(Internet Protocol)을 의미하며 인터넷 프로토콜(Internet Protocol)의 약어입니다. IP는 전체 TCP/IP 프로토콜 제품군의 핵심이자 인터넷의 기초입니다. IP는 TCP/IP 모델의 네트워크 계층(OSI 모델의 네트워크 계층과 동일)에 위치하며 TCP, UDP 등과 같은 다양한 프로토콜 정보를 전송 계층에 제공할 수 있습니다. 링크 계층에 위치하며 이더넷, 토큰링 네트워크 등 다양한 기술을 통해 전송됩니다.

컴퓨터 네트워크 아키텍처에서 IP는 어떤 프로토콜에 속합니까?

IP 설계의 목적은 네트워크의 확장성을 향상시키는 것입니다. 첫째, 인터넷 문제를 해결하고 대규모 이종 네트워크의 상호 연결을 실현하고, 둘째, 최상위 네트워크 애플리케이션 간의 결합 관계를 분리합니다. 및 기본 네트워크 기술, 두 가지 모두의 독립적인 개발을 촉진합니다. 엔드투엔드 설계 원칙에 따르면 IP는 연결이 없고 신뢰할 수 없는 최선의 노력 패킷 전송 서비스만 호스트에 제공합니다.

IPV4는 결국 IPV6으로 대체되지만 현재 IPV4는 여전히 IP 프로토콜의 주류 버전이므로 IPV4 버전에 중점을 둘 것입니다. TCP 프로토콜과 소켓 프로그래밍을 배울 때, 인터넷 공유 네트워크에서 호스트를 정확하게 찾으려면 호스트의 IP 주소가 필요하다는 것을 알고 있습니다. 호스트에는 IP 주소가 있지만 라우팅 제어(데이터 패킷을 전달하고 그룹화하는 것을 의미하는 라우팅)를 수행할 수 없습니다. 라우터와 같은 장치에는 IP 주소가 있으며 호스트를 인터넷에 연결하여 라우팅 제어도 수행할 수 있습니다. 라우터를 노드라고 합니다.

예를 들어, 우리 보통 사람들은 자신의 주소만 가지고 있습니다. 친구에게 속달 배송을 보내고 싶거나 다른 사람으로부터 속달 배송을 받고 싶다면 우체부에게 상대방의 주소나 우리 자신의 주소만 제공하면 됩니다. , 우리는 주소 식별자만 가지고 있지만 특급 배송은 보낼 수 없습니다. 택배는 라우터와 같습니다. 그는 또한 자신의 주소가 있고 개인 특급 배송을 받을 수 있지만 운송에 따라 다른 특급 경로를 선택할 수도 있습니다. 목적지. 다음 그림은 네트워크 환경에서 IP 프로토콜의 역할을 명확하게 표현합니다.

IP 프로토콜 헤더 형식(IPV4)

앞서 TCP 및 UDP 프로토콜을 학습한 것과 마찬가지로 먼저 IP 프로토콜의 헤더 형식을 소개하겠습니다

IP 프로토콜 헤더가 IP 프로토콜 헤더 형식과 매우 유사하다는 것을 알 수 있습니다. TCP 프로토콜 헤더. 특별한 사정이 없으면 모두 20바이트이므로 둘을 합쳐서 TCP/IP 프로토콜이라고 부르는 경우가 많다. 다음은 IP 프로토콜 헤더의 각 필드에 대한 자세한 소개입니다.

  • 4자리 버전 번호(Version): IP 프로토콜의 버전을 지정하는 데 사용됩니다. IPV4의 버전 번호는 4입니다. IP 메시지가 IPV4 버전인 경우 이 필드의 값은 4이며, -숫자 식별자는 0100입니다. IPv6의 버전 번호는 6입니다.
  • 4비트 헤더 길이(Internet Header Length): IP 헤더의 크기를 나타내며, 단위는 4바이트, 길이 * 4바이트입니다. 이 필드는 총 4비트이므로 이 필드가 가장 큽니다. 값은 2^4 - 1(15)이므로 IP 헤더의 최대 길이는 15 * 4(기본적으로 60바이트)이고 이 필드는 5로 설정되므로 기본 IP 헤더는 20바이트입니다.
  • 8자리 서비스 유형: 처음 세 자리는 우선순위(더 이상 사용되지 않음)를 나타내고, 네 번째 자리는 최소 대기 시간을 나타내고, 다섯 번째 자리는 최대 처리량을 나타내고, 여섯 번째 자리는 최대 안정성을 나타내고, 일곱 번째 자리는 최저 비용을 나타냅니다. 이 네 가지는 서로 충돌하며, 하나만 선택할 수 있습니다. 다양한 상황에 따라 선택해야 합니다. SSH/TELNET과 같은 원격 로그인인 경우 최소 지연을 선택해야 합니다. FTP 유형 프로그램인 경우 최대 처리량은 8번째 비트입니다. 예약된 비트이며 현재 사용되지 않습니다. 0으로 채워야 합니다.
  • 16비트 전체 길이(Total Length): IP 헤더와 그 뒤에 오는 데이터 부분에 몇 바이트가 있는지 나타냅니다. 이 필드는 16비트이므로 IP 데이터그램의 전체 최대 길이는 65535바이트입니다.
  • 16비트 식별(ID): 호스트가 보낸 메시지를 고유하게 식별합니다. IP 메시지가 데이터 링크 계층에서 조각화된 경우 각 조각의 이 필드는 동일한 값을 가져야 합니다. 피어 호스트가 수신 후 조각화 및 재조립을 수행하도록 돕습니다.
  • 3비트 플래그(플래그): 첫 번째 비트는 예약되어 있으며(예약됨은 현재 사용되지 않지만 나중에 필요한 경우 사용됨을 의미함) 두 번째 비트는 샤딩이 가능한지 여부를 나타내는 데 사용됩니다. 0이면 OK Fragmentation이고, 1이면 조각화할 수 없습니다. IP 패킷의 조각화가 금지되고 길이가 MTU(Maximum Transmission Unit, 나중에 자세히 설명)보다 크면 조각화할 수 없습니다. , 패킷은 삭제만 가능합니다. 패킷이 조각화인 경우 세 번째 비트가 1이면 조각의 중간에 있는 메시지라는 의미입니다. 즉, 세 번째 비트가 0이면 나중에 조각난 메시지가 있다는 뜻입니다. , 이는 이것이 마지막 조각임을 의미합니다.
  • 13비트 조각 오프셋: 이 필드는 원본 IP 메시지의 시작 부분을 기준으로 조각의 오프셋을 나타냅니다. 실제로는 원본 메시지에서 현재 조각의 위치를 ​​나타냅니다. 조각은 0입니다. 이 필드는 총 13비트이므로 최대 2^13 또는 8192개의 상대 위치를 나타낼 수 있습니다. 단위는 8바이트이므로 최대 8192*8=65536바이트를 나타낼 수 있습니다.
  • 8비트 TTL(Time To Live): 데이터그램이 대상에 도달하기 위한 최대 메시지 홉 수(홉은 네트워크의 간격을 나타내며 IP 데이터 패킷은 네트워크의 홉 간에 전달됨), 일반적으로 각각 64개 경로 TTL을 통과할 때 TTL == 0일 때 대상에 도달하지 못한 경우 패킷이 삭제됩니다. 이 필드는 주로 라우팅 루프를 방지하는 데 사용되며, 이는 네트워크 리소스를 낭비합니다.
  • 8비트 프로토콜(프로토콜): IP의 상위 계층이 어떤 프로토콜인지 나타냅니다. 잘 알려진 TCP, UDP, ICMP 등이 모두 IP의 상위 계층에 있습니다.
  • 16비트 헤더 체크섬(Header Checksum): IP 헤더가 손상되었는지 확인하기 위해 CRC를 사용합니다. 손상된 경우 IP 헤더만 확인하고 다음 내용은 확인하지 않습니다. 콘텐츠 부분 확인은 상위 전송 계층(TCP)이 고려해야 할 사항입니다. IP 프로토콜은 헤더에 문제가 있는 한 메시지를 직접 폐기합니다.
  • 32비트 소스 IP 주소(Source Address): 보낸 사람의 IP를 나타냅니다.
  • 32비트 대상 IP 주소(Destination Address): 수신측의 IP를 나타냅니다.
  • 옵션 필드(Options): 가변 길이, 최대 40바이트.
보충: Fragmentation and Assembly
MTU(Maximum Transmission Unit)는 IP 계층 아래 MAC 프로토콜의 개념으로, 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

컴퓨터 네트워크 아키텍처에서 IP는 어떤 프로토콜에 속합니까?

조각화 및 조립은 상위 계층 TCP/UDP 및 하위 계층 MAC에 투명합니다. 즉, 상위 계층이나 하위 계층 모두 IP 계층이 데이터 패킷을 조각화했다는 사실을 알지 못하므로 조각화 및 조립 작업이 수행됩니다. 발신자 IP 계층에 의해 수행되고 수신 IP 계층은 이 작업을 자동으로 수행합니다. 그러나 조각화는 전송을 위해 하나의 데이터를 여러 데이터 그룹으로 변환해야 하며 반대쪽 끝에서 조립을 수행해야 함을 의미합니다. 이로 인해 네트워크 전송 효율성이 크게 감소하고 오류 위험이 높아집니다. 즉, MTU 길이를 초과하는 IP 데이터그램을 보내지 마십시오.

IP 주소

IP 주소 정의:

IPV4에서는 32비트 양의 정수를 사용하여 IP 주소를 나타냅니다. 그러나 사람들은 이진수로 직접 IP 주소를 저장합니다. 이므로 점을 사용합니다. IP 주소를 10진수로 기록합니다. 즉, 32비트 IP 주소를 8자리의 4개 그룹으로 나누고 그룹을 '.'으로 구분한 다음 각 그룹을 10진수로 변환합니다.

그러므로 IPV4 표준에서는 최대 2^32 = 4292967296개의 IP 주소가 있다고 직접 계산할 수 있지만, 사람들이 사용할 수 있는 숫자는 이 숫자보다 훨씬 적습니다. (예를 들어 일부 IP 주소는 특별한 목적으로 예약되어 있으며 라우터와 같은 일부 장치는 여러 IP 주소를 차지합니다.)

IP 주소 구성:

IP 주소는 네트워크 식별자(네트워크 주소)와 호스트 식별자(호스트 주소)는 두 부분으로 구성됩니다.

IP 주소를 찾는 과정은 특정 장소로 ​​여행하는 것과 같습니다. 예를 들어 천안문 광장에 가려면 먼저 베이징에 도착해야 합니다. (목적지 네트워크), 베이징 내 교통수단을 거쳐 천안문(목적지 호스트)에 도착합니다. 따라서 라우팅을 선택할 때 먼저 대상 호스트가 위치한 LAN을 찾은 다음 LAN에서 대상 호스트를 찾아야 합니다. 이 방법을 사용하면 대상 LAN을 빠르게 찾을 수 있습니다. LAN에서 대상 호스트를 검색하는 것이 광대한 네트워크에서 호스트를 찾는 것보다 훨씬 빠릅니다.

네트워크 ID: 서로 연결된 두 네트워크 세그먼트가 서로 다른 ID를 가지고 있는지 확인하세요.

호스트 ID: 동일한 네트워크 세그먼트에 있는 두 호스트가 서로 다른 ID를 가지고 있는지 확인하세요.

IP 주소 구분:

IP 주소는 클래스 A, 클래스 B, 클래스 C, 클래스 D 및 클래스 E(한 번도 사용된 적이 없음)의 5개 레벨로 나누어져 있으므로 현재 볼 수 있는 IP만 있습니다. 네 가지 유형의 주소: A, B, C, D. 구분 기준은 IP 주소의 첫 번째부터 네 번째 비트까지입니다.

  • 클래스 A 주소: 0.0.0.0 ~ 127.255.255.255
  • 클래스 B 주소: 128.0.0.0 ~ 191.255.255.255
  • 클래스 C 주소: 192.0.0.0 ~ 22 3.2 55.255.255
  • D클래스 주소 : 224.0.0.0 ~ 239.255.255.255
  • 클래스 E 주소: 240.0.0.0 ~ 247.255.255.255

클래스 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)을 제안했습니다.

  • 네트워크 번호와 호스트 번호를 구별하는 서브넷 마스크 코드를 도입합니다.
  • 서브넷 마스크도 32비트 양의 정수인데 보통 0의 문자열로 끝납니다
  • IP 주소와 서브넷 마스크를 연산&하여 결과는 네트워크 번호
  • 네트워크 번호의 구분 호스트 번호는 IP 주소가 클래스 A, 클래스 B 또는 클래스 C인지 여부와 아무런 관련이 없습니다

서브넷 마스크를 통한 네트워크 번호와 호스트 번호의 구분을 이해하는 데 도움이 되는 두 가지 예를 들어주세요

예 1:
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.2551000 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

예입니다. 2:
thead>
IP 주소 이진 표현식
140.252. 20. 68 1000 1100 1111 1100 0001 0100 0100 0100
서브넷 마스크 바이너리 표현식 255.255.255.2401111 1111 1111 1111 1111 1111 1111 0000 IP 주소와 서브넷 마스크에 대해 비트 AND 연산을 수행하여 얻습니다. 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 주소
  • 모든 호스트 주소를 IP 주소에 설정 0은 LAN의 네트워크 번호입니다. 이 IP 주소는 LAN을 나타냅니다.
  • IP 주소의 호스트 주소를 모두 1로 설정하면 브로드캐스트 주소가 됩니다. 이 브로드캐스트 주소는 동일한 링크에서 서로 연결된 모든 호스트에 데이터 패킷을 보낼 수 있습니다. 로컬 링으로 돌아가서, 일반적으로 127.0.0.1
사설 IP 주소와 공용 IP 주소

대학이 캠퍼스 내에서 LAN을 설정하려는 경우 캠퍼스 내에서만 네트워크 통신을 구현하고 통신하지 않습니다. 이 LAN에서만 동일한 IP 주소가 나타나지 않으므로 이론적으로 2^32개의 IP 주소를 사용할 수 있습니다. 그러나 RFC1918에서는 LAN 구축 시 사설 IP 주소 사양을 다음과 같이 규정하고 있습니다.

    10.* 처음 8자리는 네트워크 번호로, 총 16,777,216개의 주소
  • 172.16.*~172.31.* 처음 12자리는 네트워크 번호, 총 1,048,576개의 주소
  • 192.168.* 앞의 16자리가 네트워크 번호이며, 총 65,536개의 주소가 있습니다.
위 범위 안의 IP 주소는 사설 IP이며, 그 밖의 IP입니다. 범위는 전역 IP 주소(공용 IP 주소)입니다.

관련 지식이 더 궁금하시다면

FAQ 칼럼을 방문해 주세요!

위 내용은 컴퓨터 네트워크 아키텍처에서 IP는 어떤 프로토콜에 속합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.