티스토리 뷰
네트워크 프로토콜이란?
네트워크 프로토콜은 네트워크에서 데이터를 교환하기 위한 규칙과 절차의 집합입니다.
프로토콜은 데이터 형식, 순서, 오류 제어 등을 정의하여 서로 다른 시스템 간의 통신을 가능하게 합니다.
주요 프로토콜
- HTTP (HyperText Transfer Protocol): 웹 페이지를 전송하기 위한 프로토콜입니다.
- TCP (Transmission Control Protocol): 신뢰성 있는 데이터 전송을 보장하는 프로토콜입니다.
- UDP (User Datagram Protocol): 신뢰성보다는 빠른 전송을 중시하는 프로토콜입니다.
- FTP (File Transfer Protocol): 파일 전송을 위한 프로토콜입니다.
- SMTP: 이메일 전송을 위한 프로토콜입니다.
프로토콜 각기 다른 목적을 가지고 있습니다
- TCP/IP: 인터넷과 대부분의 네트워크에서 사용되는 프로토콜 스택입니다.
- HTTP/HTTPS: 웹 브라우징을 위한 프로토콜입니다.
- FTP: 파일 전송을 위한 프로토콜입니다.
- SMTP: 이메일 전송을 위한 프로토콜입니다.
소켓과 네트워크 프로토콜
- 소켓: 네트워크 통신을 위한 인터페이스를 제공하며, IP 주소와 포트 번호로 구성됩니다. 소켓은 데이터를 송수신하기 위한 엔드포인트입니다.
- 프로토콜: 네트워크 상에서 데이터를 교환하는 규칙과 절차를 정의합니다. 예를 들어, TCP/IP 프로토콜은 데이터의 전송과 오류 제어를 담당합니다.
- TCP/IP 프로토콜
- TCP/IP 프로토콜은 데이터의 전송을 담당합니다. 이는 데이터를 작은 패킷으로 나누어 전송하고, 순서대로 재조립하며, 데이터의 신뢰성을 보장합니다.
- 클라이언트와 서버는 TCP/IP 프로토콜을 사용하여 데이터를 주고받습니다.
- 프로토콜 계층
- HTTP, FTP 등의 애플리케이션 계층 프로토콜은 데이터를 어떤 형식으로 주고받을지 정의합니다.
- 예를 들어, HTTP는 웹 페이지를 주고받는 규칙을 정의하고, FTP는 파일 전송을 위한 규칙을 정의합니다.
통신 과정 - 클라이언트와 서버는 각각 소켓을 통해 연결을 설정하고, TCP/IP 프로토콜을 사용하여 데이터를 전송하며, 프로토콜 계층(예: HTTP 형식)을 통해 데이터를 해석하고 처리합니다.
코드 예시)
클라이언트 측
서버 측
'Java' 카테고리의 다른 글
파싱(JSON 파싱) (0) | 2024.06.05 |
---|---|
소켓을 활용한 HTTP 통신 및 HttpServer 만들기 (0) | 2024.06.03 |
1 : N 소켓 양방향 통신 (0) | 2024.05.24 |
Java(1:1 양방향 통신(채팅 기본 기능 구현)) (0) | 2024.05.22 |
Java(1:1 단방향 통신(클라이언트측)) (0) | 2024.05.22 |