[컴퓨터네트워킹] 10. SMPT

Yoons·2023년 4월 6일
0
post-thumbnail

❗️Notice❗️

저의 velog에 작성된 글은 모두 저의 주관적인 생각 및 이해를 바탕으로 작성된 글이므로 
정확하지 않은 내용을 있을 수 있음을 알립니다.

[교재] Computer Networking : A Top-Down Approach 8th

오늘은 E-mail에서 사용하는 protocol인 SMPT에 대해 알아보겠습니다.

1. E-mail component

E-mail에는 3개의 component가 존재합니다.

  1. User agent
  2. Mail server
  3. SMTP (Simple Mail Transfer Protocol)

User agent

mail reader, 메일을 편집하고 읽는 client

Mail server

mail을 client로부터 receiving 하는 server의 역할을 하기도, client에서 sending 하는 
client의 역할을 하기도 한다.

mail box에서는 들어오는 mail들을 저장하고 message queue에서 나갈 메세지를 queue에 줄 세운다.

SMTP

reliable transfer을 위해 TCP connection을 이용하며 port는 25번을 사용한다.

E-mail tranfer는 3가지의 단계를 통해 진행된다.

  1. handshaking
  2. tranfer of messages
  3. closure

다음 Scenario를 통해 과정을 확인해보자.

2. Send/receive E-mail

왼쪽에 있는 Alice가 오른쪽에 있는 bob에게 메일을 보내는 상황이라고 하자.

1) 우선 Alice는 본인의 local에 있는 web mail, mail program을 통해 mail을 작성한다.
2) Alice는 본인의 mail server로 보내고, 이 mail은 보내는 message이므로 message queue에 자리 잡는다.
3) bob의 mail server와 TCP connection 한다.
4) TCP connection 돼 있는 상황에서 outgoing queue에 있는 Alice의 mail을 bob의 mail server로 보낸다.
5) message는 bob의 incoming mailbox에 자리 잡는다.
6) bob은 자신의 mailbox에 있는 message를 pull 하여 읽는다.


3. HTTP vs SMTP

공통점

ASCII를 이용해 command/response 한다.

차이점

HTTP는 pull, SMTP는 push Protocol이다. HTTP는 하나의 message에 하나의 object를
보낼 수 있지만, SMTP는 여러 개의 object를 보낼 수 있다.

4. Mail access protocols

위에서 SMTP는 push protocol이라고 했다. Alice가 메일을 보낼 때는 SMTP를 사용하면 되지만, bob이 메일을 받아 읽을 때는 SMTP를 사용할 수 없다.

따라서 HTTP 처럼 pull protocol을 이용해 읽는다. HTTP를 이용하기도 하고 IMAP, POP과 같은 protocol을 이용한다.

결론적으로 메일을 읽을 때는 SMTP를 사용하지 않는다는 점에 주의하자!!


마치며

오늘은 E-mail에 대해 알아봤다. HTTP velog 쓰다가 비교적 간단하고 양이 적은 E-mail 파트를 쓰니까 내가 대충 썼나..? 하는 느낌이 든다. 다음 시간에는 DNS에 대해 알아 볼 예정이다! 수고했습니다 :)

profile
모든 글은 저의 눈물을 머금으며 작성한 글이니..재밌게 봐주세요 :) 깃헙 맞팔@

0개의 댓글

관련 채용 정보