Skip to content

Latest commit

Β 

History

History
210 lines (135 loc) Β· 8.49 KB

ApplicationLayer.md

File metadata and controls

210 lines (135 loc) Β· 8.49 KB

λ„€νŠΈμ›Œν¬ μ„œλΉ„μŠ€μ™€ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜

written by sohyeon, hyemin πŸ’‘


κΈ€ λͺ©μ°¨


1. μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ κ³„μΈ΅μ΄λž€?

μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ 계측은 μ‚¬μš©μžκ°€ 직접 μ‚¬μš©ν•˜λ©° 체감할 수 μžˆλŠ” μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•œλ‹€.

λ„€νŠΈμ›Œν¬ 계측 λͺ¨λΈ 쀑 트랜슀포트 계측 μ΄ν•˜ 계측듀은 데이터 전솑을 λ‹΄λ‹Ήν•˜κ³  μžˆμœΌλ―€λ‘œ
데이터 전솑 κ΄€λ ¨ 계측을 μ œμ™Έν•œ λͺ¨λ“  μ˜μ—­μ΄ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ κ³„μΈ΅μ˜ 범주이닀.

2) ν”„λ‘œν† μ½œ

  • μ‚¬μš©μžκ°€ 직접 μ‚¬μš©ν•˜λŠ” ν”„λ‘œν† μ½œ
ν”„λ‘œν† μ½œ λ™μž‘λ°©μ‹
HTTP μ›Ή ν΄λΌμ΄μ–ΈνŠΈμ™€ μ›Ή μ„œλ²„ μ‚¬μ΄μ—μ„œ μ›Ή νŽ˜μ΄μ§€ 데이터λ₯Ό μ£Όκ³  λ°›μŒ
POP, SMTP, IMAP 메일을 μ†‘μˆ˜μ‹ ν•˜κ³  보관
SMB, AFP LAN μ•ˆμ—μ„œ νŒŒμΌμ„ 곡유
FTP μ„œλ²„λ₯Ό 톡해 νŒŒμΌμ„ μ£Όκ³  λ°›μŒ
Telnet, SSH μ›κ²©μ—μ„œ μ„œλ²„λ₯Ό μ œμ–΄
  • μ‚¬μš©μžκ°€ κ°„μ ‘μ μœΌλ‘œ μ‚¬μš©ν•˜λŠ” ν”„λ‘œν† μ½œ
ν”„λ‘œν† μ½œ λ™μž‘λ°©μ‹
DNS 도메인λͺ…κ³Ό IP μ–΄λ“œλ ˆμŠ€μ˜ 정보λ₯Ό μ„œλ‘œ λ³€ν™˜ν•  λ•Œ μ‚¬μš©
DHCP LAN λ‚΄μ˜ μ»΄ν“¨ν„°μ—κ²Œ IPμ–΄λ“œλ ˆμŠ€λ₯Ό ν• λ‹Ήν•  λ•Œ μ‚¬μš©
SSL/TLS 톡신 데이터λ₯Ό μ•”ν˜Έν™”ν•˜μ—¬ μ£Όμš” 정보λ₯Ό μ•ˆμ „ν•˜κ²Œ 주고받을 λ•Œ μ‚¬μš©
NTP λ„€νŠΈμ›Œν¬μ— μ—°κ²°λœ μž₯λΉ„λ“€μ˜ μ‹œμŠ€ν…œ μ‹œκ°„μ„ 동기화할 λ•Œ μ‚¬μš©
LDAP λ„€νŠΈμ›Œν¬μ— μ—°κ²°λœ μžμ›(μ‚¬μš©μž, μž₯λΉ„)의 톡합관리에 ν•„μš”ν•œ 디렉터리 μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•  λ•Œ μ‚¬μš©

2. HTTP ν”„λ‘œν† μ½œ (HyperText Transfer Protocol)

인터넷 μƒμ—μ„œ 데이터λ₯Ό μ£Όκ³  λ°›κΈ° μœ„ν•œ μ„œλ²„-ν΄λΌμ΄μ–ΈνŠΈ λͺ¨λΈμ„ λ”°λ₯΄λŠ” ν”„λ‘œν† μ½œ

μ›Ή λΈŒλΌμš°μ €κ°€ μ›Ή μ„œλ²„λ‘œ νŠΉμ • μ›Ή νŽ˜μ΄μ§€λ₯Ό μš”μ²­ν•˜λ©΄
μ›Ή μ„œλ²„κ°€ ν•΄λ‹Ή νŽ˜μ΄μ§€μ˜ λ‚΄μš©μ„ HTMLν˜•μ‹μœΌλ‘œ μ‘λ‹΅ν•œλ‹€.

μ›Ή λΈŒλΌμš°μ €λŠ” 이 데이터λ₯Ό 해석해 μ›Ή νŽ˜μ΄μ§€ 화면을 κ·Έλ¦° ν›„ μ‚¬μš©μžμ—κ²Œ λ³΄μ—¬μ€Œ
μ›Ή νŽ˜μ΄μ§€μ—λŠ” HTMLν˜•μ‹ 외에 ν™”λ©΄ ꡬ성에 ν•„μš”ν•œ 각쒅 νŒŒμΌλ“€μ˜ 정보도 ν•¨κ»˜ ν¬ν•¨λ˜μ–΄ μžˆλ‹€.
(HTML, CSS, JAPE, Javascript ..)

1) λ™μž‘ 방식

ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„λ“€μ€ λ°μ΄ν„°μŠ€νŠΈλ¦Όκ³Ό λŒ€μ‘°μ μœΌλ‘œ κ°œλ³„μ μΈ λ©”μ‹œμ§€ κ΅ν™˜μ— μ˜ν•΄ ν†΅μ‹ ν•œλ‹€.
λΈŒλΌμš°μ €μΈ ν΄λΌμ΄μ–ΈνŠΈμ— μ˜ν•΄ μ „μ†‘λ˜λŠ” λ©”μ‹œμ§€λ₯Ό μš”μ²­(request)이라고 λΆ€λ₯΄κ³ ,
그에 λŒ€ν•œ μ„œλ²„μ˜ 응닡 λ©”μ‹œμ§€λ₯Ό 응닡(responses)이라고 ν•œλ‹€.

HTTPλŠ” Connectless λ°©μ‹μœΌλ‘œ μž‘λ™ν•œλ‹€.
μ„œλ²„ μ—°κ²° ν›„ μš”μ²­μ—μ„œ 응닡을 λ°›μœΌλ©΄ 연결을 λŠλŠ”λ‹€.
ν•„μš”ν•œ μžμ›ν•˜λ‚˜μ— λŒ€ν•΄μ„œ ν•˜λ‚˜μ˜ 연결을 λ§Œλ“€κ²Œ λœλ‹€.

Connectionless둜 인해 μ„œλ²„λŠ” ν΄λΌμ΄μ–ΈνŠΈλ₯Ό 식별할 μˆ˜κ°€ μ—†λŠ”λ°,
μ΄λ ‡κ²Œ μƒνƒœ 정보λ₯Ό μ €μž₯ν•˜μ§€ μ•ŠλŠ” 톡신 ν˜•νƒœλ₯Ό Stateless라고 ν•œλ‹€.

2) λ©”μ‹œμ§€ ꡬ쑰

λ©”μ‹œμ§€ ꡬ쑰
μš”μ²­ 정보 ν–‰(request line)/
응닡 정보 ν–‰(response line)
헀더
(header)
빈 쀄
(blank line)
λ©”μ‹œμ§€ λ°”λ””
(message body)
  • μš”μ²­ 정보행/응닡 정보 ν–‰

λ©”μ‹œμ§€μ˜ μ’…λ₯˜λ‚˜ μƒνƒœλ₯Ό ν‘œμ‹œ

  • 헀더

λ©”μ‹œμ§€μ— λŒ€ν•œ μƒμ„Έν•œ 정보가 포함

  • λ©”μ‹œμ§€ λ°”λ””

응닡인 경우 이 뢀뢄에 HTML데이터가 듀어감

3) URL

인터넷 μƒμ˜ μžμ›μ˜ μœ„μΉ˜λ₯Ό λ§ν•˜λ©°, νŠΉμ • μ›Ή μ„œλ²„μ—μ„œ νŠΉμ • 파일 접근을 μœ„ν•œ 경둜 ν˜Ήμ€ μ£Όμ†Œλ₯Ό λ§ν•œλ‹€.
μ›Ήμƒμ—μ„œ λ¬Έμ„œ, 이미지, λ™μ˜μƒ λ“± μ–΄λ–€ μžμ›μ— μ ‘κ·Όν•˜κ³ μž ν• λ•Œ
이 URL을 톡해 μžμ›μ˜ μœ„μΉ˜λ₯Ό ν™•μΈν•˜κ³  μžμ›μ„ μ–»κ²Œ λœλ‹€.

https://www.hyem-study.tistory.com/entry/14

보톡 URL은 μœ„ 처럼 생겼닀.

  • https -> μžμ›μ— μ ‘κ·Όν•˜κΈ° μœ„ν•œ ν”„λ‘œν† μ½œ
  • www -> 호슀트 (μ„œλ²„μ˜ 이름 ν˜Ήμ€ 역할을 λͺ…μ‹œ)
  • hyem-study.tistory.com -> IPμ£Όμ†Œ λ˜λŠ” 도메인 이름 (μ„œλ²„λ₯Ό μš΄μ˜ν•˜λŠ” 쑰직 λͺ…μ‹œ)
  • /entry/14 -> λ¬Έμ„œμ˜ 경둜, μžμ›μ˜ 이름

μ΄λ ‡κ²Œ κ΅¬μ„±λ˜μ–΄ μžˆλ‹€.

4) λ©”μ„œλ“œ (Method)

λ©”μ„œλ“œλŠ” μš”μ²­μ˜ μ’…λ₯˜λ₯Ό μ„œλ²„μ—κ²Œ μ•Œλ €μ£ΌκΈ° μœ„ν•΄μ„œ μ‚¬μš©λœλ‹€.

  • GET : 정보λ₯Ό μš”μ²­ν•˜κΈ° μœ„ν•΄μ„œ μ‚¬μš©ν•œλ‹€. (SELECT)

  • POST : 정보λ₯Ό λ°€μ–΄λ„£κΈ° μœ„ν•΄μ„œ μ‚¬μš©ν•œλ‹€. (INSERT)

  • PUT : 정보λ₯Ό μ—…λ°μ΄νŠΈν•˜κΈ° μœ„ν•΄μ„œ μ‚¬μš©ν•œλ‹€. (UPDATE)

  • DELETE : 정보λ₯Ό μ‚­μ œν•˜κΈ° μœ„ν•΄μ„œ μ‚¬μš©ν•œλ‹€. (DELETE)

  • HEAD : (HTTP)헀더 μ •λ³΄λ§Œ μš”μ²­ν•œλ‹€.
    ν•΄λ‹Ή μžμ›μ΄ μ‘΄μž¬ν•˜λŠ”μ§€ ν˜Ήμ€ μ„œλ²„μ— λ¬Έμ œκ°€ μ—†λŠ”μ§€λ₯Ό ν™•μΈν•˜κΈ° μœ„ν•΄μ„œ μ‚¬μš©ν•œλ‹€.

  • OPTIONS : μ›Ήμ„œλ²„κ°€ μ§€μ›ν•˜λŠ” λ©”μ„œλ“œμ˜ μ’…λ₯˜λ₯Ό μš”μ²­ν•œλ‹€.

  • TRACE : ν΄λΌμ΄μ–ΈνŠΈμ˜ μš”μ²­μ„ κ·ΈλŒ€λ‘œ λ°˜ν™˜ν•œλ‹€.
    예컨데 echo μ„œλΉ„μŠ€λ‘œ μ„œλ²„ μƒνƒœλ₯Ό ν™•μΈν•˜κΈ° μœ„ν•œ λͺ©μ μœΌλ‘œ 주둜 μ‚¬μš©ν•œλ‹€.

GET, POST λ§ŒμœΌλ‘œλ„ λͺ¨λ“  μ’…λ₯˜μ˜ μš”μ²­μ„ ν‘œν˜„ν•˜κ³  μ›Ή μ„œλΉ„μŠ€ κ°œλ°œμ— 큰 λ¬Έμ œλŠ” μ—†λ‹€.
ν•˜μ§€λ§Œ Restful API μ„œλ²„μ˜ κ²½μš°μ—λŠ” GET, POST, DELETE, PUT을 λͺ…μ‹œμ μœΌλ‘œ κ΅¬λΆ„ν•œλ‹€.

μžμ›μ˜ μœ„μΉ˜ 뿐만 μ•„λ‹ˆλΌ μžμ›μ— ν•  일 κΉŒμ§€ λͺ…ν™•νžˆ λͺ…μ‹œν•  수 있기 λ•Œλ¬Έμ—
Open APIμ„œλ²„λ₯Ό λ§Œλ“€κΈ° μœ„ν•΄μ„œ 널리 μ‚¬μš©λœλ‹€.

5) μΏ ν‚€

HTTPλŠ” λ¬΄μƒνƒœ ν”„λ‘œν† μ½œμ΄κΈ° λ•Œλ¬Έμ— μš”μ²­κ³Ό 응닡 κ³Όμ •μ—μ„œ μƒνƒœμ •λ³΄λ₯Ό μ €μž₯ν•˜μ§€ μ•ŠλŠ”λ‹€.
λ”°λΌμ„œ μ—¬λŸ¬ 건의 μš”μ²­μ΄ λ“€μ–΄μ˜¬ λ•Œ 동일 μš”μ²­μžμΈμ§€ λ‹€λ₯Έ μš”μ²­μžμΈμ§€ νŒλ‹¨ν•˜μ§€ λͺ»ν•œλ‹€.

μ—¬λŸ¬κ±΄μ˜ μš”μ²­ 처리λ₯Ό λ™μΌν•œ μ‚¬μš©μž 접속 μ„Έμ…˜μœΌλ‘œ 인식할 수 μžˆλ„λ‘ μΏ ν‚€λ₯Ό μ‚¬μš©ν•œλ‹€.

-> μ‚¬μ΄νŠΈκ°€ μ‚¬μš©μžλ₯Ό μΆ”μ ν•˜κ²Œ ν•΄μ€Œ

3. 이메일 ν”„λ‘œν† μ½œ

이메일 μ†‘μˆ˜μ‹ μ—λŠ” SMTP, POP, IMAPκ³Ό 같은 μ—¬λŸ¬ ν”„λ‘œν† μ½œμ΄ μ‚¬μš©λœλ‹€.
솑신과 μˆ˜μ‹ μ— μ„œλ‘œ λ‹€λ₯Έ ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•œλ‹€.

  • 솑신 - SMTP
  • μˆ˜μ‹  - POP, IMAP

1) SMTP

SMTP ν”„λ‘œν† μ½œμ€ ν΄λΌμ΄μ–ΈνŠΈ PCκ°€ 메일 μ„œλ²„λ‘œ 메일을 보낼 λŒ€λ§Œ μ‚¬μš©λ˜λŠ” 것이 μ•„λ‹ˆλΌ,
λ°œμ‹ μžμ˜ 메일 μ„œλ²„μ—μ„œ μˆ˜μ‹ μžμ˜ 메일 μ„œλ²„λ‘œ 메일을 쀑계할 λ•Œλ„ μ‚¬μš©λœλ‹€.

stateful ν”„λ‘œν† μ½œμ΄κΈ° λ•Œλ¬Έμ— 전솑 μ’…λ£Œ λͺ…령이 보내져야 톡신을 μ’…λ£Œν•œλ‹€.

  • SMTP의 인증

SMTPμ—λŠ” POP와 같은 μ‚¬μš©μž 인증 체계가 μ—†κΈ° λ•Œλ¬Έμ— 슀팸 메일 방솑 등에 μ•…μš©λ˜κ³€ ν•œλ‹€.
λ”°λΌμ„œ,

  • POP μ„œλ²„μ˜ 인증기λŠ₯을 ν™œμš©
  • λ‹€λ₯Έ λ„€νŠΈμ›Œν¬λ‘œλΆ€ν„°μ˜ SMTP 접근을 μ œν•œ
  • SMTP Auth ν”„λ‘œν† μ½œ ν™œμš© (SMTP에 μ‚¬μš©μž 인증 κΈ°λŠ₯이 μΆ”κ°€λœ ν™•μž₯ ν”„λ‘œν† μ½œ)

λ“±μ˜ λ°©λ²•μœΌλ‘œ 인증 체계λ₯Ό κ΅¬μΆ•ν•œλ‹€.

2) POP

SMTP ν”„λ‘œν† μ½œμ„ 톡해 μ „μ†‘λœ 메일은 μ΅œμ’…μ μœΌλ‘œ μˆ˜μ‹ μžμ˜ 메일 μ„œλ²„μ— μ €μž₯λœλ‹€.
이후 메일 μ„œλ²„μ— μ €μž₯된 메일을 확인할 λ•ŒλŠ” POP ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•œλ‹€.
메일을 μˆ˜μ‹ ν•˜λŠ” 것 외에도 μˆ˜μ‹ ν•œ 메일 κ±΄μˆ˜λ‚˜ μš©λŸ‰ 확인, 메일 μ‚­μ œμ™€ 같은 μ²˜λ¦¬μ—λ„ μ‚¬μš©ν•œλ‹€.

단점

ν΄λΌμ΄μ–ΈνŠΈκ°€ 메일을 μˆ˜μ‹ ν•˜λ©΄ 메일 μ„œλ²„μ— λ³΄κ΄€λœ 메일을 μ‚­μ œν•˜κ²Œ λ˜μ–΄μžˆλ‹€. 메일을 μ˜€λž«λ™μ•ˆ λ³΄κ΄€ν•˜λ €λ©΄ ν΄λΌμ΄μ–ΈνŠΈ PC에 메일을 보관할 μ €μž₯ 곡간을 확보해 두어야 ν•œλ‹€.

3) IMAP

POP와 달리 ν΄λΌμ΄μ–ΈνŠΈ PCκ°€ 메일을 μˆ˜μ‹ ν•˜λ”λΌλ„ 메일 μ„œλ²„μ—μ„œ μˆ˜μ‹ ν•œ 메일을 μ§€μš°μ§€ μ•Šκ³  λ³΄κ΄€ν•˜κ²Œ λ˜μ–΄ μžˆλ‹€.
메일 μ €μž₯ 곡간이 μΆ©λΆ„ν•˜μ§€ μ•Šμ€ 슀마트폰 λ“±μ˜ νœ΄λŒ€κΈ°κΈ°μ—μ„œ 많이 ν™œμš©λœλ‹€.

4. 기타 ν”„λ‘œν† μ½œ

1) P2P (peer to peer)

νŠΉλ³„νžˆ 곡유λ₯Ό μœ„ν•œ μ„œλ²„λ₯Ό λ³„λ„λ‘œ μ€€λΉ„ν•˜μ§€ μ•Šκ³  κ³΅μœ ν•  컴퓨터끼리 λ„€νŠΈμ›Œν¬μ— 접속해 νŒŒμΌμ„ κ³΅μœ ν•œλ‹€. 각각의 ν”Όμ–΄κ°€ μ„œλ²„/ν΄λΌμ΄μ–ΈνŠΈ μ—­ν• λ“€ λ‘˜ λ‹€ ν•œλ‹€.

2) FTP (File Transport Protocol)

FTPλŠ” 파일 전솑 ν”„λ‘œν† μ½œμ΄λ‹€.
주둜 인터넷에 μ—°κ²°λœ μ„œλ²„μ— νŒŒμΌμ„ 전솑할 λ•Œ μ‚¬μš©λœλ‹€.

두가지 접속 ν˜•νƒœκ°€ μžˆλ‹€.

  • 데이터 컀λ„₯μ…˜ : νŒŒμΌμ„ μ£Όκ³  λ°›κΈ° μœ„ν•œ 접속
  • 컨트둀 컀λ„₯μ…˜ : λͺ…λ Ήμ–΄λ₯Ό 보내기 μœ„ν•œ 접속

μ΄λ ‡κ²Œ 접속 ν˜•νƒœκ°€ λΆ„λ¦¬λ˜μ–΄ μžˆμ–΄
파일 전솑 쀑에도 λͺ…령을 쀄 수 μžˆμ–΄μ„œ 전솑 쀑인 νŒŒμΌμ„ μ€‘λ‹¨μ‹œν‚€λŠ” 것이 κ°€λŠ₯ν•˜λ‹€.


Reference & Additional Resources

TCP/IP μ‰½κ²Œ, 더 μ‰½κ²Œ