주요 인터넷 프로토콜 스택. 네트워크 프로토콜 및 표준. 핵심 네트워크 아키텍처

프로토콜 스택

프로토콜 스택은 다양한 수준에서 계층적으로 구성된 네트워크 프로토콜 세트로, 네트워크에서 노드의 상호 작용을 구성하고 보장하는 데 충분합니다. 현재 네트워크는 수많은 통신 프로토콜 스택을 사용합니다. 가장 널리 사용되는 스택은 TCP/IP, IPX/SPX, NetBIOS/SMB, Novell NetWare, DECnet, XNS, SNA 및 OSI입니다. SNA를 제외한 모든 스택은 하위 수준(물리적 및 데이터 링크)에서 잘 표준화된 동일한 프로토콜인 Ethemet, Token Ring, FDDI 및 기타 일부를 사용하므로 모든 네트워크에서 동일한 장비를 사용할 수 있습니다. 하지만 상위 레벨 x 모든 스택은 자체 프로토콜로 작동합니다. 이러한 프로토콜은 OSI 모델에서 권장하는 계층화를 따르지 않는 경우가 많습니다. 특히, 세션 및 프리젠테이션 계층의 기능은 일반적으로 애플리케이션 계층과 결합됩니다. 이러한 불일치는 다음과 같은 사실로 인해 발생합니다. OSI 모델이미 존재하고 실제로 사용되는 스택의 일반화 결과로 나타났으며 그 반대의 경우는 아닙니다.

스택에 포함된 모든 프로토콜은 한 제조업체에서 개발했습니다. 즉, 최대한 빠르고 효율적으로 작동할 수 있습니다.

중요한 점네트워크 장비, 특히 네트워크 어댑터의 기능에는 프로토콜 바인딩이 있습니다. 이를 통해 하나의 네트워크 어댑터를 서비스할 때 다양한 프로토콜 스택을 사용할 수 있습니다. 예를 들어 TCP/IP와 IPX/SPX 스택을 동시에 사용할 수 있습니다. 첫 번째 스택을 사용하여 수신자와 연결을 설정하려고 할 때 갑자기 오류가 발생하면 다음 스택의 프로토콜을 사용하도록 자동으로 전환됩니다. 이 경우 중요한 점은 바인딩 순서입니다. 이는 서로 다른 스택의 하나 또는 다른 프로토콜의 사용에 분명히 영향을 미치기 때문입니다.

컴퓨터에 설치된 네트워크 어댑터 수에 관계없이 바인딩은 "일대다" 또는 "다대일"로 수행될 수 있습니다. 즉, 하나의 프로토콜 스택이 여러 어댑터에 동시에 연결되거나 여러 스택이 하나의 어댑터에 연결될 수 있습니다. .

NetWare는 네트워크에 연결된 클라이언트 컴퓨터와 상호 작용하기 위해 이 시스템에서 사용되는 네트워크 운영 체제이자 네트워크 프로토콜 세트입니다. 시스템의 네트워크 프로토콜은 XNS 프로토콜 스택을 기반으로 합니다. NetWare는 현재 TCP/IP 및 IPX/SPX 프로토콜을 지원합니다. Novell NetWare는 범용 운영 체제에 비해 효율성이 뛰어나 80년대와 90년대에 인기를 끌었습니다. 이것은 이제 구식 기술이 되었습니다.

XNS(Xerox Network Services Internet Transport Protocol) 프로토콜 스택은 이더넷 네트워크를 통해 데이터를 전송하기 위해 Xerox에서 개발되었습니다. 5개의 레벨이 포함되어 있습니다.

레벨 1 - 전송 매체 - OSI 모델에서 물리적 및 데이터 링크 계층의 기능을 구현합니다.

* 장치와 네트워크 간의 데이터 교환을 관리합니다.

* 동일한 네트워크에 있는 장치 간에 데이터를 라우팅합니다.

레이어 2 - 인터네트워크 - OSI 모델의 네트워크 레이어에 해당합니다.

* 서로 다른 네트워크에 위치한 장치 간의 데이터 교환을 관리합니다(IEEE 모델 측면에서 데이터그램 서비스 제공).

*는 데이터가 네트워크를 통해 흐르는 방식을 설명합니다.

계층 3 - 전송 - OSI 모델의 전송 계층에 해당합니다.

* 데이터 소스와 대상 간의 엔드투엔드 통신을 제공합니다.

수준 4 - 제어 - OSI 모델의 세션 및 대표 수준에 해당합니다.

* 데이터 표시를 제어합니다.

* 장치 리소스에 대한 제어를 관리합니다.

레벨 5 - 애플리케이션 - OSI 모델의 가장 높은 레벨에 해당합니다.

* 애플리케이션 작업을 위한 데이터 처리 기능을 제공합니다.

TCP/IP(전송 제어 프로토콜/인터넷 프로토콜) 프로토콜 스택은 오늘날 가장 일반적이고 기능적입니다. 모든 규모의 로컬 네트워크에서 작동합니다. 이 스택은 기본 스택입니다. 글로벌 네트워크인터넷. 스택 지원은 운영 체제가 설치된 컴퓨터에서 구현되었습니다. 유닉스 시스템. 결과적으로 TCP/IP 프로토콜의 인기가 높아졌습니다. TCP/IP 프로토콜 스택에는 다양한 수준에서 작동하는 꽤 많은 프로토콜이 포함되어 있지만 TCP와 IP라는 두 가지 프로토콜 덕분에 그 이름이 붙여졌습니다.

TCP(Transmission Control Protocol)는 TCP/IP 프로토콜 스택을 사용하여 네트워크에서 데이터 전송을 제어하도록 설계된 전송 프로토콜입니다. IP(인터넷 프로토콜)는 TCP 또는 UDP와 같은 전송 프로토콜 중 하나를 사용하여 복합 네트워크를 통해 데이터를 전달하도록 설계된 네트워크 계층 프로토콜입니다.

TCP/IP 스택의 하위 레벨은 표준 데이터 전송 프로토콜을 사용하므로 모든 프로토콜을 사용하는 네트워크에서 사용할 수 있습니다. 네트워크 기술그리고 모든 운영 체제가 설치된 컴퓨터에서.

TCP/IP 프로토콜은 원래 글로벌 네트워크에서 사용하기 위해 개발되었으므로 매우 유연합니다. 특히 패킷을 조각화하는 기능 덕분에 데이터는 통신 채널의 품질에도 불구하고 어떤 경우에도 수신자에게 도달합니다. 또한 IP 프로토콜 덕분에 이기종 네트워크 세그먼트 간의 데이터 전송이 가능해졌습니다.

TCP/IP 프로토콜의 단점은 네트워크 관리가 복잡하다는 것입니다. 예, 정상적인 기능네트워크에는 DNS, DHCP 등과 같은 추가 서버가 필요하며 운영을 유지하는 데 대부분의 시간이 걸립니다. 시스템 관리자. Limoncelli T., Hogan K., Cheylap S. - 시스템 및 네트워크 관리. 2판 2009년. 944с

IPX/SPX(Internetwork Packet Exchange/Sequenced Packet Exchange) 프로토콜 스택은 Novell이 개발하고 소유하고 있습니다. 이는 최근까지 서버 운영 체제 중 선두 자리를 차지했던 Novell NetWare 운영 체제의 요구에 맞게 개발되었습니다.

IPX 및 SPX 프로토콜은 각각 ISO/OSI 모델의 네트워크 및 전송 계층에서 작동하므로 서로를 완벽하게 보완합니다.

IPX 프로토콜은 네트워크 라우팅 정보를 사용하는 데이터그램을 사용하여 데이터를 전송할 수 있습니다. 그러나 찾은 경로를 따라 데이터를 전송하려면 먼저 보낸 사람과 받는 사람 사이에 연결이 설정되어야 합니다. 이것이 SPX 프로토콜이나 IPX와 함께 작동하는 다른 전송 프로토콜이 수행하는 작업입니다.

불행하게도 IPX/SPX 프로토콜 스택은 초기에 소규모 네트워크에 서비스를 제공하도록 설계되었으므로 대규모 네트워크에서의 사용은 효과적이지 않습니다. 저속 통신 회선에서 브로드캐스팅을 과도하게 사용하는 것은 허용되지 않습니다.

물리적 및 데이터 링크 계층에서 OSI 스택은 이더넷, 토큰 링, FDDI 프로토콜은 물론 LLC, X.25 및 ISDN 프로토콜을 지원합니다. 즉, 스택 외부에서 개발된 모든 인기 있는 하위 계층 프로토콜을 사용합니다. , 대부분의 다른 스택과 마찬가지로. 네트워크 계층에는 상대적으로 거의 사용되지 않는 CONP(연결 지향 네트워크 프로토콜)와 CLNP(연결 없는 네트워크 프로토콜)가 포함됩니다. OSI 스택의 라우팅 프로토콜은 최종 시스템과 중간 시스템 사이의 ES-IS(End System - Intermediate System)와 중간 시스템 사이의 IS-IS(Intermediate System - Intermediate System)입니다. OSI 스택의 전송 계층은 연결 지향 네트워크 서비스와 비연결 네트워크 서비스 간의 차이를 숨겨 사용자가 기본 네트워크 계층에 관계없이 원하는 서비스 품질을 받을 수 있도록 합니다. 이를 제공하기 위해 전송 계층에서는 사용자가 원하는 서비스 품질을 지정하도록 요구합니다. 응용 프로그램 계층 서비스는 파일 전송, 터미널 에뮬레이션, 디렉터리 서비스 및 메일을 제공합니다. 이 중에서 가장 널리 사용되는 것은 디렉터리 서비스(X.500 표준), 전자 메일(X.400), 가상 터미널 프로토콜(VTP), 파일 전송, 액세스 및 관리(FTAM) 프로토콜, 전달 및 작업 관리 프로토콜(JTM)입니다. .

IBM과 Microsoft가 각각 개발한 상당히 인기 있는 프로토콜 스택으로, 이들 회사의 제품에 사용됩니다. TCP/IP와 마찬가지로 이더넷, 토큰 링 등과 같은 표준 프로토콜은 NetBIOS/SMB 스택의 물리적 및 데이터 링크 수준에서 작동하므로 모든 활성 네트워크 장비와 함께 사용할 수 있습니다. 상위 수준에서는 NetBIOS(Network Basic 입출력 시스템) 및 SMB(Server Message Block) 프로토콜이 작동합니다.

NetBIOS 프로토콜은 지난 세기 80년대 중반에 개발되었지만 곧 보다 기능적인 NetBEUI(NetBIOS 확장 사용자 인터페이스) 프로토콜로 대체되었습니다. 이 프로토콜은 200대 이하의 컴퓨터로 구성된 네트워크에서 매우 효율적인 정보 교환을 가능하게 합니다.

컴퓨터 간에 데이터를 교환하려면 컴퓨터가 네트워크에 연결될 때 컴퓨터에 동적으로 할당되는 논리적 이름이 사용됩니다. 이 경우 이름 테이블은 네트워크의 각 컴퓨터에 배포됩니다. 또한 그룹 이름 작업을 지원하므로 한 번에 여러 수신자에게 데이터를 전송할 수 있습니다.

NetBEUI 프로토콜의 주요 장점은 속도와 매우 낮은 리소스 요구 사항입니다. 단일 세그먼트로 구성된 소규모 네트워크에서 빠른 데이터 교환을 구성해야 하는 경우 이에 대한 더 좋은 프로토콜은 없습니다. 게다가 메시지를 전달하기 위해 연결 설정필수 요구 사항은 아닙니다. 연결이 없는 경우 프로토콜은 메시지에 수신자와 발신자의 주소가 포함되어 한 컴퓨터에서 다른 컴퓨터로 이동하는 "도로로 이동"하는 데이터그램 방법을 사용합니다.

그러나 NetBEUI에는 중요한 단점도 있습니다. 즉, 패킷 라우팅 개념이 전혀 없기 때문에 복잡한 복합 네트워크에서 사용하는 것은 의미가 없습니다. Pyatibratov A.P., Gudyno L.P., Kirichenko A.A. 컴퓨터, 네트워크 및 통신 시스템 모스크바 2009. 292초

SMB(서버 메시지 블록) 프로토콜의 경우 세션, 프레젠테이션 및 애플리케이션 수준의 세 가지 최고 수준에서 네트워크 작업을 구성하는 데 사용됩니다. 이를 사용하면 파일, 프린터 및 기타 네트워크 리소스에 대한 액세스가 가능해집니다. 이 프로토콜은 여러 번 개선되어(세 가지 버전이 출시됨) Microsoft Vista 및 Windows 7과 같은 최신 운영 체제에서도 사용할 수 있습니다. SMB 프로토콜은 보편적이며 거의 모든 전송 프로토콜과 함께 작동할 수 있습니다. , TCP/IP, SPX 등.

DECnet(Digital Equipment Corporation net) 프로토콜 스택에는 7개의 레이어가 포함되어 있습니다. 용어의 차이에도 불구하고 DECnet 계층은 OSI 모델 계층과 매우 유사합니다. DECnet은 DEC가 개발한 네트워크 아키텍처의 DNA(Digital Network Architecture) 개념을 구현하며, 이에 따라 서로 다른 운영 체제에서 작동하는 이기종 컴퓨팅 시스템(서로 다른 클래스의 컴퓨터)을 지리적으로 분산된 정보 및 컴퓨팅 네트워크로 결합할 수 있습니다.

IBM의 SNA(System Network Architecture) 프로토콜은 대형 컴퓨터와의 원격 통신을 위해 설계되었으며 7개 계층으로 구성됩니다. SNA는 호스트 시스템 개념을 기반으로 하며 IBM 메인프레임에 대한 원격 터미널 액세스를 제공합니다. SNA의 주요 특징은 각 터미널이 호스트 컴퓨터의 모든 응용 프로그램에 액세스할 수 있다는 것입니다. 시스템 네트워크 아키텍처는 호스트 컴퓨터의 VTAM(Virtual Telecommunication Access Method)을 기반으로 구현됩니다. VTAM은 모든 통신 링크와 터미널을 관리하며 각 터미널은 모든 응용 프로그램에 액세스할 수 있습니다.

이 기사에서는 TCP/IP 모델의 기본 사항을 다룰 것입니다. 이해를 돕기 위해 주요 프로토콜과 서비스를 설명합니다. 가장 중요한 것은 시간을 들여 각 사항을 단계별로 이해하려고 노력하는 것입니다. 그것들은 모두 서로 연결되어 있으며, 하나를 이해하지 못하면 다른 하나도 이해하기 어려울 것입니다. 여기에 포함된 정보는 매우 피상적이므로 이 기사는 쉽게 "모형을 위한 TCP/IP 프로토콜 스택"이라고 부를 수 있습니다. 그러나 여기에 있는 많은 것들은 언뜻 보기에 이해하기 어렵지 않습니다.

TCP/IP

TCP/IP 스택은 네트워크에서 데이터 전송을 위한 네트워크 모델로, 장치가 상호 작용하는 순서를 결정합니다. 데이터는 데이터 링크 계층으로 들어가고 위의 각 계층에서 차례로 처리됩니다. 스택은 데이터 처리 및 수신 원리를 설명하는 추상화로 표현됩니다.

TCP/IP 네트워크 프로토콜 스택에는 4가지 수준이 있습니다.

  1. 채널(링크).
  2. 네트워크(인터넷).
  3. 수송.
  4. 애플리케이션.

애플리케이션 레이어

애플리케이션 계층은 애플리케이션과 프로토콜 스택의 다른 계층 간에 상호 작용하는 기능을 제공하고, 들어오는 정보를 분석하여 소프트웨어에 적합한 형식으로 변환합니다. 사용자와 가장 가깝고 직접 상호작용합니다.

  • HTTP;
  • SMTP;

각 프로토콜은 데이터 작업에 대한 자체 순서와 원칙을 정의합니다.

HTTP(HyperText Transfer Protocol)는 데이터 전송을 위해 설계되었습니다. 예를 들어 웹 페이지의 기초로 사용되는 HTML 형식의 문서를 보냅니다. 단순화된 방식으로 작업 계획은 "클라이언트-서버"로 표시됩니다. 클라이언트가 요청을 보내고, 서버는 이를 수락하고, 적절하게 처리하고 최종 결과를 반환합니다.

네트워크를 통해 파일을 전송하기 위한 표준 역할을 합니다. 클라이언트는 특정 파일에 대한 요청을 보내고, 서버는 데이터베이스에서 이 파일을 검색하여 성공적으로 발견되면 응답으로 보냅니다.

전송에 사용 이메일. SMTP 작업에는 세 가지 순차적 단계가 포함됩니다.

  1. 보낸 사람의 주소를 결정합니다. 이는 편지를 반송하는 데 필요합니다.
  2. 수신자 정의. 여러 수신자를 지정할 때 이 단계를 여러 번 반복할 수 있습니다.
  3. 메시지 내용을 확인하고 전송합니다. 메시지 유형에 대한 데이터는 서비스 정보로 전송됩니다. 서버가 패킷을 수락할 준비가 되었음을 확인하면 트랜잭션 자체가 완료됩니다.

머리글

헤더에는 서비스 데이터가 포함되어 있습니다. 이는 특정 수준에만 사용된다는 점을 이해하는 것이 중요합니다. 이는 패킷이 수신자에게 전송되자마자 동일한 모델에 따라 역순으로 처리된다는 의미입니다. 포함된 헤더는 특정 방식으로만 처리할 수 있는 특수 정보를 전달합니다.

예를 들어 전송 계층에 중첩된 헤더는 반대편의 전송 계층에서만 처리할 수 있습니다. 다른 사람들은 그것을 단순히 무시할 것입니다.

전송 계층

전송 계층에서는 수신된 정보가 내용에 관계없이 단일 단위로 처리됩니다. 수신된 메시지는 여러 세그먼트로 나누어 헤더가 추가되고 전체가 다운스트림으로 전송됩니다.

데이터 전송 프로토콜:

가장 일반적인 프로토콜입니다. 보장된 데이터 전송을 담당합니다. 패키지를 보낼 때 통제됩니다. 체크섬, 거래 과정. 이는 정보가 조건에 관계없이 "안전하고 건전하게" 도착한다는 것을 의미합니다.

UDP(사용자 데이터그램 프로토콜)는 두 번째로 널리 사용되는 프로토콜입니다. 또한 데이터 전송을 담당합니다. 그 특징은 단순함에 있습니다. 패킷은 특별한 연결을 만들지 않고 간단히 전송됩니다.

TCP 또는 UDP?

이러한 각 프로토콜에는 고유한 범위가 있습니다. 작품의 특성에 따라 논리적으로 결정됩니다.

UDP의 가장 큰 장점은 전송 속도입니다. TCP는 검사가 많은 복잡한 프로토콜인 반면, UDP는 더 단순화되어 더 빠른 것으로 보입니다.

단점은 단순성에 있습니다. 검사가 부족하여 데이터 무결성이 보장되지 않습니다. 따라서 정보는 단순히 전송되며 모든 확인 및 유사한 조작은 애플리케이션에 남아 있습니다.

예를 들어 UDP는 비디오를 보는 데 사용됩니다. 비디오 파일의 경우 소수의 세그먼트 손실은 중요하지 않지만 로딩 속도가 가장 중요한 요소입니다.

단, 비밀번호나 세부정보를 보내야 하는 경우 은행 카드그렇다면 TCP를 사용해야 할 필요성은 분명합니다. 가장 작은 데이터 조각이라도 손실되면 치명적인 결과를 초래할 수 있습니다. 이 경우 속도는 안전만큼 중요하지 않습니다.

네트워크 계층

네트워크 계층은 수신된 정보로부터 패킷을 구성하고 헤더를 추가합니다. 데이터에서 가장 중요한 부분은 발신자와 수신자의 IP 및 MAC 주소입니다.

IP 주소(인터넷 프로토콜 주소) - 장치의 논리적 주소입니다. 네트워크상의 장치 위치에 대한 정보가 포함되어 있습니다. 예시 항목: .

MAC 주소(미디어 액세스 제어 주소) - 장치의 물리적 주소입니다. 식별에 사용됩니다. 제조단계에서 네트워크 장비에 배정됩니다. 6바이트 숫자로 표시됩니다. 예를 들어: .

네트워크 계층은 다음을 담당합니다.

  • 배송 경로 결정.
  • 네트워크 간 패킷 전송.
  • 고유한 주소 할당.

라우터는 네트워크 계층 장치입니다. 수신된 데이터를 기반으로 컴퓨터와 서버 사이에 길을 열어줍니다.

이 수준에서 가장 널리 사용되는 프로토콜은 IP입니다.

IP(인터넷 프로토콜)는 네트워크 주소 지정을 위해 설계된 인터넷 프로토콜입니다. 패킷이 교환되는 경로를 구축하는 데 사용됩니다. 무결성을 확인하고 확인할 수 있는 수단이 없습니다. 전달 보장을 제공하기 위해 IP를 전송 프로토콜로 사용하는 TCP가 사용됩니다. 이 트랜잭션의 원리를 이해하면 TCP/IP 프로토콜 스택이 작동하는 방식의 기초가 많이 설명됩니다.

IP 주소 유형

네트워크에는 두 가지 유형의 IP 주소가 사용됩니다.

  1. 공공의.
  2. 사적인.

퍼블릭(Public)은 인터넷에서 사용됩니다. 주요 규칙은 절대적인 고유성입니다. 그 사용 예로는 라우터가 있는데, 각 라우터는 인터넷과 상호 작용하기 위한 자체 IP 주소를 가지고 있습니다. 이 주소를 공개라고 합니다.

개인(Private)은 인터넷에서는 사용되지 않습니다. 글로벌 네트워크에서 이러한 주소는 고유하지 않습니다. 예 - 로컬 네트워크. 각 장치에는 특정 네트워크 내에서 고유한 IP 주소가 할당됩니다.

인터넷과의 상호 작용은 위에서 언급한 것처럼 자체 공용 IP 주소가 있는 라우터를 통해 수행됩니다. 따라서 라우터에 연결된 모든 컴퓨터는 하나의 공용 IP 주소 이름으로 인터넷에 나타납니다.

IPv4

인터넷 프로토콜의 가장 일반적인 버전입니다. IPv6보다 우선합니다. 기록 형식은 점으로 구분된 4개의 8비트 숫자입니다. 서브넷 마스크는 분수 기호로 표시됩니다. 주소 길이는 32비트입니다. 대부분의 경우, 우리 얘기 중이야 IP 주소는 IPv4를 의미합니다.

녹음 형식: .

IPv6

이 버전은 문제를 해결하기 위한 것입니다. 이전 버전. 주소 길이는 128비트입니다.

IPv6이 해결하는 주요 문제는 IPv4 주소의 고갈입니다. 전제 조건은 이미 80년대 초반에 나타나기 시작했습니다. 이 문제가 이미 2007~2009년에 심각한 단계에 이르렀음에도 불구하고 IPv6 구현은 매우 느리게 추진력을 얻고 있습니다.

IPv6의 가장 큰 장점은 더 빠른 인터넷 연결입니다. 이는 이 버전의 프로토콜에는 주소 변환이 필요하지 않기 때문입니다. 단순 라우팅이 수행됩니다. 이는 비용이 저렴하므로 IPv4보다 인터넷 리소스에 대한 액세스가 더 빠르게 제공됩니다.

예시 항목: .

IPv6 주소에는 세 가지 유형이 있습니다.

  1. 유니캐스트.
  2. 애니캐스트.
  3. 멀티캐스트.

유니캐스트는 IPv6 유니캐스트의 한 유형입니다. 전송되면 패킷은 해당 주소에 위치한 인터페이스에만 도달합니다.

애니캐스트는 IPv6 멀티캐스트 주소를 나타냅니다. 전송된 패킷은 가장 가까운 네트워크 인터페이스로 이동합니다. 라우터에서만 사용됩니다.

멀티캐스트는 멀티캐스트입니다. 이는 전송된 패킷이 멀티캐스트 그룹에 있는 모든 인터페이스에 도달한다는 것을 의미합니다. 모든 사람에게 방송되는 방송과 달리 멀티캐스트는 특정 그룹에게만 방송됩니다.

서브넷 마스크

서브넷 마스크는 IP 주소에서 서브넷과 호스트 번호를 결정합니다.

예를 들어 IP 주소에는 마스크가 있습니다. 이 경우 녹음 형식은 다음과 같습니다. 숫자 "24"는 마스크의 비트 수입니다. 8비트는 1옥텟과 같으며 바이트라고도 합니다.

보다 구체적으로 서브넷 마스크를 이진수 체계로 표현하면 다음과 같다. 4개의 옥텟이 있고 항목은 "1"과 "0"으로 구성됩니다. 단위 수를 더하면 총 "24"가 됩니다. 다행히도 하나의 옥텟에는 8개의 값이 있기 때문에 하나씩 셀 필요는 없습니다. 그 중 3개가 1로 채워져 있는 것을 확인하고 더하면 "24"가 됩니다.

서브넷 마스크에 대해 구체적으로 말하면 이진 표현에서는 한 옥텟에 1 또는 0이 있습니다. 이 경우 시퀀스는 1이 있는 바이트가 먼저 나오고 그 다음에는 0이 오는 순서입니다.

작은 예를 살펴보겠습니다. IP 주소와 서브넷 마스크가 있습니다. 우리는 다음을 세고 적습니다: . 이제 마스크를 IP 주소와 일치시킵니다. 모든 값이 1(255)인 마스크 옥텟은 IP 주소의 해당 옥텟을 변경하지 않고 그대로 둡니다. 값이 0이면 IP 주소의 옥텟도 0이 됩니다. 따라서 서브넷 주소 값으로 우리는 .

서브넷 및 호스트

서브넷은 논리적 분리를 담당합니다. 기본적으로 이들은 동일한 로컬 네트워크를 사용하는 장치입니다. IP 주소 범위에 따라 결정됩니다.

호스트는 네트워크 인터페이스의 주소입니다( 네트워크 카드). 마스크를 사용하여 IP 주소에서 확인됩니다. 예를 들어: . 처음 세 옥텟이 서브넷이므로 . 이것은 호스트 번호입니다.

호스트 주소의 범위는 0부터 255까지입니다. 번호가 "0"인 호스트는 실제로 서브넷 자체의 주소입니다. 그리고 호스트 번호 '255'는 방송사입니다.

어드레싱

TCP/IP 프로토콜 스택의 주소 지정에는 세 가지 유형의 주소가 사용됩니다.

  1. 현지의.
  2. 회로망.
  3. 도메인 이름.

MAC 주소를 로컬이라고 합니다. 이더넷과 같은 로컬 네트워크 기술의 주소 지정에 사용됩니다. TCP/IP의 맥락에서 "로컬"이라는 단어는 서브넷 내에서만 작동한다는 의미입니다.

TCP/IP 프로토콜 스택의 네트워크 주소는 IP 주소입니다. 파일을 보낼 때 수신자의 주소는 헤더에서 읽혀집니다. 도움을 받아 라우터는 호스트 번호와 서브넷을 학습하고 이 정보를 기반으로 최종 노드에 대한 경로를 생성합니다.

도메인 이름은 사람이 읽을 수 있는 인터넷 웹사이트 주소입니다. 인터넷상의 웹 서버는 공인 IP 주소를 통해 접속할 수 있습니다. 컴퓨터에서는 성공적으로 처리되지만 사람에게는 너무 불편한 것 같습니다. 이러한 복잡함을 피하기 위해 "도메인"이라는 영역으로 구성된 도메인 이름이 사용됩니다. 이들은 최상위 수준에서 최하위 수준까지 엄격한 계층 구조로 배열되어 있습니다.

첫 번째 수준 도메인은 다음을 나타냅니다. 특정 정보. 일반(.org, .net)은 엄격한 경계로 제한되지 않습니다. 반대 상황은 로컬 상황(.us, .ru)입니다. 일반적으로 현지화되어 있습니다.

하위 수준 도메인은 그 밖의 모든 것입니다. 크기에는 제한이 없고 값의 개수에도 제한이 없습니다.

예를 들어, "www.test.quiz.sg"는 올바른 도메인 이름입니다. 여기서 "sg"는 로컬 첫 번째(최상위) 수준 도메인이고, "quiz.sg"는 두 번째 수준 도메인인 "test.quiz.sg"입니다. 세 번째 수준 도메인입니다. 도메인 이름은 DNS 이름이라고도 합니다.

사이의 통신을 설정합니다 도메인 이름및 공용 IP 주소. 브라우저에 도메인 이름을 입력하면 DNS가 해당 IP 주소를 감지하여 장치에 보고합니다. 장치는 이를 처리하여 웹페이지로 반환합니다.

데이터링크 계층

링크 계층에서는 장치와 물리적 전송 매체 간의 관계가 결정되고 헤더가 추가됩니다. 데이터를 인코딩하고 물리적 매체를 통해 전송할 프레임을 준비하는 일을 담당합니다. 네트워크 스위치는 이 수준에서 작동합니다.

가장 일반적인 프로토콜:

  1. 이더넷.
  2. WLAN.

이더넷은 가장 일반적인 유선 LAN 기술입니다.

WLAN - 근거리 통신망 기반 무선 기술. 장치는 물리적 케이블 연결 없이 상호 작용합니다. 가장 일반적인 방법의 예로는 Wi-Fi가 있습니다.

정적 IPv4 주소를 사용하도록 TCP/IP 구성

고정 IPv4 주소는 장치 설정에서 직접 할당되거나 네트워크에 연결할 때 자동으로 할당되며 영구적입니다.

영구 IPv4 주소를 사용하도록 TCP/IP 프로토콜 스택을 구성하려면 콘솔에 ipconfig/all 명령을 입력하고 다음 데이터를 찾으십시오.

동적 IPv4 주소를 사용하도록 TCP/IP 구성

동적 IPv4 주소는 한동안 사용되었다가 임대된 후 변경됩니다. 네트워크에 연결되면 자동으로 장치에 할당됩니다.

비영구 IP 주소를 사용하도록 TCP/IP 프로토콜 스택을 구성하려면 원하는 연결의 속성으로 이동하여 IPv4 속성을 열고 표시된 대로 상자를 선택해야 합니다.

데이터 전송 방법

데이터는 세 가지 방식으로 물리적 매체를 통해 전송됩니다.

  • 단순.
  • 반이중.
  • 전이중.

Simplex는 단방향 통신입니다. 전송은 한 장치에서만 수행되고 다른 장치는 신호를 수신합니다. 정보는 한 방향으로만 전송된다고 말할 수 있습니다.

단순 통신의 예:

  • 텔레비전 방송.
  • GPS 위성의 신호.

반이중은 양방향 통신입니다. 그러나 한 번에 하나의 노드만 신호를 전송할 수 있습니다. 이러한 유형의 통신에서는 두 장치가 동시에 동일한 채널을 사용할 수 없습니다. 완전한 것은 물리적으로 불가능하거나 충돌로 이어질 수 있습니다. 전송매체를 두고 갈등을 빚고 있다고 한다. 이 모드는 동축 케이블을 사용할 때 사용됩니다.

반이중 통신의 예로는 하나의 주파수에서 워키토키를 통한 통신이 있습니다.

전이중 - 완전 양방향 통신. 장치는 동시에 신호를 브로드캐스트하고 수신할 수 있습니다. 전송 매체를 놓고 충돌하지 않습니다. 이 모드는 다음을 사용할 때 적용됩니다. 빠른 기술이더넷 및 연선 연결.

이중 통신의 예로는 모바일 네트워크를 통한 전화 통신이 있습니다.

TCP/IP 대 OSI

OSI 모델은 데이터 전송 원칙을 정의합니다. TCP/IP 프로토콜 스택의 계층은 이 모델에 직접적으로 대응됩니다. 4계층 TCP/IP와 달리 7계층이 있습니다.

  1. 물리적.
  2. 채널(데이터 링크).
  3. 회로망.
  4. 수송.
  5. 세션.
  6. 프레젠테이션.
  7. 애플리케이션.

안에 이 순간이 모델을 너무 깊이 파고들 필요는 없지만 최소한 피상적인 이해는 필요합니다.

TCP/IP 모델의 애플리케이션 계층은 상위 3개 OSI 계층에 해당합니다. 이들은 모두 애플리케이션과 함께 작동하므로 이 조합의 논리를 명확하게 볼 수 있습니다. TCP/IP 프로토콜 스택의 일반화된 구조는 추상화를 더 쉽게 이해할 수 있게 해줍니다.

전송 계층은 변경되지 않습니다. 동일한 기능을 수행합니다.

네트워크 계층도 변경되지 않습니다. 정확히 동일한 작업을 수행합니다.

TCP/IP의 데이터 링크 계층은 마지막 두 OSI 계층에 해당합니다. 데이터 링크 계층은 물리적 매체를 통해 데이터를 전송하기 위한 프로토콜을 설정합니다.

물리적인 것은 그 자체를 나타냅니다 물리적 연결- 전기 신호, 커넥터 등 TCP/IP 프로토콜 스택에서는 이 두 계층이 모두 물리적 매체를 다루기 때문에 하나로 결합하기로 결정되었습니다.

인터넷 - 글로벌 시스템 TCP/IP 프로토콜 스택을 통해 서로 상호 작용하는 상호 연결된 컴퓨터, 로컬 및 기타 네트워크입니다(그림 1).

그림 1 – 인터넷의 일반화된 다이어그램

인터넷은 연결된 모든 컴퓨터 간의 정보 교환을 보장합니다. 컴퓨터 유형과 컴퓨터에서 사용하는 운영 체제는 중요하지 않습니다.

인터넷의 주요 셀은 근거리 통신망(LAN – Local Area network)입니다. 로컬 네트워크가 인터넷에 직접 연결되어 있으면 이 네트워크의 각 워크스테이션도 여기에 연결할 수 있습니다. 인터넷에 독립적으로 연결된 컴퓨터도 있습니다. 그들은 호출됩니다 호스트 컴퓨터(호스트 – 소유자).

네트워크에 연결된 각 컴퓨터에는 고유한 주소가 있으며, 가입자는 전 세계 어디에서나 이를 찾을 수 있습니다.

인터넷의 중요한 특징은 다양한 네트워크를 연결하는 동안 어떠한 계층 구조도 생성하지 않는다는 것입니다. 네트워크에 연결된 모든 컴퓨터는 동일한 권리를 갖습니다.

하나 더 구별되는 특징인터넷은 신뢰성이 높습니다. 일부 컴퓨터와 통신 회선에 장애가 발생하더라도 네트워크는 계속 작동합니다. 이러한 신뢰성은 인터넷에 단일 제어 센터가 없다는 사실로 인해 보장됩니다. 정보를 전송하는 방법은 항상 여러 가지가 있으므로 일부 통신 회선이나 컴퓨터에 오류가 발생하면 다른 통신 회선을 통해 메시지가 전송될 수 있습니다.

인터넷은 상업적 조직이 아니며 누구의 소유도 아닙니다. 전 세계 거의 모든 국가에 인터넷 사용자가 있습니다.

사용자는 인터넷 서비스 제공자라는 특수 조직의 컴퓨터를 통해 네트워크에 연결합니다. 인터넷 연결은 영구적일 수도 있고 일시적일 수도 있습니다. 인터넷 서비스 제공업체에는 사용자를 연결하기 위한 많은 회선과 나머지 인터넷에 연결하기 위한 고속 회선이 있습니다. 종종 소규모 공급업체는 대규모 공급업체와 연결되고, 이는 다시 다른 공급업체와 연결됩니다.

가장 빠른 통신 회선으로 서로 연결된 조직은 네트워크의 핵심 부분 또는 Backbon 인터넷의 척추를 형성합니다. 공급자가 능선에 직접 연결된 경우 정보 전송 속도가 최대가 됩니다.

실제로 사용자와 인터넷 서비스 제공업체의 차이는 매우 임의적입니다. 자신의 컴퓨터나 로컬을 연결한 모든 사람 컴퓨터 네트워크인터넷에 접속하고 필요한 프로그램을 설치하면 다른 사용자에게 네트워크 연결 서비스를 제공할 수 있습니다. 원칙적으로 단일 사용자는 고속 회선을 통해 인터넷 백본에 직접 연결할 수 있습니다.

일반적으로 인터넷은 네트워크에 연결된 두 컴퓨터 간에 정보를 교환합니다. 인터넷에 연결된 컴퓨터를 흔히 인터넷 노드 또는 사이트라고 합니다. , 장소, 위치로 번역되는 영어 단어 사이트에서. 인터넷 서비스 제공업체에 설치된 호스트는 사용자에게 인터넷 접속을 제공합니다. 정보 제공을 전문으로 하는 노드도 있습니다. 예를 들어, 많은 회사에서는 제품과 서비스에 대한 정보를 배포하는 사이트를 인터넷에 만듭니다.

정보는 어떻게 전송되나요? 인터넷에는 두 가지 주요 개념이 사용됩니다. 주소와 프로토콜. 인터넷에 연결된 모든 컴퓨터에는 고유한 주소가 있습니다. 우편 주소가 개인의 위치를 ​​고유하게 식별하는 것처럼 인터넷 주소는 네트워크에서 컴퓨터의 위치를 ​​고유하게 식별합니다. 인터넷 주소는 가장 중요한 부분이며 아래에서 자세히 설명합니다.

인터넷을 사용하여 한 컴퓨터에서 다른 컴퓨터로 전송된 데이터는 패킷으로 분할됩니다. 그들은 구성하는 컴퓨터 사이를 이동합니다. 네트워크 노드.동일한 메시지의 패킷은 다른 경로를 사용할 수 있습니다. 각 패키지에는 메시지가 전달되는 컴퓨터에 문서가 올바르게 조립되었는지 확인하는 자체 표시가 있습니다.

프로토콜이란 무엇입니까? 앞서 말했듯이 프로토콜은 상호 작용의 규칙입니다. 예를 들어, 외교 의전에는 외국 손님을 맞이할 때나 리셉션을 열 때 무엇을 해야 하는지 규정되어 있습니다. 네트워크 프로토콜은 네트워크에 연결된 컴퓨터의 작동 규칙도 규정합니다. 표준 프로토콜은 서로 다른 컴퓨터가 "동일한 언어를 사용"하도록 만듭니다. 이를 통해 서로 다른 운영 체제를 실행하는 다양한 유형의 컴퓨터를 인터넷에 연결할 수 있습니다.

인터넷의 기본 프로토콜은 TCP/IP 프로토콜 스택입니다. 먼저, TCP/IP의 기술적 이해에 있어서 다음 사항을 명확히 할 필요가 있다. - 이는 하나의 네트워크 프로토콜이 아니라 네트워크 모델의 서로 다른 수준에 있는 두 개의 프로토콜입니다. 프로토콜 스택). TCP 프로토콜 - 규약 운송 수준.그는 무엇을 통제 데이터 전송이 어떻게 발생하는지. IP 프로토콜 - 주소.그는 속한다 네트워크 수준그리고 결정한다 전송이 이루어지는 곳.

규약 TCP. TCP 프로토콜에 따르면 , 전송된 데이터는 작은 패킷으로 "절단"된 후 수신자의 컴퓨터에서 문서를 올바르게 조립하는 데 필요한 데이터가 포함되도록 각 패킷에 표시됩니다.

TCP 프로토콜의 본질을 이해하기 위해 두 참가자가 동시에 12개의 게임을 플레이하는 통신 체스 게임을 상상할 수 있습니다. 각 이동은 게임 번호와 이동 번호를 나타내는 별도의 카드에 기록됩니다. 이 경우 동일한 메일 채널을 통한 두 파트너 사이에는 최대 12개의 연결(파티당 하나)이 있습니다. 하나의 물리적 연결로 연결된 두 컴퓨터는 유사하게 동시에 여러 TCP 연결을 지원할 수 있습니다. 예를 들어, 두 개의 중간 네트워크 서버는 하나의 통신 회선을 통해 수많은 클라이언트로부터 양방향으로 동시에 많은 TCP 패킷을 서로에게 전송할 수 있습니다.

우리가 인터넷에서 일할 때 하나의 단일 전화선미국, 호주, 유럽의 서류를 동시에 접수할 수 있습니다. 각 문서의 패키지는 따로 접수되어 시간별로 분리되어 접수되면서 서로 다른 문서로 모아집니다.

규약 IP . 이제 주소 프로토콜인 IP(인터넷 프로토콜)를 살펴보겠습니다. 그 본질은 각 참가자가 월드 와이드 웹고유한 주소(IP 주소)가 있어야 합니다. 이것이 없으면 원하는 작업장에 TCP 패키지를 정확하게 전달하는 것에 대해 이야기할 수 없습니다. 이 주소는 매우 간단하게 표현됩니다(예: 195.38.46.11). 나중에 IP 주소의 구조를 더 자세히 살펴보겠습니다. TCP 패킷이 통과하는 각 컴퓨터는 가장 가까운 "이웃" 중 어느 것이 수신자에게 "가까워지도록" 패킷을 전달해야 하는지 이 4개의 숫자로부터 결정할 수 있도록 구성되어 있습니다. 한정된 전송 횟수의 결과로 TCP 패킷은 수신자에게 도달합니다.

"closer"라는 단어에 따옴표가 붙은 데에는 이유가 있습니다. 이 경우 평가되는 것은 지리적인 “근접성”이 아닙니다. 의사소통 조건과 처리량윤곽. 서로 다른 대륙에 있지만 고성능 우주 통신 회선으로 연결된 두 대의 컴퓨터는 단순한 전화선으로 연결된 이웃 마을의 컴퓨터 두 대보다 서로 '가까운' 것으로 간주됩니다. 무엇이 '더 가깝다'고, 무엇이 '더 멀다'고 하는 질문에 대한 해법을 다룬다. 특별한 수단 - 라우터.네트워크에서 라우터의 역할은 일반적으로 특수 컴퓨터에 의해 수행되지만, 특별 프로그램, 네트워크의 노드 서버에서 실행됩니다.

TCP/IP 프로토콜 스택

TCP/IP 프로토콜 스택- 인터넷을 포함한 네트워크에서 사용되는 네트워크 데이터 전송 프로토콜 세트입니다. TCP/IP라는 이름은 이 표준에서 처음으로 개발 및 설명된 TCP(전송 제어 프로토콜)와 IP(인터넷 프로토콜)라는 제품군의 가장 중요한 두 프로토콜에서 유래되었습니다.

프로토콜은 스택에서 서로 작동합니다. 스택, 스택) - 이는 상위 레벨에 위치한 프로토콜이 캡슐화 메커니즘을 사용하여 하위 프로토콜보다 "위에서" 작동함을 의미합니다. 예를 들어 TCP 프로토콜은 IP 프로토콜 위에서 실행됩니다.

TCP/IP 프로토콜 스택에는 다음 네 가지 계층이 포함됩니다.

  • 애플리케이션 계층
  • 전송 계층
  • 네트워크 계층(인터넷 계층),
  • 링크 레이어.

이러한 수준의 프로토콜은 완전히 구현됩니다. 기능성 OSI 모델(표 1). IP 네트워크의 모든 사용자 상호 작용은 TCP/IP 프로토콜 스택을 기반으로 구축됩니다. 스택은 물리적 데이터 전송 매체와 독립적입니다.

1 번 테이블– TCP/IP 프로토콜 스택과 OSI 참조 모델의 비교

애플리케이션 레이어

애플리케이션 계층은 대부분의 네트워크 애플리케이션이 작동하는 곳입니다.

이러한 프로그램에는 WWW용 HTTP, FTP(파일 전송), SMTP(이메일), SSH(원격 시스템에 대한 보안 연결), DNS(기호 이름을 IP 주소에 매핑) 등과 같은 자체 통신 프로토콜이 있습니다.

대부분의 경우 이러한 프로토콜은 TCP 또는 UDP 위에서 작동하며 특정 포트에 연결됩니다. 예를 들면 다음과 같습니다.

  • HTTP-TCP 포트 80 또는 8080,
  • TCP 포트 20(데이터 전송용) 및 21(제어 명령용)에 대한 FTP,
  • UDP(드물게 TCP) 포트 53에 대한 DNS 쿼리,

전송 계층

전송 계층 프로토콜은 보장되지 않은 메시지 전달 문제("메시지가 수신자에게 도달했습니까?")를 해결할 뿐만 아니라 올바른 데이터 도착 순서를 보장할 수 있습니다. TCP/IP 스택에서 전송 프로토콜은 데이터가 어떤 애플리케이션을 대상으로 하는지 결정합니다.

이 계층에서 논리적으로 표현되는 자동 라우팅 프로토콜(IP 위에서 실행되기 때문에)은 실제로 네트워크 계층 프로토콜의 일부입니다. 예를 들어 OSPF(IP ID 89)입니다.

TCP(IP ID 6) - "보장됨" 운송 메커니즘사전 설정된 연결을 통해 애플리케이션에 안정적인 데이터 스트림을 제공하고 수신된 데이터에 오류가 없다는 확신을 주고 손실 시 데이터를 다시 요청하며 데이터 중복을 제거합니다. TCP를 사용하면 네트워크의 로드를 조절할 수 있을 뿐만 아니라 장거리 전송 시 데이터 대기 시간을 줄일 수 있습니다. 또한 TCP는 수신된 데이터가 정확히 동일한 순서로 전송되었는지 확인합니다. 이것이 UDP와의 주요 차이점입니다.

UDP(IP ID 17) 비연결 데이터그램 전송 프로토콜입니다. 수신자에게 메시지가 전달되었는지 확인하는 것이 불가능하고 패킷이 혼합될 수 있다는 점에서 "신뢰할 수 없는" 전송 프로토콜이라고도 합니다. 보장된 데이터 전송이 필요한 애플리케이션은 TCP 프로토콜을 사용합니다.

UDP는 일반적으로 패킷 손실이 허용되고 재시도가 어렵거나 정당화되지 않는 비디오 스트리밍 및 컴퓨터 게임과 같은 애플리케이션 또는 연결 생성이 재전송보다 더 많은 리소스를 사용하는 시도 응답 애플리케이션(예: DNS 쿼리)에 사용됩니다.

TCP와 UDP는 모두 포트라는 번호를 사용하여 상위 계층 프로토콜을 식별합니다.

네트워크 계층

인터넷 계층은 원래 한 (하위)네트워크에서 다른 네트워크로 데이터를 전송하도록 설계되었습니다. 글로벌 네트워크 개념이 발전하면서 하위 수준 프로토콜에 관계없이 모든 네트워크에서 모든 네트워크로 전송할 수 있는 추가 기능과 원격 당사자로부터 데이터를 요청하는 기능이 추가되었습니다. ICMP 프로토콜(IP 연결의 진단 정보를 전송하는 데 사용됨) 및 IGMP(멀티캐스트 스트림을 관리하는 데 사용됨).

ICMP와 IGMP는 IP 위에 위치하여 다음 전송 계층으로 이동해야 하지만 기능적으로는 네트워크 계층 프로토콜이므로 OSI 모델에 맞지 않습니다.

IP 네트워크 프로토콜 패킷에는 패킷에서 데이터를 추출하는 데 사용할 다음 계층 프로토콜을 나타내는 코드가 포함될 수 있습니다. 이 번호는 고유합니다. IP 프로토콜 번호. ICMP와 IGMP는 각각 1과 2로 번호가 매겨져 있습니다.

데이터링크 계층

링크 계층은 데이터 패킷이 어떻게 전송되는지 설명합니다. 물리층, 포함 코딩(즉, 데이터 패킷의 시작과 끝을 결정하는 특수 비트 시퀀스) 예를 들어, 이더넷은 패킷 헤더 필드에 패킷이 목적지로 향하는 네트워크의 기계를 나타내는 표시를 포함합니다.

링크 계층 프로토콜의 예로는 이더넷, Wi-Fi, 프레임 릴레이, 토큰 링, ATM 등이 있습니다.

데이터 링크 계층은 때때로 LLC와 MAC의 2개 하위 계층으로 나뉩니다.

또한 데이터 링크 계층은 데이터 전송 매체(동축 케이블, 연선, 광섬유 또는 무선 채널 등), 이러한 매체의 물리적 특성 및 데이터 전송 원리(채널 분리, 변조, 신호 진폭, 신호 주파수, 전송 동기화 방법, 지연 응답 및 최대 거리).

캡슐화

캡슐화는 주소를 포함하여 높은 수준의 패킷(다른 프로토콜일 수 있음)을 동일한 프로토콜(낮은 수준)의 패킷으로 패키징하거나 중첩하는 것입니다.

예를 들어, 애플리케이션이 TCP를 사용하여 메시지를 보내야 하는 경우 다음과 같은 일련의 작업이 수행됩니다(그림 2).

그림 2 - 캡슐화 프로세스

  • 우선, 애플리케이션은 수신자에 대한 정보(네트워크 프로토콜, IP 주소, TCP 포트)를 나타내는 특수 데이터 구조를 작성합니다.
  • 수신자에 대한 정보와 함께 메시지, 길이 및 구조를 TCP 프로토콜 핸들러(전송 계층)로 전송합니다.
  • TCP 처리기는 메시지가 데이터이고 헤더에 수신자의 TCP 포트(및 기타 데이터)가 포함된 세그먼트를 생성합니다.
  • TCP 핸들러는 생성된 세그먼트를 IP 핸들러(네트워크 계층)에 전달합니다.
  • IP 핸들러는 TCP 전송 세그먼트를 데이터로 처리하고 헤더 앞에 헤더(특히 동일한 애플리케이션 데이터 구조에서 가져온 수신자의 IP 주소와 상위 프로토콜 번호를 포함함)를 붙입니다.
  • IP 핸들러는 수신된 패킷을 데이터 링크 계층으로 전송합니다. 데이터 링크 계층은 이 패킷을 다시 "원시" 데이터로 간주합니다.
  • 이전 핸들러와 유사한 링크 수준 핸들러는 헤더를 시작 부분에 추가하고(상위 수준 프로토콜 번호를 나타냄, 우리의 경우 0x0800(IP)임) 대부분의 경우 최종 체크섬을 추가합니다. 프레임을 형성하는 단계;
  • 그런 다음 수신된 프레임은 물리 계층으로 전송되며, 물리 계층은 비트를 전기 또는 광학 신호로 변환하여 전송 매체로 보냅니다.

수신 측에서는 데이터 압축을 풀고 애플리케이션에 제공하기 위해 캡슐화 해제라고 하는 역방향 프로세스(상향식)가 수행됩니다.

관련 정보:



2015-2020 lektsii.org -

도움을 받아 세션 계층당사자들 사이에 대화가 구성되고, 어느 당사자가 개시자인지, 어느 당사자가 활성 상태인지, 대화가 어떻게 완료되는지가 기록됩니다.

프리젠테이션 레이어 정보를 기록하거나 암호화하는 등 하위 수준에 정보를 제공하는 형태를 다룹니다.

애플리케이션 계층 동일한 작업(프로그램)을 구현하는 원격 노드 간에 교환되는 프로토콜 집합입니다.

일부 네트워크는 OSI 모델이 개발되기 훨씬 전에 나타났기 때문에 많은 시스템의 경우 OSI 모델에 대한 계층의 대응이 매우 조건적이라는 점에 유의해야 합니다.

1.3. 인터넷 프로토콜 스택

인터넷은 모든 유형의 정보를 소스에서 수신자에게 전송하도록 설계되었습니다. 다양한 네트워크 요소(그림 1.1)(단말 장치, 스위칭 장치 및 서버)가 정보 전송에 관여합니다. 노드 그룹은 스위칭 장치를 사용하여 로컬 네트워크로 통합되며, 로컬 네트워크는 게이트웨이(라우터)로 상호 연결됩니다. 스위칭 장치는 이더넷, 토큰 링, FDDI 등 다양한 기술을 사용합니다.

각 단말 장치(호스트)는 최고 수준에 위치한 네트워크 애플리케이션(특수 프로그램)의 형태로 존재하는 여러 정보 처리 프로세스(음성, 데이터, 텍스트...)를 동시에 서비스할 수 있습니다. 정보는 애플리케이션에서 하위 수준의 정보 처리 시설로 흐릅니다.

각 노드에서의 애플리케이션 전송은 서로 다른 계층에 의해 순차적으로 결정됩니다. 각 레벨은 자체 프로토콜을 사용하여 문제의 해당 부분을 해결하고 정보의 이중 전송을 보장합니다. 일련의 작업 전달이 프로토콜 스택을 형성합니다. 정보를 전송하는 과정에서 각 노드는 필요한 프로토콜 스택을 사용합니다. 그림에서. 1.3은 기본 프로토콜의 전체 스택을 보여줍니다. 네트워크 연결인터넷에서.

네트워크의 관점에서 노드는 정보의 소스와 수신자를 나타냅니다. 네 가지 하위 수준은 전송되는 정보 유형과 집합적으로 독립적입니다. 레이어 4와 통신하는 각 네트워크 애플리케이션은 고유한 포트 번호로 식별됩니다. 포트 값은 0에서 65535까지의 범위를 차지합니다. 이 범위에서 포트 번호 0-1023은 잘 알려진 네트워크 응용 프로그램에 할당되고 포트 번호 1024-49151은 특수 소프트웨어 개발자가 사용하며 포트 번호 49152-65535는 동적으로 사용됩니다. 통신 세션 동안 네트워크 애플리케이션 사용자에게 할당됩니다. 스택 포트 번호의 숫자 값이 제공됩니다.

전송(네 번째) 계층은 두 가지 통신 모드를 지원합니다.

– 연결 설정이 있는 경우와 연결 설정이 없는 경우. 각 모드는 프로토콜 번호(Protocol)로 식별됩니다. 인터넷 표준은 16진수 인코딩을 사용합니다. 첫 번째 모드는 프로토콜 코드 6(16진수 코드 - 0x06)을 갖는 TCP 모듈에 의해 사용되며 보장된 정보 전송에 사용됩니다. 이를 위해서는 전송된 각 패킷에 시퀀스 번호가 제공되며 이를 확인해야 합니다.

______________________________________________________________________________

수신자에게 올바른 수신에 대해 알려줍니다. 두 번째 모드는 수신자에게 정보 전달을 보장하지 않고 UDP 모듈에서 사용됩니다(전달 보장은 애플리케이션에서 제공됨). UDP 프로토콜의 코드는 17입니다(16진수 코드에서는 0x11).

적용된

대표

세션

DHCP(포트 = 67/68)

수송

프로토콜 = 0x0059

프로토콜 = 0x0002

프로토콜 = 0x0001

프로토콜 유형 = 0x0806

프로토콜 유형 = 0x0800

도관

도관

도관

물리적

도관

케이블, 이더넷 연선, 광섬유

물리적 케이블, 연선, 광섬유

물리적

케이블, 연선, 광섬유

물리적

케이블, 라디오, 광섬유

쌀. 1.3. 기본 인터넷 프로토콜 스택

______________________________________________________________________________

네트워크(세 번째) 계층은 네트워크 주소를 사용하여 네트워크(링크 계층 인터페이스) 간의 패킷 형태로 정보의 이동을 보장합니다. 레이어 3 프로토콜 계열은 프로토콜 유형(ARP - 유형 0x0806 또는 IP - 유형 0x0800)에 따라 기본 레이어로 식별됩니다. "프로토콜 - 네트워크 주소 - 포트 번호"의 조합을 소켓이라고 합니다. 한 쌍의 소켓(전송 및 수신)이 설정된 연결을 고유하게 결정합니다. 링크 계층에서 IP 모듈에 도착하는 각 패킷의 대상 주소를 분석하여 패킷이 다음에 전달되어야 하는 위치, 즉 자체 애플리케이션으로 전달되거나 네트워크를 통한 추가 전송을 위해 다른 인터페이스로 이동되어야 하는지를 이해합니다.

두 번째(링크) 수준은 이더넷, 토큰 링, FDDI 등 다양한 기술을 사용하여 로컬 네트워크에서 패킷을 처리합니다. 첫 번째 레벨은 바이너리 코드를 사용된 전송 매체(금속 케이블, 광섬유 통신 회선, 무선 채널)에 가장 적합한 선형 코드로 변환하는 것을 보장합니다.

섹션 1.3에 대한 질문

1. 데이터 링크 계층에서 오는 패킷을 처리하기 위한 네트워크 계층 기능을 정의하는 것은 무엇입니까?

답변. 프로토콜 유형: 0x0806 - ARP, 0x0800 - IP.

2. 네트워크 계층에서 오는 패킷을 처리하는 전송 계층의 수단을 결정하는 것은 무엇입니까?

답변. 프로토콜 번호: 0x0006 - TCP용, 0x0011 - UDP용.

3. 데이터그램 처리를 위한 네트워크 애플리케이션 유형은 어떻게 결정됩니까?

답변. 포트 번호.

4. 네트워크 전체 애플리케이션에 대한 포트 번호의 예를 제공합니다.

답변: 포트 80 – HTTP, 포트 23 – TELNET, 포트 53 – DNS.

1.4. 인터넷 액세스 프로토콜

인터넷에 액세스하기 위해 PPP(Point-to-Point Protocol)라는 일반 이름으로 다음과 같은 프로토콜 계열이 사용됩니다.

1. 호스트 네트워크 액세스 서버 섹션의 링크 계층에서 패킷 교환 매개변수를 조정하기 위한 LCP(링크 제어 프로토콜)(특히 패킷 크기 및 인증 프로토콜 유형 조정)

2. 사용자 적법성을 확립하기 위한 인증 프로토콜(구체적으로 CHAP(Challenge Handshake 인증 프로토콜) 사용)

3. 네트워크 교환 매개변수 구성(특히 할당)을 위한 네트워크 제어 프로토콜(IP 제어 프로토콜 - IPCP) IP 주소).

그 후 IP 프로토콜을 통해 정보 교환이 시작됩니다.

이러한 각 프로토콜은 모든 전송 매체를 사용할 수 있으므로 물리 계층에서 PPP를 캡슐화하는 방법에는 여러 가지가 있습니다. PPP를 지점 간 링크로 캡슐화하려면 다음과 유사한 절차를 따르세요.

HDLC.

HDLC(High-level Data Link Control Procedure)와 유사한 절차를 사용하는 프레임 교환에는 이중 프레임 교환이 포함됩니다. 전송된 각 프레임은 승인되어야 하며, 시간 초과 내에 승인이 없으면 송신기는 전송을 반복합니다. 프레임 구조는 그림 1에 나와 있습니다. 1.4. 프레임 필드의 전송 순서는 왼쪽에서 오른쪽입니다. 프레임 필드의 목적은 다음과 같습니다.

Yu.F.Kozhanov, Kolbanev 차세대 네트워크의 M.O 인터페이스 및 프로토콜

______________________________________________________________________________

쌀. 1.4. HDLC 프레임 필드 구조

전송된 각 프레임은 01111110(0x7e) 형식의 비트 구조를 갖는 "플래그" 조합으로 시작하고 끝나야 합니다. 동일한 플래그 조합을 한 프레임의 닫는 조합과 다음 프레임의 시작 조합으로 사용할 수 있습니다. 프레임 경계를 결정하려면 수신 측에서 "플래그" 조합을 감지해야 합니다. 코드 독립적인 정보 전송을 보장하려면 프레임의 후속 필드에서 서비스 문자와 일치하는 모든 조합(예: "플래그" 조합)을 제외해야 합니다.

안에 비동기 모드에서 모든 프레임 필드는 바이트 단위로 구성되며 각 바이트 앞에는 "시작" 비트가 오고 "중지" 비트로 끝납니다.

안에 동기 모드는 다음 중 하나를 사용합니다.바이트 삽입 또는 비트 삽입. 첫 번째 경우, 바이트 시퀀스 0x7e("플래그")는 프레임 필드에서 2바이트 시퀀스 0x7d 및 0x5e로, 0x7d는 0x7d 및 0x5d로, 0x03은 ​​0x7d 및 0x23으로 대체됩니다. 두 번째 경우에는 프레임의 모든 필드가 형성된 후 각 프레임의 내용에 대한 비트별 스캔이 "플래그" 조합 사이에서 수행되고 매 5개의 인접한 "1" 뒤에 "0" 비트가 삽입됩니다. "비트. 수신 시 프레임을 디코딩할 때 "플래그" 조합 사이에서 프레임 내용의 비트별 스캔이 수행되고 인접한 "1" 비트 5개마다 "0" 비트가 제거됩니다.

Address 필드는 11111111(0xff)의 상수값을 갖고, Control 필드는 00000011(0x03)의 상수값을 갖는다.

프로토콜 필드는 LCP 프로토콜의 경우 0xc021, CHAP 프로토콜의 경우 0xc223, IPCP의 경우 0x8021, IP 프로토콜의 경우 0x0021 값을 사용합니다.

정보 필드의 채우기는 프로토콜 유형에 따라 다르지만 길이는 4바이트 이상이어야 합니다.

전송 시 프레임 검사 시퀀스(FCS)는 a) 플래그 사이의 정보에 X16을 곱하고 b) 후속 나눗셈 2를 생성 다항식 X16 + X12 + X5 + 1로 곱할 때 결과는 다음과 같도록 구성됩니다. 상수 0xf0b8.

PSTN 가입자가 인터넷에 액세스하는 절차는 여러 단계로 구성됩니다. 첫 번째 단계에서는 LCP 프로토콜(프로토콜 = 0xc021)을 사용합니다.

다음 형식을 사용합니다(그림 1.5).

쌀. 1.5. LCP 프레임 형식

프로토콜 필드의 값은 0xc021입니다. 각 메시지는 고유한 코드(Code), 시퀀스 번호(ID) 및 길이(Length)로 특징지어집니다. 메시지 길이에는 코드에서 FCS까지의 모든 필드가 포함됩니다. 하나의 메시지에는 여러 매개변수가 포함될 수 있으며 각 매개변수는 매개변수 유형(Type)으로 특징지어집니다.

길이(Length)와 데이터(Date)입니다.

(Configure-Nak), 04 – 구성 거부(Configure-Reject), 05 – 연결 해제 요청(Terminate-Request), 06 – 연결 해제 확인(Terminate-Ack).

PSTN 가입자의 인터넷 액세스를 구성할 때 단말 장치(호스트), 네트워크 액세스 서버(NAS), 인증, 권한 부여 및 계정 서버(AAA) 간의 상호 작용에 대한 전체 다이어그램이 그림 1에 나와 있습니다. 1.6.

______________________________________________________________________________

그림 1.6에서 처음에 호스트는 LCP 프로토콜(프로토콜 = 0xc021)을 통해 MTU=300, PFC=7 매개변수로 연결을 요청했지만 NAS 액세스 서버(코드=02)와의 조정 결과로 나타났습니다. , 매개변수 MTU=200(MTU - 최대 크기패킷(바이트), 인증 프로토콜 – CHAP(Auth.prot=c223). NAS 액세스 서버에 의한 압축 헤더(PFC=7) 교환이 거부되었습니다(코드=04).

유형 = 3, IP 주소 = a.b.c.d, 마스크,

프로토콜 = 0xc021, 코드=04,

프로토콜 = 0xc021, 코드=01,

유형 = 1, MTU=300

프로토콜 = 0xc021, 코드=03,

유형 = 1, MTU=200

프로토콜 = 0xc021, 코드=01,

유형 = 1, MTU=200

프로토콜 = 0xc021, 코드=02,

유형 = 1, MTU=200

프로토콜 = 0xc021, 코드=01,

프로토콜 = 0xc021, 코드=02,

유형 = 3, Auth.prot=0xc223, 알고리즘=5

프로토콜 = 0xc223, 코드=01,

프로토콜 = 0xc223, 코드=02,

Prot=UDP, 코드=01,

이름=ABC, 값=W

인증 = 0, 속성 = 이름, Chall=V

Prot=UDP, 코드=02,

IP 주소=a.b.c.d , 마스크,

Prot=UDP, 코드=05, 데이터

프로토콜 = 0x0021, ...

프로토콜 =0x0021, ...

프로토콜 = 0xc021, 코드=05,

1994, DS]. 인증 절차의 핵심은 NAS가 호스트에 임의의 숫자 V를 보내고 호스트는 사용자가 호스트에서 컴퓨터에 입력한 이름과 비밀번호를 사용하여 이전에 알려진 기능으로 계산된 또 다른 숫자 W를 반환한다는 것입니다. 공급자로부터 구입한 인터넷 카드. 즉, W=f(V, 이름, 비밀번호)입니다. 공격자(해커)는 네트워크를 통해 전송되는 V, Name, W 값을 가로챌 수 있고, 함수 f를 계산하는 알고리즘을 알고 있다고 가정합니다. W 형성의 본질은 초기 요소(비트)가 난수 V는 공격자가 알지 못하는 비밀번호 요소와 다양한 방식으로 "혼합"되어 있습니다. 그런 다음 결과 암호문은 바이트 모듈로 2를 추가하는 등 압축됩니다. 이 변환을 다이제스트 함수 또는 해시 함수라고 하며 그 결과가 다이제스트입니다. 다이제스트를 생성하는 정확한 절차는 MD5 알고리즘에 의해 결정되며 이에 대해 설명되어 있습니다. RADIUS 프로토콜을 사용하는 NAS는 AAA 서버에서 W의 실제 값을 요청하여 Name 및 Challenge=V 값을 보냅니다. AAA 서버는 NAS로부터 수신한 V와 Name 값과 데이터베이스에 있는 비밀번호 Password를 기반으로 동일한 알고리즘을 사용하여 W를 계산하여 NAS로 보냅니다. NAS는 호스트와 AAA 서버로부터 수신한 두 W 값을 비교합니다. 일치하면 인증 성공에 대한 메시지가 호스트에 전송됩니다. 성공(코드=03)입니다.

세 번째 단계에서는 구성이 발생합니다. 네트워크 매개변수 IPCP 프로토콜(PPP IPC라고도 함, 프로토콜=0x8021)을 통해. 호스트는 NAS에 네트워크 IP 주소를 요청하고 NAS는 풀(범위)에서 호스트에 대한 IP 주소를 할당합니다(IP-주소=a.b.c.d).

또한 DNS 서버의 IP 주소(IP-address=e.f.g.h)를 보고합니다. RADIUS 프로토콜을 통한 NAS

충전 시작에 대한 알림(코드=04)을 AAA 서버에 보내고 확인(코드=05)을 받습니다.

4단계에서 사용자는 IP 프로토콜(프로토콜 = 0x0021)을 통해 인터넷과의 통신 세션을 시작합니다.

세션이 완료된 후(5단계) 사용자는 LCP 프로토콜(Code=05)을 통해 NAS에 연결 실패 메시지를 보내고, NAS는 이 메시지(Code=06)를 확인하고 충전 종료에 대한 알림을 보냅니다. AAA 서버로부터 확인을 받습니다. 모든 장치가 원래 상태로 돌아갑니다.

섹션 1.4에 대한 질문

1. PPP 프로토콜 계열의 구성과 목적을 설명합니다.

답변. LCP – 패킷 교환 매개변수를 협상하기 위해, CHAP – 사용자 적법성을 확립하기 위해, IPCP – IP 주소를 할당하기 위해.

2. PPP는 오류 감지 및 패킷의 순차적 전달을 제공합니까?

답변. 오류 감지 - 예, 순차적 전달 - 아니요, 이는 TCP 프로토콜에서 제공됩니다.

3. 사용자 인증 데이터는 어디에 저장되나요?

답변. 인터넷 지도와 AAA 서버에서.

4. NAS 서버에 연결하기 전에 사용자의 IP 주소를 확인할 수 있습니까?

대답: 아니요. 인증에 성공하면 NAS는 할당된 주소 범위에서 무료 IP 주소를 발급합니다.

5. 인터넷 연결 비용을 계산하는 데 어떤 방법이 사용됩니까? 답변: 일반적으로 구독료나 수신 수량에 대한 수수료가 있습니다.

소켓에서 장치 드라이버까지

프로토콜 소개

네트워킹에 대한 공식 소개에서는 OSI(Open Systems Interconnection) 모델을 언급하지만, 핵심 Linux 네트워킹 스택에 대한 소개에서는 인터넷 모델(그림 1 참조)로 알려진 4계층 모델을 사용합니다.

그림 1. 네트워크 스택의 인터넷 모델

스택의 맨 아래에는 데이터 링크 계층이 있습니다. 데이터링크 계층직렬 링크나 이더넷 장치와 같은 여러 미디어로 구성될 수 있는 물리 계층에 대한 액세스를 제공하는 장치 드라이버를 나타냅니다. 채널 위는 네트워크 계층, 패킷을 목적지로 보내는 역할을 담당합니다. 다음 레벨은 수송 P2P 통신(예: 호스트 내)을 담당합니다. 네트워크 계층은 호스트 간의 통신을 관리하고 전송 계층은 해당 호스트 내의 끝점 간의 통신을 관리합니다. 마지막으로 애플리케이션 계층, 이는 일반적으로 의미론적이며 이동된 데이터를 이해합니다. 예를 들어, HTTP(Hypertext Transfer Protocol)는 서버와 클라이언트 간에 웹 콘텐츠에 대한 요청과 응답을 이동합니다.

본질적으로 네트워크 스택의 계층은 더 알아보기 쉬운 이름으로 사용됩니다. 데이터 링크 계층에서는 가장 일반적인 고속 매체인 이더넷을 찾을 수 있습니다. 이전 링크 계층 프로토콜에는 SLIP(Serial Line Internet Protocol), CSLIP(Compressed SLIP) 및 PPP(Point-to-Point Protocol)와 같은 직렬 프로토콜이 포함됩니다. 가장 일반적인 네트워크 계층 프로토콜은 IP(인터넷 프로토콜)이지만 ICMP(인터넷 제어 메시지 프로토콜) 및 ARP(주소 확인 프로토콜)와 같이 다른 요구 사항을 충족하는 다른 프로토콜도 있습니다. 전송 계층에서는 TCP(전송 제어 프로토콜)와 UDP(사용자 데이터그램 프로토콜)가 있습니다. 마지막으로 애플리케이션 계층에는 표준 웹 프로토콜인 HTTP와 이메일 전송 프로토콜인 SMTP(Simple Mail Transfer Protocol)를 포함하여 우리에게 익숙한 많은 프로토콜이 포함되어 있습니다.

핵심 네트워크 아키텍처

이제 Linux 네트워킹 스택의 아키텍처로 이동하여 이것이 인터넷 모델을 구현하는 방법을 살펴보겠습니다. 그림 2는 Linux 네트워킹 스택의 상위 수준 보기를 보여줍니다. 상단에는 사용자 공간 수준이 있습니다. 애플리케이션 계층, 네트워크 스택의 사용자를 정의합니다. 아래는 물리적 장치, 네트워크(직렬 또는 이더넷과 같은 고속 네트워크)에 연결하는 기능을 제공합니다. 중앙에 있거나 커널 공간는 이 문서에서 중점적으로 다루는 네트워크 하위 시스템입니다. 네트워킹 스택의 백엔드를 통해 실행되는 것은 소스와 대상 간에 패킷 데이터를 이동하는 소켓 버퍼(sk_buffs)입니다. sk_buff의 구조를 간략하게 보여드리겠습니다.

그림 2. Linux 네트워킹 스택의 상위 수준 아키텍처

먼저 Linux 네트워킹 하위 시스템의 기본 요소에 대한 간략한 개요를 제공하고 다음 섹션에서 더 자세히 설명합니다. 상단(그림 2 참조)에는 시스템 호출 인터페이스라는 시스템이 있습니다. 이는 단순히 사용자 공간 응용 프로그램이 커널의 네트워킹 하위 시스템에 액세스하는 방법을 제공합니다. 다음에는 하위 전송 계층 프로토콜을 사용하는 일반적인 방법을 제공하는 프로토콜 불가지론 계층이 있습니다. 다음은 Linux에 내장된 프로토콜인 TCP, UDP 및 물론 IP를 포함하는 실제 프로토콜입니다. 다음은 사용 가능한 개별 장치 드라이버와 공통 인터페이스를 제공하는 또 다른 독립 계층이며, 마지막에는 해당 드라이버 자체가 이어집니다.

시스템 호출 인터페이스

시스템 호출 인터페이스는 두 가지 관점에서 설명할 수 있습니다. 사용자가 네트워크 호출을 하면 커널에 대한 시스템 호출을 통해 다중화됩니다. 이는 ./net/socket.c의 sys_socketcall에 대한 호출로 끝나고, 의도한 대상에 대한 호출을 역다중화합니다. 시스템 호출 인터페이스에 대한 또 다른 관점은 네트워크 I/O(입/출력)에 일반 파일 작업을 사용하는 것입니다. 예를 들어 일반적인 읽기 및 쓰기 작업은 네트워크 소켓(파일 설명자에서 일반 파일로 표시됨)에서 수행될 수 있습니다. 따라서 네트워킹에 특정한 작업(socket을 호출하여 소켓을 생성하고, connect를 호출하여 핸들과 연결하는 등)이 있는 반면, 네트워크 개체에 다음과 같이 적용되는 표준 파일 작업도 많이 있습니다. 그것들은 일반 파일이었습니다. 마지막으로 시스템 호출 인터페이스는 사용자 공간 응용 프로그램과 커널 간에 제어를 전송하는 수단을 제공합니다.

프로토콜에 구애받지 않는 인터페이스

소켓 계층은 다양한 프로토콜을 지원하는 표준 기능 세트를 제공하는 프로토콜에 구애받지 않는 인터페이스입니다. 이 계층은 일반적인 TCP 및 UDP 프로토콜뿐만 아니라 IP, 원시 이더넷 및 SCTP(스트림 제어 전송 프로토콜)와 같은 기타 전송 프로토콜도 지원합니다.

네트워크 스택을 통한 통신은 소켓을 통해 발생합니다. Linux의 소켓 구조는 linux/include/net/sock.h에 정의된 struct sock입니다. 이 대규모 구조에는 소켓이 사용하는 특정 프로토콜과 소켓에서 수행할 수 있는 작업을 포함하여 개별 소켓에 필요한 모든 상태가 포함되어 있습니다.

네트워크 하위 시스템은 해당 기능을 정의하는 특수 구조에서 사용 가능한 프로토콜을 알고 있습니다. 각 프로토콜에는 proto(linux/include/net/sock.h에 있음)라는 구조가 포함되어 있습니다. 이 구조는 소켓 계층에서 전송 계층까지 수행할 수 있는 개별 소켓 작업(예: 소켓 생성 방법, 소켓 연결 설정 방법, 소켓 닫는 방법 등)을 정의합니다.

네트워크 프로토콜

네트워크 프로토콜 섹션에서는 사용 가능한 개별 네트워크 프로토콜(예: TCP, UDP 등)을 정의합니다. 이는 linux/net/ipv4/af_inet.c의 inet_init 함수에서 하루의 시작 부분에 초기화됩니다(TCP와 UDP는 inet 계열 프로토콜에 속하므로). inet_init 함수는 proto_register 함수를 사용하는 각 내장 프로토콜을 등록합니다. 이 함수는 linux/net/core/sock.c에 정의되어 있으며 유효한 프로토콜 목록에 프로토콜을 추가하는 것 외에도 필요한 경우 하나 이상의 슬랩 캐시를 할당할 수 있습니다.

linux/net/ipv4/에 있는 tcp_ipv4.c, udp.c 및 raw.c 파일의 proto 구조를 통해 개별 프로토콜이 어떻게 자신을 식별하는지 확인할 수 있습니다. 이러한 각 프로토콜 구조는 해당 작업에 내장된 프로토콜을 할당하는 inetsw_array에 유형 및 프로토콜로 매핑됩니다. inetsw_array의 구조와 해당 연결은 그림 3에 나와 있습니다. 이 배열의 각 프로토콜은 inet_init에서 inet_register_protosw를 호출하여 inetsw에서 하루 시작 시 초기화됩니다. inet_init 함수는 또한 ARP, ICMP, IP 모듈, TCP 및 UDP 모듈과 같은 다양한 inet 모듈을 초기화합니다.

그림 3. 인터넷 프로토콜 배열 구조

소켓과 프로토콜 상관관계

소켓이 생성될 때 유형과 프로토콜을 정의합니다(예: my_sock = 소켓(AF_INET, SOCK_STREAM, 0) ). AF_INET은 SOCK_STREAM으로 정의된 스트림 소켓을 사용하여 인터넷 주소 계열을 지정합니다(여기 inetsw_array에 표시됨).

소켓에 대한 데이터 이동은 소켓 버퍼(sk_buff)라는 기본 구조를 사용하여 발생합니다. sk_buff에는 프로토콜 스택의 여러 계층에 걸쳐 있는 패킷 데이터와 상태 데이터가 포함되어 있습니다. 보내거나 받은 모든 패킷은 sk_buff에 표시됩니다. sk_buff의 구조는 linux/include/linux/skbuff.h에 정의되어 있으며 그림 4에 나와 있습니다.

그림 4. 소켓 버퍼와 다른 구조에 대한 연결

보시다시피, 여러 sk_buff 구조는 이 연결의함께 연결될 수 있습니다. 각각은 패킷이 전송되거나 수신되는 장치(net_device)의 구조를 식별합니다. 각 패킷은 sk_buff에 표시되므로 패킷 헤더는 MAC(Media Access Control) 헤더에 대한 포인터 집합(th, iph 및 mac)으로 편리하게 정의됩니다. sk_buff 구조는 소켓 데이터 구성의 핵심이므로 숫자 지원 기능 중: sk_buff 큐를 생성, 삭제, 복제 및 관리하는 기능이 있습니다.

소켓 버퍼는 지정된 소켓에 대해 서로 통신하도록 설계되었으며 프로토콜 헤더, 타임스탬프(패킷이 전송되거나 수신된 시기) 및 해당 장치에 대한 참조를 포함하여 많은 양의 정보를 포함합니다.

장치에 구애받지 않는 인터페이스

프로토콜 계층 아래에는 프로토콜을 다양한 기능을 가진 다양한 물리적 장치 드라이버에 연결하는 또 다른 독립 인터페이스 계층이 있습니다. 이 계층은 낮은 수준의 네트워크 장치가 높은 수준의 프로토콜 스택과 상호 작용할 수 있도록 사용하는 표준 기능 세트를 제공합니다.

우선, 장치 드라이버는 Register_netdevice 또는 unregister_netdevice 를 호출하여 커널에 스스로 등록 및 등록 취소할 수 있습니다. 호출 명령은 먼저 net_device 구조를 채운 다음 등록을 위해 전달합니다. 커널은 초기화 함수(정의된 경우)를 호출하고 몇 가지 상태 확인을 수행하고 sysfs 항목을 생성한 다음 장치 목록에 새 장치를 추가합니다( 연결리스트커널에서 활성화된 장치). net_device 구조는 linux/include/linux/netdevice.h에서 찾을 수 있습니다. 일부 기능은 linux/net/core/dev.c에 있습니다.

dev_queue_xmit 함수는 프로토콜 계층에서 장치로 sk_buff를 보내는 데 사용됩니다. 적절한 장치 드라이버(net_device 또는 sk_buff의 sk_buff->dev 포인터에 의해 정의된 장치)에 의한 가능한 전달을 위해 sk_buff를 대기열에 넣습니다. dev 구조에는 sk_buff 전송을 초기화하기 위한 드라이버 함수를 저장하는 hard_start_xmit라는 메서드가 포함되어 있습니다.

패킷 수신은 전통적으로 netif_rx 를 사용하여 수행됩니다. 하위 수준 장치 드라이버가 (할당된 sk_buff 내부에 포함된) 패킷을 수신하면 sk_buff는 netif_rx 호출을 사용하여 네트워크 계층으로 올라갑니다. 그런 다음 이 함수는 netif_rx_schedule을 사용하여 추가 처리를 위해 sk_buff를 더 높은 프로토콜 수준으로 대기열에 넣습니다. dev_queue_xmit 및 netif_rx 함수는 linux/net/core/dev.c에 있습니다.

마지막으로 장치 독립적(dev) 계층과 인터페이스하기 위해 새로운 응용 프로그램 인터페이스(NAPI)가 커널에 도입되었습니다. 일부 드라이버는 이를 사용하지만 대다수는 여전히 이전 프레임 획득 인터페이스(7개 중 6개)를 사용하고 있습니다. NAPI가 줄 수 있는 더 나은 성능들어오는 모든 프레임의 중단을 피하면서 과부하가 발생하는 경우.

장치 드라이버

네트워킹 스택의 맨 아래에는 물리적 네트워크 장치를 제어하는 ​​장치 드라이버가 있습니다. 이 수준의 장치 예로는 SLIP 드라이버가 있습니다. 직렬 인터페이스또는 이더넷 장치를 통한 이더넷 드라이버.

초기화 중에 장치 드라이버는 net_device 구조에 공간을 할당한 다음 필요한 루틴으로 초기화합니다. 그 중 dev->hard_start_xmit라는 것 중 하나는 최상위 계층이 전송을 위해 sk_buff를 대기열에 추가하는 방법을 지정합니다. sk_buff 로 전달됩니다. 이 기능의 작동 방식은 하드웨어에 따라 다르지만 일반적으로 sk_buff에 설명된 패킷은 "하드웨어 링" 또는 "큐"라고 불리는 곳으로 이동됩니다. 장치 독립적 계층에 설명된 대로 프레임 도착은 NAPI 호환 네트워크 드라이버에 대한 netif_rx 또는 netif_receive_skb 인터페이스를 사용합니다. NAPI 드라이버는 기본 하드웨어의 기능에 제한을 둡니다. 자세한 내용은 섹션을 참조하세요.

장치 드라이버가 dev 구조에서 인터페이스를 구성한 후,register_netdevice에 대한 호출을 통해 해당 인터페이스를 사용할 수 있게 됩니다. linux/drivers/net에서 다음과 관련된 드라이버를 찾을 수 있습니다. 네트워크 장치.

계속하세요

Linux 소스 코드는 네트워크 장치 드라이버를 포함하여 다양한 유형의 장치에 대한 드라이버 설계를 배울 수 있는 좋은 방법입니다. 사용 가능한 커널 API의 설계 및 사용에 차이가 있지만 각 API는 지침이나 새 드라이버의 시작점으로 유용합니다. 네트워크 스택의 나머지 코드는 표준이며 새 프로토콜이 필요할 때까지 사용됩니다. 그러나 그런 경우에도 TCP(스트리밍 프로토콜의 경우) 또는 UDP(메시지 전달 프로토콜의 경우) 구현은 새로운 개발을 시작하는 데 유용한 모델 역할을 합니다.

이 기사에서는 TCP/IP 모델의 기본 사항을 다룰 것입니다. 이해를 돕기 위해 주요 프로토콜과 서비스를 설명합니다. 가장 중요한 것은 시간을 들여 각 사항을 단계별로 이해하려고 노력하는 것입니다. 그것들은 모두 서로 연결되어 있으며, 하나를 이해하지 못하면 다른 하나도 이해하기 어려울 것입니다. 여기에 포함된 정보는 매우 피상적이므로 이 기사는 쉽게 "모형을 위한 TCP/IP 프로토콜 스택"이라고 부를 수 있습니다. 그러나 여기에 있는 많은 것들은 언뜻 보기에 이해하기 어렵지 않습니다.

TCP/IP

TCP/IP 스택은 네트워크에서 데이터 전송을 위한 네트워크 모델로, 장치가 상호 작용하는 순서를 결정합니다. 데이터는 데이터 링크 계층으로 들어가고 위의 각 계층에서 차례로 처리됩니다. 스택은 데이터 처리 및 수신 원리를 설명하는 추상화로 표현됩니다.

TCP/IP 네트워크 프로토콜 스택에는 4가지 수준이 있습니다.

  1. 채널(링크).
  2. 네트워크(인터넷).
  3. 수송.
  4. 애플리케이션.

애플리케이션 레이어

애플리케이션 계층은 애플리케이션과 프로토콜 스택의 다른 계층 간에 상호 작용하는 기능을 제공하고, 들어오는 정보를 분석하여 소프트웨어에 적합한 형식으로 변환합니다. 사용자와 가장 가깝고 직접 상호작용합니다.

  • HTTP;
  • SMTP;

각 프로토콜은 데이터 작업에 대한 자체 순서와 원칙을 정의합니다.

HTTP(HyperText Transfer Protocol)는 데이터 전송을 위해 설계되었습니다. 예를 들어 웹 페이지의 기초로 사용되는 HTML 형식의 문서를 보냅니다. 단순화된 방식으로 작업 계획은 "클라이언트-서버"로 표시됩니다. 클라이언트가 요청을 보내고, 서버는 이를 수락하고, 적절하게 처리하고 최종 결과를 반환합니다.

네트워크를 통해 파일을 전송하기 위한 표준 역할을 합니다. 클라이언트는 특정 파일에 대한 요청을 보내고, 서버는 데이터베이스에서 이 파일을 검색하여 성공적으로 발견되면 응답으로 보냅니다.

이메일을 전송하는데 사용됩니다. SMTP 작업에는 세 가지 순차적 단계가 포함됩니다.

  1. 보낸 사람의 주소를 결정합니다. 이는 편지를 반송하는 데 필요합니다.
  2. 수신자 정의. 여러 수신자를 지정할 때 이 단계를 여러 번 반복할 수 있습니다.
  3. 메시지 내용을 확인하고 전송합니다. 메시지 유형에 대한 데이터는 서비스 정보로 전송됩니다. 서버가 패킷을 수락할 준비가 되었음을 확인하면 트랜잭션 자체가 완료됩니다.

머리글

헤더에는 서비스 데이터가 포함되어 있습니다. 이는 특정 수준에만 사용된다는 점을 이해하는 것이 중요합니다. 이는 패킷이 수신자에게 전송되자마자 동일한 모델에 따라 역순으로 처리된다는 의미입니다. 포함된 헤더는 특정 방식으로만 처리할 수 있는 특수 정보를 전달합니다.

예를 들어 전송 계층에 중첩된 헤더는 반대편의 전송 계층에서만 처리할 수 있습니다. 다른 사람들은 그것을 단순히 무시할 것입니다.

전송 계층

전송 계층에서는 수신된 정보가 내용에 관계없이 단일 단위로 처리됩니다. 수신된 메시지는 여러 세그먼트로 나누어 헤더가 추가되고 전체가 다운스트림으로 전송됩니다.

데이터 전송 프로토콜:

가장 일반적인 프로토콜입니다. 보장된 데이터 전송을 담당합니다. 패킷을 보낼 때 체크섬, 즉 트랜잭션 프로세스가 제어됩니다. 이는 정보가 조건에 관계없이 "안전하고 건전하게" 도착한다는 것을 의미합니다.

UDP(사용자 데이터그램 프로토콜)는 두 번째로 널리 사용되는 프로토콜입니다. 또한 데이터 전송을 담당합니다. 그 특징은 단순함에 있습니다. 패킷은 특별한 연결을 만들지 않고 간단히 전송됩니다.

TCP 또는 UDP?

이러한 각 프로토콜에는 고유한 범위가 있습니다. 작품의 특성에 따라 논리적으로 결정됩니다.

UDP의 가장 큰 장점은 전송 속도입니다. TCP는 검사가 많은 복잡한 프로토콜인 반면, UDP는 더 단순화되어 더 빠른 것으로 보입니다.

단점은 단순성에 있습니다. 검사가 부족하여 데이터 무결성이 보장되지 않습니다. 따라서 정보는 단순히 전송되며 모든 확인 및 유사한 조작은 애플리케이션에 남아 있습니다.

예를 들어 UDP는 비디오를 보는 데 사용됩니다. 비디오 파일의 경우 소수의 세그먼트 손실은 중요하지 않지만 로딩 속도가 가장 중요한 요소입니다.

그러나 비밀번호나 은행 카드 정보를 보내야 한다면 TCP를 사용해야 하는 것은 분명합니다. 가장 작은 데이터 조각이라도 손실되면 치명적인 결과를 초래할 수 있습니다. 이 경우 속도는 안전만큼 중요하지 않습니다.

네트워크 계층

네트워크 계층은 수신된 정보로부터 패킷을 구성하고 헤더를 추가합니다. 데이터에서 가장 중요한 부분은 발신자와 수신자의 IP 및 MAC 주소입니다.

IP 주소(인터넷 프로토콜 주소) - 장치의 논리적 주소입니다. 네트워크상의 장치 위치에 대한 정보가 포함되어 있습니다. 예시 항목: .

MAC 주소(미디어 액세스 제어 주소) - 장치의 물리적 주소입니다. 식별에 사용됩니다. 제조단계에서 네트워크 장비에 배정됩니다. 6바이트 숫자로 표시됩니다. 예를 들어: .

네트워크 계층은 다음을 담당합니다.

  • 배송 경로 결정.
  • 네트워크 간 패킷 전송.
  • 고유한 주소 할당.

라우터는 네트워크 계층 장치입니다. 수신된 데이터를 기반으로 컴퓨터와 서버 사이에 길을 열어줍니다.

이 수준에서 가장 널리 사용되는 프로토콜은 IP입니다.

IP(인터넷 프로토콜)는 네트워크 주소 지정을 위해 설계된 인터넷 프로토콜입니다. 패킷이 교환되는 경로를 구축하는 데 사용됩니다. 무결성을 확인하고 확인할 수 있는 수단이 없습니다. 전달 보장을 제공하기 위해 IP를 전송 프로토콜로 사용하는 TCP가 사용됩니다. 이 트랜잭션의 원리를 이해하면 TCP/IP 프로토콜 스택이 작동하는 방식의 기초가 많이 설명됩니다.

IP 주소 유형

네트워크에는 두 가지 유형의 IP 주소가 사용됩니다.

  1. 공공의.
  2. 사적인.

퍼블릭(Public)은 인터넷에서 사용됩니다. 주요 규칙은 절대적인 고유성입니다. 그 사용 예로는 라우터가 있는데, 각 라우터는 인터넷과 상호 작용하기 위한 자체 IP 주소를 가지고 있습니다. 이 주소를 공개라고 합니다.

개인(Private)은 인터넷에서는 사용되지 않습니다. 글로벌 네트워크에서 이러한 주소는 고유하지 않습니다. 예를 들어 로컬 네트워크가 있습니다. 각 장치에는 특정 네트워크 내에서 고유한 IP 주소가 할당됩니다.

인터넷과의 상호 작용은 위에서 언급한 것처럼 자체 공용 IP 주소가 있는 라우터를 통해 수행됩니다. 따라서 라우터에 연결된 모든 컴퓨터는 하나의 공용 IP 주소 이름으로 인터넷에 나타납니다.

IPv4

인터넷 프로토콜의 가장 일반적인 버전입니다. IPv6보다 우선합니다. 기록 형식은 점으로 구분된 4개의 8비트 숫자입니다. 서브넷 마스크는 분수 기호로 표시됩니다. 주소 길이는 32비트입니다. 대부분의 경우 IP 주소에 관해 이야기할 때 IPv4를 의미합니다.

녹음 형식: .

IPv6

이 버전은 이전 버전의 문제를 해결하기 위한 것입니다. 주소 길이는 128비트입니다.

IPv6이 해결하는 주요 문제는 IPv4 주소의 고갈입니다. 전제 조건은 이미 80년대 초반에 나타나기 시작했습니다. 이 문제가 이미 2007~2009년에 심각한 단계에 이르렀음에도 불구하고 IPv6 구현은 매우 느리게 추진력을 얻고 있습니다.

IPv6의 가장 큰 장점은 더 빠른 인터넷 연결입니다. 이는 이 버전의 프로토콜에는 주소 변환이 필요하지 않기 때문입니다. 단순 라우팅이 수행됩니다. 이는 비용이 저렴하므로 IPv4보다 인터넷 리소스에 대한 액세스가 더 빠르게 제공됩니다.

예시 항목: .

IPv6 주소에는 세 가지 유형이 있습니다.

  1. 유니캐스트.
  2. 애니캐스트.
  3. 멀티캐스트.

유니캐스트는 IPv6 유니캐스트의 한 유형입니다. 전송되면 패킷은 해당 주소에 위치한 인터페이스에만 도달합니다.

애니캐스트는 IPv6 멀티캐스트 주소를 나타냅니다. 전송된 패킷은 가장 가까운 네트워크 인터페이스로 이동합니다. 라우터에서만 사용됩니다.

멀티캐스트는 멀티캐스트입니다. 이는 전송된 패킷이 멀티캐스트 그룹에 있는 모든 인터페이스에 도달한다는 것을 의미합니다. 모든 사람에게 방송되는 방송과 달리 멀티캐스트는 특정 그룹에게만 방송됩니다.

서브넷 마스크

서브넷 마스크는 IP 주소에서 서브넷과 호스트 번호를 결정합니다.

예를 들어 IP 주소에는 마스크가 있습니다. 이 경우 녹음 형식은 다음과 같습니다. 숫자 "24"는 마스크의 비트 수입니다. 8비트는 1옥텟과 같으며 바이트라고도 합니다.

보다 구체적으로 서브넷 마스크를 이진수 체계로 표현하면 다음과 같다. 4개의 옥텟이 있고 항목은 "1"과 "0"으로 구성됩니다. 단위 수를 더하면 총 "24"가 됩니다. 다행히도 하나의 옥텟에는 8개의 값이 있기 때문에 하나씩 셀 필요는 없습니다. 그 중 3개가 1로 채워져 있는 것을 확인하고 더하면 "24"가 됩니다.

서브넷 마스크에 대해 구체적으로 말하면 이진 표현에서는 한 옥텟에 1 또는 0이 있습니다. 이 경우 시퀀스는 1이 있는 바이트가 먼저 나오고 그 다음에는 0이 오는 순서입니다.

작은 예를 살펴보겠습니다. IP 주소와 서브넷 마스크가 있습니다. 우리는 다음을 세고 적습니다: . 이제 마스크를 IP 주소와 일치시킵니다. 모든 값이 1(255)인 마스크 옥텟은 IP 주소의 해당 옥텟을 변경하지 않고 그대로 둡니다. 값이 0이면 IP 주소의 옥텟도 0이 됩니다. 따라서 우리는 서브넷 주소의 값을 얻습니다.

서브넷 및 호스트

서브넷은 논리적 분리를 담당합니다. 기본적으로 이들은 동일한 로컬 네트워크를 사용하는 장치입니다. IP 주소 범위에 따라 결정됩니다.

호스트는 네트워크 인터페이스(네트워크 카드)의 주소입니다. 마스크를 사용하여 IP 주소에서 확인됩니다. 예를 들어: . 처음 3개의 옥텟이 서브넷이므로 그대로 유지됩니다. 이것은 호스트 번호입니다.

호스트 주소의 범위는 0부터 255까지입니다. 번호가 "0"인 호스트는 실제로 서브넷 자체의 주소입니다. 그리고 호스트 번호 '255'는 방송사입니다.

어드레싱

TCP/IP 프로토콜 스택의 주소 지정에는 세 가지 유형의 주소가 사용됩니다.

  1. 현지의.
  2. 회로망.
  3. 도메인 이름.

MAC 주소를 로컬이라고 합니다. 이더넷과 같은 로컬 네트워크 기술의 주소 지정에 사용됩니다. TCP/IP의 맥락에서 "로컬"이라는 단어는 서브넷 내에서만 작동한다는 의미입니다.

TCP/IP 프로토콜 스택의 네트워크 주소는 IP 주소입니다. 파일을 보낼 때 수신자의 주소는 헤더에서 읽혀집니다. 도움을 받아 라우터는 호스트 번호와 서브넷을 학습하고 이 정보를 기반으로 최종 노드에 대한 경로를 생성합니다.

도메인 이름은 사람이 읽을 수 있는 인터넷 웹사이트 주소입니다. 인터넷상의 웹 서버는 공인 IP 주소를 통해 접속할 수 있습니다. 컴퓨터에서는 성공적으로 처리되지만 사람에게는 너무 불편한 것 같습니다. 이러한 복잡함을 피하기 위해 "도메인"이라는 영역으로 구성된 도메인 이름이 사용됩니다. 이들은 최상위 수준에서 최하위 수준까지 엄격한 계층 구조로 배열되어 있습니다.

최상위 도메인은 특정 정보를 나타냅니다. 일반(.org, .net)은 엄격한 경계로 제한되지 않습니다. 반대 상황은 로컬 상황(.us, .ru)입니다. 일반적으로 현지화되어 있습니다.

하위 수준 도메인은 그 밖의 모든 것입니다. 크기에는 제한이 없고 값의 개수에도 제한이 없습니다.

예를 들어, "www.test.quiz.sg"는 올바른 도메인 이름입니다. 여기서 "sg"는 로컬 첫 번째(최상위) 수준 도메인이고, "quiz.sg"는 두 번째 수준 도메인인 "test.quiz.sg"입니다. 세 번째 수준 도메인입니다. 도메인 이름은 DNS 이름이라고도 합니다.

DNS(Domain Name System)는 도메인 이름과 공용 IP 주소 간의 매핑을 설정합니다. 브라우저에 도메인 이름을 입력하면 DNS가 해당 IP 주소를 감지하여 장치에 보고합니다. 장치는 이를 처리하여 웹페이지로 반환합니다.

데이터링크 계층

링크 계층에서는 장치와 물리적 전송 매체 간의 관계가 결정되고 헤더가 추가됩니다. 데이터를 인코딩하고 물리적 매체를 통해 전송할 프레임을 준비하는 일을 담당합니다. 네트워크 스위치는 이 수준에서 작동합니다.

가장 일반적인 프로토콜:

  1. 이더넷.
  2. WLAN.

이더넷은 가장 일반적인 유선 LAN 기술입니다.

WLAN은 무선 기술을 기반으로 한 로컬 네트워크입니다. 장치는 물리적 케이블 연결 없이 상호 작용합니다. 가장 일반적인 방법의 예로는 Wi-Fi가 있습니다.

정적 IPv4 주소를 사용하도록 TCP/IP 구성

고정 IPv4 주소는 장치 설정에서 직접 할당되거나 네트워크에 연결할 때 자동으로 할당되며 영구적입니다.

영구 IPv4 주소를 사용하도록 TCP/IP 프로토콜 스택을 구성하려면 콘솔에 ipconfig/all 명령을 입력하고 다음 데이터를 찾으십시오.

동적 IPv4 주소를 사용하도록 TCP/IP 구성

동적 IPv4 주소는 한동안 사용되었다가 임대된 후 변경됩니다. 네트워크에 연결되면 자동으로 장치에 할당됩니다.

비영구 IP 주소를 사용하도록 TCP/IP 프로토콜 스택을 구성하려면 원하는 연결의 속성으로 이동하여 IPv4 속성을 열고 표시된 대로 상자를 선택해야 합니다.

데이터 전송 방법

데이터는 세 가지 방식으로 물리적 매체를 통해 전송됩니다.

  • 단순.
  • 반이중.
  • 전이중.

Simplex는 단방향 통신입니다. 전송은 한 장치에서만 수행되고 다른 장치는 신호를 수신합니다. 정보는 한 방향으로만 전송된다고 말할 수 있습니다.

단순 통신의 예:

  • 텔레비전 방송.
  • GPS 위성의 신호.

반이중은 양방향 통신입니다. 그러나 한 번에 하나의 노드만 신호를 전송할 수 있습니다. 이러한 유형의 통신에서는 두 장치가 동시에 동일한 채널을 사용할 수 없습니다. 완전한 양방향 통신은 물리적으로 불가능하거나 충돌이 발생할 수 있습니다. 전송매체를 두고 갈등을 빚고 있다고 한다. 이 모드는 동축 케이블을 사용할 때 사용됩니다.

반이중 통신의 예로는 하나의 주파수에서 워키토키를 통한 통신이 있습니다.

전이중 - 완전 양방향 통신. 장치는 동시에 신호를 브로드캐스트하고 수신할 수 있습니다. 전송 매체를 놓고 충돌하지 않습니다. 이 모드는 고속 이더넷 기술과 연선 연결을 사용할 때 사용됩니다.

모바일 네트워크를 통한 전화 통신이 그 예입니다.

TCP/IP 대 OSI

OSI 모델은 데이터 전송 원칙을 정의합니다. TCP/IP 프로토콜 스택의 계층은 이 모델에 직접적으로 대응됩니다. 4계층 TCP/IP와 달리 7계층이 있습니다.

  1. 물리적.
  2. 채널(데이터 링크).
  3. 회로망.
  4. 수송.
  5. 세션.
  6. 프레젠테이션.
  7. 애플리케이션.

현재로서는 이 모델을 너무 깊이 파고들 필요는 없지만 최소한 피상적인 이해는 필요합니다.

TCP/IP 모델의 애플리케이션 계층은 상위 3개 OSI 계층에 해당합니다. 이들은 모두 애플리케이션과 함께 작동하므로 이 조합의 논리를 명확하게 볼 수 있습니다. TCP/IP 프로토콜 스택의 일반화된 구조는 추상화를 더 쉽게 이해할 수 있게 해줍니다.

전송 계층은 변경되지 않습니다. 동일한 기능을 수행합니다.

네트워크 계층도 변경되지 않습니다. 정확히 동일한 작업을 수행합니다.

TCP/IP의 데이터 링크 계층은 마지막 두 OSI 계층에 해당합니다. 데이터 링크 계층은 물리적 매체를 통해 데이터를 전송하기 위한 프로토콜을 설정합니다.

물리적은 전기 신호, 커넥터 등 실제 물리적 연결을 나타냅니다. TCP/IP 프로토콜 스택에서는 이 두 계층이 모두 물리적 매체를 다루기 때문에 하나로 결합하기로 결정되었습니다.

인터네트워킹을 구성하기에 충분하며 서로 다른 수준에서 합의된 프로토콜 세트를 호출합니다. 프로토콜 스택. 각 수준마다 상위 수준과의 상호 작용을 위해 일련의 쿼리 함수가 정의됩니다. 상호 작용. 두 기계 간의 상호 작용 규칙은 각 수준에 대한 일련의 절차로 설명할 수 있습니다. 프로토콜.

네트워크에서 널리 사용되는 프로토콜 스택이 많이 있습니다. 이는 국제 및 국내 표준인 스택과 특정 회사의 장비 보급으로 인해 널리 보급된 독점 스택입니다. 널리 사용되는 프로토콜 스택의 예로는 Novell의 IPX/SPX 스택, 인터넷과 많은 UNIX 기반 네트워크에서 사용되는 TCP/IP 스택, 국제표준화기구(International Standards Organization)의 OSI 스택, Digital Equipment Corporation의 DECnet 스택 등이 있습니다.

프로토콜 스택은 세 가지 수준으로 나뉩니다.

    수송;

    적용된.

네트워크 프로토콜

네트워크 프로토콜은 정보 주소 지정 및 라우팅, 오류 확인, 재전송 요청, 특정 네트워크 환경에서의 상호 작용 규칙 설정 등의 서비스를 제공합니다. 다음은 가장 널리 사용되는 네트워크 프로토콜입니다.

    DDP(DatagramDeliveryProtocol): AppleTalk에서 사용되는 Apple 데이터 전송 프로토콜입니다.

    IP(인터넷 프로토콜 - 인터넷 프로토콜). 주소 지정 및 라우팅 정보를 제공하는 TCP/IP 스택 프로토콜입니다.

    IPX(InternetworkPacketeXchange) NWLink의 패킷을 라우팅하고 전달하는 데 사용되는 NovelNetWare 프로토콜입니다.

    NetBEUI(NetBIOSExtendedUserInterface – 확장됨 사용자 인터페이스기본 네트워크 I/O 시스템) . IBM과 Microsoft가 공동으로 개발한 이 프로토콜은 다음에 대한 전송 서비스를 제공합니다. NetBIOS.

전송 프로토콜

전송 프로토콜은 컴퓨터 간에 데이터를 안정적으로 전송하기 위해 다음 서비스를 제공합니다. 다음은 가장 널리 사용되는 전송 프로토콜입니다.

    ATP(AppleTalkProtocol – AppleTalk 트랜잭션 프로토콜) 및 NBP(NameBindingProtocol – 이름 바인딩 프로토콜). AppleTalk 세션 및 전송 프로토콜.

    NetBIOS (기본 네트워크 I/O 시스템) . NetBIOS는 컴퓨터 간의 연결을 설정하고 NetBEUI이 연결에 대한 데이터 서비스를 제공합니다.

    SPX(SequencedPacketeXchange – 순차 패킷 교환)은 데이터 전달을 보장하는 데 사용되는 NWLink.NovelNetWare 프로토콜입니다.

    TCP(TransmissionControlProtocol – 전송 제어 프로토콜) 안정적인 데이터 전달을 담당하는 TCP/IP 스택의 프로토콜입니다.

애플리케이션 프로토콜

애플리케이션 프로토콜은 애플리케이션이 통신하는 방식을 담당합니다. 다음은 가장 널리 사용되는 애플리케이션 프로토콜입니다.

    AFP(Apple Talk 파일 프로토콜 - Apple Talk 파일 프로토콜) 프로토콜 리모콘매킨토시 파일.

    FTP(파일 전송 프로토콜 - 파일 전송 프로토콜). 파일 전송 서비스를 제공하는 데 사용되는 TCP/IP 스택 프로토콜입니다.

    NCP(NetWare 핵심 프로토콜 - NetWare 기본 프로토콜). NovelNetWare 클라이언트 셸 및 리디렉터.

    SNMP(SimpleNetworkManagementProtocol) 네트워크 장치를 관리하고 모니터링하는 데 사용되는 TCP/IP 스택 프로토콜입니다.

    HTTP(HyperTextTransferProtocol) – 하이퍼텍스트 전송 프로토콜 및 기타 프로토콜.

인터넷 프로토콜 제품군은 데이터가 패키지화, 처리, 전송, 라우팅 및 수신되는 방법을 정의하는 엔드투엔드 데이터 통신을 제공합니다. 이 기능은 관련된 네트워크의 범위에 따라 모든 관련 프로토콜을 분류하는 4개의 추상화 계층으로 구성됩니다. 가장 낮은 계층에서 가장 높은 계층은 단일 네트워크 세그먼트(링크) 내에 남아 있는 데이터에 대한 통신 방법을 포함하는 통신 계층입니다. 독립적인 네트워크 간의 인터네트워킹을 제공하는 인터넷 계층 호스트 간의 통신을 처리하는 전송 계층; 애플리케이션에 프로세스 간 통신을 제공하는 애플리케이션 계층이 있습니다.

TCP/IP 모델의 인터넷 아키텍처 및 프로토콜 개발은 국제 개방형 디자이너 커뮤니티 IETF에 의해 수행됩니다.

이야기

TCP/IP 프로토콜 스택 1972년 Vinton Cerf가 이끄는 개발자 그룹에 의해 NCP(Network Control Protocol)를 기반으로 만들어졌습니다. 1976년 7월 빈트 서프(Vint Cerf)와 밥 칸(Bob Kahn)은 처음으로 3개 이상의 TCP를 사용한 데이터 전송을 시연했습니다. 다양한 네트워크. 패키지는 샌프란시스코 - 런던 - 서던캘리포니아 대학교 경로를 따랐습니다. 여행이 끝날 때까지 패키지는 단 한 조각도 잃지 않고 150,000km를 이동했습니다. 1978년에 Cerf, Jon Postel 및 Danny Cohen은 TCP에서 두 가지 별도의 기능을 만들기로 결정했습니다. TCP 및 IP(영어 인터넷 프로토콜,인터네트워크 프로토콜). TCP는 메시지를 데이터그램으로 나누고 최종 전송 지점에 연결하는 역할을 담당했습니다. IP는 개별 데이터그램의 전송(수신 제어 포함)을 담당했습니다. 이것이 현대 인터넷 프로토콜이 탄생한 방법입니다. 그리고 1983년 1월 1일 ARPANET은 새로운 프로토콜로 전환했습니다. 이 날은 인터넷의 공식적인 탄생일로 간주됩니다.

TCP/IP 스택의 계층

TCP/IP 프로토콜 스택에는 다음 네 가지 계층이 포함됩니다.

이러한 수준의 프로토콜은 OSI 모델의 기능을 완전히 구현합니다. IP 네트워크의 모든 사용자 상호 작용은 TCP/IP 프로토콜 스택을 기반으로 구축됩니다. 스택은 물리적 데이터 전송 매체와 독립적이므로 특히 유선 네트워크와 무선 네트워크 간의 완전히 투명한 상호 작용을 보장합니다.

TCP/IP 모델 수준별 프로토콜 배포
적용된
(애플리케이션 레이어)
예: HTTP, RTSP, FTP, DNS
수송

전송 계층

네트워크(인터넷) 수준

데이터링크 계층

또한 데이터 링크 계층은 데이터 전송 매체(동축 케이블, 연선, 광섬유 또는 무선 채널 등), 이러한 매체의 물리적 특성 및 데이터 전송 원리(채널 분리, 변조, 신호 진폭, 신호 주파수, 전송 동기화 방법, 지연 응답 및 최대 거리).

링크 수준에서 프로토콜 스택을 설계할 때 잡음 방지 코딩이 고려되므로 통신 채널에 대한 잡음 및 간섭의 영향으로 인한 데이터 오류를 감지하고 수정할 수 있습니다.

OSI 모델과의 비교

OSI 모델의 상위 3개 계층인 애플리케이션 계층, 프리젠테이션 계층, 세션 계층은 전송 계층 위에 애플리케이션 계층만 있는 TCP/IP 모델에서는 별도로 구분되지 않습니다. X.400과 같은 일부 순수 OSI 프로토콜 응용 프로그램도 이를 결합하지만 TCP/IP 프로토콜 스택이 전송 계층 위에 모놀리식 아키텍처를 오버레이해야 한다는 요구 사항은 없습니다. 예를 들어, NFS 애플리케이션 프로토콜은 XDR(External Data Representation) 프로토콜을 통해 작동하고, 이는 다시 RPC(원격 프로시저 호출) 프로토콜을 통해 작동합니다. RPC는 안정적인 데이터 전송을 제공하므로 최선의 UDP 전송을 안전하게 사용할 수 있습니다.

다양한 저자들은 TCP/IP 모델을 다양한 방식으로 해석했으며 링크 계층이나 전체 TCP/IP 모델이 OSI 계층 1(물리적 계층) 문제를 포착하거나 하드웨어 계층이 링크 계층 아래에 ​​있다고 가정한다는 데 동의하지 않습니다.

몇몇 저자들은 OSI 모델의 레이어 1과 2를 TCP/IP 모델에 통합하려고 시도했습니다. 왜냐하면 OSI 모델은 최신 표준(예: IEEE 및 ITU)에서 일반적으로 참조되기 때문입니다. 이로 인해 통신 계층 또는 네트워크 액세스 계층이 OSI 모델의 계층 1과 2로 구분되는 5계층 모델이 되는 경우가 많습니다.

IETF 프로토콜 개발 노력은 엄격한 계층화에 관한 것이 아닙니다. 일부 프로토콜은 순수 OSI 모델을 따르지 않을 수 있지만 RFC는 때때로 이를 참조하고 오래된 OSI 계층 번호를 사용합니다. IETF는 인터넷 프로토콜과 아키텍처 설계가 OSI 요구 사항을 준수해서는 안 된다고 반복해서 밝혔습니다. 인터넷 아키텍처를 다루는 RFC 3439에는 "유해한 것으로 간주되는 레이어"라는 섹션이 포함되어 있습니다.

예를 들어, OSI 패킷의 세션 및 프리젠테이션 계층은 TCP/IP 패킷의 애플리케이션 계층에 포함되는 것으로 간주됩니다. 세션 계층 기능은 HTTP 및 SMTP와 같은 프로토콜에서 찾을 수 있으며 Telnet 및 SIP(Session Initiation Protocol)와 같은 프로토콜에서 더욱 분명하게 나타납니다. 세션 계층 기능은 TCP/IP 제품군의 전송 계층에 걸쳐 있는 TCP 및 UDP 프로토콜에 대한 포트 번호 지정을 통해 구현됩니다. 프리젠테이션 계층 기능은 데이터 교환을 위한 MIME 표준을 사용하여 TCP/IP 애플리케이션에서 구현됩니다.

ISO 7498/4 관리 프레임워크 또는 ISO 8648 IONL(Internal Organization of the Network Layer)과 같은 해당 모델의 부록이 다루어지지 않은 경우 원래 OSI 모델인 ISO 7498에서도 충돌이 분명합니다. IONL 및 관리 프레임워크 문서를 검토하면 ICMP 및 IGMP가 네트워크 계층에 대한 계층 제어 프로토콜로 정의됩니다. 마찬가지로 IONL은 ARP 및 RARP와 같은 "서브넷 종속 수렴 개체"를 위한 프레임워크를 제공합니다.

GRE(General Routing Encapsulation)와 같은 터널링 프로토콜에서 알 수 있듯이 IETF 프로토콜은 반복적으로 캡슐화될 수 있습니다. GRE는 OSI가 네트워크 계층에서 터널링에 사용하는 것과 동일한 메커니즘을 사용합니다. TCP/IP 모델을 OSI 모델에 적용하는 방법에 대해서는 의견이 일치하지 않습니다. 이러한 모델의 계층이 동일하지 않기 때문입니다.

또한 OSI 모델은 데이터 링크와 네트워크 계층 사이에 추가 계층인 "인터네트워킹"을 사용하지 않습니다. 논쟁의 여지가 있는 프로토콜의 예로는 ARP 또는 STP가 있습니다.

TCP/IP 프로토콜이 전통적으로 OSI 모델에 적용되는 방식은 다음과 같습니다.

OSI 모델 수준별 프로토콜 배포
TCP/IP OSI
7 적용된 적용된 예: HTTP, SMTP, SNMP, FTP, Telnet, SSH, SCP, SMB, NFS, RTSP, BGP
6 대표 예: XDR, AFP, TLS, SSL
5 세션 예: ISO 8327 / CCITT X.225, RPC, NetBIOS, PPTP, L2TP, ASP
4 수송 수송 예: TCP, UDP, SCTP, SPX, ATP, DCCP, GRE
3 회로망 회로망 예: ICMP, IGMP, CLNP, OSPF, RIP, IPX, DDP, ARP
2 도관 도관 예: 이더넷, 토큰링, HDLC , PPP , X.25 , 프레임 릴레이 , ISDN , ATM , SPB , MPLS
1 물리적 예: 전기 케이블, 무선 통신, 광섬유 케이블, 적외선

일반적으로 TCP/IP 스택에서는 OSI 모델의 상위 3개 계층(애플리케이션, 프리젠테이션 및 세션)이 하나의 애플리케이션으로 결합됩니다. 이러한 스택은 통합 데이터 전송 프로토콜을 제공하지 않으므로 데이터 유형을 결정하는 기능이 애플리케이션으로 전송됩니다.

기술 문헌의 TCP/IP 모델 설명

노트

  1. OSI 및 TCP/IP 모델. 기술 자료 osLogic.ru
  2. TCP/IP 및 OSI 네트워크 모델. 시스코 학습
  3. Vasiliev A. A., Telina I. S., Izbachkov Yu. S., Petrov V. N. 정보 시스템: 대학 교과서. - 세인트 피터스 버그. : 피터, 2010. - 544p. - ISBN 978-5-49807-158-9.
  4. 앤드루 크로치크(Andrew Krowczyk), 비노드 쿠마르(Vinod Kumar), 노만 라가리(Noman Laghari) 등.전문가/트랜스젠더를 위한 .NET 네트워크 프로그래밍. 영어로부터 V. Streltsov. -M .: Lori, 2005. - 400p. - ISBN 1-86100-735-3. - ISBN 5-85582-170-2.

전송 계층(TL)네트워크를 통해 패킷을 전송하기 위한 규칙을 정의합니다. 전송 계층은 개별 패킷의 종단간 전달을 모니터링하며 이러한 패킷(동일한 메시지에 속하는 패킷도 포함) 간의 종속성을 고려하지 않습니다. 각 패킷을 각 부분이 속한 것처럼 처리합니다. 별도의 메시지, 이것이 실제로 사실인지 아닌지에 관계없이. 전송 계층 프로토콜은 모든 메시지가 대상에 그대로 도착하고 패킷이 원래 순서대로 정렬되도록 보장합니다. 전송 계층에서는 정보 위반 제어 및 오류 제어가 수행되며 전체 소스-목적지 경로를 따라 흐름 제어가 수행됩니다.

전송 계층은 다음 작업을 수행합니다.

  • 서비스 지점 주소 지정. 컴퓨터는 종종 여러 프로그램을 동시에 실행합니다. 이러한 이유로 소스-대상 전달은 한 컴퓨터에서 다음 컴퓨터로 전달하는 것뿐만 아니라 한 컴퓨터의 지정된 프로세스(실행 중인 프로그램)에서 다른 컴퓨터의 지정된 프로세스(실행 중인 프로그램)로 전달하는 것을 의미합니다. 따라서 전송 계층 헤더에는 서비스 지점 주소(또는 포트 주소)라는 주소 유형이 포함되어야 합니다. 네트워크 계층은 각 패킷을 올바른 컴퓨터 주소로 전달합니다. 전송 계층은 전체 메시지를 해당 컴퓨터의 올바른 프로세스에 전달합니다.
  • 분할 및 재조립. 메시지는 전송 가능한 세그먼트로 나누어지며, 각 세그먼트에는 시퀀스 번호가 포함됩니다. 이 숫자를 통해 전송 계층은 대상에 도달한 후 메시지를 올바르게 재조립하고 전송 중 손실된 패킷을 교체할 수 있습니다.
  • 연결 관리. 전송 계층은 연결 지향(무연결 전송) 또는 연결 지향 전송(데이터그램 모드)일 수 있습니다. 비연결 전송 계층(미리 설정된 가상 연결을 통해)은 각 세그먼트를 독립적인 패킷으로 처리하고 이를 대상 시스템의 전송 계층으로 전달합니다. 연결 지향 전송 계층은 패킷을 전달하기 전에 먼저 대상 컴퓨터의 전송 계층에 대한 연결을 설정합니다. 모든 데이터 전송이 완료되면 연결이 종료됩니다.

    연결 없는 모드에서 전송 계층은 안정적인 전달을 보장하지 않고 단일 데이터그램을 전송하는 데 사용됩니다. 안정적인 데이터 전달을 위해 연결 지향 모드가 사용됩니다.

  • 흐름 제어. 데이터 링크 계층과 마찬가지로 전송 계층도 흐름 제어를 담당합니다. 그러나 이 수준의 흐름 제어는 엔드투엔드(end-to-end)로 수행됩니다.
  • 오류 제어. 데이터 링크 계층과 마찬가지로 전송 계층은 오류 제어를 담당합니다. 전송 전송 계층은 전체 메시지가 오류(손상, 손실 또는 중복) 없이 수신 전송 계층에 도달하도록 보장합니다. 오류 정정은 일반적으로 재전송을 통해 발생합니다.

세션 레이어 SL- 네트워크 대화 컨트롤러. 이는 통신 시스템 간의 상호 작용을 설정, 유지 및 동기화합니다.

세션 레이어를 사용하면 당사자 간의 대화가 구성되고, 어느 당사자가 개시자인지, 어느 당사자가 활성 상태인지, 대화가 어떻게 끝나는지 기록됩니다.

세션 계층 작업은 다음과 같습니다.

  • 대화 관리. 세션 레이어두 시스템이 대화를 시작할 수 있습니다. 두 프로세스 간에 메시지를 교환할 수 있습니다. 이 경우 반이중(한 번에 하나의 경로) 또는 전이중(동시에 두 경로) 모드가 가능합니다. 예를 들어, 단말과 메인프레임 간의 대화는 반이중 방식일 수 있습니다.
  • 동기화. 세션 레이어프로세스가 데이터 스트림에 체크포인트(동기화 포인트)를 추가할 수 있도록 합니다. 예를 들어, 시스템이 2,000페이지의 파일을 전송하는 경우 각 100페이지 모듈이 독립적으로 수신되고 인식되도록 하려면 100페이지마다 체크포인트를 삽입하는 것이 바람직합니다. 이 경우 523페이지 전송 중 위반이 발생하면 해당 페이지만 필요하며 이후 다시 전송됩니다. 시스템 복구- 501페이지(500페이지 중 첫 번째 페이지)

프리젠테이션 레이어정보를 기록하거나 암호화하는 등 하위 수준에 정보를 제공하는 형태를 다룹니다.

프리젠테이션 계층의 작업은 다음과 같습니다.

  • 녹화정보. 두 시스템의 프로세스(실행 중인 프로그램)는 일반적으로 문자열, 숫자 등의 형태로 정보를 교환합니다. 정보는 전송되기 전에 비트 스트림으로 변경되어야 합니다. 컴퓨터마다 다른 인코딩 시스템을 사용하기 때문에 프리젠테이션 레이어이러한 다양한 인코딩 방법 간의 상호 운용성을 담당합니다. 프리젠테이션 레이어송신기에서는 정보를 송신기별 형식에서 일반 형식으로 변경합니다. 프리젠테이션 레이어수신 컴퓨터에서는 공통 형식을 수신기의 형식으로 바꿉니다.
  • 암호화. 민감한 정보를 전달하려면 시스템이 비밀을 보장해야 합니다. 암호화는 전송자가 원본 정보를 다른 형식으로 변환하고 결과 메시지를 네트워크를 통해 보내는 것을 의미합니다. 메시지를 원래 형식으로 다시 변환하려면 디코딩이 원래 프로세스와 정반대여야 합니다.
  • 압축. 데이터 압축은 정보에 포함된 비트 수를 줄입니다. 데이터 압축은 텍스트, 오디오, 비디오와 같은 멀티미디어 전송에서 특히 중요합니다.

애플리케이션 계층(AL)동일한 작업(프로그램)을 구현하는 원격 노드 간에 교환되는 프로토콜 집합입니다. 애플리케이션 레이어사용자(사람 또는 소프트웨어) 네트워크에 액세스합니다. 이는 이메일, 원격 액세스 및 자금 이체, 공용 데이터베이스 관리 및 기타 유형의 분산 정보 서비스와 같은 서비스에 대한 사용자 인터페이스 및 지원을 제공합니다.

애플리케이션 계층에서 제공하는 서비스의 예:

  • 네트워크 가상 터미널. 네트워크 가상 터미널은 물리적 터미널의 소프트웨어 버전으로, 사용자가 원격 호스트에 로그인할 수 있도록 해줍니다. 이를 위해 애플리케이션은 원격 호스트에 터미널의 소프트웨어 에뮬레이션을 생성합니다. 사용자의 컴퓨터는 소프트웨어 터미널과 통신하고, 소프트웨어 터미널은 호스트와 통신하며, 그 반대도 마찬가지입니다. 원격 호스트는 이 연결을 자신의 터미널 중 하나와의 연결로 정의하고 진입을 허용합니다.
  • 파일 전송, 액세스 및 관리. 이 응용 프로그램을 사용하면 사용자는 원격 호스트의 파일에 액세스하여 데이터를 수정하거나 읽을 수 있고, 원격 컴퓨터에서 파일을 검색하여 로컬 컴퓨터에서 사용할 수 있으며, 원격 컴퓨터의 파일을 관리할 수 있습니다.
  • 우편 서비스. 이 애플리케이션은 이메일을 보내고 저장하기 위한 기반을 제공합니다.
  • 디렉토리 서비스. 이 애플리케이션은 분산 데이터베이스 소스를 제공하고 다양한 개체 및 서비스에 대한 글로벌 정보에 대한 액세스를 제공합니다.

인터넷 프로토콜 스택

Internet2 프로토콜 스택은 OSI 모델 이전에 개발되었습니다. 따라서 인터넷 프로토콜 스택의 계층은 OSI 모델의 해당 계층과 일치하지 않습니다. 인터넷 프로토콜 스택은 물리적, 데이터 링크, 네트워크, 전송 및 애플리케이션의 5개 계층으로 구성됩니다. 처음 4개 계층은 OSI 모델의 처음 4개 계층에 해당하는 물리적 표준, 네트워크 인터페이스, 인터네트워킹 및 전송 기능을 제공합니다. OSI 모델의 상위 3개 계층은 인터넷 프로토콜 스택에서 애플리케이션 계층이라는 단일 계층으로 표현됩니다. 1.3.

쌀. 1.3.

ARP 주소 확인 프로토콜 주소 찾기 프로토콜
ATM 비동기 전송 모드 비동기 전송 모드
BGP 국경 게이트웨이 프로토콜 에지 라우팅 프로토콜
DNS 도메인 명 시스템 도메인 명 시스템
이더넷 이더넷 네트워크 이더넷 네트워크
FDDI 광섬유 분산 데이터 인터페이스 광섬유 분산 데이터 인터페이스
HTTP 하이퍼 텍스트 전송 프로토콜 하이퍼 텍스트 전송 프로토콜
FTP 파일 전송규약 파일 전송 프로토콜
ICMP 인터넷 제어 메시지 프로토콜 제어 메시지 프로토콜
IGMP 인터넷 그룹 관리 프로토콜 인터넷 그룹(사용자) 관리 프로토콜
IP 인터넷 프로토콜 인터넷 프로토콜
NFS 네트워크 파일 시스템 네트워크 액세스 프로토콜 파일 시스템
OSPF 최단 경로 먼저 열기 개방형 최단 채널 선호 프로토콜
PDH 다발성 디지털 계층 구조 다발성 디지털 계층
PPP 지점간 프로토콜 지점 간 통신 프로토콜


 맨 위