본문 바로가기

23년 2학기 학교공부/컴퓨터네트워크

[CN] 응용 계층 프로토콜 : FTP, SMTP

목차

    728x90
    반응형
    SMALL
    2023학년도 2학기 충남대학교 이영석 교수님의 컴퓨터네트워크 수업 정리자료입니다.

     

     

     

     

    📁 응용 계층 프로토콜

    ftp, smtp, sip, pop3, imap, snmp 등 여러 종류가 존재.

     

    ftp : 파일 전송 프로토콜

    smtp : 이메일은 전송하는 프로토콜

    sip : session 임비테이션 프로토콜.  화상회의 프로토콜에서 사용

    pop3, imap : 이메일을 다운받고 전송하는 프로토콜

    snmp : 망 관리 프로토콜. 현재는 http가 많이 쓰이고있음.

     

     

     

     

     

    📁 FTP (File Transfer Protocol)

    응용 계층 프로토콜 중 하나로 파일을 전송함.

    위와 같이 ftp 명령어로 FTP 서버에 접속할 수 있다. 일반적으로는 로그인하는 절차가 있는데, 이 서버는 8,9줄과 같이 anonymous로 익명 접속을 가능하게 해준다.

     

    11째줄부터 확인해보면, cd, get과 같은 명령어를 아스키코드로 전송해서 파일을 전송하게끔 한다.

     

    인터넷이 처음 개발됐을때 파일이나 메일을 주고받는 목적으로 사용됐기 때문에 파일을 전송하기 위해 많이 사용되던 프로토콜이다.

    현재는 UI 자체가 웹 환경으로 바뀌었기 때문에 파일 전송도 HTTP로 어느정도 대체가 되고있다.

     

     

     

     

     

    📁 SMTP (Simple Mail Transfer Protocol), POP3/IMAP

     

    응용 계층 프로토콜 중 하나로 메일을 전송함. 서버들간 전송.

     

    네이버 메일계정을 가진 사람과 구글 메일 계정을 가진 사람이 있다고 가정하자. 둘 사이에서 메일이 전송되기 위해서는 메일을 전송하는 서버간의 통신 프로토콜이 필요하다. 이때 사용되는 것이 smtp.

     

    메일 서버 : 네이버 메일, 지메일, 다음 메일 등

    사용자 에이전트 : 메일을 작성하는 프로그램. MS Outlook, 크롬 웹브라우저 등

     

    메일 서버로 메일을 전송하는 프로토콜이 SMTP. 즉 네이버메일, 지메일과 같은 메일 서버와 통신하는 프로토콜

     

     

    POP3/IMAP은 스마트폰으로 메일을 확인하는 경우, 스마트폰이 메일 서버에 접속해서 메일을 다운받고 전송할 때 필요한 프로토콜이다.

    스마트폰이 네이버 또는 지메일 서버에 접속해서 메일을 다운받거나 전송할때 사용하는 프로토콜이 POP3/IMAP.

     

     

     

    결국 메일을 사용하기 위해서는 SMTP와 POP3/IMAP 프로토콜이 동시에 필요하다.

    최근에는 메일 응용 프로그램을 따로 사용하는 경우도 있지만, 웹으로도 메일을 확인할 수가 있다. 웹 서버에서 메일을 볼 때는 HTTP로 메일 서버에 접근하게 된다. 물론 서버는 여전히 SMTP를 사용한다.

    즉 최근에는 HTTP가 메일 서버에 접근하는 프로토콜로도 활용되고 있다.

     

     

    프로토콜 자체는 전송하는 기능이 있지만, 전송할 때 메일이 어떻게 생겼는지를 알려주는 메세지 포맷에 대한 약속이 필요하다.

    헤더에는 송수신자와 이메일 제목 등의 내용이 있고,

    바디에는 메일의 내용, 메일이 아스키코드, 유니코드로 작성이 되어있다 처럼 인코딩 내용이 있다.

     

     

    cuvic.cnu.ac.kr이라는 충남대학교 교직원 메일 서버 큐빅cnu의 SMTP 생김새를 확인해보자.

     

    telnet이라는 명령어로 접근할 수 있고,  2째줄 보면 25라는 포트번호가 필요하다 (저게포트번호임?IP아님?)

     

    이렇게 접속하게 되면 4번째 줄과 같이 Escape character를 확인할 수 있고, 5째줄과 같이 220 응답코드도 확인할 수 있다.

     

    6째줄에서부터 타이핑으로 EHLO [도메인] 형식으로 명령. (이거 무슨명령어임?)

     

    7번째줄부터 200번대 응답코드들과 함께 로그인 하라는 요청이 있다.

     

    로그인으로 인증을 성공하면 14번째줄과 같이 메일을 보낼 수 있다는 응답이 온다.

     

    15째줄은 메일의 송신자, 17째줄은 메일의 수신자를 나타내고, 한 줄마다 250 OK 응답이 온다.

     

    19번째줄이 실제 바디에 들어갈 내용, 메일의 내용이다.

    21번째줄부터 subject와 from, to, 컨텐츠타입, 실제 전송시에는 base 64로 인코딩된다는 정보

     

    Hello quit . 까지 하면 종료.

     

    위 과정이 큐빅서버에 접속해서 메일을 보내게 한 결과.

     

     

    POP3/IMAP 프로토콜이 하는 일인 스마트폰에서 메일 다운 및 전송도 웹 브라우저로 사용될 수 있다. 이것도 HTTP를 이용.

     

    IMAP은 Internet Mail Access Protocol. 로그인으로 인증하는 과정이 필요하고, 이런 정보와 또 메일 폴더같은 정보들은 서버에서 관리한다.

    POP3은 

    728x90
    반응형
    LIST