728x90
프로토콜이란?
프로토콜은 복수의 컴퓨터 사이나 중앙 컴퓨터와 단말기 사이에서 데이터 통신을 원활하게 하기 위한 "통신 규약"입니다. 이 규약은 데이터 전송에 필요한 신호 송신의 순서, 데이터 표현법, 오류 검출 방법 등을 정의합니다. 또한, 컴퓨터와 컴퓨터 간에 의사소통을 위한 언어 설정도 포함됩니다.
프로토콜의 기능
- 에러 제어(Error Control)
- 전송 중 에러 검출 및 에러 정정
- 캡슐화(Encapsulation)
- 통신 계층 상의 각 계층이 자신만의 특정 제어 정보를 추가
- 연결 제어(Connection Control)
- 연결 지향적 통신에서 연결 설정, 데이터 전달, 연결 종료 절차의 제어
- 순서 제어(Sequence Control)
- 순서 역전, 중복 패킷 발생 등 정의
- 흐름 제어(Flow Contorol)
- 보낼 데이터량, 전송률의 제한
- 혼잡 제어(Congestion Control)
- 포화 대기 패킷수의 제한을 위한 제어 기법
- 동기화(Synchronization)
- 송수신 양측 간에 시간 관계, 위치 일치
- 주소 지정(Addressing)
- 각 전송 계층에 맞는 주소 지정
- 단편화 및 재조립(Segmentation and Ressembly, Fragmentation and Ressembly)
- 송신기에서 분할된 정보는 전송매체를 통하여 수신기에 전달되고, 수신기는 다시 원래의 정보로 조립하여 최종적으로 사용자가 이해할 수 있는 형태로 재조립한다.
- EX) 이미지, 영상 같은 대용량 정보 같은 경우 작게 쪼개서 전송하고 다시 재 조합한다.
- 데이터 형식화(Data Formatting)
분류
- 직접/간접 프로토콜
- 단일체/구조적 프로토콜
- 대칭, 비대칭 프로토콜
프로토콜 계층(OSI 7 Layer)
프로토콜 7계층은 OSI(Open Systems Interconnection) 모델에서 네트워크 통신을 구성하는 7개의 계층으로 이루어진 구조입니다. 각 계층은 특정한 기능과 역할을 수행하며, 상위 계층은 하위 계층에서 제공하는 기능을 활용하여 데이터를 처리합니다.
- 물리 계층 (Physical Layer)
- 네트워크 하드웨어와 물리적인 전송 매체를 다룹니다.
- 데이터를 전기 신호, 광 신호 등의 물리적인 형태로 변환하여 전송합니다.
- 단위 : 비트
- 데이터 링크 계층 (Data Link Layer)
- 물리 계층에서 제공되는 전송 매체를 이용하여 데이터를 전송합니다.
- 에러 검출과 흐름 제어 등의 기능을 수행하여 데이터 전송의 신뢰성을 보장합니다.
- 단위 : 프레임
- 네트워크 계층 (Network Layer)
- 데이터를 목적지까지 전달하기 위한 경로를 결정하고, 패킷 전송을 관리합니다.
- 라우터 등의 장비를 이용하여 다른 네트워크로의 데이터 전송도 가능합니다.
- 단위 : 패킷, 데이터그램
- 전송 계층 (Transport Layer)
- 종단간(End-to-End) 데이터 전송을 담당합니다.
- 데이터를 분할하거나 합치고, 에러 검출과 재전송 등의 기능을 수행하여 신뢰성 있는 데이터 전송을 보장합니다.
- 단위 : 세그먼트
- 세션 계층 (Session Layer)
- 네트워크 상에서 양 끝단의 응용 프로세스 간에 대화 제어와 동기화를 담당합니다.
- 세션 연결 설정, 유지 및 종료, 다중 세션 관리 등을 수행합니다.
- 표현 계층 (Presentation Layer)
- 데이터를 표현하는 방식을 관리하며, 데이터의 포맷 변환, 압축, 암호화 등의 기능을 수행합니다.
- 응용 계층에서 전송 가능한 형태의 데이터를 생성하고, 수신된 데이터를 응용 가능한 형태로 변환합니다.
- 단위 : 메시지 데이터
- 응용 계층 (Application Layer)
- 최종 사용자가 접하는 응용 프로그램과 직접적으로 상호작용합니다.
- 전자우편, 파일 전송, 웹 브라우징 등 다양한 응용 프로그램을 구현합니다.
프로토콜의 종류
- 브라우저를 통한 웹서비스 이용에 사용되는 프로토콜
- HTTP : Hyper Text Transfer Protocol
- HTTPS : Secure Hyper Text Transfer Protocol
- 파일 전송에 사용되는 프로토콜
- FTP : File Transfer Protocol
- SFTP : Secure File Transfer Protocol
- 서버 컴퓨터 셀에 접근하기 위한 프로토콜
- SSH : Secure Shell
- Telnet : Terminal Network
- 보안된 소켓 통신 프로토콜
- SSL : Secure Socket Layer
- 메일 전송 프로토콜
- POP3 : Post Office Protocol Ver.3
- SMTP : Simple Mail Transfer Protocol
이러한 프로토콜 내용은 브라우저에서 어느 정도 확인해 볼 수 있다
Chrome > Dev Tools > NetWork
- General : 요청 URL 정보와 메서드, 상태 코드
- Response Header : 응답 헤더, 응답 온 패킷의 헤더, 서버 종류, 연결 상태
- Request Header : 요청 헤더, 요청을 보낸 패킷의 헤더, 보낸 클라이언트 종류, 요청한 파일 종료
728x90
'Server' 카테고리의 다른 글
Cookie vs LocalStorage vs SessionStorage (0) | 2023.04.16 |
---|---|
Nginx WebSocket, Proxy Error (0) | 2023.04.16 |
세션 vs 토큰 vs 쿠키? (0) | 2023.04.15 |
JSON 이란? (0) | 2023.04.15 |
Client와 Server사이에 데이터 전송 구조 (0) | 2023.04.15 |