안녕하세요. 성조입니다.
프로토콜이라고 규정하면 너무 광범위해서. 간략하게 정의하고, 정리할 수 있는 포스팅을 진행해 보려 합니다.
혹여나 올바르지 못한 지식 전달 사항이 있다면 언제든지 댓글 남겨주시면 감사드리겠습니다!
네트워크 프로토콜(Protocol)이란?
네트워크 프로토콜은 컴퓨터나 네트워크 장치들이 서로 데이터를 주고받기 위한 통신 규약이다.
프로토콜은 데이터 포맷, 전송 속도, 오류 체크, 데이터 압축, 데이터 보안 등을 제어하며, 이 규약을 통해서 모든 장치가 서로 원활하게 통신할 수 있다.
이런 규칙을 만들어주는 것은 매우 중요하다.
한국어만 가능한 사람에게 영어로 질문을 하거나, 영어만 가능한 사람에게 한국어로 질문하면 소통의 문제가 발생한다. 그렇기 때문에 어떤 상황에서는 한국어를 어떤 상황에서는 영어를 사용할 수 있도록 서로가 약속하고 조정하면 의사소통(연결) 할 때 문제없이 진행할 수 있게 된다.
통신 프로토콜에 대해 대략적인 구성을 설명하고 정리한다.
TCP/IP(Transmission Control Protocol/Internet Protocol)
네트워크 통신의 기본 표준으로 활용되고 있다. 하지만 HTTP 3부터는 TCP/IP가 아닌 UDP를 활용하기 때문에 최신 스펙에서는 조금 지양되는 분위기다.
TCP는 데이터를 패킷으로 분할하고, 각 패킷을 목적지에 안전하게 전송하며, 도착한 패킷을 원래 순서대로 재조립하는 역할을 한다. IP는 각 패킷에 주소를 부여하고 올바른 목적지로 패킷을 전송하는 역할을 한다.
HTTP(Hyper Text Transfer Protocol)
HTTP는 웹 브라우저와 웹 서버 간의 통신을 위한 프로토콜이다. 이 프로토콜을 통해서 HTML 문서, 이미지, 동영상, MP3 or MP4 등의 웹 콘텐츠를 전송하게 된다.
HTTPS(Hyper Text Transfer Protocol Secure)
HTTPS는 HTTP에 보안 레이어를 추가한 것으로, 웹 트래픽을 암호화하여 보안을 강화시킨 것이다.
사용자의 정보가 공격자에게 노출되는 것을 방지하기 위해서 고안된 것이다.
FTP(File Transfer Protocol)
FTP는 한 컴퓨터에서 다른 컴퓨터로 파일을 전송하기 위한 프로토콜이다.
사용자가 원격 서버에서 파일을 업로드하거나 다운로드할 수 있도록 해준다.
SFTP(Secure File Transfer Protocol)
SFTP는 FTP에 보안 기능을 추가한 프로토콜이다. 중간에 데이터가 노출되는 위험을 방지하기 위해서 데이터를 암호화하여 전송하는 차이점이 존재한다.
Telnet(TErminaL NETwork)
Telnet은 원격 컴퓨터에 로그인하고 관리할 수 있는 프로토콜이다.
텔넷의 경우. 데이터를 암호화하지 않기 때문에, 보안이 중요한 환경에서는 가급적 사용을 지양하는 편이다.
POP3(Post Office Protocol version 3)
POP3는 이메일을 사용자의 컴퓨터나 장치로 다운로드하는 데 사용되는 프로토콜이다.
다운로드 후에는 서버에서 메일을 삭제한다.
SMTP(Simple Mail Transfer Protocol)
SMTP는 이메일을 보내는 데 사용되는 프로토콜이다.(풀네임만 봐도 간단하게 이메일을 보낼 수 있게 도와주는 것을 알 수 있다.)
SMTP 서버는 이메일을 받아서 올바른 목적지로 전달하게 된다.
SSH(Secure Shell)
SSH는 원격 컴퓨터를 안전하게 제어하기 위한 프로토콜이다.
SSH 또한, 데이터를 암호화하여 전송하므로, 중간에 데이터가 노출되는 것을 방지하는 데 Github를 초반에 활용하다 보면 SSH 등록하게 된다.
SSL(Secure Socket Layer)
SSL은 웹 브라우저와 웹 서버 간의 통신을 암호화하는 프로토콜이다.
HTTPS는 SSL을 사용하여 웹 트래픽을 암호화하게 된다.
SOAP(Simple Object Access Protocol)
SOAP는 웹 서비스 간의 통신을 위한 프로토콜이다. XML 기반의 메시지를 HTTP, HTTPS, SMTP 등 다른 프로토콜을 통해 교환할 수 있게 해 준다.
ARP(Adress Resolution Protocol)
ARP는 네트워크에서 IP 주소를 물리적인 MAC 주소로 변환하는 데 사용되는 프로토콜이다.
이 프로토콜은 특정 컴퓨터를 찾거나 특정 네트워크 패킷을 적절한 대상에게 전달하는데 필요한 MAC 주소를 찾는 데 사용된다.
오타나 궁금한 부분이 있다면 언제든지 댓글 남겨주시면 답변드릴 수 있도록 하겠습니다.
다음 포스팅 때 뵙겠습니다!
감사드립니다.
- 참조 -
https://developer.mozilla.org/ko/docs/Glossary/Protocol
https://ko.wikipedia.org/wiki/%ED%86%B5%EC%8B%A0_%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C
'Network' 카테고리의 다른 글
[Network] URI, URL, URN이란? (a little deep dive) (0) | 2023.05.19 |
---|---|
[Network]브라우저 렌더링 원리 (0) | 2023.04.03 |
[Network] 브라우저 요청/응답 원리 (0) | 2023.01.18 |
[Network] 인터넷(Internet)이란? (0) | 2022.09.28 |
[Network] SOAP(Simple Object Access Protocol)이란? (with REST API 간단 비교.) (0) | 2022.07.16 |