계층별 주요 프로토콜 특징 (2) :: West_Cold (tistory.com)
계층별 주요 프로토콜 특징 (2)
계층별 프로토콜(1) :: West_Cold (tistory.com) 계층별 프로토콜(1)프로토콜이란?프로토콜(protocol)프로토콜은 네트워크 통신 규칙을 정의하는 것이다. 각 프로토콜은 특정한 기능을 수행하며, 데이터를
eatitstory.tistory.com
위에 계층별 주요 프로토콜 2편 링크를 걸어두겠다.
프로토콜이란 ?
프로토콜 (protocol)
프로토콜은 네트워크 통신 규칙을 정의하는 것이다 . 각 프로토콜은 특정한 기능을 수행하며 , 데이터를 어떻게 전송할지 , 수신할지를 규정한다 . 예를 들어 , HTTP 는 웹 페이지를 요청하고 전달하는 규칙을 정의하고 , SMTP 는 이메일을 전송하는 규칙을 정의한다 .
포트 (port)
포트는 네트워크 상에서 특정 프로토콜이 사용하는 통신 채널이다 . 각 프로토콜은 일반적으로 특정 포트 번호에 할당되어 있으며 , 이 포트 번호를 통해 데이터가 해당 프로토콜을 사용하는 서비스나 애플리케이션으로 전달된다 .
→ 프로토콜은 특정 포트를 사용해 데이터를 전송하거나 수신하고 , 포트 번호는 어떤 프로토콜이 데이터를 처리하는지 번호를 보고 식별 가능하다.
출처: http://www.jidum.com/upload/ckeditor/2016/09/20160908095523606.png
FTP(File Transfer Protocol)
•파일을 송수신 할 때 사용되는 OSI 7 계층 프로토콜이 다 .
•데이터 전송을 관리하기 위해 제어 채널과 데이터 채널을 사용한다 .
•암호화가 되지 않아 보안이 취약하다 .
제어 채널 (control channel)
- 클라이언트와 서버 사이의 명령 , 제어 등을 담당
- port 21
- 명령어와 상태 정보가 교환된다 .
데이터 채널 (data channel)
- 클라이언트와 서버 사이의 직접적인 파일 송수신을 담당
- port 20
- 실제 파일 전송이 이루어진다.
액티브 모드 (Active Mode)
1)클라이언트는 서버의 21 포트로 접속한 후에 자신이 사용할 두 번째 포트를 서버에 미리 알려준다
2)서버는 클라이언트의 요청에 응답한다
3)서버의 20 번 데이터 포트는 클라이언트가 알려준 두 번째 포트로의 접속을 시도한다
4)클라이언트가 서버의 요청에 응답한다
출처: https://madplay.github.io/img/post/2019-03-09-ftp-active-passive-1.png
액티브 모드 (Active Mode) 특징
•서버가 클라이언트에게 데이터를 보낼 때 , 서버가 클라이언트의 데이터 포트로 직접 연결을 시도한다 .
•클라이언트의 방화벽이나 NAT(Network Address Translation) 설정에 따라 , 서버의 연결 시도가 차단될 수 있다 .
패시브 모드 (Passive Mode)
1)클라이언트가 제어 포트로 접속을 시도한다 ( 패시브 모드 연결 )
2)서버에서는 사용할 두 번째 ( 임의 ) 포트를 클라이언트에게 알려준다
3)클라이언트는 다른 포트를 열어 서버가 알려준 포트로 접속을 시도한다
4)서버가 클라이언트의 요청에 응답한다
출처: https://madplay.github.io/img/post/2019-03-09-ftp-active-passive-2.png
패시브 모드 (Passive Mode) 특징
•클라이언트가 서버의 데이터 포트로 직접 연결을 시도 하여 데이터를 전송 받는다 .
•클라이언트 측 방화벽이 서버로의 연결을 쉽게 허용하기 때문에 , 현대 네트워크 환경에서 자주 사용된다 .
•Passive 모드에선 Active 모드에서 사용한 20 번 포트를 사용하지 않고 1024 번 이후의 임의 포트를 데이터 채널 포트로 사용한다.
SMTP, POP3, IMAP
•이메일 전송 시 사용하는 7 계층 프로토콜이며 각자 다른 목적을 위해 사용된다 .
•메일이 전송된다는 것은 송신자가 수신자에게 메일을 전송하는 것이 아닌 , 클라이언트가 메일 서버로 메일을 전송한다는 것 을 의미 ( 수신 또한 마찬가지 )
출처: https://cdn.imweb.me/upload/S20210713e59ce6c5de599/a7ba327d67f78.png
SMTP(S imple Mail Transfer Protocol )
•이메일 전송을 담당하는 프로토콜이다 .
•서버 간 전송에는 포트 25 번 , 클라이언트 - 서버 간 전송에는 포트 587 번을 사용한다 .
•메일 전송만을 담당하며 , 전송 취소나 저장에는 관여하지 않는다 .
POP 3(Post Office Protocol version 3)
•이메일 수신을 담당하는 프로토콜이다 .
•이메일을 클라이언트 기기로 다운로드하고 , 다운로드 후 서버에서 해당 이메일을 삭제한다 .
•포트 110 번 ( 표준 ) , 포트 995 번 ( 보안 ) 을 사용한다 .
•오프라인 상태에서 ( 다운로드 한 ) 이메일을 볼 수 있지만 , 여러 기기 간 동기화 ( 읽음 / 안읽음 상태 …) 는 지원하지 않는다 .
•불편함이 있지만 보안이 안전하다.
IMAP (Internet Message Access Protocol)
•이메일 수신을 담당하는 프로토콜이다 .
•서버 에 저장된 ( 기기 x) 이메일을 여러 기기에 접근하고 관리할 수 있게 해준다 .
•포트 143 번 ( 표준 ) , 포트 993 번 ( 보안 ) 을 사용한다 .
•이메일 상태를 동기화하고 , 여러 기기에서 이메일을 동시에 관리할 수 있다 .
•보안에 취약하다.
출처: https://www.mailtrim.com/data/images/3537
ICMP(Internet Control Message Protocol)
•3 계층 ( 네트워크 계층 ) 에서 작동하며 , 주로 네트워크 오류 보고 및 진단 정보를 제공하는 프로토콜이다 .( 오류 및 데이터 도달 시간 등 ..)
•ICMP 는 네트워크 계층의 프로토콜로 , 포트 번호 (x) 대신 IP 주소를 통해 송수신자를 식별한다 .
•ICMP 메시지는 IP 패킷에 캡슐화 되어 전송된다 .
•데이터 전송 전에 연결을 확립하지 않기 때문에 신뢰성이 있는 데이터 전송을 보장하지 않으며 , 연결 설정을 하지 않고 메시지를 전송한다 ( NO Handshaking )
•Ping 명령어 활용하여 네트워크의 상태를 진단하고 문제를 해결한다 .
•Type 과 Code 를 통해 메시지를 파악할 수 있다 .
출처: https://download.huawei.com/mdl/image/download?uuid=9c21763198b14ae78941f0493a33605d / https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSRj7D%2FbtqEIUV46kh%2FID787DVPJ8r45UeI2qQWzK%2Fimg.png
ICMP 동작 방식
•IP Datagram Encapsulation : ICMP 메시지는 IP 헤더와 함께 IP 패킷의 데이터 부분에 포함되어 전송된다 . IP 헤더의 protocol 필드는 ICMP 를 식별하는 데 사용된다 .
•Error Reporting: 오류가 발생하면 , ICMP 는 오류 메시지를 원본 IP 패킷의 송신자로 반환한다 . 오류 메시지는 네트워크 문제를 진단하는 데 중요한 정보를 제공한다 .
•Ping Processing : Ping 명령어를 사용하여 Echo Request 메시지가 네트워크를 통해 특정 호스트에 전송되면 , 수신 호스트는 Echo Reply 메시지로 응답하여 네트워크 연결 상태를 확인한다 . ( 정상응답 )/ 앞에 과정이 아니고 오류가 나면 오류 메시지가 나온다
ICMP 오류 메시지 종류
•Destination Unreachable : 이 오류 메시지는 IP 패킷이 지정된 목적지에 도달할 수 없을 때 발생한다 . 오류의 원인에는 네트워크 , 호스트 , 프로토콜 , 포트가 사용 불가능한 경우가 포함될 수 있다 . ( 내 잘못 )
•Time Exceeded : TTL(Time To Live) 값이 0 이 되었을 때 발생하며 , 이는 네트워크 루프를 방지하기 위한 것이다 . 또한 , 패킷 조각화 (fragmentation) 과정에서 재조립 시간이 허용된 시간을 초과했을 때도 발생 한다 . ( 목적지까지 갔는데 응답을 못 받음 _ 상대 잘못 )
•Redirect Message : 이 메시지는 라우터가 호스트에게 최적의 경로를 제안할 때 사용된다 . 네트워크 경로를 최적화하기 위해 라우팅 정보를 업데이트하는 데 도움이 된다 . ( 남의 라우팅을 수정 할 수 있어 악용 될 수 있다 )
*PPT
[6주차]계층별 프로토콜(1).pptx
2.42MB
*참고자료
OSI 7 계층별 프로토콜 (FTP, SMTP, POP3, IMAP, ICMP) — 리빗의 기술노트 (tistory.com)
리팩토링 5 주차 . OSI 계층 별 프로토콜 특징 (1) — IT 이모저모 (tistory.com)
FTP Active 와 Passive 차이 (madplay.github.io)
지식덤프 (jidum.com)
ICMP 란 ? ICMP 프로토콜 설명 - AWS (amazon.com)