목차
- 프로토콜
- 핵심기능
- 프로토콜 유형
- TCP/IP 프로토콜 스택
프로토콜
프로토콜은 컴퓨터와 같은 전자 장치 간에 데이터를 전송하기 위한 일련의 규칙 또는 절차를 말합니다. 즉, 통신 시스템의 두 개 이상의 엔티티가 정보를 전송할 수 있도록 하는 규칙 시스템입니다.
다음은 프로토콜에 대한 몇 가지 핵심 기능 입니다.
- 데이터 포맷 및 캡슐화
네트워크를 통해 데이터가 전송될 때, 데이터는 패킷이라는 작은 단위로 나뉘는 경우가 많습니다. 각 패킷에는 전송되는 데이터뿐만 아니라 네트워크가 데이터를 올바르게 전달하는 데 도움이 되는 메타데이터도 포함됩니다. 이 과정을 캡슐화라고 합니다. 데이터는 네트워크 모델의 각 계층에서 프로토콜 정보로 래핑됩니다. 예를 들어, 전송 계층(예: TCP 또는 UDP)에서 애플리케이션 계층의 데이터는 세그먼트로 나뉩니다. 네트워크 계층(예: IP)에 도달하면 이러한 세그먼트는 패킷으로 추가 캡슐화됩니다. - 오류 처리
오류 처리에는 데이터 전송 중에 발생하는 모든 문제를 감지하고 수정하는 작업이 포함됩니다. 예를 들어, TCP는 체크섬이라는 방법을 사용하여 데이터 전송 오류를 감지합니다. 발신자와 수신자의 체크섬 값이 일치하지 않으면 전송에 오류가 있음을 나타내며, 발신자에게 데이터를 다시 보내라는 메시지를 표시합니다. - 시퀀싱
데이터가 패킷으로 분할되면 각 패킷에 시퀀스 번호가 할당됩니다. 이렇게 하면 패킷이 순서대로 도착하지 않더라도(패킷이 네트워크를 통해 다른 경로로 이동할 수 있기 때문에 발생할 수 있음) 수신자가 올바른 순서로 패킷을 재조립할 수 있습니다. - 흐름 제어
흐름 제어는 수신자가 처리할 수 있는 속도로 데이터를 전송하도록 보장합니다. 예를 들어 발신자가 수신자가 처리하기에는 너무 빠른 속도로 데이터를 전송하는 경우 흐름 제어 메커니즘이 발신자에게 속도를 늦추라고 지시할 수 있습니다. - 연결 설정, 유지 및 종료
네트워크 프로토콜은 네트워크 연결도 관리합니다. 여기에는 연결 설정(TCP 3자 핸드셰이크와 같은 프로세스를 통한 연결 설정), 연결 유지(연결이 계속 열려 있는지 확인하고 발생하는 모든 문제를 처리), 연결이 더 이상 필요하지 않은 경우 연결 종료가 포함됩니다. 이 프로세스를 통해 리소스를 효율적으로 사용하고 더 이상 필요하지 않을 때 리소스를 확보할 수 있습니다.
이러한 원칙은 대략적인 원칙이며, 구체적인 내용은 정확한 프로토콜과 작동하는 네트워크 모델의 계층에 따라 달라질 수 있습니다. 이러한 요소들을 함께 사용하면 네트워크를 통해 데이터를 안정적이고 효율적으로 전송할 수 있습니다.
컴퓨터 네트워크에서 사용되는 프로토콜에는 여러 가지 유형이 있습니다. 다음은 몇 가지 예입니다.
- 전송 제어 프로토콜(Transmission Control Protocol, TCP)
TCP는 인터넷 프로토콜 스위트의 주요 프로토콜 중 하나입니다. 연결 지향적이기 때문에 양쪽 끝의 애플리케이션 프로그램이 메시지 교환을 마칠 때까지 연결이 설정되고 유지됩니다. 애플리케이션 데이터를 네트워크가 전달할 수 있는 패킷으로 분할하는 방법을 결정하고, 네트워크 계층으로 패킷을 보내고 네트워크 계층으로부터 패킷을 수락하며, 흐름 제어를 관리하고, 오류 없는 데이터 전송을 제공하기 위해 끊어지거나 왜곡된 패킷의 재전송과 도착하는 모든 패킷의 승인을 처리합니다. 개방형 시스템 상호 연결(OSI) 통신 모델에서 TCP는 전송 계층인 계층 4의 일부와 세션 계층인 계층 5의 일부를 다룹니다. - 인터넷 프로토콜(Internet Protocol, IP)
IP는 인터넷 프로토콜 제품군의 인터넷 계층에 있는 기본 프로토콜로, 주소에 따라 소스 호스트에서 대상 호스트에 패킷을 전달하는 역할을 합니다. 시스템에서 IP의 역할은 데이터그램이라고도 하는 데이터 패킷이 목적지와 소스 간에 이동하는 방식을 정의하는 것입니다. IP보다 더 복잡한 TCP는 데이터 전송 설정을 처리하는 반면 실제 전송은 IP가 담당합니다. - 하이퍼텍스트 전송 프로토콜(HyperText Transfer Protocol , HTTP)
HTTP는 노드 간의 논리적 링크(하이퍼링크)를 사용하는 구조화된 텍스트인 하이퍼텍스트를 전송하기 위해 월드와이드웹에서 사용하는 프로토콜입니다. HTTP는 브라우저가 서버와 통신할 수 있도록 허용함으로써 웹을 탐색할 수 있게 해줍니다. 브라우저에 URL을 입력하면 브라우저는 사이트를 호스팅하는 서버에 HTTP 요청을 보냅니다. 서버는 요청된 파일(일반적으로 HTML 파일과 이미지 및 스타일시트와 같은 추가 구성 요소)로 응답합니다. - 파일 전송 프로토콜(File Transfer Protocol , FTP)
FTP는 컴퓨터 네트워크에서 클라이언트와 서버 간에 컴퓨터 파일을 전송하는 데 사용되는 표준 네트워크 프로토콜입니다. FTP는 클라이언트와 서버 간에 별도의 제어 및 데이터 연결을 사용하는 클라이언트-서버 모델 아키텍처를 기반으로 구축되어 안정적이고 효율적인 데이터 전송을 보장합니다. - POP(Post Office Protocol) 및 IMAP(Internet Message Access Protocol , 인터넷 메시지 액세스 프로토콜)
이메일에 액세스하는 두 가지 다른 방식입니다. 가장 큰 차이점은 이메일이 저장되는 위치에 있습니다. POP는 서버에서 단일 컴퓨터로 이메일을 다운로드한 다음 서버에서 이메일을 삭제합니다. 반면 IMAP은 메일 서버에 이메일을 저장하고 여러 장치에서 동시에 이메일을 관리하고 볼 수 있도록 하여 장치 간에 정보를 동기화합니다.
이러한 프로토콜과 다른 많은 프로토콜이 함께 작동하여 네트워크와 인터넷을 통한 통신을 가능하게 합니다. 이러한 프로토콜은 모든 네트워크 통신이 구축되는 토대를 형성합니다.
TCP/IP 프로토콜 스택
TCP/IP(전송 제어 프로토콜/인터넷 프로토콜)는 인터넷에서 호스트를 연결하는 데 사용되는 통신 프로토콜 모음입니다. 인트라넷이나 엑스트라넷과 같은 사설 네트워크의 통신 프로토콜로도 사용됩니다.
인터넷 프로토콜 제품군이라고도 하는 TCP/IP 프로토콜 제품군은 4개의 계층으로 구성되며, 각 계층에는 고유한 프로토콜이 포함되어 있습니다:
- 애플리케이션(Application) 계층
최상위 계층으로 네트워크 애플리케이션에서 사용됩니다. 소프트웨어 애플리케이션과 직접 상호 작용하는 프로토콜입니다. 예를 들어 HTTP(하이퍼텍스트 전송 프로토콜), FTP(파일 전송 프로토콜), SMTP(단순 메일 전송 프로토콜), DNS(도메인 이름 시스템) 등이 있습니다. - 전송(Transport) 계층
이 계층은 호스트 간에 데이터를 투명하게 전송하고 엔드투엔드 오류 복구 및 흐름 제어를 담당합니다. 이 계층에서는 TCP와 UDP(사용자 데이터그램 프로토콜)가 작동합니다. TCP는 연결 지향적이어서 안정적인 전송을 보장하며, UDP는 연결이 필요 없는 방식으로 짧은 지연 시간을 우선시합니다. - 인터넷(또는 네트워크, Internet (or Network)) 레이어
이 계층은 네트워크에서 패킷의 이동을 처리합니다. 이 계층에서 사용되는 주요 프로토콜은 패킷 구조와 주소를 정의하는 IP(인터넷 프로토콜)입니다. 이 계층의 다른 프로토콜로는 ICMP(인터넷 제어 메시지 프로토콜) 및 IGMP(인터넷 그룹 관리 프로토콜)가 있습니다. - 링크 계층(네트워크 인터페이스 계층이라고도 함, Link Layer (also known as the Network Interface Layer))
TCP/IP 모델의 가장 하위 계층입니다. 호스트가 네트워크에 연결할 수 있는 네트워크 인터페이스를 제공하는 역할을 합니다. 여기에는 이더넷 및 Wi-Fi와 같은 프로토콜이 포함되며, 네트워크 카드와 같은 하드웨어 인터페이스가 작동하는 곳이기도 합니다.
계층적 접근 방식의 TCP/IP 모델을 사용하면 각 레벨이 특정 유형의 기능에 집중할 수 있으므로 필요에 따라 쉽게 적응하고 확장할 수 있습니다. 이 모델은 인터넷의 기반이 되었으며 소규모 대학 네트워크에서 오늘날 우리가 알고 있는 글로벌 네트워크로 확장할 수 있게 해 주었습니다.