E-mail (Electronic mail)
1. Overview
Three major components
- User agents : ์ ์
- Mail servers : ๋ฉ์ผ ์๋ฒ
- Simple mail transfer protocol : SMTP
- User agent
(= mail reader)- ๋ฉ์์ง๋ฅผ ์์ฑํ๊ณ ํธ์งํ๊ณ ์ฝ์
- outgoing messages์ incoming message๋ฅผ ์๋ฒ์ ์ ์ฅํ๋ค
- Mail Servers
- ๋ฉ์ผ์ ์ฃผ๊ณ ๋ฐ๋ ์ผ์ ํจ
- Mailbox๋ ์ ์ ์๊ฒ ๋ค์ด์ค๋ ๋ฉ์์ง๋ฅผ ๊ฐ์ง๊ณ ์๋ค
- Message queue๋ ์ ์ ๊ฐ ๋ณด๋ด๋ ๋ฉ์ผ ๋ฉ์์ง๊ฐ ์ ์ฅ๋จ
- SMTP Protocol
- ๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ธฐ ์ํ mail server ๊ฐ์ ๊ท์น
- Client : ๋ฉ์ผ์ ์๋ฒ์๊ฒ ๋ณด๋
- Server : ๋ฉ์ผ์ ๋ฐ์
- user agent์์ ๋ฉ์ผ์ ์์ฑํ๊ณ ๋ฉ์ผ ์๋ฒ์ ๋ณด๋ด ๋์ผ๋ฉด smtp ๋ผ๋ฆฌ ์ฃผ๊ณ ๋ฐ๊ณ ๋ค๋ฅธ user agent๊ฐ ๋ฉ์ผ์ด ์จ ๊ฒ์ ํ์ธํ๊ณ ๋ฐ์์ ์ฝ์
- ๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ธฐ ์ํ mail server ๊ฐ์ ๊ท์น
SMTP
- ํด๋ผ์ด์ธํธ์ port 25์ ์๋ฒ ๊ฐ์ ์ ๋ขฐ์ฑ์๋ ์ด๋ฉ์ผ ๋ฉ์์ง ๊ตํ์ ์ํด TCP ๋ฅผ ์ฌ์ฉํ๋ค
- Direct transfer : server๋ฅผ receiving server๋ก ๋ณด๋...? sending server to receiving server
๋ฐ๋ ์ฌ๋์ server๊น์ง ์ง์ ์ ์ก..??
- tranfer์ 3๊ฐ์ง ๋จ๊ณ
- Handshaking (greeting)
- Transfer of messages
- Closure
- Command/response interaction (like HTTP)
- Commands : ASCII text
- Response : status code and phrase
- ๋ฉ์์ง๋ ๋ฌด์กฐ๊ฑด 7 bit ASCII! (header & body)
- SMTP๋ persistent connection์ ์ฌ์ฉํ๋ค.
- SMTP ์๋ฒ๋ ๋ฉ์์ง์ ๋์ ๋ํ๋ด๊ธฐ ์ํด CRLF.CRLF๋ฅผ ์ฌ์ฉํ๋ค
SMTP vs HTTP
- HTTP : pull : server์ ๋ฐ์ดํฐ๋ฅผ ์๊ตฌํด์ ๊ฐ๊ณ ์ด
SMTP : push : server๊ฐ client์๊ฒ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ๊ฐ๋ผ๊ณ ์ค - HTTP : ๋ฐ์ดํฐ์ ํ์ ์ ํ์ด ์์
SMTP : ๋ชจ๋ ๋ฐ์ดํฐ๋ ASCII format์ด์ด์ผ ํจ - HTTP : ๊ฐ object๋ ์์ฒด response message ์์ ์บก์ํ๋จ
SMTP : ์ฌ๋ฌ object๊ฐ multi-part message๋ก ๋ณด๋ด์ง
2. Scenario example
Alice๊ฐ Bobํํ ๋ฉ์ผ์ ๋ณด๋ด๋ณด์.
- Alice๋ UA(User Agent)๋ฅผ ์ฌ์ฉํด์ bob@someschool.edu์ ๋ฉ์์ง๋ฅผ ์์ฑํ๋ค.
- Alice์ UA๋ ๊ทธ์ mail server์ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ณ , ์ด ๋ฉ์์ง๋ message queue ์์ ์์นํ๊ฒ ๋๋ค.
- SMTP client๋ Bob์ mail ์๋ฒ์ TCP connection์ ์ฐ๋ค.
- SMTP client๋ TCP connection์ ํตํด ์จ๋ฆฌ์ค์ ๋ฉ์์ง๋ฅผ ๋ฐฅ์๊ฒ ๋ณด๋ธ๋ค.
- Bob์ ๋ฉ์ผ ์๋ฒ๋ ๋ฐ์ ๋ฉ์์ง๋ฅผ Bob's mailbox์ ๋๋๋ค.
- Bob์ ๊ทธ์ User agent๋ณด๊ณ ๋ฉ์์ง๋ฅผ ์ฝ์ผ๋ผ๊ณ ๊นจ์ด๋ค. (์๋ ค์ค๋ค)
3. Mail access protocol
- SMTP : receiver์ ์๋ฒ์ ์ ๋ฌ/์ ์ฅํ๋ ๊ฒ
- Mail access protocol : ์๋ฒ๋ก๋ถํฐ ํ์, user agent๊ฐ ์๋ฒ์์ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ
- POP (Post Office Protocol) : ๊ถํ, ๋ค์ด๋ก๋
- POP3๋ ์ธ์
๊ฐ stateless ํ๋ค. (์ํ ์ ์ฅ X)
- POP3๋ "๋ค์ด๋ก๋ ๋ฐ ์ญ์ " ์ "๋ค์ด๋ก๋ ๋ฐ ๋ณด๊ด" ๋ชจ๋๊ฐ ์๋ค.
- POP3๋ ์ธ์
๊ฐ stateless ํ๋ค. (์ํ ์ ์ฅ X)
- IMAP (Internet Mail Access Protocol) : ๋ ๋ง์ ๊ธฐ๋ฅ ํ์ฌ (์๋ฒ์ ์ ์ฅ๋ ๋ฉ์์ง๋ฅผ ์กฐ์ํ๋ ๋ฑ..)
- HTTP : gmail, hotmail, yahoo mail ๋ฑ..
- POP (Post Office Protocol) : ๊ถํ, ๋ค์ด๋ก๋
Domain Name System (DNS)
1. Structure
DNS
- ์ฌ๋๋ค์ SSN, ์ด๋ฆ, ์ฌ๊ถ ๋ฒํธ ๋ฑ ์ฌ๋๋ง๋ค ๋ค๋ฅธ ์ฌ๋ฌ๊ฐ์ง Identifier ์ ๊ฐ์ง๊ณ ์์
- Internet hosts, router๋ ์ด๋ฌํ identifier๊ฐ ์์
- IP address (32 bit) : ๋ฐ์ดํฐ๋ค์๊ฒ ์ฃผ์๋ฅผ ์ง์ ํด์ค ๋ ์
- name : ์ฌ๋์ด ์ฝ์ ์ ์๋ ์ด๋ฆ. ex) www.google.com
Domain Name System
- ๋ง์ name servers์ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ํตํด ๊ตฌํ๋ Distributed database (๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค)
- Application-layer protocol : ํธ์คํธ์ name server๋ ์ด๋ฆ์ ํ์ธํ๊ธฐ ์ํด ํต์ ํ๋ค. (address/name translate)
- ์ด๊ฒ์ ํตํด"core Internet function"(ํต์ฌ ์ธํฐ๋ท ๊ธฐ๋ฅ)์ด ๊ตฌํ๋จ
- network์ "edge"์ ๋ณต์ก์ฑ
DNS Services
- ํธ์คํธ ์ด๋ฆ๊ณผ IP ์ฃผ์ ๊ฐ์ ๋ณํ์ ํด์ค
- host Aliasing ; ๊ฐ์ IP์ ์ฌ๋ฌ name์ด ์์ ๊ฒฝ์ฐ
- Canonical names (๋ณต์กํ ์ด๋ฆ) / alias names (๋ณ์นญ)
- mail server aliasing
- Load distribution
- ์น ์๋ฒ์ ๋ณต์ ๋ฅผ ํ์ฉํ๋ค ; ๋ง์ IP address๊ฐ ํ ์ด๋ฆ์ ๋์๋ ์ ์๋ค.
Why not centralize DNS ?
- Single point of failure ; ํ๋๊ฐ ์๋ชป๋๋ฉด ์ ์ฒด๊ฐ ๋ค ๋ฌธ์ ๊ฐ ์๊ธด๋ค
- Traffic volume์ด ๋๋ฌด ํฌ๋ค
- Slow response ; centralized database๋ก๋ถํฐ ๊ฑฐ๋ฆฌ๊ฐ ๋ฉ๋ฉด ์๋ต์ด ๋ฆ์ด์ง๋ค
- Maintenance ; ์ ์ง๋ณด์๊ฐ ํ๋ค๋ค.
Distributed, hierarchical database
Root DNS servers -> com DNS servers -> amazon.com DNS servers
๋ง์ฝ ํด๋ผ์ด์ธํธ๊ฐ(local DNS Server) www.amazon.com์ IP ์ฃผ์๋ฅผ ์ฐพ๊ธฐ ์ํด์๋?!
- ์ผ๋จ root server์ ์ฟผ๋ฆฌ ๋ ๋ ค์ com DNS server๋ฅผ ์ฐพ๋๋ค.
- .com DNS serber์ ์ฟผ๋ฆฌ๋ฅผ ๋ ๋ ค์ amazon.com DNS server๋ฅผ ์ฐพ๋๋ค
- amazon.com DNS server์ ์ฟผ๋ฆฌ๋ฅผ ๋ ๋ ค์ www.amazon.com์ IP ์ฃผ์๋ฅผ ์ฐพ๋๋ค.
Root Name Servers
- ๋์ด์ ์ชผ๊ฐค์ ์๋..? ํด๊ฒฐํ ์ ์๋..?? ๊ทธ๋ฐ name์ local name server๊ฐ ์ฐ๊ฒฐํ๋..? ๋ญ๋
- ์ธ์์๋ 13๊ฐ์ logical root name server๊ฐ ์กด์ฌํ๋ค.
TLD and Authoritative servers
- Top-level domain (TLD) servers:
- com, org, net, edu, aero, jobs, museums ๋ฑ๊ณผ ๋ชจ๋ top-level ๋๋ผ ๋๋ฉ์ธ kr, uk, ca ๋ฑ
- VeriSign์ .com TLD ์๋ฒ๋ฅผ ์ ์ง๊ด๋ฆฌํ๋ค
- .edu TLD๋ ๊ต์ก์ ์ํ ์๋ฒ
- Authoritative DNS servers:
- ๊ธฐ๊ด์ ์์ฒด DNS ์๋ฒ๋ ๊ธฐ๊ด์ named host์ ๋ํ IP mappings์ ๋ํ ๊ถํ์๋ hostname์ ์ ๊ณตํ๋ค.
- ๊ธฐ๊ด์ด๋ ์๋น์ค ์ ๊ณต์์ ์ํด ์ ์ง๋ณด์ ๋๋ค.
Local DNS name server
- ๊ณ์ธต ๊ตฌ์กฐ์ ์๊ฒฉํ๊ฒ ์ํ์ง ์๋๋ค.
- ๊ฐ ISP๋ ํ๋์ default name server๋ฅผ ๊ฐ๋๋ค.
- host๊ฐ DNS Query๋ฅผ ๋ง๋ค ๋, ์ด ์ฟผ๋ฆฌ๋ ๊ทธ๊ฒ์ local DNS server๋ก ์ ์ก๋๋ค.
- ๊ฐ์ฅ ์ต๊ทผ์ ์ ์กํ name-to-address pairs์ local cache๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
- ๋ง์ฝ cache๊ฐ ์กด์ฌํ์ง ์์ผ๋ฉด poroxy์ฒ๋ผ DNS hierarchy์ ๋ฐ๋ผ์ query๋ฅผ ์ ๋ฌํ๋ค.
2. DNS Name Resolution Examples
cis.poly.edu๊ฐ gaia.cs.umass.edu. ์ IP address๋ฅผ ๊ตฌํ๋ ค ํ๋ค.
Iterated query
- ์ฐ๊ฒฐ๋ ์๋ฒ๋ ๋ค๋ฅธ ์๋ฒ์ name๊ณผ address๋ก ์๋ตํ๋ค.
- ๋๋ ์ด ์ด๋ฆ ๋ชจ๋ฅด๋๊น ์ ๊ธฐ๊ฐ์ ๋ฌผ์ด๋ด!! ํ๊ณ ๋ค์์ ์ ์ํ ์๋ฒ ์ด๋ฆ๊ณผ ์ฃผ์๋ฅผ ์๋ ค์ฃผ๋ ๊ฒ
local DNS server์ ๋ฌธ์ -> local server๊ฐ root DNS server์ ๋ฌธ์ -> TLD DNS server์ ๋ฌธ์ -> authoritative DNS server "dns.cs.umass.edu" ์ ๋ฌธ์ -> gaia.cs.umass.edu ์ฐพ์!! local server๊ฐ requesting hostํํ IP ์ฃผ์ ๋๊น
Recursive query ๋ฐฉ์ (๋ง์ด ์ฐ์ด์ง๋ ์์)
- ์ฐ๊ฒฐ๋ name server์๊ฒ ์ด name ํด๊ฒฐํ๋ผ๊ณ ์ฑ ์์ ๋ ๋ฐ
- ์คํ์ ์ด์ฉํด์ ๊ณ์ ๋ฌผ์ด๋ณด๊ณ ์คํ์ ํธ๋ ๋ฐฉ์์ผ๋ก ๋์์์ ํธ์คํธํํ ip๊ฐ ๋์์ค๊ฒ ๋จ
- ์์ ๊ณ์ธต์์์ ๋ถํ๊ฐ ์ฌํ๋ค.
Caching, Updating Records
- ํ ๋ฒ ์ด๋ค name server๊ฐ mapping์ ํ์ตํ๋ฉด, ์ด mapping์ caches์ ์ ์ฅํจ
- ์ด ์บ์๋ ์ด๋์ ๋ ์๊ฐ์ด ์ง๋๋ฉด(TTL) ์ฌ๋ผ์ง๊ฒ ๋์ด์์(timeout)
- TLD ์๋ฒ๋ ๋ณดํต local name server์ ์บ์๋์ด์์ผ๋ฏ๋ก root name server์ ๋ฐฉ๋ฌธํ ์ผ์ด ๋ง์ง๋ ์์
- ์บ์๋์๋ entries๊ฐ out-of-date, ์ด๋ฏธ ์ง๋๋ฒ๋ฆฐ ์์ ๊ฒ์ผ ์ ์์.
- ๋ง์ฝ ํธ์คํธ๊ฐ IP ์ฃผ์๋ฅผ ๋ฐ๊ฟจ์ ๊ฒฝ์ฐ, ์ด ์ฌ์ค์ ๋ชจ๋ TTL์ด ๋ง๋ฃ๋ ๋๊น์ง๋ ์ธํฐ๋ท ์ ์ฒด๊ฐ ์ ์๊ฐ ์์
- IETF standard์๊ฒ ์ ์๋ update/notify mechanisms : RFC 2136.
Formats of record and message
DNS Records
DNS : distributed database storing resource records (RR)
RR format : (name, value, type, ttl)
- type=A
- name : hostname
- value : IP address
- type=NS
- name : domain
- value : ์ด ๋๋ฉ์ธ์ ๋ํ authoritative name server์ hostname
- type=CNAME
- name : canonical name(the real name)์ ์ํ alias name(๋ณ์นญ)
(www.ibm.com์ ์ค์ ๋ก๋ servereast.backup2.ibm.com์) - value : canonical name
- name : canonical name(the real name)์ ์ํ alias name(๋ณ์นญ)
- type=MX
- value: name๊ณผ ์ฐ๊ด๋ mail server์ ์ด๋ฆ
DNS Message Format
- ์ฟผ๋ฆฌ์ reply ๋ฉ์์ง ๋ชจ๋ ๊ฐ์ message format์ ์
'๐ก๐ธ๐ธ๐ถ5: ๐ฆ๐๐๐๐ถ ๐ฐ๐๐พ๐ > Computer Network(COSE342)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ปดํจํฐ๋คํธ์ํฌ] CH3. Transport Layer (#1) (0) | 2021.10.19 |
---|---|
[์ปดํจํฐ๋คํธ์ํฌ] CH2. Application Layer (#4) (0) | 2021.10.18 |
[์ปดํจํฐ๋คํธ์ํฌ] CH2. Application Layer (#2) (0) | 2021.10.17 |
[์ปดํจํฐ๋คํธ์ํฌ] CH2. Application Layer (#1) (0) | 2021.10.17 |
[์ปดํจํฐ๋คํธ์ํฌ] CH1. Introduction (0) | 2021.10.16 |