프로토콜이란?
원활한 통신을 위해 통신 시 지켜야할 절차나 규칙
OSI 7 Layer의 주요 프로토콜
★ 7계층 응용 계층 - HTTP, FTP, TELNET, SMTP, POP3, IMAP...
6계층 표현 계층 - SSL, ASCII...
5계층 세션 계층 - NetBIOS, RPC, WinSock...
★ 4계층 전송 계층 - TCP, UDP
★ 3계층 네트워크 계층 - IP, ICMP, IGMP...
2계층 데이터링크 계층 - Ethernet, HDLC, PPP
1계층 물리 계층 - RS-232, X.25/X.21
HTTP (HyperText Transfer Protocol) - 포트번호 80
웹 상에서 웹 서버 및 웹 브라우저 상호 간의 데이터 전송을 위한 프로토콜
FTP (File Transfer Protocol) - 포트번호 : 데이터 전달 : 20 / 제어정보 전달 : 21
서버와 클라이언트 간에 파일을 전송하기 위한 프로토콜
TELNET - 포트번호 23
인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜
보안문제로 사용이 감소하고 있으며, 원격제어를 위해 SSH(Secure Shell)로 대체
SMTP (Simple Mail Transfer Protocol) - 포트번호 25
인터넷에서 메일을 송신하는 데 사용하는 프로토콜
POP3 (Post Office Protocol version 3) - 포트번호 110
인터넷에서 메일을 수신하는 데 사용하는 프로토콜
IMAP (Internet Message Access Protocol) - 포트번호 143
인터넷에서 메일을 수신하는 데 사용하는 프로토콜
FTP는 다른 프로토콜과 다르게 포트 번호가 두 개 존재
=> 20번 데이터 포트, 21번 제어 포트
데이터 포트
데이터 포트는 20번으로 클라이언트와 서버 사이의 직접적인 파일 송수신을 담당
제어 포트
제어 포트는 포트번호 21번으로 클라이언트와 서버 사이의 명령, 제어 등을 담당
FTP는 모드도 두 개가 존재하는데, 기본 설정으로는 Active mode로 설정
Active mode
클라이언트가 서버에게 연결할 데이터 포트를 알려주는 모드
Passive mode
서버가 클라이언트에게 연결할 데이터 포트를 알려주는 모드
클라이언트는 서버의 21번 제어 포트로 접속
클라이언트는 자신이 사용할 두 번째 포트(5151)를 서버에 알림
서버는 클라이언트의 요청에 응답
서버의 20번 데이터 포트는 클라이언트가 알려준 두 번째 포트(5151)로의 접속 시도
클라이언트가 서버의 요청에 응답
클라이언트가 서버에게 연결할 데이터 포트를 알려주는 모드
FTP 클라이언트에 방화벽이 설치되어 있어 접속이 불가능한
상황일 때, Passive Mode 사용 가능
클라이언트는 서버의 21번 제어 포트로 접속
서버는 통신에 사용할 두 번째 포트(3267)를 클라이언트에 알림
클라이언트는 다른 포트를 열어 서버가 알려준 포트(3267)로 접속 시도
서버가 클라이언트의 요청에 응답
서버가 클라이언트에게 연결할 데이터 포트를 알려주는 모드
우리가 편지를 보낼 때, 우선 편지는 보낸 곳의 우체국에 있다가 받는 사람의 우체국으로 옮겨진 후, 우편집배원들이 각 편지의 주소지로 편지를 배달하여 최종적으로 편지를 받는 이에게 전달
여기서 POP3와 IMAP은 우체국 역할을 하는 메일 서버에서 최종 주소지로 편지를 전달해 주는 우편집배원 역할
POP3
장점
편리한 용량 관리 : 데이터를 자동 삭제하도록 설정할 수 있기 때문에 비교적 용량 관리가 쉬운 편
저렴한 사용 요금 : 거의 모든 서비스 제공 업체가 POP3 환경을 지원하기 때문에 사용 요금이 저렴
단점
보낸 이메일 보존 불가 : 아웃룩에서 보낸 편지는 웹 서버에 저장되지 않기 때문에 아웃룩 외에 다른 곳에서 보낸 데이터를 확인하기 어려움
기기 관리의 어려움 : 저장된 기기 자체를 관리해야 하기 때문에, 하드 드라이브가 고장 나거나 PC에 바이러스가 생긴 경우 복구하기 어려움
다운로드 이슈 발생 : 여러 디바이스에서 같은 메일을 계속 다운로드하다 보면, 중복 다운로드 및 사라짐 이슈 등이 발생할 가능성 증가
IMAP
장점
동기화 : 아웃룩에서 보낸 데이터를 웹 또는 모바일에서 확인 가능
안정적인 환경 : 다운로드 이슈가 발생하지 않아, 안정적인 환경에서 메일 송수신 가능
편리한 멀티 디바이스 사용 : 언제 어떤 디바이스에서 접속해도 모든 속성이 동기화되어, 편리하게 사용 가능
단점
용량 관리의 어려움 : 서버에 계속 데이터가 쌓이기 때문에, 용량 제한 서비스를 이용할 경우 용량 관리가 어려움
비싼 도입 요금 : 모든 내용들을 동기화해야 해서 더 많은 트래픽이 필요하기 때문에 사용 요금이 비쌈
주요 차이점
동기화 여부
POP3 : 동기화 X
IMAP : 동기화 O
메일 데이터 관리
POP3 - 메일 서버 용량관리를 위해 메일 자동 삭제
IMAP - 사용자가 직접 수동으로 삭제
SSL(Secure Socket Layer)
네트워크 레이어의 암호화 방식, HTTP 뿐만 아니라, NNTP, FTP 등에도 사용
인증, 암호화, 무결성 보장하는 프로토콜
ASCII(American Standard Code for Information Interchange)
NetBIOS
RPC(Remote Procedure Call)
WinSock(Windows Socket)
TCP (Transmission Control Protocol)
신뢰적인 연결지향성 서비스 제공
3 Way-Handshaking과 4 Way-Handshaking 등을 활용한 신뢰성 있는 전송 기능
멀티태스킹 불가능
UDP (User Datagram Protocol)
비연결성이고 신뢰성이 없으며, 순서화되지 않은 Datagram 서비스 제공
가상회선을 확립할 필요 X, 유연하고 효율적 응용의 데이터 전송에 사용
실시간 응용 및 멀티태스킹 가능
IP (Internet Protocol)
TCP/IP 기반의 인터넷 망을 통하여 데이터그램의 전달을 담당하는 프로토콜
호스트의 주소지정과 패킷 분할 및 조립 기능을 담당
ICMP (Internet Control Message Protocol) ★☆★
TCP/IP에서 IP패킷을 처리할 때 발생되는 문제, 오류 등을 알리는 역할
오류 진단 등과 같이 IP계층에서 필요한 기타 기능들을 수행하기 위해 사용되는 프로토콜
IGMP (Internet Group Management Protocol)
IP 멀티캐스트를 실현하기 위한 통신 프로토콜
PC가 멀티캐스트로 통신할 수 있다는 것을 라우터에 통지하는 규약
Type 3
라우터가 원격 시스템으로 가는 경로를 찾지 못한 경우
목적지 시스템의 특정 포트 번호가 현재 응답할 수 없는 경우
기타 여러 가지 문제가 발생한 경우일 때 생성
Type 5
라우터가 송신 시스템에서 특정 목적지로 가는 데 짧은 경로를 알리고자 할 때마다 사용
일반적으로 Redirect 메시지는 여러 개의 라우터가 존재하는 네트워크에서 사용자가 하나의 기본 경로만을 정의한 다음,
기본 라우터 외의 다른 라우터를 통해 특정 네트워크에 데이터그램을 전송해야 되는경우에 나타남.
사용자가 '더 나은' 라우터로 데이터그램을 전송하지 않으면,
기본 라우터는 Redirect에러 메시지를 통해 송신 시스템에 사용되어야 할 올바른 라우터를 알려줌.
Type 11
포워딩이나 재배열 작업이 너무 오래 걸려 보고하는 장비가 데이터를 소멸시킨다는 것을 나타냄.
오류를 더 자세하게 보고하기 위해 ICMP Message Code필드를 사용하여 두 개의 다른 하위 메시지제공
Ethernet
HDLC(High-Level Data-Link Control)
PPP(Point-to-Point Protocol)
RS-232
X.25 / X.21
https://yozm.wishket.com/magazine/questions/share/d9R7WQhubWSJmSQ0/
https://needjarvis.tistory.com/158
https://blog.naver.com/hai0416/221551014655
https://onecoin-life.com/19
https://www.easymedia.net/Culture/EasyStory/index.asp?no=172&mode=view&IDX=1170&p=1
https://itwiki.kr/w/FTP
https://eg-platform.com/news/security-issue/detail/1497
https://itwiki.kr/w/ICMP#ICMP_%EB%A9%94%EC%8B%9C%EC%A7%80
https://velog.io/@hsshin0602/%EC%BB%B4%ED%93%A8%ED%84%B0-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-ICMPInternet-Control-Message-Protocol
https://blog.naver.com/lw_mailplug/221463114087