인터넷 프로토콜

Internet Protocol

IP(Internet Protocol)는 네트워크 경계를 넘어 데이터그램을 릴레이하기 위한 인터넷 프로토콜 스위트의 네트워크 계층 통신 프로토콜입니다.라우팅 기능은 인터넷 워킹이 가능하며 기본적으로 인터넷을 확립합니다.

IP 에는, 패킷 헤더내의 IP 주소만을 기초로, 송신원호스트로부터 행선지 호스트에 패킷을 전달하는 작업이 있습니다.이를 위해 IP는 전달되는 데이터를 캡슐화하는 패킷 구조를 정의합니다.또, 데이터 그램에 송신원 및 행선지 정보를 라벨 붙이기 위해서 사용하는 어드레싱 방식도 정의합니다.

IP는 1974년에 Vint Cerf와 Bob Kahn에 의해 도입된 최초의 전송 제어 프로그램의 무접속 데이터그램 서비스였으며, 이는 Transmission Control Protocol(TCP)의 기반이 된 연결 지향 서비스로 보완되었습니다.따라서 인터넷 프로토콜 스위트는 종종 TCP/IP라고 불립니다.

IP의 첫 번째 주요 버전인 Internet Protocol Version 4(IPv4)는 인터넷의 주요 프로토콜입니다.그 후계 제품은,[1] 2006년 경부터 퍼블릭 인터넷에의 도입이 증가하고 있는 Internet Protocol Version 6(IPv6)입니다.

기능.

UDP에 의해 링크 프로토콜 프레임으로 전송되는 애플리케이션 데이터의 캡슐화

인터넷 프로토콜은 호스트 인터페이스의 주소 지정, 데이터그램(플래그먼트화재조립 포함) 캡슐화 및 하나 이상의 IP 네트워크를 통해 소스 [2]호스트 인터페이스에서 대상 호스트 인터페이스로 데이터그램을 라우팅하는 것을 담당합니다.이러한 목적을 위해, 인터넷 프로토콜은 패킷의 형식을 정의하고 주소 지정 시스템을 제공합니다.

각 데이터그램에는 헤더페이로드의 2개의 컴포넌트가 있습니다.IP 헤더에는, 송신원IP 주소, 행선지 IP 주소, 및 데이터 그램의 라우팅 및 전달에 필요한 그 외의 메타데이터가 포함됩니다.payload는 전송되는 데이터입니다.헤더가 있는 패킷에 데이터 페이로드를 네스트 하는 이 방식을 캡슐화라고 합니다.

IP 어드레싱에서는 호스트인터페이스에 IP 주소 및 관련 파라미터를 할당합니다.주소 공간은 네트워크 프레픽스의 지정과 관련된 서브네트워크로 분할됩니다.IP 라우팅은 모든 호스트 라우터에 의해 실행됩니다.라우터의 주된 기능은 네트워크 경계를 넘어 패킷을 전송하는 것입니다.라우터는 네트워크의 [3]토폴로지에 필요한 내부 게이트웨이 프로토콜 또는 외부 게이트웨이 프로토콜을 통해 서로 통신합니다.

버전 이력

전송 제어 프로토콜 TCP 및 인터넷 프로토콜 IP의 개발을 위한 일정입니다.
1977년 11월 22일 ARPANET, PRNET, SATNET을 연계한 첫 인터넷 시연

1974년 5월, 전기 전자 기술자 협회(IEEE)는 "패킷 네트워크 인터커뮤니케이션을 위한 프로토콜"[4]이라는 제목의 논문을 발표했습니다.논문의 저자인 Vint CerfBob Kahn은 네트워크 노드 간패킷 교환을 사용하여 자원을 공유하는 인터넷 워킹 프로토콜을 설명했다.이 모델의 중심 제어 구성요소는 호스트 간의 연결 지향 링크와 데이터그램 서비스를 모두 통합한 "전송 제어 프로그램"이었습니다.모노리식 전송 제어 프로그램은 나중에 전송 계층에서 전송 제어 프로토콜과 사용자 데이터그램 프로토콜, 인터넷 계층에서 인터넷 프로토콜로 구성된 모듈식 아키텍처로 분할되었습니다.이 모델은 Department of Defense(DoD) Internet Model and Internet Protocol Suite, 비공식적으로는 TCP/IP로 알려지게 되었습니다.

IP 버전 1 ~3은 1973년부터 [5]1978년 사이에 설계된 실험 버전입니다.다음의 Internet Experiment Note(IEN) 문서에서는, IPv4 의 최신 버전보다 전의 Internet Protocol 의 버전 3 에 대해 설명합니다.

  • 1977년 8월 IEN 2(인터넷 프로토콜과 TCP에 관한 코멘트)는 TCP와 인터넷 프로토콜의 기능을 분리할 필요성을 기술하고 있습니다(이러한 기능은 이전에 통합되었습니다).버전 필드에 0을 사용하여 IP 헤더의 첫 번째 버전을 제안합니다.
  • 1978년 2월호 IEN 26(A Proposed New Internet Header Format)에서는 1비트버전 필드를 사용하는IP 헤더의 버전을 설명하고 있습니다.
  • 1978년 2월의 IEN 28(Draft Internetwork Protocol Description Version 2)에서는, IPv2 에 대해 기술하고 있습니다.
  • 1978년 6월의 IEN 41(Internetwork Protocol Specification Version 4)은 IPv4라고 불리는 최초의 프로토콜을 기술하고 있습니다.IP 헤더는, 현재의 IPv4 헤더와는 다릅니다.
  • 1978년 6월호 IEN 44(최신 헤더 형식)에서는, IPv4 의 다른 버전에 대해 설명하고 있습니다.또, 현재의 IPv4 헤더와는 다른 헤더를 사용하고 있습니다.
  • 1978년 9월 날짜의 IEN 54(Internetwork Protocol Specification Version 4)는 IPv4에 대한 첫 번째 설명으로, 이는 다음과 같이 표준화될 것입니다. RFC760.

사용 중인 인터넷 계층에서 지배적인 인터넷 워킹 프로토콜은 IPv4입니다; 숫자 4는 모든 IP 데이터그램에서 전송되는 프로토콜 버전을 나타냅니다.IPv4 는, RFC 791(1981)에 기술되어 있습니다.

버전 5는 [5]채택되지 않은 실험적인 스트리밍 프로토콜인 Internet Stream Protocol에 의해 사용되었습니다.

IPv4 의 후계자는 IPv6 입니다.IPv6는 TP/IX(RFC 1475), PIP(RFC 1621) 및 TUBA(더 큰 주소를 가진 TCP 및 UDP, RFC 1347)와 같은 다양한 프로토콜 모델이 제안된 수년간의 실험과 대화상자의 결과였습니다.버전 4와의 가장 큰 차이점은 주소의 크기입니다.IPv4는 주소 지정에 32비트를 사용하여 c.3억(4.3×109) 주소를 생성하는 반면 IPv6는 128비트 주소를 사용하여 ca.3×1038 주소를 제공합니다.IPv6의 도입은 늦어지고 있지만, 2021년 9월 현재, 세계 대부분의 나라에서 [6]IPv6의 도입이 현저하고, Google 트래픽의 35% 이상이 IPv6 [7]접속을 통해 전송되고 있습니다.

IPv6 로의 새로운 프로토콜의 할당은,[8] IPv6 가 이전에 사용되지 않았던 것을 실사할 때까지 불확실했습니다.7(IP/TX), 8 및 9(이력)와 같은 다른 인터넷 계층 프로토콜에는 버전 [9]번호가 할당되어 있습니다.특히 1994년 4월 1일, IETF는 IPv9에 [10]관한 만우절 농담을 발행했다.IPv9는 TUBA라고 [11]불리는 대체 제안 주소 공간 확장에도 사용되었습니다.2004년 중국의 "IPv9" 프로토콜 제안은 이 모든 것과 관련이 없는 것으로 보이며 IETF의 승인을 받지 않았습니다.

신뢰성.

인터넷 프로토콜 스위트의 설계는 CYCLADES 프로젝트에서 채택된 개념인 엔드엔드 원칙을 준수합니다.엔드 투 엔드의 원리에 따르면 네트워크인프라스트럭처는 본질적으로 단일 네트워크 요소 또는 전송 매체에서 신뢰할 수 없는 것으로 간주되며 링크 및 노드의 가용성에 있어서는 동적입니다.네트워크 상태를 추적하거나 유지하는 중앙 모니터링 또는 성능 측정 기능은 없습니다.네트워크의 복잡성을 줄이기 위해 네트워크의 인텔리전스는 의도적으로 엔드 [12]노드에 배치됩니다.

이 설계의 결과로, 인터넷 프로토콜은 best effort 전달만 제공하며 그 서비스는 신뢰할 수 없는 것으로 특징지어진다.네트워크 아키텍처 용어로, 이것은 연결 지향 통신과는 대조적으로 연결 없는 프로토콜입니다.데이터 파손, 패킷 손실, 중복 등 다양한 장애 상태가 발생할 수 있습니다.라우팅은 동적이기 때문에 모든 패킷은 독립적으로 처리됩니다.또, 네트워크는 이전의 패킷의 패스에 근거해 스테이트를 유지하지 않기 때문에, 다른 패킷이 다른 패스를 개입시켜 같은 행선지에 라우팅 되어, 수신자에게 순서가 어긋나는 전달이 발생하는 일이 있습니다.

네트워크 내의 모든 장애 상태는 참여하는 엔드 노드에 의해 검출 및 보정되어야 합니다.인터넷 프로토콜 모음의 상위 계층 프로토콜은 안정성 문제를 해결하는 역할을 합니다.예를 들어, 호스트는 네트워크 데이터를 버퍼링하여 데이터가 애플리케이션에 전달되기 전에 올바른 순서를 지정할 수 있습니다.

IPv4 는, IP 패킷의 헤더에 에러가 없는 것을 보증하는 세이프가드를 제공합니다.라우팅 노드는 헤더 체크섬테스트에 실패한 패킷을 폐기합니다.Internet Control Message Protocol(ICMP)은 오류 알림을 제공하지만 라우팅 노드는 어느 엔드 노드에도 오류를 알릴 필요가 없습니다.한편, 현재의 링크층 테크놀로지는 충분한 에러 검출을 제공하는 것을 [13][14]전제로 하고 있기 때문에, IPv6 는 헤더 체크섬 없이 동작합니다.

링크 용량 및 기능

인터넷의 동적 특성 및 구성요소의 다양성은 특정 경로가 실제로 요청된 데이터 전송을 수행할 수 있는지 또는 수행할 수 있는지를 보장하지 않습니다.기술적 제약사항 중 하나는 특정 링크에서 가능한 데이터 패킷의 크기입니다.로컬 링크의 Maximum Transmission Unit(MTU; 최대 전송 유닛) 사이즈를 조사하는 설비가 있어, [15]행선지까지의 패스 전체에 패스 MTU Discovery 를 사용할 수 있습니다.

IPv4 인터넷 워킹레이어는, 링크 MTU 를 넘으면, 데이터 그램을 자동적으로 작은 단위로 분할해 송신합니다.IP 는,[16] 수신한 fragment의 순서가 올바르지 않은 순서를 지정합니다.IPv6 네트워크는 네트워크 요소에서 플래그멘테이션을 수행하지 않지만 경로 [17]MTU를 초과하지 않으려면 엔드 호스트와 상위 계층 프로토콜이 필요합니다.

TCP(Transmission Control Protocol)는 세그먼트사이즈를 MTU보다 작게 조정하는 프로토콜의 예입니다.User Datagram Protocol(UDP)과 ICMP는 MTU 사이즈를 무시하기 때문에 IP는 큰 크기의 데이터그램을 [18]fragment화해야 합니다.

보안.

ARPANET의 설계 단계와 초기 인터넷에서는 공공 국제 네트워크의 보안 측면과 요구를 충분히 예상할 수 없었다.그 결과, 많은 인터넷 프로토콜은 네트워크 공격과 이후 보안 평가에 의해 강조되는 취약성을 보였다.2008년에는 철저한 보안 평가와 문제의 완화를 제안했다.[19]IETF는 더 [20]많은 연구를 추구해왔다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ OECD (2014-11-06). "The Economics of Transition to Internet Protocol version 6 (IPv6)". OECD Digital Economy Papers. doi:10.1787/5jxt46d07bhc-en. {{cite journal}}:Cite 저널 요구 사항 journal=(도움말)
  2. ^ Charles M. Kozierok, The TCP/IP Guide
  3. ^ "IP Technologies and Migration — EITC". www.eitc.org. Retrieved 2020-12-04.
  4. ^ Cerf, V.; Kahn, R. (1974). "A Protocol for Packet Network Intercommunication" (PDF). IEEE Transactions on Communications. 22 (5): 637–648. doi:10.1109/TCOM.1974.1092259. ISSN 1558-0857. The authors wish to thank a number of colleagues for helpful comments during early discussions of international network protocols, especially R. Metcalfe, R. Scantlebury, D. Walden, and H. Zimmerman; D. Davies and L. Pouzin who constructively commented on the fragmentation and accounting issues; and S. Crocker who commented on the creation and destruction of associations.
  5. ^ a b Stephen Coty (2011-02-11). "Where is IPv1, 2, 3,and 5?". Archived from the original on 2020-08-02. Retrieved 2020-03-25.
  6. ^ "IPv6 Adoption in 2021". RIPE Labs. Retrieved 2021-09-20.
  7. ^ "IPv6 – Google". www.google.com. Retrieved 2021-09-20.
  8. ^ Mulligan, Geoff. "It was almost IPv7". O'Reilly. O'Reilly Media. Archived from the original on 5 July 2015. Retrieved 4 July 2015.
  9. ^ "Version Numbers". www.iana.org. Retrieved 2019-07-25.
  10. ^ RFC 1606: IP 버전9의 사용 이력1994년 4월 1일
  11. ^ Ross Callon (June 1992). TCP and UDP with Bigger Addresses (TUBA), A Simple Proposal for Internet Addressing and Routing. doi:10.17487/RFC1347. RFC 1347.
  12. ^ "internet protocols". hfhr.pl. Retrieved 2020-12-04.
  13. ^ RFC 1726 섹션 6.2
  14. ^ RFC 2460
  15. ^ Rishabh, Anand (2012). Wireless Communication. S. Chand Publishing. ISBN 978-81-219-4055-9.
  16. ^ 시아안, 카란짓TCP/IP 내부, New Riders Publishing, 1997.ISBN 1-56205-714-6
  17. ^ Bill Cerveny (2011-07-25). "IPv6 Fragmentation". Arbor Networks. Retrieved 2016-09-10.
  18. ^ Parker, Don (2 November 2010). "Basic Journey of a Packet". symantec.com. Symantec. Retrieved 4 May 2014.
  19. ^ Fernando Gont (July 2008), Security Assessment of the Internet Protocol (PDF), CPNI, archived from the original (PDF) on 2010-02-11
  20. ^ F. Gont (July 2011). Security Assessment of the Internet Protocol version 4. doi:10.17487/RFC6274. RFC 6274.

외부 링크