SMTP & FTP

2024. 10. 15. 14:35·CS/Computer Network
728x90
반응형

SMTP와 FTP 모두 TCP를 사용한다 (HTTP도)

SMTP

Electronic mail Components

전자 메일의 Tree components 

  • user agent : mail reader - 사용자가 메세지를 읽기, 응답, 전달, 저장, 구성이 가능하게 함
    ex) Outlook
  • mail server : mail box, message queue로 이루어져 있다.
    mail box contains incoming msgs : 수신자의 메세지를 유지 및 관리
    message queue for outgoing msgs : 송신할 때 메세지 전달 전 메세지 큐에 보관
  • simple mail transfer protocol (SMTP) : 인터넷 전자 메일을 위한 주요 애플리케이션 계층 프로토콜

 

Electronic mail

mail server

  • 전자 메일 인프라스트럭처의 중심
  • 각 수신자는 메일 서버에 메일 박스와 메시지 큐를 가지고 있다. 
  • 메일 서버의 고장에도 대처한다 (메시지 큐 이용)
  • 메일 박스 : 수신자의 메세지 유지 및 관리
  • 메시지 큐 : 메일 서버가 고장 시, 메세지를 전달할 수 없다면 그 메세지를 메시지 큐에 보관하고 나중에 전달
    (재시도는 30분 마다 시행)
  • 일반 메시지 : 송신자 에이전트 → 송신자 메일 서버 → 수신자 메일 서버 → 수신자 메일 박스
  • 전자 메일 박스에 있는 메세지를 보기 위해 메일 서버는 인증 과정이 필요함

SMTP

  • 메일을 송신자의 메일 서버로부터 수신자의 메일 서버로 전송함
  • TCP의 신뢰적 데이터 전송을 이용
  • 클라이언트와 서버를 가지고 있음
  • 클라이언트와 서버를 모두 메일 서버가 수행

 

SMTP

uses TCP to reliably transfer email message from client to server, port 25

direct transfer : sending server to receiving server

* SMTP 에서는 모든 메일 메시지의 몸체는 단순한 7-bit ASCII 여야한다. 

 

Three phases for mail transfer

  1. handshacking
  2. transfer of the msg (data exchange)
  3. closure

동작 예시

X (Alice) wants to send an email to Y (Bob)

  1. X sends an email to Y@email.com
  2. User Agent → message queue of mail server (User Agent is X's one)
  3. SMTP opens TCP coonnection with Y's mail server  
    X의 메일 서버에서 동작하는 SMTP의 클라이언트 측은, 메세지 큐에 있는 메세지를 본다.
    Y의 메일 서버에서 동작하는 SMTP의 서버 측은, TCP 연결을 설정한다
  4. Send msg over TCP (handshacking 이후)
  5. Place it in Y's mailbox (of Mail server)
  6. Y read the msg (Y는 아무때나 User Agent를 사용할 수 있음)

해당 과정에서 몇가지 특징들이 있다.

  • SMTP는 두 메일 서버가 먼 거리에 떨어져있더라도 중간 서버가 없기에 실패하더라도 송신자의 메일 서버에 남는다.
  • Persistent 연결을 수행한다.

 

Methods for getting the email

메일을 받는 세 가지 방법이 있다. 

  • POP (Post Office Protocol) ex) outlook
  • IMAP (Internet Mail Address Protocol) : RFC 3501에 정의된 인터넷 메일 접근 프로토콜
  • HTTP : 웹 기반 전자메일 

 

FTP

File Transfer Protocol

  • uses TCP
  • maintains state current directory earlier access
728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'CS > Computer Network' 카테고리의 다른 글

Transport Layer 개요  (1) 2024.10.15
DNS (Domain Name System)  (1) 2024.10.15
[ Application Layer ] HTTP  (2) 2024.10.10
Packet Switching Network Delay | 패킷 교환 네트워크에서의 지연  (6) 2024.10.09
Sharing the Links | 네트워크의 링크 공유  (3) 2024.10.09
'CS/Computer Network' 카테고리의 다른 글
  • Transport Layer 개요
  • DNS (Domain Name System)
  • [ Application Layer ] HTTP
  • Packet Switching Network Delay | 패킷 교환 네트워크에서의 지연
min_zu
min_zu
  • min_zu
    민주제도
    min_zu
  • 전체
    오늘
    어제
    • ._. (176)
      • AI (2)
        • DeepLearning (2)
        • CS231n (0)
      • Web (2)
        • ReactJS (0)
      • CS (83)
        • OS (7)
        • Data Structure (23)
        • Computer Architecture (8)
        • Computer Network (20)
        • Algorithm (25)
      • Linux (3)
        • KaliLinux (0)
        • Docker (1)
      • Hacking (83)
        • Write Up (25)
        • Pwnable (13)
        • Reversing (2)
        • Cryptography (12)
        • Web Hacking (4)
        • Window (6)
        • Network (7)
        • Web3 (13)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    ComputerArchitecture
    Linux
    DataStructure
    DeepLearning
    AI
    Sort
    WinAFL
    UTM
    Search
    Tree
    OS
    Graph
    Web
    Mac
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
min_zu
SMTP & FTP
상단으로

티스토리툴바