TCP/IP 4 Layer

λ„€νŠΈμ›Œν¬μ˜ 기본으둜 인터넷을 ν¬ν•¨ν•˜μ—¬ 일반적으둜 μ‚¬μš©ν•˜κ³  μžˆλŠ” λ„€νŠΈμ›Œν¬λŠ” TCP/IPλΌλŠ” ν”„λ‘œν† μ½œμ—μ„œ 움직인닀. 이 ν”„λ‘œν† μ½œ 쀑 자주 μ‚¬μš©ν•˜λŠ” HTTP도 κ·Έ 쀑 ν•˜λ‚˜μ΄λ‹€.

TCP/IP 4 계측

OSI μ°Έμ‘° λͺ¨λΈμ„ 기반으둜 μ‹€λ¬΄μ μœΌλ‘œ 이용될 수 μžˆλ„λ‘ λ‹¨μˆœν™”ν•œ λͺ¨λΈμ΄λ‹€.

  • OSI 7계측: ꡭ제 ν‘œμ€€ν™” 기ꡬ(ISO)μ—μ„œ κ°œλ°œν•œ λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œ μŠ€νƒ λͺ¨λΈλ‘œ, λ„€νŠΈμ›Œν¬ 톡신을 κΈ°λŠ₯λ³„λ‘œ 7개의 κ³„μΈ΅μœΌλ‘œ λ‚˜λˆˆ 것

  • TCP/IP 4계측: μ‹€μ œ κ΅¬ν˜„μ„ μœ„ν•΄ λ§Œλ“€μ–΄μ§„ λͺ¨λΈμ΄κ³ , OSI 7계측을 이둠적인 섀계λ₯Ό μœ„ν•΄ λ§Œλ“€μ–΄μ§„ λͺ¨λΈ

OSI 7κ³„μΈ΅μ˜ 계측듀을 TCP/IP 4계측에 맞게 μž¬λ°°μΉ˜ν•˜λ©΄ μ•„λž˜μ™€ κ°™λ‹€.(OSI 7계측과 1:1 λŒ€μ‘λ˜μ§€λŠ” μ•ŠμŒ)

ν”„λ‘œν† μ½œ κ³„μΈ΅μ˜ˆμ‹œμ„€λͺ…OSI 7 계측 λŒ€μ‘μ „μ†‘ 데이터 λ‹¨μœ„

Application

HTTP / FTP

μœ μ €μ—κ²Œ μ œκ³΅λ˜λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ μ‚¬μš©ν•˜λŠ” ν†΅μ‹ μ˜ μ›€μ§μž„μ„ κ²°μ •

Session(5) / Presentation(6) / Application(7)

Stream

Transport

TCP/UDP

μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 계측에 λ„€νŠΈμ›Œν¬λ‘œ μ ‘μ†λ˜μ–΄ μžˆλŠ” 2λŒ€μ˜ 컴퓨터 μ‚¬μ΄μ˜ 데이터 흐름을 제곡

Transport(4)

Segment

Internet

IP

λ„€νŠΈμ›Œν¬ μƒμ—μ„œ νŒ¨ν‚·μ˜ 이동을 λ‹€λ£Έ(νŒ¨ν‚·: μ „μ†‘ν•˜λŠ” 데이터 μ΅œμ†Œ λ‹¨μœ„)

Network(3)

Packet

Network Access

LAN λ“œλΌμ΄λ²„, LAN μž₯λΉ„

λ„€νŠΈμ›Œν¬μ— μ ‘μ†ν•˜λŠ” ν•˜λ“œμ›¨μ–΄μ μΈ λ©΄

DataLink(1) / Physical(2)

Frame

  • Stream: λ°μ΄ν„°μ˜ μ‹œμž‘μ€ μžˆμœΌλ‚˜ 끝은 μ •ν™•ν•˜κ²Œ μ •μ˜ν•  수 μ—†κ³ , μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ μ •μ˜ν•˜κ²Œ 됨

  • λ‚˜λ¨Έμ§€ 데이터: μ‹œμž‘κ³Ό 끝이 μ •μ˜λ˜μ–΄ 있으며, 각 κ³„μΈ΅μ—μ„œ μ •μ˜λœ 데이터 λ‹¨μœ„λ₯Ό 톡해 전달

Segmentation

Stream은 Socketμ΄λΌλŠ” μΈν„°νŽ˜μ΄μŠ€μ— μ“°κ²Œ λ˜λŠ”λ°, λ§Œμ•½ Socket의 크기가 Segment 크기 μ œν•œ(MSS)μ΄λ‚˜ Packet의 크기 μ œν•œ(MTU)보닀 크닀면, Stream을 μ—¬λŸ¬ 개의 Segment으둜 λΆ„ν• ν•˜μ—¬ μ „μ†‘ν•˜κ²Œ λœλ‹€.(= Segmentation)

ν†΅μ‹ μ˜ 흐름 μ˜ˆμ‹œ

TCP/IP 톡신은 κ³„μΈ΅λ³„λ‘œ 데이터λ₯Ό μ²˜λ¦¬ν•˜λ©°, λ°μ΄ν„°λŠ” 계측을 톡과할 λ•Œλ§ˆλ‹€ 헀더 정보가 μΆ”κ°€ν•˜λ©΄μ„œ μ „λ‹¬ν•˜κ²Œ λœλ‹€.

  1. μ• ν”Œλ¦¬μΌ€μ΄μ…˜ κ³„μΈ΅μ˜ Socket Libraryλ₯Ό 톡해 OS에 λ©”μ‹œμ§€ 전달

  2. OS의 TCP κ³„μΈ΅μ—μ„œ λ©”μ‹œμ§€(데이터)에 TCP 정보 생성

  3. OS의 IP κ³„μΈ΅μ—μ„œ TCP 정보에 IP 정보 생성

  4. LAN μΉ΄λ“œλ₯Ό 톡해 λ‚˜κ°ˆ λ•Œ Ethernet Frame을 톡해 전솑

μ „μ†‘λœ 데이터 ν˜•νƒœ

TCP/IP 톡신 κ³Όμ •μ—μ„œ μ „μ†‘λ˜λŠ” λ°μ΄ν„°λŠ” μ΅œμ’…μ μœΌλ‘œ μ—¬λŸ¬ κ³„μΈ΅μ˜ 헀더 정보λ₯Ό ν¬ν•¨ν•œ ν˜•νƒœλ‘œ μ „λ‹¬λœλ‹€.

- *IP νŒ¨ν‚· 헀더
----- 버전 / 헀더 길이 / μ„œλΉ„μŠ€ μœ ν˜• / 총 λ°μ΄ν„°κ·Έλž¨ 길이(λ°”μ΄νŠΈ)
----- νŒ¨ν‚· ID / ν”Œλž˜κ·Έ / ν”Œλž˜κ·Έ μ˜€ν”„μ…‹
----- μœ μ§€ μ‹œκ°„(TTL) / μƒμœ„ 계측 ν”„λ‘œν† μ½œ / 헀더 체크섬
----- λ°œμ‹ μ§€ IP μ£Όμ†Œ
----- λͺ©μ μ§€ IP μ£Όμ†Œ
--------- *TCP μ„Έκ·Έλ¨ΌνŠΈ 헀더
------------- λ°œμ‹ μ§€ 포트 / λͺ©μ μ§€ 포트
------------- TCP μˆœμ„œ 번호
------------- 편승(piggback) 확인 응닡
------------- 헀더 길이 / μ˜ˆμ•½μ–΄ / URG / ACK / PSH / RST / SYN / FIN / μœˆλ„μš° 크기
------------- TCP 체크섬
------------- κΈ΄κΈ‰ 포인터
----------------- *TCP 데이터 쑰각
-------------------- HTTP λ©”μ‹œμ§€

μ†ŒμΌ“ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ‚¬μš©ν•œ HTTP λ„€νŠΈμ›Œν¬ 흐름

ν΄λΌμ΄μ–ΈνŠΈμ„œλ²„

μƒˆλ‘œμš΄ μ†ŒμΌ“ 생성

80포트둜 μ†ŒμΌ“μ„ 묢음

μ†ŒμΌ“ 컀λ„₯μ…˜ ν—ˆκ°€

컀λ„₯μ…˜μ„ κΈ°λ‹€λ¦Ό

IP μ£Όμ†Œμ™€ 포트λ₯Ό μ–»μŒ

μƒˆλ‘œμš΄ μ†ŒμΌ“ 생성

μ„œλ²„μ˜ IP 포트둜 μ—°κ²°

μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 컀λ„₯μ…˜ 톡지

μš”μ²­μ„ 읽기 μ‹œμž‘

μ—°κ²° 성곡

HTTP μš”μ²­μ„ 보냄

HTTP 응닡 λŒ€κΈ°

HTTP μš”μ²­ λ©”μ‹œμ§€ 처리

HTTP 응닡 λ©”μ‹œμ§€ 전솑

HTTP 응닡 처리

컀λ„₯μ…˜ λ‹«μŒ

컀λ„₯μ…˜ λ‹«μŒ

참고자료

Last updated