TCP 통신. Linux 기초 카테고리에서 더 보기


TCP/IP 프로토콜은 글로벌 인터넷의 기초입니다. 더 정확하게 말하면 TCP/IP는 프로토콜의 목록 또는 스택이며 실제로는 정보가 교환되는 규칙 집합입니다(패킷 교환 모델이 구현됨).

이 기사에서는 TCP/IP 프로토콜 스택의 작동 원리를 분석하고 작동 원리를 이해하려고 노력할 것입니다.

참고: TCP/IP 약어는 TCP와 IP라는 두 가지 프로토콜을 기반으로 작동하는 전체 네트워크를 가리키는 경우가 많습니다.

이러한 네트워크 모델에서는 주요 프로토콜 외에도 TCP(전송 계층) 및 IP(네트워크 계층 프로토콜)애플리케이션 및 네트워크 계층 프로토콜이 포함됩니다(사진 참조). 하지만 TCP와 IP 프로토콜로 직접 돌아가 보겠습니다.

TCP/IP 프로토콜이란 무엇입니까?

TCP - 전송 제어 프로토콜. 전송 제어 프로토콜. 이는 두 장치 간의 안정적인 연결과 안정적인 데이터 전송을 보장하고 설정하는 역할을 합니다. 이 경우 TCP 프로토콜은 전송되는 데이터 패킷의 최적 크기를 제어하여 전송이 실패하면 새 패킷을 보냅니다.

IP - 인터넷 프로토콜.인터넷 프로토콜 또는 주소 프로토콜은 전체 데이터 전송 아키텍처의 기초입니다. IP 프로토콜은 네트워크 데이터 패킷을 원하는 주소로 전달하는 데 사용됩니다. 이 경우 정보는 패킷으로 분할되어 네트워크를 통해 원하는 목적지로 독립적으로 이동합니다.

TCP/IP 프로토콜 형식

IP 프로토콜 형식

IP 프로토콜 IP 주소에는 두 가지 형식이 있습니다.

IPv4 형식. 이는 32비트 이진수입니다. IP 주소(IPv4)를 작성하는 편리한 형식은 마침표로 구분된 4개의 십진수 그룹(0~255)입니다. 예: 193.178.0.1.

IPv6 형식. 이는 128비트 이진수입니다. IPv6 주소는 원칙적으로 8개의 그룹 형태로 작성됩니다. 각 그룹에는 콜론으로 구분된 4개의 16진수 숫자가 포함되어 있습니다. 예제 IPv6 주소 2001:0db8:85a3:08d3:1319:8a2e:0370:7889.

TCP/IP 프로토콜의 작동 방식

편리하다면 네트워크에서 데이터 패킷을 전송하는 것을 우편으로 편지를 보내는 것으로 생각하십시오.

불편하다면 두 대의 컴퓨터가 네트워크로 연결되어 있다고 상상해보세요. 또한 연결 네트워크는 로컬 및 글로벌 모두 가능합니다. 데이터 전송 원칙에는 차이가 없습니다. 네트워크의 컴퓨터도 호스트 또는 노드로 간주될 수 있습니다.

IP 프로토콜

네트워크의 각 컴퓨터에는 고유한 주소가 있습니다. 글로벌 인터넷에서 컴퓨터는 IP 주소(인터넷 프로토콜 주소)라고 불리는 이 주소를 가지고 있습니다.

메일과 유사하게 IP 주소는 집 번호입니다. 하지만 집 번호만으로는 편지를 받을 수 없습니다.

네트워크를 통해 전송되는 정보는 컴퓨터 자체가 아니라 컴퓨터에 설치된 응용 프로그램을 통해 전송됩니다. 이러한 응용 프로그램에는 메일 서버, 웹 서버, FTP 등이 있습니다. 전송된 정보의 패킷을 식별하기 위해 각 애플리케이션은 특정 포트에 연결됩니다. 예를 들어 웹 서버는 포트 80에서 수신하고, FTP는 포트 21에서 수신하고, SMTP 메일 서버는 포트 25에서 수신하고, POP3 서버는 포트 110에서 사서함 메일을 읽습니다.

따라서 TCP/IP 프로토콜의 주소 패킷에서 주소: 포트에 또 다른 줄이 나타납니다. 메일과 유사 - 포트는 발신자와 수신자의 아파트 번호입니다.

예:

소스 주소:

IP: 82.146.47.66

목적지 주소:

IP: 195.34.31.236

기억할 가치가 있습니다. IP 주소 + 포트 번호를 "소켓"이라고 합니다. 위의 예에서는 소켓 82.146.47.66:2049에서 패킷이 소켓 195.34.31.236:53으로 전송됩니다.

TCP 프로토콜

TCP 프로토콜은 IP 프로토콜 이후의 다음 계층 프로토콜입니다. 이 프로토콜은 정보 전송과 그 무결성을 제어하기 위한 것입니다.

예를 들어, 전송된 정보는 별도의 패킷으로 나누어집니다. 패키지는 수취인에게 독립적으로 배송됩니다. 전송 과정에서 패킷 중 하나가 전송되지 않았습니다. TCP 프로토콜은 수신자가 패킷을 수신할 때까지 재전송을 제공합니다.

TCP 전송 프로토콜은 상위 수준 프로토콜(물리적, 채널, 네트워크 IP)에서 데이터 전송의 모든 문제와 세부 정보를 숨깁니다.

TCP/IP 프로토콜 (전송 제어 프로토콜/인터넷 프로토콜)는 인터넷 및 기타 유사한 네트워크에 일반적으로 사용되는 네트워크 프로토콜 스택입니다(예: 이 프로토콜은 LAN에서도 사용됩니다). TCP/IP라는 이름은 가장 중요한 두 프로토콜에서 유래되었습니다.

  • IP(인터넷 프로토콜) - 노드에서 노드로 데이터 패킷을 전송하는 역할을 담당합니다. IP는 4바이트 대상 주소(IP 주소)를 기반으로 각 패킷을 전달합니다.
  • TCP(전송 제어 프로토콜) - 클라이언트에서 서버로 데이터가 올바르게 전달되는지 확인하는 역할을 합니다. 중간 네트워크에서는 데이터가 손실될 수 있습니다. TCP에는 오류나 손실된 데이터를 감지하는 기능이 추가되었으며 결과적으로 데이터가 올바르고 완전하게 수신될 때까지 재전송을 요청하는 기능이 추가되었습니다.

TCP/IP의 주요 특징:

  • 잘 알려진 사용자 서비스에 사용되는 표준화된 고급 프로토콜입니다.
  • 개방형 프로토콜 표준을 사용하므로 소프트웨어, 하드웨어에 관계없이 표준 개발 및 수정이 가능합니다.
  • 고유한 주소 지정 시스템
  • 사용되는 물리적 통신 채널로부터의 독립성

TCP/IP 프로토콜 스택의 작동 원리는 OSI 모델과 동일합니다. 상위 계층의 데이터는 하위 계층의 패킷에 캡슐화됩니다.

패킷이 위에서 아래로 레벨을 통해 이동하는 경우, 각 레벨에서 서비스 정보가 헤더 및 트레일러(메시지 끝에 있는 정보)의 형태로 패킷에 추가됩니다. 이 프로세스가 호출됩니다. 서비스 정보는 원격 컴퓨터에 있는 동일한 수준의 개체를 위한 것입니다. 그 형식과 해석은 이 계층의 프로토콜에 따라 결정됩니다.

패킷이 계층을 거쳐 아래에서 위로 이동하면 헤더와 데이터로 구분됩니다. 패킷 헤더가 분석되고 서비스 정보가 추출되며 이에 따라 데이터가 상위 수준 개체 중 하나로 리디렉션됩니다. 상위 계층에서는 이 데이터를 분석하여 헤더와 데이터로 분리한 후, 헤더를 분석하여 서비스 정보와 데이터를 상위 계층에 할당합니다. 모든 서비스 정보에서 해방된 사용자 데이터가 애플리케이션 수준에 도달할 때까지 이 절차는 다시 반복됩니다.

패키지가 애플리케이션 수준에 도달하지 못할 수도 있습니다. 특히 컴퓨터가 보낸 사람과 받는 사람 사이의 경로에서 중간 스테이션으로 작동하는 경우 적절한 수준의 개체는 서비스 정보를 분석할 때 이 수준의 패킷이 자신에게 전달되지 않았음을 결정합니다. 그 결과 개체는 패킷을 대상으로 리디렉션하거나 오류 메시지와 함께 보낸 사람에게 반환하기 위해 필요한 조치를 취합니다. 그러나 어떤 식으로든 데이터를 상위 수준으로 승격시키지는 않습니다.

캡슐화의 예는 다음과 같이 표현될 수 있습니다.

각 레벨의 기능을 살펴보겠습니다

애플리케이션 레이어

TCP/IP 스택을 실행하는 응용 프로그램은 프레젠테이션 계층의 기능과 OSI 모델의 세션 계층의 일부도 수행할 수 있습니다.

응용 프로그램의 일반적인 예는 다음과 같습니다.

  • 텔넷
  • HTTP
  • 이메일 프로토콜(SMTP, POP3)

데이터를 다른 애플리케이션으로 보내기 위해 애플리케이션은 전송 모듈의 하나 또는 다른 모듈에 액세스합니다.

전송 계층

전송 계층 프로토콜은 두 애플리케이션 프로세스 간에 투명한 데이터 전달을 제공합니다. 데이터를 수신하거나 전송하는 프로세스는 전송 계층에서 포트 번호라는 번호로 식별됩니다.

따라서 전송 계층에서 소스 및 대상 주소의 역할은 포트 번호에 의해 수행됩니다. 전송 모듈은 인터네트워크 계층에서 수신한 패킷의 헤더를 분석하여 수신자 포트 번호를 기준으로 어느 응용 프로그램이 데이터를 처리하는지 결정하고 이 데이터를 해당 응용 프로그램 프로세스로 전송합니다.

수신자 및 발신자 포트 번호는 데이터를 보내는 전송 모듈에 의해 헤더에 기록됩니다. 전송 계층 헤더에는 다른 오버헤드 정보도 포함되어 있으며 헤더 형식은 사용되는 전송 프로토콜에 따라 다릅니다.

전송 계층 도구는 네트워크 계층에 대한 기능적 상부 구조이며 두 가지 주요 문제를 해결합니다.

  • 일반적으로 서로 다른 네트워크 노드에서 작동하는 특정 프로그램 간의 데이터 전달을 보장합니다.
  • 임의 크기의 데이터 배열의 전달을 보장합니다.

현재 인터넷에서는 두 가지 전송 프로토콜, 즉 프로그램 간 데이터 전달을 보장하지 않는 UDP와 가상 연결 설정을 통해 전달을 보장하는 TCP가 사용됩니다.

네트워크(인터넷) 수준

이 계층의 주요 프로토콜은 한 IP 주소에서 다른 IP 주소로 데이터 블록(데이터그램)을 전달하는 IP 프로토콜입니다. IP 주소는 컴퓨터, 더 정확하게는 네트워크 인터페이스의 고유한 32비트 식별자입니다. 데이터그램에 대한 데이터는 전송 계층에 의해 IP 모듈로 전송됩니다. IP 모듈은 발신자와 수신자의 IP 주소 및 기타 서비스 정보를 포함하는 이 데이터에 헤더를 추가합니다.

따라서 생성된 데이터그램은 미디어 액세스 계층으로 전송되어 데이터 링크를 통해 전송됩니다.

모든 컴퓨터가 서로 직접 통신할 수 있는 것은 아닙니다. 데이터그램을 대상으로 전송하려면 특정 경로를 따라 하나 이상의 중간 컴퓨터를 통해 이를 라우팅해야 하는 경우가 많습니다. 각 데이터그램의 경로를 결정하는 작업은 IP 프로토콜에 의해 해결됩니다.

IP 모듈이 하위 수준에서 데이터그램을 수신하면 대상 IP 주소를 확인합니다. 데이터그램의 주소가 지정된 컴퓨터인 경우 해당 데이터는 처리를 위해 상위 수준 모듈로 전송됩니다. 데이터그램이 외부인 경우 IP 모듈은 두 가지 결정을 내릴 수 있습니다.

  • 데이터그램을 파괴합니다.
  • 경로를 결정한 후 목적지까지 더 멀리 보내면 이것이 중간 스테이션인 라우터가 수행하는 작업입니다.

또한 다양한 특성을 지닌 네트워크 가장자리에서 데이터그램을 여러 조각으로 나눈 다음 수신자의 컴퓨터에서 이를 하나의 전체로 조립해야 할 수도 있습니다. 이는 IP 프로토콜의 임무이기도 합니다.

IP 프로토콜은 예를 들어 데이터그램이 파괴되는 경우 ICMP 프로토콜을 사용하여 알림 메시지를 보낼 수도 있습니다. 데이터의 정확성, 확인 또는 전달을 모니터링할 수 있는 수단이 더 이상 없으며 프로토콜에 예비 연결이 없습니다. 이러한 작업은 전송 계층에 할당됩니다.

미디어 액세스 수준

이 레벨의 기능은 다음과 같습니다.

  • IP 주소를 물리적 네트워크 주소에 매핑합니다. 이 기능은 ARP 프로토콜에 의해 수행됩니다.
  • 물리적 링크를 통한 전송을 위해 IP 데이터그램을 프레임으로 캡슐화하고 오류 없는 전송 제어 없이 프레임에서 데이터그램을 추출합니다. 왜냐하면 TCP/IP 스택에서 이러한 제어는 전송 계층이나 애플리케이션 자체에 할당되기 때문입니다. 프레임 헤더는 SAP 서비스에 대한 액세스 지점을 나타냅니다. 이 필드에는 프로토콜 코드가 포함됩니다.
  • 전송 매체에 대한 액세스 방법 결정, 즉 컴퓨터가 데이터 전송 권한을 확립하는 방식;
  • 물리적 환경에서 데이터 표현을 정의합니다.
  • 프레임 전달 및 수신.

고려해 봅시다 캡슐화 TCP/IP 프로토콜의 애플리케이션 수준에서 작동하는 Wireshark 스니퍼를 사용하여 HTTP 프로토콜 패킷을 가로채는 예를 사용합니다.


스니퍼는 가로채는 HTTP 프로토콜 자체 외에도 TCP/IP 스택을 기반으로 각 기본 계층을 설명합니다. HTTP는 TCP, TCP는 IPv4, IPv4는 이더넷 II로 캡슐화됩니다.

컴퓨터 간의 데이터 교환을 규제하기 위해 일련의 규칙이 사용됩니다. 프로토콜. 현재 일반 이름으로 가장 널리 사용되는 프로토콜 세트 TCP/IP. (많은 유럽 국가에서 프로토콜이 사용된다는 점을 기억해야 합니다. X.25). 프로토콜 계열의 기본 기능 TCP/IP: 이메일, 컴퓨터 간 파일 전송, 원격 로그인 등이 가능합니다.

메일 사용자 명령, 메시지 처리(MH) 사용자 명령 및 sendmail 서버 명령은 모두 사용할 수 있습니다. TCP/IP시스템 간에 메시지를 전송하는 데 사용되며 기본 네트워크 유틸리티(BNU)는 다음을 사용할 수 있습니다. TCP/IP시스템 간에 파일과 명령을 전송합니다.

TCP/IP컴퓨터 간의 통신 표준을 정의하고 라우팅 및 인터네트워킹에 대한 자세한 계약을 포함하는 프로토콜 집합입니다. TCP/IP는 인터넷에서 널리 사용되므로 연구 기관, 학교, 대학, 정부 기관 및 산업 기업의 사용자가 이를 통해 통신할 수 있습니다.

TCP/IP일반적으로 호스트라고 불리는 네트워크에 연결된 컴퓨터 간의 통신을 가능하게 합니다. 모든 네트워크는 다른 네트워크에 연결되어 해당 호스트와 통신할 수 있습니다. 다양한 네트워크 기술이 있지만 그 중 다수는 패킷 교환 및 스트리밍을 기반으로 하지만 일련의 프로토콜은 TCP/IP한 가지 중요한 이점이 있습니다. 하드웨어 독립성을 제공한다는 것입니다.

인터넷 프로토콜은 전송 블록과 전송 방법만 정의하므로 TCP/IP네트워크 하드웨어의 특성에 의존하지 않으므로 다양한 데이터 전송 기술을 사용하는 네트워크 간의 정보 교환을 구성할 수 있습니다. IP 주소 시스템을 사용하면 네트워크의 두 시스템 간에 연결을 설정할 수 있습니다. 게다가 에서는 TCP/IP많은 최종 사용자 통신 서비스에 대한 표준도 정의되었습니다.

TCP/IP컴퓨터가 네트워크에 연결하고 다른 인터넷 호스트와 연결을 설정할 수 있는 인터넷 호스트 역할을 할 수 있도록 하는 수단을 제공합니다. 안에 TCP/IP다음 작업을 수행할 수 있는 명령과 도구가 있습니다.

  • 다른 시스템으로 파일 전송
  • 원격 시스템에 로그인
  • 원격 시스템에서 명령 실행
  • 원격 시스템에서 파일 인쇄
  • 원격 사용자에게 이메일 보내기
  • 원격 사용자와 대화형 대화 수행
  • 네트워크 관리
메모: TCP/IP기본적인 네트워크 관리 기능만 제공됩니다. TCP/IP에 비해 단순 네트워크 관리 프로토콜(SNMP)더욱 다양한 명령과 제어 기능을 제공합니다.
  • TCP/IP 용어
    TCP/IP와 관련된 기본 인터넷 개념에 익숙해집니다.
  • TCP/IP 네트워크 계획
    프로토콜 스택 TCP/IP는 네트워크 상호 작용을 구성하는 유연한 수단이므로 각 사용자는 자신의 필요에 맞게 사용자 정의할 수 있습니다. 네트워크를 계획할 때 다음 문제를 고려하십시오. 이러한 문제는 다른 섹션에서 더 자세히 논의됩니다. 이 목록은 작업에 대한 일반적인 개요로만 간주되어야 합니다.
  • TCP/IP 설치
    이 섹션에서는 설치 절차를 설명합니다. TCP/IP.
  • TCP/IP 설정
    소프트웨어 설정 TCP/IP시스템에 설치한 후 즉시 시작할 수 있습니다.
  • 식별 및 보안 rcmd
    이제 이 팀에는 추가 식별 방법이 있습니다.
  • TCP/IP 설정
    설정용 TCP/IP.netrc 파일을 만듭니다.
  • 다른 시스템 또는 사용자와의 상호 작용을 구성하는 방법
    다른 시스템이나 사용자와의 상호 작용을 구성하는 방법에는 여러 가지가 있습니다. 이 섹션에서는 두 가지 가능한 방법을 설명합니다. 첫째, 로컬 호스트와 원격 호스트 간에 연결이 설정될 수 있습니다. 두 번째 방법은 원격 사용자와의 대화입니다.
  • 파일 전송 중
    상대적으로 작은 파일은 이메일을 사용하여 전송할 수 있지만 더 큰 파일에는 더 효율적인 전송 방법이 있습니다.
  • 원격 프린터로 인쇄
    호스트에 로컬 프린터가 연결되어 있는 경우 이 섹션의 정보를 사용하여 원격 프린터로 인쇄할 수 있습니다. 또한 로컬 프린터가 없는 경우 기본 프린터가 아닌 원격 프린터로 인쇄할 수 있습니다.
  • 원격 시스템에서 파일 인쇄
    원격 호스트에 있는 파일을 인쇄해야 할 수도 있습니다. 이 경우 인쇄된 파일의 위치는 원격 호스트에서 사용할 수 있는 원격 프린터에 따라 달라집니다.
  • 상태 정보 보기
    명령 사용 TCP/IP네트워크의 상태, 사용자 및 호스트에 대한 정보를 얻을 수 있습니다. 이 정보는 다른 호스트나 사용자와 통신하는 데 필요할 수 있습니다.
  • TCP/IP 프로토콜
    프로토콜은 컴퓨터와 응용 프로그램이 정보를 교환할 수 있도록 하는 메시지 형식과 절차를 정의하는 규칙 집합입니다. 네트워크의 모든 컴퓨터는 이러한 규칙을 따르므로 수신 호스트는 전송된 메시지를 이해할 수 있습니다. 전부 TCP/IP 프로토콜은 다층 구조로 간주될 수 있습니다.
  • TCP/IP LAN 네트워크 어댑터 카드
    네트워크 어댑터 카드는 네트워크 케이블에 직접 연결되는 물리적 장치입니다. 물리적 수준에서 데이터 수신 및 전송을 담당합니다.
  • TCP/IP 네트워크 인터페이스
    네트워크 인터페이스 수준에서 TCP/IP특정 네트워크 기술을 사용하여 해석되고 전송될 수 있는 IP 데이터그램에서 패킷을 생성합니다.
  • TCP/IP 주소 지정
    다음에서 사용되는 IP 주소 지정 체계 TCP/IP를 사용하면 사용자와 애플리케이션이 연결되는 네트워크와 호스트를 고유하게 식별할 수 있습니다.
  • TCP/IP 이름 변환
    32비트 IP 주소는 인터넷의 모든 호스트를 고유하게 식별할 수 있지만 사용자는 의미 있고 기억하기 쉬운 호스트 이름을 훨씬 더 선호합니다. 안에 전송 제어 프로토콜/인터넷 프로토콜(TCP/IP)단일 레벨 및 계층적 네트워크 구조를 모두 지원하는 명명 시스템이 제공됩니다.
  • LDAP 이름 확인 계획 및 구성(IBM SecureWay Directory Schema)
    LDAP(Lightweight Directory Access Protocol)디렉토리의 정보를 검색하고 수정하는 방법을 규제하는 개방형 표준 프로토콜입니다.
  • NIS_LDAP 이름 확인 계획 및 구성(RFC 2307 체계)
    AIX 5.2에는 새로운 이름 확인 메커니즘인 NIS_LDAP가 도입되었습니다.
  • 주소 및 매개변수 할당 TCP/IP - 동적 호스트 구성 프로토콜
    특정 주소를 가진 컴퓨터 간의 통신을 구성하도록 설계되었습니다. 네트워크 관리자의 책임 중 하나는 네트워크의 모든 시스템에 주소를 할당하고 매개변수를 설정하는 것입니다. 일반적으로 관리자는 사용자에게 시스템에 할당된 주소를 알려주고 사용자가 직접 설정을 구성하도록 허용합니다. 그러나 구성 오류나 오해로 인해 사용자 사이에 관리자가 개별적으로 해결해야 하는 질문이 생길 수 있습니다. 관리자는 최종 사용자의 참여 없이 네트워크를 중앙에서 구성할 수 있습니다.
  • 동적 호스트 구성 프로토콜 버전 6
    DHCP(동적 호스트 구성 프로토콜)중앙 위치에서 네트워크 구성 작업을 수행할 수 있습니다. 이 섹션의 내용은 다음과 같습니다. DHCPv6; IP 주소는 IPv6 주소를 나타냅니다. DHCP - DHCPv6(별도의 언급이 없는 한)
  • PXE 프록시 DHCP 데몬
    PXE 프록시 서버 DHCP서버와 거의 동일하게 작동 DHCP: 그는 고객 메시지를 본다 DHCP몇 가지 질문에 답변합니다. 하지만 서버와 달리 DHCP, PXE 프록시 서버 DHCP네트워크 주소를 관리하지 않고 PXE 클라이언트의 요청에만 응답합니다.
  • BINLD(부팅 이미지 협상 데몬)
    BINLD(Boot Image Negotiation Daemon) 서버는 PXE 클라이언트 부팅의 세 번째 단계에서 사용됩니다.
  • TCP/IP 데몬
    악마(혹은 서버)은 백그라운드에서 실행되고 다른 프로세스의 요청을 이행하는 프로세스입니다. 전송 제어 프로토콜/인터넷 프로토콜운영 체제에서 특정 기능을 수행하기 위해 데몬 프로그램을 사용합니다.
  • TCP/IP 라우팅
    노선송신자로부터 수신자에게 패킷이 전송되는 경로입니다.
  • 모바일 IPv6
    모바일 프로토콜 IPv6리디렉션 지원을 제공합니다. IPv6. 이를 통해 사용자는 전 세계 어디에서나 동일한 IP 주소를 사용할 수 있으며, 이 주소로 실행되는 애플리케이션은 사용자의 위치에 관계없이 통신과 상위 수준 연결을 유지합니다. 동종 및 이기종 환경에서 포워딩 지원이 제공됩니다.
  • 가상 IP 주소
    가상 IP 주소는 개별 네트워크 인터페이스에 대한 호스트의 종속성을 제거합니다.
  • EtherChannel 및 IEEE 802.3ad 링크 집계
    EtherChannel 및 IEEE 802.3ad 링크 집합은 여러 이더넷 어댑터를 단일 의사 이더넷 장치로 결합할 수 있는 네트워크 포트 집합 기술입니다.
  • InfiniBand용 인터넷 프로토콜(IPoIB)
    IP 프로토콜 패킷은 IB(InfiniBand) 인터페이스를 통해 전송될 수 있습니다. 이 경우 IP 패킷은 네트워크 인터페이스를 사용하여 IB 패킷에 포함됩니다.
  • iSCSI 소프트웨어 이니시에이터 및 소프트웨어 대상
    iSCSI 소프트웨어 이니시에이터를 사용하면 AIX가 이더넷 어댑터를 사용하여 TCP/IP 네트워크를 통해 저장 장치에 액세스할 수 있습니다. iSCSI 소프트웨어 대상을 사용하면 AIX가 RFC 3720에 정의된 iSCSI 프로토콜을 사용하여 다른 iSCSI 초기자가 내보낸 로컬 메모리에 액세스할 수 있습니다.

TCP/IP 프로토콜 스택은 인터넷의 알파이자 오메가이므로 스택의 모델과 작동 원리를 알아야 할 뿐만 아니라 이해해야 합니다.

우리는 분류, 네트워크 표준 및 OSI 모델을 파악했습니다. 이제 상호 연결된 컴퓨터 네트워크의 전세계 시스템인 인터넷이 구축되는 기반이 되는 스택에 대해 이야기해 보겠습니다.

TCP/IP 모델

처음에 이 스택은 지점 간 전화선을 통해 대학의 대형 컴퓨터를 연결하기 위해 만들어졌습니다. 그러나 방송(이더넷), 위성 등 새로운 기술이 등장하면서 TCP/IP를 도입하는 것이 필요하게 되었고 이는 어려운 작업이 되었습니다. 이것이 바로 OSI와 함께 TCP/IP 모델이 등장한 이유입니다.

이 모델은 TCP/IP 프로토콜 스택이 작동하기 위해 다양한 기술을 기반으로 네트워크를 구축하는 것이 어떻게 필요한지 설명합니다.

이 표는 OSI와 TCP/IP 모델을 비교한 것입니다. 후자에는 4가지 레벨이 포함됩니다.

  1. 가장 낮은 것, 네트워크 인터페이스 수준, 네트워크 기술(이더넷, Wi-Fi 등)과의 상호 작용을 제공합니다. 이는 OSI 데이터 링크와 물리 계층의 기능을 결합한 것입니다.
  2. 인터넷 수준 OSI 모델의 네트워크 계층과 더 높고 유사한 작업을 수행합니다. 네트워크 문제 식별을 포함하여 최적의 경로 검색을 제공합니다. 이 수준에서 라우터가 작동합니다.
  3. 수송서로 다른 컴퓨터의 프로세스 간 통신을 담당하고, 전송된 정보를 중복, 손실 또는 오류 없이 필요한 순서대로 전달하는 역할을 담당합니다.
  4. 적용된 OSI 모델의 3개 계층(세션, 프레젠테이션, 애플리케이션)을 결합합니다. 즉, 세션 지원, 프로토콜 및 정보 변환, 사용자-네트워크 상호 작용 등의 기능을 수행합니다.

때때로 전문가들은 두 모델을 공통적인 것으로 결합하려고 시도합니다. 예를 들어, 아래는 Computer Networks E. Tanenbaum과 D. Weatherall의 저자가 공생을 5단계로 표현한 것입니다.

OSI 모델은 이론적 발전이 훌륭하지만 프로토콜은 사용되지 않습니다. TCP/IP 모델은 다릅니다. 프로토콜은 널리 사용되지만 이 모델은 TCP/IP 기반 네트워크를 설명하는 데에만 적합합니다.

혼동하지 마세요:

  • TCP/IP는 인터넷의 기반을 형성하는 프로토콜 스택입니다.
  • OSI(Open Systems Interconnection) 참조 모델은 다양한 네트워크를 설명하는 데 적합합니다.

TCP/IP 프로토콜 스택

각 수준을 더 자세히 살펴보겠습니다.

낮은 수준의 네트워크 인터페이스에는 이더넷, Wi-Fi 및 DSL(모뎀)이 포함됩니다. 이러한 네트워크 기술은 공식적으로 스택의 일부는 아니지만 인터넷 전체의 운영에 매우 중요합니다.

주요 네트워크 계층 프로토콜은 IP(인터넷 프로토콜)입니다. 이는 네트워크 주소 지정(IP 주소)의 일부인 라우팅된 프로토콜입니다. ICMP, ARRP 및 DHCP와 같은 추가 프로토콜도 여기서 작동합니다. 그들은 네트워크를 계속 운영합니다.

전송 수준에는 배달 보장이 있는 데이터 전송을 제공하는 프로토콜인 TCP와 빠른 데이터 전송을 위한 프로토콜이지만 보장이 없는 UDP가 있습니다.

애플리케이션 계층은 HTTP(웹용), SMTP(메일 전송), DNS(IP 주소에 친숙한 도메인 이름 할당), FTP(파일 전송)입니다. TCP/IP 스택의 애플리케이션 수준에는 더 많은 프로토콜이 있지만 나열된 프로토콜은 고려해야 할 가장 중요한 프로토콜이라고 할 수 있습니다.

TCP/IP 프로토콜 스택은 장치 간 통신 표준을 정의하고 인터네트워킹 및 라우팅 규칙을 포함한다는 점을 기억하십시오.

TCP/IP 프로토콜 또는 인터넷이 더미에서 작동하는 방식:
글로벌 인터넷의 운영은 TCP/IP 프로토콜 세트(스택)를 기반으로 합니다. 이는 정보 교환을 위한 잘 알려진 간단한 규칙 세트입니다.
익숙한 작업을 수행하는 데 필요한 마우스 클릭 순서가 조금만 변경되어 사무용 소프트웨어 버전을 변경할 때 회계사가 당황하고 완전히 무기력해지는 것을 본 적이 있습니까? 아니면 데스크톱 인터페이스를 변경할 때 어리둥절해지는 사람을 본 적이 있습니까? 바보가 되지 않으려면 본질을 이해해야 한다. 정보의 기초는 자신감과 자유로움을 느낄 수 있는 기회를 제공합니다. 신속하게 문제를 해결하고, 질문을 올바르게 공식화하고, 기술 지원과 정상적으로 의사소통할 수 있습니다.

TCP/IP 인터넷 프로토콜의 작동 원리본질적으로 단순하고 소련 우편 서비스의 업무를 연상시킵니다.
먼저 편지를 쓴 뒤 봉투에 넣고 봉한 후 봉투 뒷면에 보내는 사람과 받는 사람의 주소를 적어 가까운 우체국으로 가져가면 된다. 그런 다음 편지는 일련의 우체국을 통해 수령인의 가장 가까운 우체국으로 전달되며, 그곳에서 우체부가 수령인의 지정된 주소로 배달되어 우편함(아파트 번호와 함께)에 넣거나 직접 전달됩니다. 편지 수신자가 귀하에게 답변을 원할 때, 그는 응답 편지에서 수신자와 발신자의 주소를 교환할 것이며, 편지는 동일한 체인을 따라 반대 방향으로 귀하에게 전송됩니다.

보내는 사람의 주소:
보낸 사람: Ivanov Ivan Ivanovich
보낸 사람: Ivanteevka, st. 볼샤야(Bolshaya), 8세, 아파트 25
수령인의 주소:
받는 사람: 페트로프 페트르 페트로비치
위치: 모스크바, Usachevsky Lane, 105, apt. 110

인터넷과 로컬 네트워크에서 컴퓨터와 응용 프로그램의 상호 작용을 고려해 보겠습니다. 일반 우편과의 비유는 거의 완료될 것입니다.
인터넷의 각 컴퓨터(즉, 노드, 호스트)에도 IP(인터넷 포인터)라고 하는 고유한 주소가 있습니다(예: 195.34.32.116). IP 주소는 점으로 구분된 4개의 십진수(0~255)로 구성됩니다. 하지만 컴퓨터의 IP 주소만 아는 것만으로는 충분하지 않습니다. 왜냐하면... 결국 정보를 교환하는 것은 컴퓨터 자체가 아니라 컴퓨터에서 실행되는 응용 프로그램입니다. 그리고 여러 응용 프로그램이 컴퓨터(예: 메일 서버, 웹 서버 등)에서 동시에 실행될 수 있습니다. 일반 종이 편지를 전달하려면 집 주소만 아는 것만으로는 충분하지 않습니다. 아파트 번호도 알아야 합니다. 또한 모든 소프트웨어 응용 프로그램에는 포트 번호라는 비슷한 번호가 있습니다. 대부분의 서버 애플리케이션에는 표준 번호가 있습니다. 예를 들어 메일 서비스는 포트 번호 25에 바인딩되어 있습니다(포트를 "수신"하고 메시지를 수신한다고도 함). 웹 서비스는 포트 80에 바인딩되며 FTP는 포트 21에 바인딩됩니다. , 등등. 따라서 일반 우편 주소와 거의 완전한 유사점이 있습니다: "집 주소" = "컴퓨터 IP", "아파트 번호" = "포트 번호"

소스 주소:
IP: 82.146.49.55
포트: 2049
받는 사람 주소(목적지 주소):
IP: 195.34.32.116
포트: 53
패키지 세부정보:
...
물론 패키지에는 서비스 정보도 포함되어 있지만 이는 본질을 이해하는 데 중요하지 않습니다.

"IP 주소와 포트 번호"의 조합을 "소켓"이라고 합니다..
이 예에서는 소켓 82.146.49.55:2049에서 소켓 195.34.32.116:53으로 패킷을 보냅니다. 패킷은 IP 주소가 195.34.32.116인 컴퓨터의 포트 53으로 이동합니다. 그리고 포트 53은 이 패킷을 수신할 이름 인식 서버(DNS 서버)에 해당합니다. 보낸 사람의 주소를 알면 이 서버는 요청을 처리한 후 DNS 서버의 경우 받는 사람 소켓이 되는 보낸 사람 소켓 82.146.49.55:2049와 반대 방향으로 이동하는 응답 패킷을 생성할 수 있습니다.

일반적으로 상호 작용은 "클라이언트-서버" 구성표에 따라 수행됩니다. "클라이언트"는 일부 정보(예: 웹 사이트 페이지)를 요청하고 서버는 요청을 수락하고 처리한 후 결과를 보냅니다. 서버 애플리케이션의 포트 번호는 잘 알려져 있습니다. 예를 들어 SMTP 메일 서버는 포트 25에서 "수신"하고, 사서함에서 메일을 읽을 수 있는 POP3 서버는 포트 110에서 "수신"하고, 웹 서버는 포트 80에서 수신합니다. 가정용 컴퓨터에 있는 대부분의 프로그램은 클라이언트입니다(예: Outlook 이메일 클라이언트, 웹 브라우저 IE, FireFox 등). 클라이언트의 포트 번호는 서버의 포트 번호처럼 고정되어 있지 않지만 운영 체제에 의해 동적으로 할당됩니다. . 고정 서버 포트는 일반적으로 최대 1024까지의 번호를 가지며(예외도 있음) 클라이언트 포트는 1024 이후에 시작됩니다.

IP는 네트워크에 있는 컴퓨터(노드, 호스트)의 주소이고, 포트는 이 컴퓨터에서 실행되는 특정 응용 프로그램의 번호입니다. 그러나 사람이 디지털 IP 주소를 기억하는 것은 어렵습니다. 알파벳 이름으로 작업하는 것이 훨씬 더 편리합니다. 결국 숫자 집합보다 단어를 기억하는 것이 훨씬 쉽습니다. 이것이 완료되었습니다. 모든 디지털 IP 주소는 영숫자 이름과 연결될 수 있습니다. 결과적으로 예를 들어 82.146.49.55 대신 www.ofnet.ru라는 이름을 사용할 수 있습니다. 그리고 도메인 이름 서비스인 DNS(Domain Name System)는 도메인 이름을 디지털 IP 주소로 변환하는 역할을 합니다.

브라우저의 주소 표시줄에 도메인 이름 www.yandex.ru를 입력하고 클릭합니다. 다음으로 운영 체제는 다음 작업을 수행합니다.
- 요청(보다 정확하게는 요청이 포함된 패킷)이 소켓 195.34.32.116:53의 DNS 서버로 전송됩니다.
포트 53은 이름을 확인하는 응용 프로그램인 DNS 서버에 해당합니다. 그리고 요청을 처리한 DNS 서버는 입력된 이름과 일치하는 IP 주소를 반환합니다. 대화 내용은 다음과 같습니다. www.yandex.ru라는 이름에 해당하는 IP 주소는 무엇입니까? 답변: 82.146.49.55.
-다음으로 우리 컴퓨터는 컴퓨터 82.146.49.55의 포트 80에 연결을 설정하고 www.yandex.ru 페이지를 수신하기 위해 요청(요청 패킷)을 보냅니다. 포트 80은 웹 서버에 해당합니다. 포트 80은 브라우저의 주소 표시줄에 기록되지 않습니다. 왜냐하면... 기본적으로 사용되지만 콜론 뒤에 명시적으로 지정할 수 있습니다(http://www.yandex.ru:80).
- 우리로부터 요청을 받으면 웹 서버는 이를 처리하고 브라우저가 이해할 수 있는 텍스트 마크업 언어인 HTML로 된 여러 패킷으로 페이지를 보냅니다. 페이지를 수신한 브라우저는 해당 페이지를 표시합니다. 결과적으로 이 사이트의 메인 페이지가 화면에 표시됩니다.

왜 이것을 알아야 합니까?
예를 들어, 컴퓨터의 이상한 동작(이상한 네트워크 활동, 속도 저하 등)을 발견했습니다. 어떻게 해야 합니까? 콘솔을 엽니다("시작" 버튼 클릭 - "실행" - cmd 입력 - "확인"). 콘솔에서 netstat -an 명령을 입력하고 클릭합니다. 이 유틸리티는 컴퓨터 소켓과 원격 호스트 소켓 사이에 설정된 연결 목록을 표시합니다.
"외부 주소" 열에 일부 외부 IP 주소가 있고 콜론 뒤의 25번째 포트가 표시된다면 이는 무엇을 의미할까요? (포트 25가 메일 서버에 해당한다는 것을 기억하십니까?) 이는 귀하의 컴퓨터가 일부 메일 서버(서버)에 연결되어 있으며 이를 통해 일부 편지를 보내고 있음을 의미합니다. 현재 이메일 클라이언트(예: Outlook)가 실행되고 있지 않고 포트 25에 이러한 연결이 여전히 많이 있다면 컴퓨터에 사용자를 대신하여 스팸을 보내거나 신용을 전달하는 바이러스가 있을 가능성이 높습니다. 공격자에게 카드 번호와 비밀번호를 제공합니다.
또한 "친구" 및 "적" 패킷을 필터링하도록 설계된 프로그램(종종 바이러스 백신과 함께 제공됨)인 방화벽(방화벽)을 올바르게 구성하려면 인터넷 원리에 대한 이해가 필요합니다. 예를 들어 방화벽은 누군가가 컴퓨터의 일부 포트에 연결을 설정하려고 한다고 보고합니다. 허용할 것인가, 거부할 것인가?

이 모든 지식은 매우 유용합니다 기술 지원과 통신할 때 - 포트 목록당신이 직면해야 할 것 :
135-139 - 이 포트는 Windows에서 공유 컴퓨터 리소스(폴더, 프린터)에 액세스하는 데 사용됩니다. 이 포트를 외부로 열지 마십시오. 지역 로컬 네트워크 및 인터넷에. 방화벽으로 닫아야 합니다. 또한 로컬 네트워크에서 네트워크 환경에 아무것도 표시되지 않거나 표시되지 않는 경우 방화벽이 해당 포트를 차단했기 때문일 수 있습니다. 따라서 이러한 포트는 로컬 네트워크에 대해서는 열려 있어야 하지만 인터넷에 대해서는 닫혀 있어야 합니다.
21 - FTP 서버 포트.
25 - SMTP 메일 서버 포트. 귀하의 이메일 클라이언트는 이를 통해 편지를 보냅니다. SMTP 서버의 IP 주소와 해당 포트(25번)는 메일 클라이언트 설정에서 지정되어야 합니다.
110 - POP3 서버 포트. 이를 통해 메일 클라이언트는 사서함에서 편지를 수집합니다. POP3 서버의 IP 주소와 포트(110번)도 메일 클라이언트 설정에서 지정해야 합니다.
80 - 웹 서버 포트.
3128, 8080 - 프록시 서버(브라우저 설정에서 구성).

여러 특수 IP 주소:
127.0.0.1 - 이것은 로컬 시스템의 주소인 localhost입니다. 컴퓨터의 로컬 주소.
0.0.0.0 - 모든 IP 주소가 지정되는 방식입니다.
192.168.xxx.xxx- 로컬 네트워크에서 임의로 사용할 수 있는 주소는 글로벌 인터넷에서는 사용되지 않습니다. 로컬 네트워크 내에서만 고유합니다. 예를 들어 집이나 사무실 네트워크를 구축하기 위해 재량에 따라 이 범위의 주소를 사용할 수 있습니다.

무슨 일이야? 서브넷 마스크 및 기본 게이트웨이, 라우터와 라우터입니까? 이러한 매개변수는 네트워크 연결 설정에서 설정됩니다. 컴퓨터는 로컬 네트워크에 연결되어 있습니다. 로컬 네트워크에서 컴퓨터는 서로만 직접 "볼" 수 있습니다. 로컬 네트워크는 게이트웨이(라우터, 라우터)를 통해 서로 연결됩니다. 서브넷 마스크는 수신 컴퓨터가 동일한 로컬 네트워크에 속해 있는지 여부를 결정하도록 설계되었습니다. 수신 컴퓨터가 송신 컴퓨터와 동일한 네트워크에 속해 있으면 패킷이 해당 컴퓨터로 직접 전송되고, 그렇지 않으면 패킷이 기본 게이트웨이로 전송된 다음 알려진 경로를 사용하여 패킷을 다른 네트워크로 전송합니다. 다른 우체국으로(종이 우편과 유사) 그래서:
TCP/IP네트워크 프로토콜 세트의 이름입니다. 실제로 전송된 패킷은 여러 계층을 거칩니다. (우체국과 마찬가지로 먼저 편지를 쓴 다음 주소가 적힌 봉투에 넣은 다음 우체국에서 그 위에 우표를 붙이는 식입니다.)
IP 프로토콜- 소위 네트워크 계층 프로토콜입니다. 이 수준의 작업은 보낸 사람의 컴퓨터에서 받는 사람의 컴퓨터로 IP 패킷을 전달하는 것입니다. 데이터 자체 외에도 이 수준의 패킷에는 소스 IP 주소와 수신자 IP 주소가 있습니다. 포트 번호는 네트워크 수준에서 사용되지 않습니다. 이 패킷이 어떤 포트 = 애플리케이션으로 전달되었는지, 이 패킷이 전달되었는지 아니면 손실되었는지는 이 수준에서 알 수 없습니다. 이것은 해당 작업이 아니라 전송 계층의 작업입니다.
TCP와 UDP이는 소위 전송 계층의 프로토콜입니다. 전송 계층은 네트워크 계층 위에 위치합니다. 이 수준에서는 소스 포트와 대상 포트가 패킷에 추가됩니다.
TCP패킷 전달이 보장된 연결 지향 프로토콜입니다. 먼저 연결을 설정하기 위해 특수 패킷이 교환됩니다. 즉, 악수와 같은 일이 발생합니다(-안녕하세요. -안녕하세요. -채팅할까요? -어서.). 그런 다음 이 연결을 통해 패킷이 앞뒤로 전송되고(대화가 진행 중) 패킷이 수신자에게 도달했는지 확인됩니다. 패킷이 수신되지 않으면 다시 전송됩니다("반복합니다. 듣지 못했습니다").
UDP패킷 전달이 보장되지 않는 비연결 프로토콜입니다. (예: 소리를 질렀지만 그들이 당신의 말을 듣든 듣지 않든 상관없습니다.)
전송 계층 위에는 애플리케이션 계층이 있습니다. 예를 들어 http, ftp 등과 같은 프로토콜은 이 수준에서 작동합니다. HTTP와 FTP- 신뢰할 수 있는 TCP 프로토콜을 사용하고, DNS 서버는 신뢰할 수 없는 UDP 프로토콜을 통해 작동합니다.

현재 연결을 보는 방법은 무엇입니까?- netstat -an 명령 사용(n 매개변수는 도메인 이름 대신 IP 주소를 표시하도록 지정함) 이 명령은 다음과 같이 시작됩니다: "시작" - "실행" - cmd 입력 - "확인". 나타나는 콘솔(검은색 창)에 netstat -an 명령을 입력하고 클릭합니다. 결과는 컴퓨터 소켓과 원격 노드 사이에 설정된 연결 목록이 됩니다. 예를 들어 다음과 같은 결과를 얻습니다.

이 예에서 0.0.0.0:135는 컴퓨터가 모든 IP 주소에서 포트 135를 수신(LISTENING)하고 TCP 프로토콜을 통해 모든 사람(0.0.0.0:0)의 연결을 수락할 준비가 되었음을 의미합니다.
91.76.65.216:139 - 우리 컴퓨터는 IP 주소 91.76.65.216에서 포트 139를 수신합니다.
세 번째 줄은 현재 컴퓨터(91.76.65.216:1719)와 원격 컴퓨터(212.58.226.20:80) 사이에 연결이 설정(ESTABLISHED)되었음을 의미합니다. 포트 80은 우리 컴퓨터가 웹 서버에 요청했다는 뜻입니다(실제로 브라우저에 페이지가 열려 있습니다).

(c) 기사의 무료 약어는 내 것입니다.
(c) 두브로빈 보리스



질문이 있으신가요?

오타 신고

편집자에게 전송될 텍스트: