OSI 소개

ARPA 네트워크가 막 개발되었을 때 가능한 한 스마트하게 만들고 싶었습니다. 그러나 네트워크가 복잡할수록 개발 및 유지 관리가 더 어려워집니다. 해결책으로 모든 네트워크 기능을 논리적 계층으로 나누는 것이 제안되었습니다.

네트워크 운영 모델은 ISO/OSI Open Systems Interconnection Base Reference Model의 네트워크 모델이라고 합니다. 간단히 - OSI 모델 (Open Systems Interconnection).

OSI 모델

전체적으로 이 모델에는 7개의 레벨이 있습니다. 수준의 상호 작용은 엄격하게 표준화되고 최소화됩니다. 낮은 수준은 높은 수준과 그 구조의 존재에 대해 전혀 모릅니다.

가장 낮은 계층은 단지 비트를 보낼 수 있습니다 . 전송하지도, 즉 전송하지도 않습니다. 그는 그들이 할 것인지 아닌지 전혀 모릅니다. 보내고 잊어 버렸습니다.

더 높은 수준은 이미 비트- 프레임 그룹으로 작동하며 네트워크의 물리적 장치에 대해 조금 알고 MAC 주소 등을 이해합니다.

다음 단계는 배치입니다. 그는 더 똑똑하고 네트워크 IP 주소로 작동하는 방법을 알고 있습니다. 등등.

이 모든 것이 필요한 이유는 무엇입니까? 유연성을 극대화합니다.

각 계층이 Java 인터페이스이고 여러 가지 다른 구현을 가질 수 있다고 상상해 보십시오. 여기도 마찬가지입니다. 물리적 수준에서 유선, 무선(Wi-Fi), 위성을 통해 비트를 보낼 수 있으며 다른 모든 수준에서는 그것에 대해 아무것도 알지 못합니다. 그리고 모든 것이 의도한 대로 작동할 것입니다.

OSI 프로토콜 스택

아래 그림에서 프로토콜 스택을 자세히 살펴볼 수 있습니다 .

그러나 시스템 관리자가 아닌 경우 이러한 프로토콜 세부 정보가 필요하지 않습니다. 더 흥미로운 것은 TCP(Transmission Control Protocol) / IP(Internet Protocol) 프로토콜 스택에 대한 연구일 것입니다.

OSI 모델의 상위 3개 계층, 즉 애플리케이션 계층, 프레젠테이션 계층 및 세션 계층은 전송 계층 위에 애플리케이션 계층만 있는 TCP/IP 모델에서는 별도로 구분되지 않습니다.

OSI 모델의 계층별 프로토콜 분포

TCP/IP OSI
적용된 적용된 HTTP, SMTP, SNMP, FTP, 텔넷, SSH, SCP, SMB, NFS, RTSP, BGP
대표 XDR, AFP, TLS, SSL
세션 ISO 8327 / CCITT X.225, RPC, NetBIOS, PPTP, L2TP, ASP
수송 수송 TCP, UDP, SCTP, SPX, ATP, DCCP, GRE
회로망 회로망 IP, ICMP, IGMP, CLNP, OSPF, RIP, IPX, DDP
덕트 덕트 이더넷, 토큰 링, HDLC, PPP, X.25, 프레임 릴레이, ISDN, ATM, SPB, MPLS, ARP/td>
물리적 전선, 무선 통신, 광섬유 전선, 적외선 복사

TCP/IP 프로토콜 스택

TCP/IP 프로토콜 스택에는 4개의 계층이 포함됩니다.

  • 애플리케이션 계층
  • 전송 계층
  • 인터넷 계층 (Network layer) (Internet Layer)
  • 링크 계층 (네트워크 액세스 계층)

이러한 계층의 프로토콜은 OSI 모델의 모든 기능을 완전히 구현합니다. IP 네트워크의 모든 사용자 상호 작용은 TCP/IP 프로토콜 스택을 기반으로 합니다.

TCP/IP 프로토콜 스택은 무엇보다도 유선 네트워크와 무선 네트워크 간의 완전히 투명한 상호 작용을 보장하는 물리적 하드웨어와 독립적입니다.

애플리케이션 계층은 대부분의 네트워크 애플리케이션이 실행되는 곳입니다.

애플리케이션 계층

프로그램의 상호 작용을 위해 정보 교환을 위한 상위 수준 프로토콜이 있습니다. 예를 들어 브라우저는 HTTP 프로토콜을 사용하여 작동하고 메일은 SMTP 프로토콜을 사용하여 전송되며 Telegram은 자체 암호화 프로토콜을 사용하여 작동합니다.

그러나 우리는 개인 프로토콜에 별로 관심이 없습니다. 대부분의 경우 FTP(파일 전송), SSH(원격 시스템에 대한 보안 연결), DNS(문자에서 IP 주소로의 변환) 등을 위한 ftp 클라이언트와 같은 대량 프로토콜을 접하게 됩니다.

거의 모든 프로토콜이 TCP 위에서 실행되지만 일부는 속도를 높이기 위해 UDP(사용자 데이터그램 프로토콜)를 통해 실행됩니다. 그러나 중요한 것은 이러한 프로토콜에는 기본 포트가 있다는 것입니다. 예:

  • 20 FTP - TCP 포트 20(데이터 전송용) 및 21(제어 명령용)
  • 22-SSH
  • 23 - 텔넷
  • 53 - DNS 쿼리
  • 80-HTTP
  • 443 - HTTPS

이러한 포트는 IANA(Naming Assignment and Unique Parameters Agency)에서 정의합니다.

Echo, Finger, Gopher, HTTP, HTTPS, IMAP, IMAPS, IRC, NNTP, NTP, POP3, POPS, QOTD, RTSP, SNMP, SSH, Telnet, XDMCP 등 널리 사용되는 몇 가지 다른 응용 프로그램 계층 프로토콜이 있습니다.

수송층

전송 계층 프로토콜은 보장된 메시지 전달 문제를 해결하도록 설계되었습니다.

메시지(데이터 패킷)는 네트워크 어딘가에서 전송 및 손실될 수 있습니다. 이 경우 이러한 상황을 모니터링하고 필요한 경우 메시지를 다시 보내는 것은 전송 계층에 달려 있습니다.

전송 계층 프로토콜의 또 다른 중요한 작업은 메시지가 도착하는 순서를 제어하는 ​​것입니다. 메시지가 한 순서로 전송되고 다른 순서로 도착하는 경우가 종종 있습니다. 그리고 그런 조각들로부터 큰 메시지를 종합하면 넌센스가 됩니다.

이를 방지하기 위해 전송 계층은 메시지를 열거하거나 이전 메시지 수신 확인을 받을 때까지 새 메시지를 보내지 않습니다. 이 계층에 논리적으로 존재하는 자동 라우팅 프로토콜(IP 위에서 실행되기 때문에)은 실제로 네트워크 계층 프로토콜의 일부입니다.

TCP 프로토콜은 응용 프로그램에 신뢰할 수 있는 데이터 흐름을 제공하고, 수신된 데이터에 오류가 없도록 하고, 손실된 경우 데이터를 다시 요청하고, 데이터 중복을 제거하는 "보장된" 연결 사전 설정 전송 메커니즘입니다.

TCP를 사용하면 네트워크의 부하를 조절할 수 있을 뿐만 아니라 장거리 전송 시 데이터 대기 시간을 줄일 수 있습니다. 또한 TCP는 수신된 데이터가 정확히 동일한 순서로 전송되었음을 보장합니다. 이것이 UDP와의 주요 차이점입니다.

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

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

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