기본 응용 프로그램 리소스 및 해당 프로토콜. 애플리케이션 정보 계층. 응용 자원. 도메인 이름의 개념, 등록 작업

  • 프로토콜 스택
  • 링크 계층 프로토콜
  • 프로토콜 인터네트워크 레이어
  • 전송 프로토콜
  • 애플리케이션 프로토콜

앞서 언급한 바와 같이, 서로 다른 장치 세트를 갖추고 있고 기술적 특성이 서로 다른 여러 제조업체의 컴퓨터가 로컬 네트워크에서 함께 작동할 수 있습니다. 실제로 이것은 이러한 컴퓨터의 정상적인 상호 작용을 보장하기 위해 분산 컴퓨팅 시스템에서 데이터 전송 알고리즘을 엄격하게 정의하는 단일 통합 표준이 필요함을 의미합니다. 현대 로컬 네트워크에서 또는 일반적으로 호출되는 영어권 국가, LAN(Local Area Network), 이러한 표준의 역할은 네트워크 프로토콜에 의해 수행됩니다.
따라서 네트워크 프로토콜 또는 데이터 전송 프로토콜은 여러 컴퓨터 간에 명령, 파일 및 기타 데이터를 수신 및 전송하기 위한 규칙에 대한 설명을 포함하는 합의되고 승인된 표준으로, 컴퓨터의 작동을 동기화하는 역할을 합니다. 네트워크.
우선, 로컬 네트워크에서 정보는 물리적 장치인 컴퓨터 간에 전송될 뿐만 아니라 소프트웨어 수준에서 통신을 제공하는 응용 프로그램 간에도 전송된다는 점을 이해해야 합니다. 또한 이러한 응용 프로그램은 상호 작용을 구성하는 운영 체제의 구성 요소로 이해할 수 있습니다. 다양한 장치사용자 인터페이스를 제공하는 컴퓨터 및 클라이언트 응용 프로그램. 따라서 우리는 점차적으로 네트워크 통신의 다단계 구조에 대한 이해에 도달하고 있습니다. 적어도 한편으로는 네트워크의 하드웨어 구성을 다른 한편으로는 소프트웨어로 다루고 있습니다.
동시에 여러 네트워크 컴퓨터 간에 정보를 전송하는 것은 언뜻 보기에는 그리 쉬운 일이 아닙니다. 이를 이해하기 위해서는 데이터를 수신하거나 방송하는 과정에서 발생할 수 있는 문제의 범위를 상상하면 충분합니다. 이러한 "문제점"을 나열할 수 있습니다. 하드웨어 오류또는 통신을 제공하는 장치 중 하나의 오류, 예를 들어, 네트워크 카드또는 허브, 응용 프로그램 또는 시스템 소프트웨어의 오류, 전송된 데이터 자체의 오류, 전송된 정보의 일부 손실 또는 왜곡. 이로부터 다음과 같다. 지역 네트워크이러한 모든 오류를 추적하고 네트워크의 하드웨어 및 소프트웨어 구성 요소의 명확한 작동을 구성하려면 엄격한 제어를 제공해야 합니다. 이러한 모든 작업을 단일 프로토콜에 할당하는 것은 거의 불가능합니다. 어떻게 될 것인가?
솔루션은 프로토콜을 여러 개념 계층으로 나누는 데서 찾았습니다. 각 계층은 네트워크에서 실행되는 컴퓨터에 설치된 서로 다른 소프트웨어 모듈 간의 인터페이스를 제공합니다. 따라서 주 컴퓨터에서 실행되는 클라이언트 프로그램에서 다른 컴퓨터에서 실행되는 클라이언트 프로그램으로 네트워크를 통해 정보 패킷을 전송하는 메커니즘은 조건부로 이 패킷을 일부 최상위 수준에서 위에서 아래로 직렬 전송하는 것으로 나타낼 수 있습니다. 사용자 응용 프로그램과의 상호 작용을 제공하는 프로토콜, 네트워크와의 인터페이스를 구성하는 하위 수준 프로토콜, 수신자 컴퓨터로의 변환 및 원격 시스템에 이미 있는 상위 수준 프로토콜로의 반환 전송(그림 2.1).

쌀. 2.1. 계층화된 프로토콜 시스템의 개념적 모델

이 방식에 따르면 이러한 시스템의 각 레벨은 로컬 네트워크를 통해 정보를 전송할 때 고유한 기능 세트를 제공합니다.
예를 들어 클라이언트 프로그램과 직접 상호 작용하는 최상위 프로토콜이 데이터를 네트워크 하드웨어 장치와 함께 작업하는 "책임"이 있는 낮은 수준의 프로토콜로 변환하고 이를 "이해할 수 있는" 형식으로 변환한다고 가정할 수 있습니다. 이는 차례로 정보를 다른 컴퓨터로 직접 전송하는 프로토콜로 전송합니다. 에 원격 컴퓨터데이터 수신은 "하위" 수준의 유사한 프로토콜에 의해 수행되고 수신된 데이터의 정확성을 제어합니다. 즉, 계층 구조에서 상위에 위치한 프로토콜로 브로드캐스트해야 하는지 또는 재전송을 요청할지 여부를 결정합니다. 이 경우 상호 작용은 하위 수준의 프로토콜 간에만 수행되며 계층의 상위 수준은 이 프로세스에 관여하지 않습니다. 정보가 왜곡 없이 전송되었다면 수신 프로그램에 도달할 때까지 인접 프로토콜 계층을 통해 상향으로 브로드캐스트됩니다. 동시에 각 수준은 정보 패키지의 내용 분석을 기반으로 데이터 번역의 정확성을 제어할 뿐만 아니라 목적에 대한 정보를 기반으로 추가 조치를 결정합니다. 예를 들어, 레벨 중 하나는 데이터가 수신되고 이를 통해 네트워크로 전송되는 장치를 선택하는 "책임"이 있고, 다른 레벨은 네트워크를 통해 정보를 추가로 전송할지 또는 다음을 위한 것인지를 "결정"합니다. 이 특정 컴퓨터에서 세 번째 "선택" 정보를 받은 프로그램이 지정됩니다. 이러한 계층적 접근 방식은 네트워크 소프트웨어의 서로 다른 모듈 간에 기능을 나눌 수 있게 하여 전체 시스템의 작동 제어를 크게 용이하게 할 뿐만 아니라 계층 구조 수준에서 오류를 수정하는 것을 가능하게 합니다. 그들은 발생했습니다. 특정 프로토콜 세트를 포함한 이러한 각 계층 시스템 다른 수준, 일반적으로 프로토콜 스택이라고 합니다.
이론과 실제, 즉 프로토콜 스택의 개념적 모델과 실제 구현 사이에는 상당한 차이가 있음이 매우 분명합니다. 실제로 프로토콜 스택을 기능 수준으로 분할하기 위한 몇 가지 다른 옵션이 채택되었으며 각 옵션은 고유한 범위의 작업을 수행합니다. 우리는 가장 다재다능한 것으로 보이는 이러한 옵션 중 하나에 초점을 맞출 것입니다. 이 계획네 가지 기능 수준을 포함하며 이전 다이어그램과 같이 프로토콜 스택의 작동에 대한 특정 메커니즘을 설명하지 않고 이러한 시스템의 작동 원리를 더 잘 이해하는 데 도움이 되는 일반 모델을 설명합니다(그림 2.2).
계층적 시스템의 맨 위에 있는 프로토콜 스택의 응용 프로그램 계층은 다음을 구성하는 소프트웨어에 대한 인터페이스를 제공합니다.
네트워크에서 사용자의 작업. 작동하기 위해 네트워크 대화가 필요한 프로그램을 실행할 때 해당 프로그램은 적절한 응용 프로그램 계층 프로토콜을 호출합니다. 이 프로토콜은 처리를 위해 액세스 가능한 형식, 즉 다음 형식으로 네트워크에서 프로그램으로 정보를 전송합니다. 시스템 메시지또는 바이트 스트림으로. 정확히 같은 방식으로 맞춤형 애플리케이션운영 체제 자체와 컴퓨터에서 실행되는 다른 프로그램 모두에서 데이터 스트림 및 제어 메시지를 수신할 수 있습니다. 즉, 일반적으로 응용 계층 프로토콜은 네트워크와 소프트웨어 사이에서 일종의 중개자 역할을 하여 네트워크를 통해 전송되는 정보를 수신자 프로그램이 "이해할 수 있는" 형식으로 변환한다고 말할 수 있습니다.

쌀. 2.2. 프로토콜 스택 구현 모델

전송 계층 프로토콜의 주요 작업은 데이터 전송의 정확성을 제어하고 다양한 네트워크 응용 프로그램 간의 상호 작용을 보장하는 것입니다. 특히, 들어오는 데이터 스트림을 수신할 때 전송 계층 프로토콜은 패킷이라고 하는 별도의 조각으로 분할하고 각 패킷에 몇 가지 추가 정보(예: 전송된 데이터가 의도된 프로그램의 식별자 및 필요한 체크섬)를 기록합니다. 패킷의 무결성을 확인하고 추가 처리를 위해 인접한 수준으로 보냅니다. 또한 전송 계층 프로토콜은 정보 전송을 제어합니다. 예를 들어 수신자에게 패킷 전달 확인을 요청하고 전송된 데이터 시퀀스의 손실된 조각을 다시 보낼 수 있습니다. 응용 계층 프로토콜과 마찬가지로 전송 계층 프로토콜이 네트워크 프로그램과 상호 작용하고 이들 간의 데이터 전송을 조정한다는 사실 때문에 약간의 당혹감이 발생할 수 있습니다. 이 상황은 다음 예를 통해 명확해질 수 있습니다. 네트워크에 연결된 컴퓨터에서 POP3(Post Office Protocol) 및 SMTP(Simple Mail Transfer Protocol)의 두 가지 응용 프로그램 계층 프로토콜과 다운로드할 프로그램을 사용하는 이메일 클라이언트를 실행하고 있다고 가정합니다. 원격 서버에 파일 - FTP는 응용 프로그램 계층 프로토콜 FTP(파일 전송 프로토콜)와 함께 작동하는 클라이언트입니다. 이러한 모든 응용 프로그램 계층 프로토콜은 동일한 전송 계층 프로토콜인 TCP/IP(전송 제어 프로토콜/인터넷 프로토콜)를 기반으로 하며 위 프로그램에서 데이터 스트림을 수신하여 데이터 패킷으로 변환합니다. 이 정보를 사용하여 응용 프로그램을 종료합니다. 우리가 고려한 예에서 네트워크에서 오는 데이터는 다른 목적을 가질 수 있으며 따라서 동일한 응용 프로그램의 다른 프로그램이나 다른 모듈에서 처리됩니다. 정보를 수신하고 처리할 때 혼동을 피하기 위해 네트워크와 상호 작용하는 각 프로그램에는 고유한 식별자가 있어 전송 프로토콜이 데이터를 의도한 정확한 응용 프로그램으로 보낼 수 있습니다. 이러한 식별자를 소프트웨어 포트라고 합니다. 특히 전자 메일 메시지를 보내기 위한 SMTP 응용 프로그램 계층 프로토콜은 일반적으로 포트 25에서 작동하고 POP3 수신 메일 프로토콜은 포트 110에서, Telnet 프로토콜은 포트 23에서 작동합니다. 사이의 데이터 흐름을 리디렉션하는 작업 소프트웨어 포트전송 프로토콜에 있습니다.
네트워크 간 수준에서는 분산 컴퓨팅 시스템의 특정 컴퓨터 간의 상호 작용이 구현됩니다. 즉, 로컬 네트워크 내에서 정보 이동 경로를 결정하는 프로세스가 수행되고 이 정보가 특정 수신자에게 전송됩니다. 이 프로세스를 라우팅이라고 합니다. 전송 요청과 함께 전송 계층 프로토콜에서 데이터 패킷을 수신하고 수신자를 지정하면 게이트웨이 프로토콜은 이 컴퓨터가 이 로컬 네트워크 세그먼트 내에 있는지 아니면 게이트웨이가 있는지 여부에 따라 정보가 전송되어야 하는 컴퓨터를 찾습니다. 그런 다음 패킷을 데이터그램으로 변환합니다. 가상 채널을 형성하지 않고 다른 유사한 조각과 독립적으로 네트워크를 통해 전송되는 특수한 정보입니다( 양자 교류여러 장치 간의 데이터) 및 승인. 데이터그램 헤더에는 전송되는 데이터의 대상 컴퓨터 주소와 데이터그램의 경로에 대한 정보가 포함됩니다. 그 후 링크 레이어로 전송됩니다.

노트
게이트웨이는 서로 다른 통신 프로토콜을 사용하여 두 네트워크 시스템 간에 정보를 전송하는 데 사용할 수 있는 프로그램입니다.

데이터그램을 수신하면 인터네트워크 프로토콜은 데이터그램이 올바르게 수신되었는지 확인한 다음 로컬 컴퓨터로 주소를 지정해야 하는지 또는 네트워크를 통해 전달해야 하는지 여부를 결정합니다. 더 이상의 전달이 필요하지 않은 경우 인터네트워크 계층 프로토콜은 데이터그램 헤더를 제거하고 전송 프로토콜 중 어느 것을 계산합니다. 이 컴퓨터수신된 정보를 처리하고 적절한 패킷으로 변환하여 전송 계층으로 전송합니다. 이 겉보기에 복잡한 메커니즘은 간단한 예를 통해 설명할 수 있습니다. 특정 컴퓨터에서 두 개의 다른 전송 프로토콜이 동시에 사용된다고 가정해 봅시다. TCP / IP - 인터넷 연결용이고 NetBEUI(NetBIOS 확장 사용자 인터페이스)는 로컬 네트워크 작업용입니다. 이 경우 전송 계층에서 처리되는 데이터는 이러한 프로토콜에 대해 다르지만 인터네트워크 수준에서는 동일한 형식의 데이터그램을 통해 정보가 전송됩니다.
마지막으로 데이터 링크 계층에서 데이터그램은 해당 신호로 변환되고 통신 장치를 통해 네트워크를 통해 브로드캐스트됩니다. 가장 간단한 경우, 컴퓨터가 하나 또는 다른 표준의 로컬 네트워크에 직접 연결되는 경우 네트워크 어댑터, 링크 계층 프로토콜의 역할은 네트워크와의 인터페이스를 직접 구현하는 이 어댑터의 드라이버에 의해 수행됩니다. 보다 복잡한 상황에서는 여러 특수 프로토콜이 링크 계층에서 한 번에 작동할 수 있으며 각 프로토콜은 고유한 기능 집합을 수행합니다.

링크 계층 프로토콜

가장 낮은 하드웨어 수준에서 컴퓨터와 네트워크의 상호 작용을 보장하는 프로토콜은 주로 로컬 네트워크의 토폴로지와 내부 아키텍처를 결정합니다. 현재 로컬 네트워크 구축을 위한 여러 표준이 실제로 사용되는 경우가 많으며 그 중 가장 일반적인 것은 이더넷, 토큰링, FDDI(Fiber Distributed Data Interface) 및 ArcNet입니다.
현재까지 이더넷 표준을 기반으로 구축된 근거리 통신망은 우리나라와 전 세계에서 가장 인기가 있습니다. 이더넷 네트워크는 모든 소규모 및 가정용 LAN(Local Area Network)의 거의 90%를 차지합니다. 이는 이 기술이 간단하고 사용하기 쉬운 구축을 가능하게 하고 최소한의 비용으로 LAN을 구성할 수 있게 해주기 때문에 놀라운 일이 아닙니다. 이것이 이더넷 기술이 우리가 고려하고 있는 주요 표준으로 채택되는 이유입니다. 이더넷 지원을 위한 링크 계층 프로토콜은 일반적으로 컴퓨터를 로컬 영역 네트워크에 연결하는 장비에 내장되어 있습니다. 물리적 수준. 이더넷 표준은 브로드캐스트됩니다. 즉, 네트워크에 연결된 각 컴퓨터는 네트워크 세그먼트를 통해 이어지는 모든 정보를 수신합니다. 둘 다 이 컴퓨터를 위해 특별히 의도된 것과 다른 시스템으로 전송된 데이터입니다. 모든 이더넷 네트워크는 동일한 미디어 분리 알고리즘인 CSMA/CD(Carrier Sense Multiple Access with Collision Detection)를 사용합니다.
이더넷 기술의 프레임워크 내에서 오늘날 네트워크 통신을 구성하기 위한 몇 가지 표준이 구별됩니다. 처리량통신 채널과 하나의 네트워크 세그먼트의 최대 허용 길이, 즉 네트워크에 연결된 두 장치 사이의 거리. 이 표준은 다음 장에서 논의될 것입니다. 네트워크 장비현재로서는 이더넷 표준 내에서 일반적으로 두 가지 다른 토폴로지 중 하나가 사용된다는 점에 유의해야 합니다. 공통 버스 또는 스타 아키텍처가 있는 네트워크 구성입니다.

인터넷 계층 프로토콜

앞에서 언급한 것처럼 인터네트워킹 계층 프로토콜은 로컬 네트워크에서 정보의 경로를 결정하고 데이터그램을 수신 및 전송하며 수신된 데이터를 다음 이상의 프로토콜로 변환하도록 설계되었습니다. 높은 레벨데이터가 로컬 컴퓨터에서 처리되도록 의도된 경우. 인터넷 계층 프로토콜에는 RIP(Routing Internet Protocol) 및 OSPF(Open Shortest Path First)와 같은 라우팅 프로토콜과 ICMP(Internet Control Message Protocol)가 포함됩니다. 그러나 동시에 가장 잘 알려진 인터네트워크 프로토콜 중 하나는 IP 프로토콜입니다.

IP 프로토콜

IP(인터넷 프로토콜)는 글로벌 분산 시스템, 예를 들어 인터넷 및 로컬 네트워크에서. IP 프로토콜은 현대 인터넷의 전신인 ArpaNet 네트워크에서 처음 사용되었으며 그 이후로 가장 일반적이고 인기 있는 인터네트워크 프로토콜 중 하나로 자신있게 자리를 잡았습니다.
IP 인터넷 프로토콜은 보편적인 표준이기 때문에 소위 복합 네트워크, 즉 서로 다른 데이터 전송 기술을 사용하고 게이트웨이를 통해 상호 연결된 네트워크에서 자주 사용됩니다. 동일한 프로토콜이 네트워크에서 정보를 전송할 때 주소 지정을 "책임"집니다. 이 주소 지정은 어떻게 수행됩니까?
지구에 사는 모든 사람은 필요한 경우 찾을 수 있는 주소를 가지고 있습니다. 인터넷이나 로컬 네트워크의 모든 컴퓨터에도 고유한 주소가 있다는 사실은 누구나 놀랄 일이 아닙니다. 컴퓨터 네트워크의 주소는 우리에게 익숙한 우편 주소와 현저하게 다릅니다. "컴퓨터 인텔 펜티엄 III 1300 Mhz, Esq., 114 Paney Lane, 리버풀, 영국." 그러한 비문을 보면 개인용 컴퓨터는 기본적으로 기껏해야 얼어 붙을 것입니다. 그러나 컴퓨터에 195.85.102.14와 같은 주소를 지정하면 기계가 사용자를 완벽하게 이해할 것입니다.
네트워크에 연결된 컴퓨터 주소의 유사한 기록을 의미하는 IP 표준입니다. 이 항목을 IP 주소라고 합니다.
위의 예에서 IP 주소는 점으로 구분된 4개의 10진수 식별자 또는 옥텟(각 1바이트)으로 구성되어 있음을 알 수 있습니다. 왼쪽 옥텟은 대상 컴퓨터가 있는 로컬 인트라넷의 유형을 지정합니다(여기서 "인트라넷"이라는 용어는 인터넷에 연결된 개인 회사 또는 가정 LAN을 나타냄). 이 표준의 틀 내에서 인트라넷의 여러 하위 유형이 구별되며 첫 번째 옥텟의 값에 따라 결정됩니다. 이 값은 그러한 네트워크가 포함할 수 있는 최대 서브넷 및 노드 수를 나타냅니다. 테이블에서. 2.1은 IP 주소의 첫 번째 옥텟 값에 대한 네트워크 클래스의 대응을 보여줍니다.

표 2.1. 네트워크 클래스를 IP 주소의 첫 번째 옥텟 값에 매핑

클래스 A 주소는 많은 수의 노드가 있는 시스템을 만들 수 있기 때문에 대규모 공용 네트워크에서 사용됩니다. 클래스 B 주소는 일반적으로 다음에서 사용됩니다. 기업 네트워크중간 규모, 클래스 C 주소 - 소규모 기업의 로컬 네트워크. 클래스 D 브로드캐스트 주소는 기계 그룹의 주소를 지정하기 위한 것이며 클래스 E 주소는 아직 사용되지 않습니다. 시간이 지나면서 표준을 확장하는 데 사용될 것으로 예상됩니다. 첫 번째 옥텟 127의 값은 주로 네트워크 장비 테스트를 위해 서비스 목적으로 예약되어 있습니다. 이러한 주소로 향하는 IP 패킷은 네트워크로 전송되지 않고 방금 수신한 대로 네트워크 소프트웨어 제어 추가 기능으로 다시 중계되기 때문입니다. 또한 특별한 의미를 지닌 소위 "전용" IP 주소 세트가 있습니다. 이러한 주소는 표에 나와 있습니다. 2.2.

표 2.2. 전용 IP 주소의 의미

노트
목적에 관계없이 인터넷에 연결된 모든 컴퓨터를 호스트라고 부르는 것이 일반적입니다.

앞서 언급했듯이 소규모 로컬 네트워크는 상호 연결되어 더 복잡하고 분기된 구조를 형성할 수 있습니다. 예를 들어, 기업의 로컬 네트워크는 관리 건물의 네트워크와 생산 부서의 네트워크로 구성될 수 있고, 관리 건물의 네트워크는 차례로 회계, 계획 및 경제 부서 및 마케팅 부서의 네트워크를 포함할 수 있습니다. . 위의 예에서 하위 수준 네트워크는 상위 수준 시스템의 서브넷입니다. 즉, 로컬 회계 네트워크는 관리 건물의 네트워크에 대한 서브넷이고 차례로 네트워크에 대한 서브넷입니다. 전체 기업의 전체.
그러나 IP 주소의 구조를 연구하는 것으로 돌아가자. IP 주소의 마지막(오른쪽) 식별자는 주어진 로컬 네트워크에 있는 컴퓨터의 번호를 나타냅니다. 이러한 항목에서 오른쪽과 왼쪽 옥텟 사이의 모든 것은 하위 수준 서브넷 번호입니다. 불분명? 예제를 살펴보겠습니다. 인터넷에 신선한 농담 세트가 포함된 패키지를 보내려는 특정 주소가 있다고 가정합니다. 동일한 IP 주소를 예로 들어 보겠습니다(195.85.102.14). 그래서 우리는 패킷을 인터넷의 195번째 서브넷으로 보냅니다. 이 서브넷은 첫 번째 옥텟의 값에서 볼 수 있듯이 클래스 C에 속합니다. 195번째 네트워크에는 902개의 서브넷이 더 있지만 패킷은 85번째. 250개의 서브넷이 포함되어 있습니다.
낮은 차수지만 우리는 102번째가 필요합니다. 그리고 마지막으로 40대의 컴퓨터가 102번째 네트워크에 연결됩니다. 우리가 고려하고 있는 주소를 기반으로 이 네트워크 시스템에서 14번을 가진 기계가 농담 모음을 수신할 것입니다. 위에서 언급한 모든 것에서 두 가지 모두에서 작동하는 각 컴퓨터의 IP 주소가 분명해집니다. 로컬 네트워크와 글로벌 컴퓨팅 시스템에서 고유해야 합니다.
로컬 네트워크에서 IP 주소의 중앙 집중식 배포는 미국 캘리포니아 주 맨로 파크 시의 실리콘 밸리 중심부에 위치한 SRI International(Stanford International Research Institute)이라는 국영 기관에서 수행합니다. IP 주소의 새 로컬 네트워크 할당 서비스는 무료이며 약 일주일이 걸립니다. 이 조직에 문의할 수 있습니다. SRI International, Room EJ210, 333 Ravenswood Avenue, Menlo Park, California 94025, USA,미국에 전화가 없다 1-800-235-3155 또는 웹사이트에서 찾을 수 있는 이메일 주소로 http://www.sri.com.그러나 5-10대의 컴퓨터로 구성된 소규모 로컬 네트워크의 대부분의 관리자는 IP 네트워크에서 위에서 설명한 주소 지정 규칙에 따라 네트워크에 연결된 시스템에 자체적으로 IP 주소를 할당합니다. 이 접근 방식은 실행 가능하지만, 미래에 이러한 네트워크가 다른 LAN에 연결되거나 인터넷에 직접 연결되는 경우 임의의 IP 주소 할당이 문제가 될 수 있습니다. 이 경우 여러 IP 주소가 우연히 일치하면 네트워크를 통해 전송되는 데이터 라우팅 오류 또는 전체 네트워크 오류와 같은 매우 불쾌한 결과가 발생할 수 있습니다.
제한된 수의 컴퓨터가 있는 소규모 로컬 네트워크는 등록을 위해 클래스 C 주소를 요청해야 합니다. 이 경우 이러한 각 네트워크에는 IP 주소의 처음 두 옥텟만 할당됩니다(예: 197.112.X.X). 이 네트워크의 사용자는 필요에 따라 서브넷을 만들고 각 서브넷에 노드 번호를 임의로 할당할 수 있습니다.
IP를 기본 인터네트워크 프로토콜로 사용하는 대규모 LAN은 전체 IP 네트워크를 서브넷으로 분할하여 전체 네트워크 시스템을 구성하는 데 매우 편리한 방법을 사용하는 경우가 많습니다. 예를 들어 전체 엔터프라이즈 네트워크가 함께 연결된 여러 이더넷 로컬 네트워크로 구성된 경우 여러 구조 구성 요소, 즉 IP 주소의 세 번째 옥텟 값이 다른 서브넷을 구별할 수 있습니다. 일반적으로 각 서브넷을 사용하므로 물리적 네트워크회사의 일부 부서, 예를 들어 회계 부서의 모든 컴퓨터를 연결하는 이더넷 네트워크입니다. 이 접근 방식은 먼저
IP 주소를 불필요하게 낭비하지 않도록 하고 두 번째로 관리의 관점에서 특정 편의를 제공합니다. 예를 들어 관리자는 자신에게 위임된 서브넷 중 하나에 대해서만 인터넷에 대한 액세스를 열거나 서브넷 중 하나를 일시적으로 연결을 끊을 수 있습니다. 기업의 로컬 네트워크. 또한 만일의 경우 네트워크 관리자 IP 주소의 세 번째 옥텟이 서브넷 번호를 설명하고 네 번째 옥텟이 그 안에 있는 노드 번호를 설명한다고 결정하면 이러한 정보가 엔터프라이즈 네트워크의 로컬 라우팅 테이블에 기록되고 외부에서 볼 수 없습니다. 즉, 이 접근 방식은 더 많은 보안을 제공합니다.
소프트웨어가 주어진 네트워크 시스템에서 사용되는 IP 주소에서 특정 컴퓨터의 수를 자동으로 추출하기 위해 소위 서브넷 마스크가 사용됩니다. 노드 번호가 IP 주소의 일부로 인식되는 원리는 매우 간단합니다. IP 네트워크 자체의 번호를 나타내는 서브넷 마스크 비트는 1과 같아야 하고 노드 번호를 결정하는 비트는 0이어야 합니다. 이것이 대부분의 클래스 C IP 로컬 네트워크에서 값 255.255.255.0이 서브넷 마스크로 허용되는 이유입니다. 공통 네트워크최대 256개의 서브넷을 활성화할 수 있으며 각 서브넷에는 최대 254대의 컴퓨터가 있습니다. 경우에 따라 이 값이 변경될 수 있습니다. 예를 들어 네트워크에서 256개 이상의 서브넷을 사용해야 하는 경우 255.255.255.195 형식의 서브넷 마스크를 사용할 수 있습니다. 이 구성에서 네트워크는 최대 1024개의 서브넷을 포함할 수 있으며 각 서브넷에는 최대 60대의 컴퓨터가 있습니다.
인터넷 프로토콜 IP에서 작동하는 로컬 네트워크에서는 네트워크에 포함된 노드의 IP 주소를 지정하는 것 외에도 컴퓨터의 기호 지정도 허용됩니다. 예를 들어 주소가 192.112.85.7인 컴퓨터는 네트워크 이름을 가질 수 있습니다. 로컬 호스트. 기호 호스트 이름에 대한 IP 주소의 대응 테이블은 다음과 같습니다. 특수 파일다음 중 하나에 저장된 호스트 시스템 폴더; 특히 운영체제에서 마이크로소프트 윈도우 XP의 경우 이 파일은 flKCK:\Windows\system32\drivers\etc\ 폴더에 있습니다. LAN 호스트 이름 대 IP 주소 매핑 테이블 항목의 구문은 매우 간단합니다. 각 테이블 항목은 새 줄에 있어야 하고 IP 주소는 첫 번째 열에 있고 그 뒤에 컴퓨터 이름이 오고 IP 주소와 이름은 다음과 같이 구분됩니다. 적어도 하나의 공간. 각 테이블 행에는 # 기호로 표시되는 임의의 주석이 포함될 수 있습니다. 호스트 파일의 예는 다음과 같습니다.

192.112.85.7 localhost # 이 컴퓨터
192.112.85.1 서버 # 네트워크 서버
192.112.85.2 이사 # 접수 이사의 컴퓨터
192.112.85.5 관리자 # 컴퓨터 시스템 관리자

일반적으로 호스트 파일은 특정 로컬 네트워크에 대해 생성되고 복사본은 연결된 각 컴퓨터에 저장됩니다. 네트워크 노드 중 하나에 여러 IP 주소가 있는 경우 실제로 사용되는 주소에 관계없이 일반적으로 그 중 하나만 해당 테이블에 표시됩니다. 네트워크에서 이 컴퓨터로 향하는 IP 패킷을 수신하면 IP 프로토콜은 라우팅 테이블을 확인하고 IP 패킷의 헤더 분석을 기반으로 이 호스트에 할당된 모든 IP 주소를 자동으로 인식합니다.
개별 네트워크 노드 외에도 로컬 네트워크에 포함된 서브넷은 고유한 기호 이름을 가질 수도 있습니다. 서브넷 이름에 대한 IP 주소 매핑은 호스트 파일과 동일한 폴더에 저장된 네트워크 파일에 포함되어 있습니다. 이 매핑 테이블을 작성하는 구문은 이전 구문과 약간 다르며 일반적으로 다음과 같습니다.<сетевяе имя> <номер сети>[별칭...] [#<конментарий>]
여기서 네트워크 이름은 각 서브넷에 할당된 이름이고, 네트워크 번호는 서브넷의 IP 주소의 일부입니다(이 서브넷에 포함된 더 작은 서브넷의 수와 호스트 번호 제외), 별칭 - 선택적 매개변수, 서브넷 이름에 대한 가능한 동의어를 나타냅니다. 서브넷에 여러 개의 다른 기호 이름이 있는 경우 사용됩니다. 마지막으로 주석 - 각 항목의 의미를 설명하는 임의의 주석. 예시 네트워크 파일아래에 주어진다:

루프백 127
마케팅 192.112.85 # 마케팅 부서
부갈테리아 192.112.81 #회계
워크샵 192.112.80 # 워크샵 네트워크
작업 그룹 192.112.10 localnetwork # 주 작업 그룹

127로 시작하는 주소는 IP 예약이며 이 예에서 192.112.10의 서브넷에는 공유되는 두 개의 기호 이름이 있습니다.
호스트 파일네트워크는 IP 프로토콜의 기본 메커니즘에 직접적인 영향을 미치지 않고 주로 응용 프로그램에서 사용되지만 로컬 네트워크의 구성 및 관리를 크게 용이하게 합니다.

IPX 프로토콜

IPX(Internet Packet Exchange) 프로토콜은 노드가 Nowell Netware 제품군의 운영 체제를 실행하는 로컬 네트워크에서 사용되는 인터네트워킹 프로토콜입니다. 이 프로토콜은 논리적 연결을 구성하지 않고 이러한 네트워크에서 데이터그램의 전송을 보장합니다. 즉, 전송 계층 프로토콜에 의해 구성되는 두 네트워크 노드 간의 지속적인 양방향 데이터 교환입니다. Nowell 기술을 기반으로 개발된 이 프로토콜은 매우 널리 퍼져 있는 TCP/IP 프로토콜 스택과의 비호환성으로 인해 이제 느리지만 확실하게 기반을 잃어가고 있습니다.
인터네트워킹 프로토콜 IP와 마찬가지로 IPX는 최대 576바이트 길이의 데이터그램을 통해 데이터를 브로드캐스트할 수 있으며 그 중 30바이트는 패킷 헤더입니다. IPX 네트워크는 네트워크 번호, 노드 주소 및 호스트 주소로 구성된 복합 노드 주소를 사용합니다. 응용 프로그램, 전송된 정보 패킷을 위한 것으로 소켓 또는 소켓의 이름도 포함합니다. 멀티태스킹 환경에서 여러 네트워크 응용 프로그램 간의 통신을 활성화하려면 IPX를 실행하는 호스트에 동시에 여러 소켓이 열려 있어야 합니다.
IPX 프로토콜은 데이터 전송 중 데이터그램 수신 확인을 요청하지 않기 때문에 이러한 네트워크에서 데이터 전달이 보장되지 않으므로 정보 전송에 대한 제어 기능은 네트워크 소프트웨어에 할당됩니다. 사실, IPX는 네트워크를 통해 브로드캐스트된 데이터 스트림을 데이터그램으로 캡슐화하고 패킷을 더 높은 수준의 프로토콜로 라우팅 및 전송하는 기능만 제공합니다.
링크 계층 프로토콜의 경우 IPX는 다음과 같은 논리적 구조를 갖는 데이터 패킷을 전송합니다.

  • 전송된 패킷의 무결성을 결정하기 위한 체크섬(2바이트);
  • 패킷 길이 표시(2바이트)
  • 전송 제어 데이터(1바이트);
  • 목적지 네트워크 주소(4바이트);
  • 목적지 호스트 주소(6바이트);
  • 대상 소켓 번호(2바이트);
  • 발신자 네트워크 주소(4바이트);
  • 발신자 노드 주소(6바이트);
  • 발신자 소켓 번호(2바이트);
  • 전송된 정보(0-546바이트).

링크 계층 프로토콜은 이 패킷을 네트워크 프레임 내에 배치하고 분산 컴퓨팅 시스템으로 전송합니다.

전송 프로토콜

앞서 언급했듯이 전송 계층 프로토콜은 인터네트워크 프로토콜과 운영 체제 계층 응용 프로그램 간의 데이터 전송에 대한 제어를 제공합니다. 현재 로컬 네트워크에서는 여러 유형의 전송 프로토콜이 가장 일반적입니다.

TCP 프로토콜

IP 프로토콜은 데이터 브로드캐스트만 허용합니다. 이 과정을 관리하기 위해서는 TCP 프로토콜(전송 제어 프로토콜), IP 프로토콜의 기능을 기반으로 합니다. 정보 전송은 어떻게 제어됩니까?
소포를 보내는 데 돈을 들이지 않고 두꺼운 잡지를 친구에게 우편으로 보내고 싶다고 가정해 봅시다. 우편물이 종이가 몇 장 이상 포함된 편지를 수락하지 않는 경우 이 문제를 해결하는 방법은 무엇입니까? 해결책은 간단합니다. 잡지를 페이지로 나누어 별도의 편지로 보내십시오. 페이지 번호로 친구가 전체 잡지를 모을 수 있습니다. TCP 프로토콜은 거의 동일한 방식으로 작동합니다. 정보를 여러 부분으로 나누고 나중에 데이터를 결합할 수 있도록 각 부분에 번호를 할당하고 "서비스" 정보를 추가하고 이 모든 것을 별도의 "IP 봉투"에 넣습니다. 또한이 "봉투"는 네트워크를 통해 전송됩니다. 결국 게이트웨이 계층의 프로토콜은 이러한 정보를 처리할 수 있습니다. TCP와 IP 프로토콜은 이 체계에서 밀접하게 관련되어 있기 때문에 종종 TCP/IP라는 하나의 개념으로 함께 묶입니다. 인터넷을 통해 전송되는 TCP/IP 패킷의 크기는 네트워크의 기술적 특성에 따라 일반적으로 1~1500바이트입니다.
확실히 일반 우편 통신 서비스를 사용하면 일반 편지, 소포 및 기타 우편물길을 잃고 엉뚱한 곳으로 가게 됩니다. 로컬 네트워크에서도 동일한 문제가 일반적입니다. 우체국에서는 이러한 불쾌한 상황을 우체국장이 해결하고, 네트워크 시스템에서는 TCP 프로토콜이 이를 처리합니다. 데이터 패킷이 수신자에게 제때 전달되지 않으면 TCP는 정보가 정확하고 완전히 수신될 때까지 전송을 반복합니다.
실제로 데이터를 통해 전송되는 전자 네트워크, 손실될 뿐만 아니라 통신선의 간섭으로 인해 종종 왜곡됩니다. TCP에 내장된 데이터 전송의 정확성을 확인하는 알고리즘도 이 문제를 해결합니다. 정보 전달의 정확성을 제어하는 ​​가장 잘 알려진 메커니즘 중 하나는 보내는 컴퓨터에서 계산한 특정 체크섬을 전송된 각 패킷의 헤더에 쓰는 방식입니다. 수신 컴퓨터는 유사한 시스템을 사용하여 체크섬을 계산하고 패킷 헤더의 숫자와 비교합니다. 숫자가 일치하지 않으면 TCP는 재전송을 시도합니다.
또한 정보 패킷을 보낼 때 TCP 프로토콜은 수신자 컴퓨터가 정보 수신을 확인하도록 요구합니다. 이것은 수신 및 전송에서 시간 지연(시간 초과 또는 예상)을 생성하여 구성됩니다. 그 동안 발신자는 계속해서 데이터를 보냅니다. 이미 전송되었지만 아직 확인되지 않은 데이터가 일정량 형성됩니다. 즉, TCP는 양방향 정보 교환을 구성하여 더 많은 정보를 제공합니다. 고속그녀의 방송.
두 컴퓨터가 연결되면 해당 TCP 모듈이 연결 상태를 모니터링합니다. 이 경우 데이터가 교환되는 연결 자체를 가상 또는 논리 채널이라고 합니다.
실제로 TCP 프로토콜은 TCP / IP 프로토콜 스택의 필수적인 부분이며 네트워크를 통한 정보 전송에 대한 모든 제어 기능과 클라이언트 응용 프로그램 간의 배포 작업을 구현하는 데 도움이 됩니다. .

SPX 프로토콜

IP 네트워크용 TCP 프로토콜과 마찬가지로 인터넷 프로토콜 IPX를 기반으로 구축된 네트워크의 경우 전송 프로토콜은 특수 프로토콜 SPX(Sequenced Pocket eXchange)입니다. 이러한 로컬 네트워크에서 SPX 프로토콜은 다음 기능 세트를 수행합니다.

  • 연결 초기화;
  • 가상 통신 채널 구성(논리적 연결);
  • 채널 상태를 확인하는 단계;
  • 데이터 전송 제어;
  • 단절.

SPX 전송 프로토콜과 IPX 인터넷 프로토콜은 밀접하게 관련되어 있기 때문에 IPX/SPX 프로토콜 제품군이라는 공통 개념으로 결합되는 경우가 많습니다. 이 프로토콜 제품군에 대한 지원은 Nowell Netware 제품군의 운영 체제뿐만 아니라 Microsoft Windows 9x/Me/NT/2000/XP, Unix/Linux 및 OS/2에서도 구현됩니다.

NetBIOS/NetBEUI 프로토콜

IBM에서 개발한 운송 수단 NetBIOS 프로토콜(Network Basic Input/Output System)은 로컬 통신을 위한 기본 프로토콜입니다.
Nowell Netware 및 OS / 2 제품군의 운영 체제를 실행하는 네트워크, 그러나 지원은 Microsoft Windows 및 일부 Unix 호환 운영 체제 구현에서도 구현됩니다. 실제로 이 프로토콜은 프로토콜 스택의 여러 논리적 수준에서 동시에 작동한다고 말할 수 있습니다. 전송 수준에서 네트워크 응용 프로그램 간의 인터페이스를 관리하는 인터네트워크 수준에서 IPX/SPX 프로토콜을 통한 추가 기능으로 구성합니다. 데이터그램 라우팅은 링크 수준에서 서로 다른 네트워크 노드 간의 메시지 교환을 구성합니다.
다른 프로토콜과 달리 NetBIOS는 고유한 호스트 이름을 기반으로 로컬 영역 네트워크를 처리하고 구성이 거의 또는 전혀 필요하지 않으므로 적은 수의 컴퓨터로 네트워크를 관리하는 시스템 관리자에게 매우 매력적입니다. 호스트 이름으로 NetBIOS 프로토콜은 16바이트 길이의 의미 있는 시퀀스를 사용합니다. 바이트. 또한 NetBIOS 네트워크의 각 컴퓨터에는 임의의 기호 이름이 있으며 임의의 이름에는 함께 작동하는 여러 노드를 통합하는 논리적 * 작업 그룹이 있을 수 있습니다. 이러한 이름은 시스템 관리자의 요청에 따라 할당 및 제거될 수 있습니다. 호스트 이름은 네트워크에서 컴퓨터를 식별하는 데 사용되며 특히 작업 그룹 이름은 그룹의 여러 컴퓨터에 데이터를 보내거나 동시에 여러 네트워크 노드에 액세스하는 데 사용할 수 있습니다.
분산 컴퓨팅 시스템에 연결할 때마다 NetBIOS 프로토콜은 로컬 네트워크를 폴링하여 호스트 이름의 고유성을 확인합니다. 여러 호스트가 동일한 그룹 이름을 가질 수 있으므로 그룹 이름의 고유성은 결정되지 않습니다.
특히 NetBIOS 표준을 기반으로 하는 로컬 네트워크의 경우 IBM은 이 프로토콜에 대해 NetBEUI(NetBIOS Extended User Interface)라고 하는 확장 인터페이스를 개발했습니다. 이 프로토콜은 150-200대 이하의 컴퓨터를 포함하는 소규모 로컬 네트워크를 지원하도록 설계되었으며 이 프로토콜은 로컬 네트워크의 특정 세그먼트에서만 사용할 수 있기 때문에(NetBEUI 패킷은 브리지를 통해 브로드캐스트될 수 없습니다. 여러 로컬 종종 다른 전송 매체나 다른 토폴로지를 사용하는 네트워크), 이 표준은 Windows 9x/ME/2000 운영 체제 제품군에서 지원되지만 Microsoft Windows XP 운영 체제에서는 더 이상 사용되지 않는 것으로 간주되어 더 이상 지원되지 않습니다.

애플리케이션 프로토콜

응용 계층 프로토콜은 특정 사용자에게 정보를 전달하는 데 사용됩니다. 클라이언트 애플리케이션에 출시 네트워크 컴퓨터. IP 네트워크에서 응용 프로그램 계층 프로토콜은 TCP 표준을 기반으로 하며 여러 가지 특수 기능을 수행하여 사용자 프로그램에 엄격하게 정의된 목적의 데이터를 제공합니다. 다음에서는 TCP/IP 스택의 여러 응용 프로그램 프로토콜을 간략하게 검토합니다.

FTP 프로토콜

이름에서 알 수 있듯이 FTP(파일 전송 프로토콜)는 인터넷을 통해 파일을 전송하도록 설계되었습니다. World Wide Web의 원격 노드에서 파일을 다운로드 및 업로드하는 절차가 구현되는 것은 이 프로토콜을 기반으로 합니다. FTP를 사용하면 파일뿐만 아니라 하위 디렉토리를 포함한 전체 폴더를 중첩 깊이까지 컴퓨터에서 컴퓨터로 전송할 수 있습니다. 이것은 여러 내장 기능을 설명하는 FTP 명령 시스템을 참조하여 수행됩니다. 이 프로토콜.

POP3 및 SMTP 프로토콜

전자 메일 작업에 사용되는 응용 프로그램 프로토콜은 SMTP(Simple Mail Transfer Protocol) 및 POP3(Post Office Protocol)라고 하며 첫 번째는 보내는 메일을 보내는 "책임"이고 두 번째는 들어오는 메일을 배달합니다.
이러한 프로토콜의 기능에는 전자 메일 메시지 전달 구성 및 전송이 포함됩니다. 메일 클라이언트. 또한 SMTP 프로토콜을 사용하면 단일 수신자에게 여러 메시지를 보내고, 메시지의 중간 저장소를 구성하고, 하나의 메시지를 복사하여 여러 수신자에게 보낼 수 있습니다. POP3와 SMTP 모두 기본 제공 전자 메일 주소 인식 메커니즘과 메시지 배달의 안정성을 향상시키는 특수 모듈이 있습니다.

HTTP 프로토콜

HTTP(Hyper Text Transfer Protocol) 프로토콜은 다음으로 작성된 하이퍼텍스트 마크업 코드가 포함된 문서를 원격 서버에서 로컬 컴퓨터로 전송합니다. HTML 언어또는 XML, 즉 웹 페이지. 이 응용 프로그램 프로토콜은 주로 웹 브라우저, 웹 브라우저에 정보를 제공하는 데 중점을 두며, 그 중 가장 유명한 것은 다음과 같은 응용 프로그램입니다. 마이크로소프트 인터넷익스플로러와 넷스케이프 커뮤니케이터.
HTTP 프로토콜을 사용하여 인터넷의 원격 http 서버로 요청을 보내고 응답을 처리합니다. 뿐만 아니라
이 HTTP를 사용하면 도메인 이름 시스템(DNS, Domain Name System) 표준의 주소를 사용하여 World Wide Web의 리소스를 호출할 수 있습니다. www.domain.zone/page.htm(.html).

텔넷 프로토콜

TELNET 프로토콜은 ASCII 문자 형식의 명령 교환을 통해 원격 호스트에 대한 터미널 액세스를 구성하도록 설계되었습니다. 일반적으로 클라이언트 측에서 TELNET 프로토콜을 통해 서버와 작업하려면 특별 프로그램, 원격 호스트와의 연결을 설정한 텔넷 클라이언트라고 하는 이 클라이언트는 해당 창에서 서버 운영 쉘의 시스템 콘솔을 엽니다. 그 후에는 터미널 모드에서 서버 컴퓨터를 마치 자신의 것처럼 관리할 수 있습니다(물론 관리자가 설명하는 한도 내에서). 예를 들어, 파일 및 폴더를 변경, 삭제, 생성, 편집할 수 있을 뿐만 아니라 서버 시스템의 디스크에서 프로그램을 실행할 수 있으며 다른 사용자의 폴더 내용을 볼 수 있습니다. 무엇이든 운영 체제무엇을 사용하든 텔넷 프로토콜을 사용하면 "동등한 위치에서" 원격 시스템과 통신할 수 있습니다. 예를 들어, MS Windows를 실행하는 컴퓨터에서 UNIX 세션을 쉽게 열 수 있습니다.

UDP 프로토콜

UDP(사용자 데이터그램 프로토콜) 응용 프로그램 프로토콜은 느린 회선에서 정보를 데이터그램으로 브로드캐스트하는 데 사용됩니다.
데이터그램은 데이터를 보내고 받는 데 필요한 전체 데이터 집합을 포함합니다. 데이터그램을 전송할 때 컴퓨터는 연결의 안정성을 보장하는 데 관심이 없으므로 안정성을 보장하기 위해 특별한 주의를 기울여야 합니다.
UDP 프로토콜에 의한 정보 처리 방식은 원칙적으로 TCP의 경우와 동일하지만 한 가지 차이점이 있습니다. UDP는 항상 동일한 알고리즘에 따라 엄격하게 정의된 방식으로 정보를 분할합니다. UDP 프로토콜을 사용하여 통신하기 위해 응답 시스템이 사용됩니다. UDP 패킷을 수신한 컴퓨터는 미리 결정된 신호를 발신자에게 보냅니다. 발신자가 신호를 너무 오래 기다리면 단순히 재전송합니다.
언뜻보기에 UDP 프로토콜은 전적으로 몇 가지 단점으로 구성되어 있는 것처럼 보일 수 있지만 인터넷 응용 프로그램은 UDP와 함께 작동하는 하이테크 대응 TCP보다 2배 빠른 속도로 한 가지 중요한 이점이 있습니다.

종단 간 프로토콜 및 게이트웨이

인터넷은 하나 글로벌 구조, 오늘날 개별 사용자를 제외하고 약 13,000개의 서로 다른 로컬 네트워크를 통합합니다. 이전에는 인터넷에 속한 모든 네트워크가 IP 네트워크 프로토콜을 사용했습니다. 그러나 IP를 사용하지 않는 로컬 시스템 사용자도 인터넷의 품에 들어가야 할 때가 왔습니다. 그래서 관문이 있었습니다.
처음에는 게이트웨이를 통해 전자 메일만 브로드캐스트했지만 곧 사용자에게 충분하지 않았습니다. 이제 그래픽, 하이퍼텍스트, 음악, 비디오 등 모든 정보가 게이트웨이를 통해 전송될 수 있습니다. 이러한 네트워크를 통해 다른 네트워크 시스템으로 전송되는 정보는 IP 패킷이 비IP 네트워크를 통해 원활하게 통과할 수 있도록 하는 종단 간 프로토콜을 사용하여 브로드캐스트됩니다.

4.3 응용 프로토콜

응용 프로그램 계층 프로토콜은 네트워크로 연결된 컴퓨터에서 실행되는 특정 클라이언트 응용 프로그램에 정보를 전달하는 데 사용됩니다. IP 네트워크에서 응용 프로그램 계층 프로토콜은 TCP 표준을 기반으로 하며 여러 가지 특수 기능을 수행하여 사용자 프로그램에 엄격하게 정의된 목적의 데이터를 제공합니다. 다음에서는 TCP/IP 스택의 여러 응용 프로그램 프로토콜을 간략하게 검토합니다.

FTP 프로토콜

이름에서 알 수 있듯이 FTP(파일 전송 프로토콜)는 인터넷을 통해 파일을 전송하도록 설계되었습니다. World Wide Web의 원격 노드에서 파일을 다운로드 및 업로드하는 절차가 구현되는 것은 이 프로토콜을 기반으로 합니다. FTP를 사용하면 파일뿐만 아니라 하위 디렉토리를 포함한 전체 폴더를 중첩 깊이까지 컴퓨터에서 컴퓨터로 전송할 수 있습니다. 이것은 이 프로토콜의 여러 내장 기능을 설명하는 FTP 명령 시스템을 참조하여 수행됩니다.

POP3 및 SMTP 프로토콜

전자 메일 작업에 사용되는 응용 프로그램 프로토콜은 SMTP(Simple Mail Transfer Protocol) 및 POP3(Post Office Protocol)라고 하며 첫 번째는 보내는 메일을 보내는 "책임"이고 두 번째는 들어오는 메일을 배달합니다.

이러한 프로토콜의 기능에는 전자 메일 메시지 전달 구성 및 메일 클라이언트로의 전송이 포함됩니다. 또한 SMTP 프로토콜을 사용하면 단일 수신자에게 여러 메시지를 보내고, 메시지의 중간 저장소를 구성하고, 하나의 메시지를 복사하여 여러 수신자에게 보낼 수 있습니다. POP3와 SMTP 모두 기본 제공 전자 메일 주소 인식 메커니즘과 메시지 배달의 안정성을 향상시키는 특수 모듈이 있습니다.

HTTP 프로토콜

HTTP(Hyper Text Transfer Protocol) 프로토콜은 HTML 또는 XML로 작성된 하이퍼텍스트 마크업 코드, 즉 웹 페이지가 포함된 문서를 원격 서버에서 로컬 컴퓨터로 전송합니다. 이 응용 프로그램 프로토콜은 주로 Microsoft Internet Explorer 및 Netscape Communicator와 같은 응용 프로그램으로 가장 유명한 웹 브라우저, 웹 브라우저에 정보를 제공하는 데 중점을 둡니다.

HTTP 프로토콜을 사용하여 인터넷의 원격 http 서버로 요청을 보내고 응답을 처리합니다. 또한 HTTP를 사용하면 도메인 이름 시스템(DNS, Domain Name System) 표준의 주소를 사용하여 World Wide Web의 리소스, 즉 http:// www.domain.zone/page.htm(.html).

텔넷 프로토콜

TELNET 프로토콜은 ASCII 문자 형식의 명령 교환을 통해 원격 호스트에 대한 터미널 액세스를 구성하도록 설계되었습니다. 일반적으로 TELNET 프로토콜을 통해 서버와 작업하려면 telnet 클라이언트라는 특수 프로그램을 클라이언트 측에 설치해야 합니다. 이 프로그램은 원격 호스트와 연결을 설정한 후 서버에서 운영하는 쉘의 시스템 콘솔을 엽니다. 그 창. 그 후에는 터미널 모드에서 서버 컴퓨터를 마치 자신의 것처럼 관리할 수 있습니다(물론 관리자가 설명하는 한도 내에서). 예를 들어, 파일 및 폴더를 변경, 삭제, 생성, 편집할 수 있을 뿐만 아니라 서버 시스템의 디스크에서 프로그램을 실행할 수 있으며 다른 사용자의 폴더 내용을 볼 수 있습니다. 어떤 운영 체제를 사용하든 텔넷 프로토콜을 사용하면 "동등한 위치에서" 원격 시스템과 통신할 수 있습니다. 예를 들어, MS Windows를 실행하는 컴퓨터에서 UNIX 세션을 쉽게 열 수 있습니다.

UDP 프로토콜

UDP(사용자 데이터그램 프로토콜) 응용 프로그램 프로토콜은 느린 회선에서 정보를 데이터그램으로 브로드캐스트하는 데 사용됩니다.

데이터그램은 데이터를 보내고 받는 데 필요한 전체 데이터 집합을 포함합니다. 데이터그램을 전송할 때 컴퓨터는 연결의 안정성을 보장하는 데 관심이 없으므로 안정성을 보장하기 위해 특별한 주의를 기울여야 합니다.

UDP 프로토콜에 의한 정보 처리 방식은 원칙적으로 TCP의 경우와 동일하지만 한 가지 차이점이 있습니다. UDP는 항상 동일한 알고리즘에 따라 엄격하게 정의된 방식으로 정보를 분할합니다. UDP 프로토콜을 사용하여 통신하기 위해 응답 시스템이 사용됩니다. UDP 패킷을 수신한 컴퓨터는 미리 결정된 신호를 발신자에게 보냅니다. 발신자가 신호를 너무 오래 기다리면 단순히 재전송합니다.

언뜻보기에 UDP 프로토콜은 전적으로 몇 가지 단점으로 구성되어 있는 것처럼 보일 수 있지만 인터넷 응용 프로그램은 UDP와 함께 작동하는 하이테크 대응 TCP보다 2배 빠른 속도로 한 가지 중요한 이점이 있습니다.

인터넷 IP 프로토콜 게이트웨이 프로그램


4.4 종단 간 프로토콜 및 게이트웨이

인터넷은 오늘날 개별 사용자를 포함하지 않고 약 13,000개의 서로 다른 로컬 네트워크를 통합하는 단일 글로벌 구조입니다. 이전에는 인터넷에 속한 모든 네트워크가 IP 네트워크 프로토콜을 사용했습니다. 그러나 IP를 사용하지 않는 로컬 시스템 사용자도 인터넷의 품에 들어가야 할 때가 왔습니다. 그래서 관문이 있었습니다.

처음에는 게이트웨이를 통해 전자 메일만 브로드캐스트했지만 곧 사용자에게 충분하지 않았습니다. 이제 그래픽, 하이퍼텍스트, 음악, 비디오 등 모든 정보가 게이트웨이를 통해 전송될 수 있습니다. 이러한 네트워크를 통해 다른 네트워크 시스템으로 전송되는 정보는 비 IP 네트워크를 통한 IP 패킷의 원활한 통과를 보장하는 종단 간 프로토콜을 사용하여 브로드캐스트됩니다.

글로벌 컴퓨터 네트워크를 사용하기 위해 별도의 여행 회사 또는 호텔의 작업을 자동화하는 특수 소프트웨어 도구 개발. 오늘날 관광 산업은 최신 기술을 많이 사용합니다. 컴퓨터 기술, 예를 들어 글로벌 컴퓨터 시스템이중화, 통합 통신 네트워크, 멀티미디어 시스템, 스마트 카드, ...

시간 모드. 네트워크를 통해 파일 및 프린터와 같은 리소스를 공유할 수 있을 뿐만 아니라 플래너 및 전자 메일과 같은 대화형 응용 프로그램으로 작업할 수 있습니다. 컴퓨터 네트워크의 사용은 다음과 같은 많은 이점을 제공합니다. 데이터 및 주변 장치의 공유를 통한 비용 절감; 애플리케이션 표준화; 적시 접수...

이러한 결정은 매우 합리적이고 사실입니다. 국제 표준화 기구(ISO)가 컴퓨터 네트워크에 대한 궁극적인 표준을 만드는 데 수년을 보냈지만 사용자는 기다리기를 원하지 않았습니다. 인터넷 활동가들은 가능한 모든 유형의 컴퓨터에 IP 소프트웨어를 설치하기 시작했습니다. 그것은 곧 유일하게 받아들일 수 있는 방법이 되었습니다...

규약 컴퓨터가 정보를 교환하는 규칙의 집합입니다. 이러한 규칙에는 데이터 전송의 형식, 시간 및 순서, 제어 및 오류 수정 방법이 포함됩니다.

응용 프로그램이 서로 상호 작용하는 다양한 프로토콜 집합입니다.

애플리케이션 계층 프로토콜 HTTP , FTP , SMTP , IMAP , 3, 텔넷 .

클라이언트-서버 아키텍처에 따라 프로그램은 단일 전체로 작동하는 두 부분(하나는 서버에서 작동하고 두 번째는 사용자 컴퓨터에서 작동)으로 나뉩니다. 응용 프로그램 계층 프로토콜은 프로그램의 클라이언트와 서버 부분 간의 상호 작용을 설명합니다. 다음과 같은 가장 잘 알려진 응용 프로그램 프로토콜이 구별됩니다.

HTTP (Hyper Text Transfer Protocol)는 포트 80에서 실행되는 하이퍼텍스트 전송 프로토콜입니다. 하이퍼텍스트 HTML 페이지를 전송하는 WWW의 Isp-Xia. 이 프로토콜을 사용하면 HTML 페이지의 각 요소가 별도로 로드되고 다운로드 간의 연결이 중단되고 연결에 대한 정보가 저장되지 않습니다. 이것은 웹 페이지의 각 사용자가 "선착순으로 약간"을 얻도록 수행됩니다. 그렇지 않으면 한 사람이 고해상도 그림이 많은 페이지를 다운로드하고 나머지는 모두 그가 완료할 때까지 기다리는 상황이 발생할 수 있습니다.

FTP (파일 전송 프로토콜.) - 파일 전송 프로토콜, 포트 20 및 21에서 작동합니다. 컴퓨터 간에 파일을 복사하도록 설계되었습니다. 파일이 수신될 때까지 채널을 완전히 점유하고 연결에 대한 정보를 저장합니다. 장애가 발생한 경우 장애가 발생한 곳에서 재개할 수 있습니다.

SMTP , IMAP -4, 로즈 - 메일 프로토콜(이메일). SMTP - 포트 25, IMAP-4 - 포트 143, POP3 - 포트 110 차이점: SMTP는 특정 수신자에게 메일을 배달하도록 설계된 프로토콜이고 POP3 및 IMAP-4는 서버의 사서함과 사용자 상호 작용을 위한 프로토콜입니다. SMTP를 사용하는 경우 메일 주소가 최종 수신자의 컴퓨터를 가리키고 이 컴퓨터에서 메일을 수신하고 처리하는 특수 프로그램이 실행되고 있다고 가정합니다. 그러나 대부분의 경우 메일이 개별 사용자의 컴퓨터로 배달되지 않고 별도의 메일 서버에서 중앙에서 처리됩니다. 이 경우 각 사용자는 메일 서버에 자신의 사서함을 갖습니다. 메일은 SMTP 프로토콜을 사용하여 서버로 배달되고(최종 수신자는 서버임) 사용자 사서함에 배치됩니다. 그런 다음 사용자는 POP3 또는 IMAP-4 프로토콜을 사용하여 사서함에 연결하고 메일을 검색합니다. POP3 프로토콜을 사용하려면 모든 메일을 완전히 다운로드한 다음 필요한지 여부를 파악해야 합니다. IMAP-4 프로토콜을 사용하면 서버의 메시지 헤더(메시지 상태 표시: 신규, 응답 등)를 보고 서버에서 필요한 문자 또는 문자의 일부만 다운로드할 수 있습니다. IMAP4는 사용자 메일러의 기능을 복제합니다.

4.텔넷 - 원격 컴퓨터를 연결하고 관리하는 데 사용되며 포트 23에서 작동합니다. 일단 연결되면 로컬 시스템에 입력된 각 문자는 원격 시스템에 입력된 것처럼 처리됩니다. 또는 특수 명령을 사용하여 원격 시스템을 제어하는 ​​명령 모드를 사용할 수 있습니다.

소켓 프로그래밍.

이제 클라이언트와 서버 프로그램 간의 상호 작용 과정을 더 자세히 살펴보겠습니다. 클라이언트의 기능은 서버와의 연결을 시작하는 것이며 서버는 연결을 설정할 준비가 되어 있어야 합니다. 이것은 첫째, 클라이언트가 연결을 설정하기 전에 서버 프로그램이 실행 중이어야 하고, 둘째, 서버에 연결을 설정할 소켓이 있어야 함을 의미합니다.

서버 프로세스가 실행 중일 때 클라이언트는 서버에 대한 TCP 연결을 시작할 수 있습니다. 클라이언트 프로그램의 첫 번째 작업은 소켓을 만드는 것입니다. 이 경우 프로그램은 프로세스의 IP 주소와 포트 번호로 구성된 서버 프로세스의 주소를 지정합니다. 소켓이 생성된 후 TCP 프로토콜의 클라이언트 측에서는 서버와 트리플 핸드셰이크를 수행하고 연결이 설정되면서 종료됩니다. 핸드셰이크 절차는 애플리케이션 작동에 영향을 미치지 않습니다.

트리플 핸드셰이크에서 클라이언트 프로세스는 서버 프로세스의 현관문을 노크합니다. 서버는 노크를 들으면 현재 클라이언트와 관련된 새 문(즉, 새 소켓)을 만듭니다.

다음 예에서 정문은 welcomeSocket이라는 ServerSocket 개체입니다. 클라이언트가 이 문을 두드리면 welcomeSocket 객체의 accept() 메서드가 호출되어 클라이언트를 위한 새 문을 만듭니다. 핸드셰이크 절차가 끝나면 클라이언트 소켓과 연결 소켓이라고 하는 새 서버 소켓 간에 TCP 연결이 설정됩니다.

응용 프로그램의 관점에서 TCP 연결은 클라이언트와 서버 연결 소켓 간의 직접적인 가상 채널입니다. 클라이언트는 소켓을 통해 모든 바이트를 보낼 수 있지만 TCP 프로토콜은 서버가 이러한 바이트를 전송된 순서대로 왜곡 없이 소켓을 통해 수신하도록 보장합니다. 사람이 같은 문으로 들어오고 나갈 수 있는 것처럼 클라이언트와 서버는 소켓을 사용하여 정보를 주고받을 수 있습니다.

서비스 및 인터넷 서비스.

이 단락에서는 현대 글로벌 네트워크의 일부로 작동하는 주요 서비스에 대한 간략한 설명을 제공합니다. 다음 단락에서 네트워크의 "주요" 서비스인 WWW(World Wide Web)는 별도로 고려됩니다.

텔넷.이 용어는 서비스를 제공하는 프로토콜 및 프로그램을 나타냅니다. 원격 액세스클라이언트에서 서버 컴퓨터로. 연결을 설정한 후 사용자는 원격 컴퓨터의 운영 체제 환경에 진입하여 자신의 컴퓨터와 동일한 방식으로 원격 컴퓨터에 설치된 프로그램을 사용합니다.

FTP.이것은 프로토콜(파일 전송 프로토콜 - 파일 전송 프로토콜) 및 원격 시스템의 디렉토리 및 파일 작업을 제공하는 프로그램의 이름입니다. FTP 도구를 사용하면 서버의 디렉토리와 파일을 탐색하고, 한 디렉토리에서 다른 디렉토리로 이동하고, 파일을 복사 및 업데이트할 수 있습니다.

아치.콘텐츠에 대한 검색 정보를 수집하고 저장하는 특수 서버(Archie-servers)의 이름입니다. FTP 서버인터넷 노드에서. 이름(또는 이름의 일부)을 알고 있는 파일을 찾고 있다면 Archie 클라이언트를 시작해야 합니다. 그러면 해당 FTP 서버의 주소가 표시됩니다.

WAIS.광역 정보 서버 - 네트워크 데이터베이스 및 라이브러리에서 정보 검색을 제공하는 분산 정보 시스템(데이터베이스 및 소프트웨어). 특히 WAIS는 인터넷에서 구조화되지 않은 문서를 색인화하고 검색하는 데 사용됩니다.

이메일.이것은 영어 표기 이메일- 인터넷 네트워크 서비스의 주요 유형. 전자 메일의 도움으로 모든 대륙에 사는 사람들은 전자 메시지와 파일을 교환합니다.

인터넷 전화.오늘날 새로운 형태의 인터넷 전화 서비스가 빠르게 발전하고 있습니다. 인터넷에서 음성 통신의 원칙은 독창적인 것으로 간주될 수 없습니다. 이러한 통신은 특별한 경우 TCP/IP 프로토콜을 사용하여 임의의 전자 메시지 교환. 인간의 말은 다음으로 변환된다. 디지털파일(오디오 파일이 생성되는 것과 마찬가지로)을 생성하고 일반 전자 패킷 세트로 네트워크를 통해 전송합니다. 사실, 지금까지 인터넷 전화의 유일한 장점은 기존 전화와 비교하여 매우 저렴하다는 것입니다(1분당 대화). 많은 기술적 문제(통신 채널 혼잡, 음성 전송 지연 등)가 아직 해결되지 않았습니다.

26. 아키텍처 "클라이언트-서버", "클라이언트-서버" 기술.분산데이터 처리.데이터베이스 서버 관리.웹 기술. 하이퍼텍스트 문서. HTML 하이퍼텍스트 마크업 언어. 웹 서버 설치 및 구성. 스크립팅 언어와 데이터베이스를 사용한 웹 프로그래밍.

클라이언트-서버 아키텍처.

일반적으로 클라이언트-서버 시스템은 상호 작용하는 두 개의 독립적인 프로세스(클라이언트와 서버)의 존재를 특징으로 합니다. 일반적인 경우, 네트워크를 통해 데이터를 교환하면서 다른 컴퓨터에서 실행할 수 있습니다. 이 방식에 따르면 DBMS, 메일 및 기타 시스템을 기반으로 하는 데이터 처리 시스템을 구축할 수 있습니다. 물론 우리는 데이터베이스와 이를 기반으로 하는 시스템에 대해 이야기할 것입니다. 그리고 여기서 클라이언트-서버 아키텍처를 고려하는 것뿐만 아니라 다른 아키텍처인 파일-서버 아키텍처와 비교하는 것이 더 편리할 것입니다.

파일 서버 시스템에서 데이터는 파일 서버(예: Novell NetWare 또는 Windows NT Server)에 저장되고 처리는 일반적으로 소위 "데스크톱 DBMS" 중 하나를 운영하는 워크스테이션에서 수행됩니다. " - Access, FoxPro , Paradox 등..

신청일 워크스테이션"모든 것에 대한 책임" - 사용자 인터페이스의 형성, 데이터의 논리적 처리 및 데이터의 직접 조작. 파일 서버는 데이터베이스가 아닌 파일 열기, 닫기 및 수정과 같은 가장 낮은 수준의 서비스만 제공합니다. 데이터베이스는 워크스테이션의 "두뇌"에만 존재합니다.

따라서 여러 독립적이고 일관성 없는 프로세스가 데이터의 직접 조작에 관여합니다. 또한 모든 처리(검색, 수정, 합산 등)를 수행하려면 모든 데이터가 네트워크를 통해 서버에서 워크스테이션으로 전송되어야 합니다( 그림 참조. 파일 서버 및 클라이언트 서버 모델 비교)

클라이언트-서버 시스템에는 (적어도) 두 개의 응용 프로그램이 있습니다. 클라이언트와 서버는 파일-서버 아키텍처에서 워크스테이션의 응용 프로그램에 의해 완전히 수행되는 기능을 공유합니다. 데이터의 저장 및 직접 조작은 데이터베이스 서버에서 처리합니다. 마이크로소프트 SQL서버, 오라클, 사이베이스 등

사용자 인터페이스는 대부분의 데스크탑 DBMS뿐만 아니라 다양한 사용자 정의 도구를 사용하여 구축할 수 있는 클라이언트에 의해 구축됩니다. 데이터 처리 로직은 클라이언트와 서버 모두에서 실행할 수 있습니다. 클라이언트는 일반적으로 공식화 된 서버에 요청을 보냅니다. SQL 언어. 서버는 이러한 요청을 처리하고 결과를 클라이언트로 보냅니다(물론 클라이언트가 많을 수 있음).

따라서 하나의 프로세스가 데이터의 직접 조작에 관여합니다. 동시에 데이터 처리는 데이터가 저장되는 동일한 위치, 즉 서버에서 이루어지므로 네트워크를 통해 많은 양의 데이터를 전송할 필요가 없습니다.

분산 데이터 처리

연대순으로 볼 때 프로그램 간의 상호 작용은 일관되게 다음과 같은 형태를 취했습니다.

교환: 서로 다른 시스템의 프로그램이 서로에게 메시지(보통 파일)를 보냅니다.

공유: 여러 시스템의 리소스에 직접 액세스할 수 있습니다(예: 파일 공유).

협업: 기계는 프로그램 구현에서 보완적인 역할을 합니다.

이러한 진화를 설명하는 예를 고려하십시오. 역학 분야의 디자인에 관한 것입니다. 전통적인 접근 방식은 다음과 같습니다.

워크스테이션에서 "와이어 모델"(maillage)(물리적 모델 기하학의 그래픽 표현)을 구축합니다.

계산 코드를 소개하는 모델 파일의 Cray 컴퓨터로 전송합니다.

Cray 컴퓨터에서 수행된 계산 결과는 워크스테이션으로 전송되고 그래픽 후처리기에 의해 처리됩니다.

이 방법에는 다음과 같은 단점이 있습니다.

데이터는 한 시스템에서 다른 시스템으로 파일을 전송하여 교환됩니다.

파일 처리는 순차적인 반면 Cray 계산은 워크스테이션의 그래픽 및 인체 공학적 기능을 사용하여 사용자 상호 작용을 제공할 수 있다는 이점이 있으며 후자의 계산 중 일부는 Cray 기계에서 더 잘 수행됩니다.

이러한 불편함을 없애기 위해서는 위의 문제 해결 옵션에서 "투명성" 개념을 기반으로 한 협업 작업 방법론의 사용으로 전환해야 합니다. 사용자는 하나의 머신(자신의 스테이션)과 하나의 애플리케이션만 볼 수 있습니다. 따라서 분산 데이터 처리는 네트워크로 연결된 여러 시스템에서 실행되는 프로그램입니다. 일반적으로 프로그램의 계산 부분은 강력한 프로세서에서 실행되며 시각적 디스플레이는 인체 공학이 향상된 워크스테이션에 표시됩니다. 분리는 클라이언트-서버 모델에 의존하며 이에 대해 다시 설명합니다. 이러한 유형의 데이터 처리는 삼각형 원칙에 따라 구성됩니다(그림 2.4.).

사용자는 워크스테이션을 소유하고 있습니다.

문제를 해결하려면 데이터 처리 장치(예: 특수 프로세서)와 데이터 서버에 액세스해야 하며 이 모든 것이 사용자에게 투명합니다.

그림 2.4. 컴퓨팅 프로세스의 삼각형 구성

분산 데이터 처리의 목표

분산 데이터 처리의 목적은 리소스 사용을 최적화하고 사용자 경험을 단순화하는 것입니다(개발자의 작업이 복잡해질 수 있음). 어떻게?

리소스 사용 최적화.

이 경우 리소스라는 용어는 처리 능력(프로세서), 저장 용량(메모리 또는 디스크), 그래픽 기능(비트맵 디스플레이 및 공유 메모리와 결합된 2차원 또는 3차원 그래픽 프로세서), 용지 출력용 주변 장치(프린터, 플로터). 이러한 리소스는 한 대의 컴퓨터에 거의 수집되지 않습니다. Cray 컴퓨터에는 강력한 계산 기능이 있지만 그래픽 기능과 효율적인 데이터 관리 기능이 부족합니다. 따라서 다양한 시스템의 공동 작동 원리를 사용하여 최고의 자질그들 각각, 그리고 사용자는 하나의 프로그램만 실행할 때 마음대로 사용할 수 있습니다.

사용자 경험을 단순화하십시오.

실제로 분산 데이터 처리는 다음을 가능하게 합니다.

데이터를 가장 잘 관리할 수 있는 시스템에 데이터 및 처리를 배포하여 효율성을 높입니다.

효율성 향상에서 발생하는 새로운 기회를 제안합니다.

사용성을 향상시킵니다. 사용자는 더 이상 다양한 시스템을 이해하고 파일을 전송할 필요가 없습니다.

이 접근 방식의 주요 단점은 다음과 같습니다. - 네트워크의 특성 및 가용성에 대한 의존성. 네트워크가 손상된 경우 프로그램이 작동하지 않습니다. 네트워크에 과부하가 걸리면 효율성이 떨어지고 시스템 응답 시간이 늘어납니다. - 보안 문제들. 여러 시스템을 사용하는 경우 네트워크에서 가장 신뢰할 수 없는 시스템에 종속되기 때문에 위험이 증가합니다.

반면에 다음과 같은 이점이 있습니다.

자원 사용의 분배 및 최적화. 이것이 분산 데이터 처리를 도입한 주된 이유입니다.

문제 해결에 있어 새로운 기능과 향상된 효율성;

유연성 및 가용성. 기계 중 하나가 고장난 경우 동일한 기능을 수행할 수 있는 다른 기계로 교체하려고 합니다.

애플리케이션 레이어두 가지 형태로 제공되는 소프트웨어 도구 세트입니다. 응용 프로그램및 프로그램 서비스 서비스.

네트워크와 사람의 인터페이스는 응용 프로그램에 의해 제공됩니다. 이 수준의 널리 알려진 응용 프로그램은 사람들이 네트워크를 통해 전송할 메시지를 준비하고 그러한 메시지를 받을 수 있도록 하는 하이퍼텍스트 정보 서비스(World Wide Web - WWW)의 웹 브라우저입니다. 가장 유명한 웹 브라우저는 Internet Explorer, 모질라 파이어 폭스오페라.

서비스 프로그램은 네트워크를 통한 전송을 위해 데이터를 준비합니다. 효과적인 사용네트워크 리소스. 서로 다른 유형의 정보(오디오, 비디오, 텍스트 정보)는 서로 다른 유형의 정보가 공통 네트워크를 통해 전송되어야 하므로 서로 다른 서비스가 필요합니다.

응용 프로그램 계층 프로토콜은 소스 노드와 대상 노드 간의 데이터 교환 규칙을 정의합니다. 각 유형의 응용 프로그램 및 서비스는 전송된 데이터의 표준 및 형식을 정의하는 자체 프로토콜을 사용합니다.

애플리케이션 계층의 프로토콜 및 서비스는 일반적으로 해당 서버로 표시됩니다. 그러나 서버는 별도의 장치로서 여러 서비스 서비스의 기능을 결합할 수 있습니다. 또는 그 반대의 경우, 한 서비스 유형의 서비스가 여러 서버로 표시될 수 있습니다. 다른 수준.

가장 일반적인 응용 프로그램 계층 프로토콜 및 서비스는 다음과 같습니다.

  • 이메일 프로토콜(Simple Mail Transfer Protocol - SMTP, Post Office Protocol - POP, - IMAP);
  • 하이퍼텍스트 전송 프로토콜 또는 웹 서버(Hypertext Transfer Protocol - HTTP);
  • 파일 전송 프로토콜(File Transfer Protocol - FTP) 및 단순 파일 전송 프로토콜(Trivial FTP - TFTP);
  • 도메인 이름 시스템(DNS);
  • 프로토콜 원격 액세스 ( Telnet 및 SSH ) 원격 네트워크 장치에 대한 가상 연결 제공
  • 동적 호스트 주소 할당 프로토콜(동적 호스트 구성 프로토콜 - DHCP).

이런 식으로, 응용 프로그램응용 계층은 네트워크와 사람의 인터페이스(인터페이싱)를 제공합니다. 서비스 서비스사용 소프트웨어네트워크를 통한 전송을 위한 정보를 준비하기 위한 프로토콜.

네트워크 구축에는 두 가지 모델이 있습니다.

  1. 클라이언트-서버 모델;
  2. 피어 투 피어 연결 모델.

피어 투 피어 네트워크네트워크에 연결된 끝 노드는 공유하지 않고 공통 리소스(프린터, 파일)를 공유합니다. 전용 서버. 각 최종 장치(피어)는 서버 또는 클라이언트로 작동할 수 있습니다. 컴퓨터는 한 연결에서는 서버 역할을 하고 다른 연결에서는 클라이언트 역할을 할 수 있습니다.

에 따르면 클라이언트-서버 모델클라이언트는 요청을 전달하여 정보를 요청합니다. 전용 서버( 업로드 ), 요청에 대한 응답으로 클라이언트가 수락한 파일을 보냅니다( 다운로드 ). 따라서 클라이언트는 환경에서 정보 교환 프로세스를 시작합니다. 클라이언트 서버" 및 서버로부터 필요한 정보를 수신합니다. "클라이언트-서버" 모델의 주요 이점은 네트워크 관리 및 보안의 중앙 집중화입니다.

다음은 가장 널리 사용되는 일부 응용 프로그램 계층 프로토콜의 간략한 특성입니다.

이메일 전송 프로토콜

이메일을 보내고 상호 작용할 때 메일 서버그들은 Simple Mail Transfer Protocol을 사용하여 서로 통신합니다. SMTP), 포트 번호는 25입니다. 서버에서 메시지를 수신하기 위해 클라이언트는 우체국 프로토콜(Post Office Protocol - ) 포트 번호 110 또는 메시지 액세스 프로토콜( 인터넷 메시징 액세스 프로토콜 IMAP).


쌀. 2.2.

~에 메시징메일 전송 에이전트는 서버 간에 사용됩니다. MTA). MTA는 MUA 또는 다른 MTA에서 메시지를 수신하고 네트워크를 통해 전달합니다. MTA는 SMTP 프로토콜을 사용하여 서버 간에 이메일을 전송합니다. 서버의 메시지를 로컬 네트워크의 클라이언트로 즉시 보낼 수 있으면 메일 배달 에이전트가 연결된 것입니다. MDA). MDA는 MTA에서 들어오는 메일을 받아 POP 프로토콜을 사용하여 적절한 사용자 사서함에 넣습니다.

HTTP 프로토콜

오늘날 가장 널리 사용되는 애플리케이션 계층 프로토콜은 하이퍼 텍스트 전송 프로토콜(하이퍼 텍스트 전송 프로토콜 - HTTP) 인터넷에서 작동합니다. 주요 응용 프로그램은 텍스트, 그래픽, 사운드 및 비디오를 사용하여 웹 페이지에 데이터를 표시하는 웹 브라우저입니다. 웹 페이지는 네트워크를 통해 서버에서 웹 브라우저로 전송할 텍스트, 파일 및 개체의 위치를 ​​정의하는 HTML(Hypertext Markup Language)을 사용하여 생성됩니다. HTTP 프로토콜 포트 번호– 80, TCP 전송 계층 프로토콜과 함께 작동합니다.

요청에 대한 응답으로 서버는 텍스트, 오디오, 비디오 및 그래픽 파일 HTML 명령에 지정됩니다. 클라이언트 브라우저는 모든 파일을 재조립하여 사용자에게 표시되는 웹 페이지의 이미지를 만듭니다.

HTTP 프로토콜은 네트워크를 통해 전송되는 메시지가 암호화되지 않기 때문에 비교적 낮은 수준의 보안이 특징입니다. 인터넷을 통한 메시지 전송의 보안 수준을 높이기 위해 HTTP 보안 프로토콜이 개발되었습니다( HTTPS). 이 프로토콜은 데이터 암호화( 암호화) 및 인증( 입증), 보안 수준을 크게 향상시킵니다. HTTPS 프로토콜 포트 번호 – 443.

FTP 및 TFTP 파일 전송 프로토콜

파일 전송 프로토콜(FTP) TCP 전송 계층 프로토콜과 상호 작용하는 연결 지향 서비스입니다. FTP 프로토콜의 주요 목적은 한 컴퓨터에서 다른 컴퓨터로 파일을 전송하거나 서버에서 클라이언트로, 클라이언트에서 서버로 파일을 복사 및 이동하는 것입니다. 이것은 클라이언트가 서버에서 파일을 "다운로드"하도록 허용하지만 파일이 서버로 전송되는 것을 허용하지 않는 HTTP 프로토콜과의 주요 차이점입니다.

FTP 파일 전송 프로토콜은 먼저 클라이언트 요청 명령과 서버 응답을 사용하여 클라이언트와 서버 간의 연결을 설정합니다. 어디에서 포트 번호– 21. 데이터는 다음과 같은 경우 교환됩니다. 포트 번호– 20. 데이터 전송은 ASCII 코드 모드 또는 바이너리 코드로 수행할 수 있습니다. 이러한 모드는 OSI 모델에서 프레젠테이션 계층의 작업인 데이터 파일에 사용되는 인코딩을 결정합니다. 파일 전송이 완료되면 데이터 연결이 자동으로 종료됩니다. 세션 관리는 세션(Session) 수준에서 발생합니다.

사소한 파일 전송 프로토콜 - TFTP)은 전송 계층 프로토콜(User Datagram Protocol - UDP). TFTP 프로토콜은 라우터에서 구성 파일과 Cisco IOS 운영 체제를 전송하고 TFTP를 지원하는 시스템 간에 파일을 전송하는 데 사용됩니다. TFTP 프로토콜은 단순성과 소량의 소프트웨어가 특징입니다. 서버에 연결되면 파일을 읽거나 쓸 수 있지만 목록이나 디렉터리를 유지 관리하지 않습니다. 따라서 TFTP 프로토콜은 FTP 프로토콜보다 빠릅니다.

DNS 도메인 이름 시스템

도메인 이름 시스템(DNS)인터넷에서 사이트 또는 도메인 이름을 숫자 IP 주소로 변환하는 데 사용됩니다. 사람들이 기억하기 쉬운 도메인 이름, http://www.cisco.com 과 같이 숫자 주소 198.133.219.25보다 또한 숫자 주소는 시간이 지남에 따라 변경될 수 있습니다. 예를 들어 위의 숫자 사이트 주소 http://www.cisco.com은 이제 72.163.4.161로 변경되었습니다. 어떤 경우에는 숫자 주소에 대한 지식이 필요하기 때문에 호스트는 DNS 서버에 접속하여 이름으로 해당 주소를 얻을 수 있습니다. DNS는 이름과 숫자 주소를 일치시키기 위해 서로 다른 계층 수준에서 분산된 서버 집합을 사용합니다.

컴퓨터 운영 체제에는 유틸리티가 포함되어 있습니다. nslookup, 사용자가 수동으로 서버 이름을 쿼리하고 호스트 이름을 식별할 수 있습니다. 클라이언트가 요청하면 로컬 서버가 먼저 확인합니다. 자신의 기록. 일치하는 이름-주소 쌍이 없으면 계층 구조의 상위 수준에 있는 다른 DNS 서버에 연결합니다.

무화과에. 그림 2-3은 사용자가 수동으로 DNS 서버 주소를 조회할 수 있도록 하는 nslookup 명령을 실행하는 예를 보여줍니다. 명령은 명령줄 모드( 시작 프로그램들 기준 명령줄 ). 위의 예에서는 4개의 명령이 실행됩니다.

첫 번째 단계에서 이메일은 사용자 에이전트를 통해 로컬 서버로 전달됩니다. 메일이 원격 서버에 즉시 전송되지 않을 수 있습니다. 따라서 메일은 보낼 수 있을 때까지 로컬 서버에 누적됩니다. 사용자 에이전트는 SMTP 클라이언트 소프트웨어를 사용하고 로컬 서버는 SMTP 서버 소프트웨어를 사용합니다.

두 번째 단계

두 번째 단계에서 이메일은 이제 SMTP 클라이언트 역할을 하는 로컬 서버를 사용하여 전송됩니다. 이메일은 원격 서버에 전달되지만 원격 사용자 에이전트에는 전달되지 않습니다. SMTP가 허용된 서버라면 언제든지 들어오는 메일을 처리할 수 있습니다. 그러나 사람들은 하루 종일 컴퓨터를 끄는 경우가 많고 미니 컴퓨터나 노트북이 제대로 작동하지 않는 경우가 많습니다. 일반적으로 조직에서는 전자 메일을 수신하고 영구적으로 소프트웨어 서버 . 이러한 서버를 사용하여 전자 메일을 수신하고 나중에 사용할 수 있도록 사서함에 축적합니다.

세 번째 단계

세 번째 단계에서는 원격 사용자 에이전트 POP3 또는 IMAP4 프로토콜(두 프로토콜 모두 다음 섹션에서 설명)을 사용하여 사서함을 시작하고 메일을 받습니다.

메일 액세스 프로토콜

메일 배달의 첫 번째 및 두 번째 단계는 SMTP를 사용합니다. 그러나 받는 사람이 원하지 않더라도 STMP가 보낸 사람에서 받는 사람에게 메시지를 "푸시"하기 때문에 SMTP는 세 번째 단계에 포함되지 않습니다. SMTP는 받는 사람이 아니라 보낸 사람이 시작합니다. 반면에 세 번째 단계는 메시지를 "풀(pull)"하는 프로토콜이 필요하며 이 작업은 수신자에서 시작해야 합니다. 세 번째 단계는 메일 액세스 프로토콜을 사용합니다.

현재 Post Office Protocol 버전 ​​3 - POP3 및 Internet Mail Access Protocol 버전 ​​4 - IMAP4의 두 가지 프로토콜이 사용됩니다.

팝3

Post Office Protocol, Version 3 ( POP3 ) - 프로토콜은 간단하지만 기능적으로 제한적입니다. POP3 클라이언트 소프트웨어는 받는 사람의 컴퓨터에 설치됩니다. POP3 서버 소프트웨어는 메일 서버에 설치됩니다.

메일 액세스는 사용자가 메일함에서 메일 서버로 이메일을 다운로드해야 할 때 클라이언트에서 시작됩니다. 고객 ( 사용자 에이전트) 서버와 포트 110을 설정한 다음 사서함에 액세스하기 위해 사용자 이름과 암호를 보냅니다. 그런 다음 사용자는 메일 메시지를 하나씩 나열하고 검색할 수 있습니다. 그림 14.13. POP3를 사용한 다운로드 예를 보여줍니다.


쌀. 14.13.팝3

POP3에는 삭제 모드와 저장 모드의 두 가지 모드가 있습니다. 삭제 모드에서는 각 요청 후에 메일이 사서함에서 삭제됩니다. 보존 모드에서 메일은 요청된 후에도 사서함에 남아 있습니다. 삭제 모드는 일반적으로 사용자가 지속적으로 컴퓨터를 사용하고 읽고 답장한 후 메일을 저장하고 정리할 때 사용됩니다. 지속성 모드는 사용자가 기본 컴퓨터(예: 랩톱)를 통해 메일에 액세스할 때 사용됩니다. 메일은 읽히지만 추가 쿼리 및 주문을 위해 시스템에 저장됩니다.

IMAP4

다른 인터넷 메일 액세스 프로토콜은 IMAP4(Internet Mail Access Protocol, Version 4)입니다. IMAP4는 POP3와 유사하지만 몇 가지 차이점이 있습니다. IMAP4는 더 강력하고 더 복잡합니다.

POP3는 몇 가지 이유로 불완전합니다. 사용자가 서버에서 메일을 구성하는 것을 허용하지 않습니다. 사용자는 다른 "폴더"를 가질 수 없습니다. (물론, 사용자는 자신의 컴퓨터에서 폴더를 구성할 수 있습니다.) 또한 POP3는 사용자가 다운로드하기 전에 메일 내용을 부분적으로 확인하는 것을 허용하지 않습니다.

IMAP4는 다음과 같은 추가 기능을 제공합니다.

  • 사용자는 다운로드하기 전에 이메일 헤더를 확인할 수 있습니다.
  • 사용자는 다운로드하기 전에 이메일 내용에서 특수 문자열을 검색할 수 있습니다.
  • 사용자는 이메일을 부분적으로 다운로드할 수 있습니다. 이는 리소스가 제한되어 있고 이메일에 메시지가 포함된 특별한 경우에 유용합니다. 다양한 방식많은 자원이 필요합니다.
  • 사용자는 메일 서버의 사서함을 생성, 삭제 또는 이름을 변경할 수 있습니다.
  • 사용자는 전자 메일 누적을 위해 폴더에 사서함 계층을 만들 수 있습니다.

웹 기반 메일

오늘날 웹 사이트(Yahoo, Yandex 등) 사용자에게 이메일 서비스를 제공할 수 있습니다.

이러한 연결에 대한 아이디어는 간단합니다. HTTP 프로토콜을 사용하여 편지를 전송합니다(다음 강의 참조). 보내는 서버에서 받는 메일 서버로의 메시지 전송은 SMTP 프로토콜을 사용하여 발생합니다. 결국, 님의 메시지 들어오는 서버(일명 웹 서버) HTTP 프로토콜을 사용하여 사용자 B의 서버에 도달합니다. 사용자 B가 이 메시지를 수신하려면 자신의 웹 사이트(예: YANDEX)에 요청을 보냅니다. 웹 사이트는 로그인(등록된 사용자 이름)과 암호를 묻는 양식을 보낸 다음 HTML 형식으로 사용자 B의 컴퓨터에 메시지를 보냅니다.

간단한 요약

  • TCP/IP 네트워크에서 전자 메일을 지원하는 프로토콜을 단순 메일 전송 프로토콜인 SMTP(Simple Mail Transfer Protocol)라고 합니다.
  • 클라이언트와 SMTP 서버특수 소프트웨어 설치 필요 - 사용자 에이전트(USER 에이전트 - UA) 및 메일 전송 에이전트(Mail Transfer Agent - MTA).
  • UA는 메시지를 준비하고 봉투를 만들고 메시지를 봉투에 삽입합니다.
  • 메일 주소는 로컬 주소(사용자의 사서함)와 도메인 이름의 두 부분으로 구성됩니다. 양식 [이메일 보호됨]
  • 메일 게이트웨이는 메일 형식을 변환합니다.
  • SMTP 메시지는 보낸 사람과 받는 사람 또는 중간 서버에서 지연될 수 있습니다.
  • 별칭을 사용하면 한 사용자가 여러 이메일 주소또는 동일한 주소에 대한 그룹 액세스 권한을 갖는 많은 사용자 주소.
  • MTA는 메일이 인터넷을 통과할 때 메일을 변환합니다.
  • 보낸 사람 메일은 일반적으로 UNIX를 사용하여 MTA를 빌드합니다.
  • SMTP는 명령과 응답을 사용하여 클라이언트 MTA와 서버 MTA 간에 메시지를 전송합니다.
  • 메일 메시지를 보내는 단계:
  • MIME(Multipurpose Internet Mail Extension)은 멀티미디어 메시지(텍스트, 오디오, 정지 이미지, 비디오 등)의 전송을 허용하는 SMTP 확장입니다.
  • 우체국 프로토콜 버전 3 - POP3 및 인터넷 메일 액세스 프로토콜 버전 4(인터넷 메일 액세스 프로토콜 - IMAP4)는 SMTP에서 수신자로 연결하고 호스트에서 메일을 보관하기 위해 서버 메일과 함께 사용됩니다.

작업 및 연습

  1. 일대다 확장기가 유용할 수 있는 상황의 예를 제공하십시오. 다대일 확장기에 대해 동일한 작업을 반복합니다.
  2. 한 번에 두 개의 명령 HELLO 및 FROM TO가 필요합니까? "예" 또는 "아니오"로 답을 정당화하십시오.
  3. TCP가 이미 연결을 설정한 경우 편지를 보내기 위해 연결을 설정해야 하는 이유는 무엇입니까?
  4. 다음에서 연결 설정 표시 [이메일 보호됨]에게 [이메일 보호됨].
  5. 다음에서 메시지 전송 단계 표시 [이메일 보호됨]에게 [이메일 보호됨]. 메시지 - "건강하세요".
  6. 연결 종료 단계 표시 [이메일 보호됨]에게 [이메일 보호됨].
  7. 사용자 [이메일 보호됨]사용자에게 메시지를 보낸다 [이메일 보호됨], 로 보냅니다. [이메일 보호됨]. SMTP 명령 및 응답을 표시합니다.
  8. 사용자 [이메일 보호됨]사용자에게 메시지를 보낸다 [이메일 보호됨]그에게 대답하는 사람. SMTP 명령 및 응답을 표시합니다.
  9. SMTP를 사용하여 한 줄 메시지를 보내는 경우 명령과 응답은 몇 줄을 사용합니까?
  10. 송신기는 형식이 지정되지 않은 텍스트를 보냅니다. MIME 헤더를 표시합니다.
  11. 송신기는 JPEG 메시지를 보냅니다. MIME 헤더를 표시합니다.
  12. 메시지는 Base 64로 인코딩된 1000바이트 인코딩(비 ASCII)입니다. 인코딩된 메시지에 몇 바이트가 있습니까? 얼마나 많은 추가 바이트? 초과 바이트의 비율은 얼마입니까? 총 수메시지 바이트?
  13. 1000바이트 메시지는 인쇄 가능한 코드로 인코딩됩니다. 메시지에는 90%의 ASCII 문자와 10%의 비ASCII 문자가 포함되어 있습니다. 인코딩된 메시지에 몇 바이트가 있습니까? 얼마나 많은 추가 바이트? 메시지의 총 바이트 수에 대한 초과 바이트의 비율은 얼마입니까?
  14. 연습 12와 13의 결과를 비교하십시오. 메시지에 ASCII 문자와 ASCII가 아닌 문자가 모두 포함되어 있으면 효율성이 어떻게 증가합니까?
  15. 다음 메시지를 Base 64로 인코딩합니다.

    0101 0111 0000 1111 1111 0000 1010 1111 01111 0001 0101 0100.

강의 시험 합격을 위한 추가 자료는 다운로드할 수 있습니다. .