9taetae9 2024. 12. 8. 11:30
728x90

λΉ„μ—°κ²°ν˜• μ„œλΉ„μŠ€λ₯Ό 제곡

νŒ¨ν‚·μ„ λΆ„ν• /λ³‘ν•©ν•˜λŠ” κΈ°λŠ₯을 μˆ˜ν–‰

헀더 μ²΄ν¬μ„¬λ§Œ 제곡

Best Effort λ°©μ‹μ˜ 전솑 κΈ°λŠ₯

μ΅œλŒ€ν•œ dataλ₯Ό λΉ λ₯΄κ²Œ 보냄

IP 헀더 ꡬ쑰

 

 

 

DS/ECN (Differentiated Services / Explicit Congestion Notification)

 

 

DS와 ECN ν•„λ“œκ°€ λ„μž…λ˜κΈ° μ „μ—λŠ” 8λΉ„νŠΈμ˜ Service Type(DS + ECN) ν•„λ“œλ‘œ μ •μ˜λ˜μ–΄ μš°μ„ μˆœμœ„, μ§€μ—°, 전솑λ₯ , μ‹ λ’°μ„± λ“±μ˜ 값을 μ§€μ •ν•˜μ˜€μŒ.

 

Service Type ν•„λ“œλŠ” IP ν”„λ‘œν† μ½œμ΄ μ‚¬μš©μžμ—κ²Œ μ œκ³΅ν•˜λŠ” μ„œλΉ„μŠ€μ˜ ν’ˆμ§ˆμ— κ΄€λ ¨λœ λ‚΄μš©μ„ μ™Όμͺ½ ν‘œμ™€ 같이 ν‘œν˜„ν•˜μ˜€μŒ.

 

 

 

 

μ°¨λ“± μ„œλΉ„μŠ€ κ°œλ…μ΄ λ„μž…λ˜λ©΄μ„œ Service Type ν•„λ“œκ°€ 6λΉ„νŠΈμ˜ DS ν•„λ“œμ™€ 2λΉ„νŠΈμ˜ ECN ν•„λ“œλ‘œ μƒˆλ‘œ μ •μ˜λ˜μ—ˆμŒ.

μΈν„°λ„·μ—μ„œ λ‹€μ–‘ν•œ νŠΈλž˜ν”½ μš”κ΅¬ 쑰건을 ν•„μš”λ‘œ ν•˜λŠ” μ„œλΉ„μŠ€λ“€μ— λŒ€ν•˜μ—¬ μ„œλ‘œ λ‹€λ₯Έ μˆ˜μ€€μ˜ QoSλ₯Ό μ§€μ›ν•˜κΈ° μœ„ν•¨.

 

DSλ₯Ό μ‚¬μš©ν•˜κΈ° μœ„ν•΄ 사전에 μ„œλΉ„μŠ€ μ œκ³΅μžμ™€ μ„œλΉ„μŠ€ 이용자 사이에 μ„œλΉ„μŠ€ 등급에 λŒ€ν•œ ν•©μ˜κ°€ 이루어지고, 

λ™μΌν•œ DS 값을 κ°–λŠ” νŠΈλž˜ν”½λ“€μ€ λ™μΌν•œ μ„œλΉ„μŠ€ λ“±κΈ‰μœΌλ‘œ 처리됨. (λΌμš°ν„°μ— μ˜ν•˜μ—¬ μ²˜λ¦¬λ˜λ―€λ‘œ κΈ°μ‘΄ λ„€νŠΈμ›Œν¬ μ‘μš© ν”„λ‘œκ·Έλž¨ λ³€κ²½ ν•„μš” x)

DS μ½”λ“œ ν¬μΈνŠΈλΌκ³ λ„ ν•˜λŠ” DS ν•„λ“œ 값은 μ°¨λ“± μ„œλΉ„μŠ€μ˜ 기쀀이 λ˜λŠ” λ ˆμ΄λΈ” κ°’μœΌλ‘œ 64개의 νŠΈλž˜ν”½ 클래슀λ₯Ό μ •μ˜ν•  수 μžˆλ‹€.

 

혼작 μ œμ–΄λ₯Ό μœ„ν•œ ECN ν•„λ“œ κ°’μ˜ 의미

ECT 0κ³Ό ECT 1은 λ™μΌν•œ 의미둜 μ–΄λŠ 것을 μ‚¬μš©ν•΄λ„ 무방함.

01(ECT 1), 10(ECT 0) : 솑신 ν˜ΈμŠ€νŠΈκ°€ λΌμš°ν„°μ—κ²Œ IP νŒ¨ν‚·μ— μΊ‘μŠν™”λœ TCP ν”„λ‘œν† μ½œμ΄ ECN κΈ°λŠ₯을 지원함을 μ•Œλ €μ€Œ

ECN κΈ°λŠ₯을 μ§€μ›ν•˜κΈ° μœ„ν•΄ TCP ν”„λ‘œν† μ½œμ˜ 헀더에도 ECE ν•„λ“œμ™€ CWR ν•„λ“œκ°€ 좔가됨

 

νŒ¨ν‚· λΆ„ν• 

IP ν”„λ‘œν† μ½œμ€ μƒμœ„ κ³„μΈ΅μ—μ„œ λ‚΄λ €μ˜¨ 전솑 데이터가 νŒ¨ν‚·ν•˜λ‚˜λ‘œ μ „μ†‘ν•˜κΈ°μ— λ„ˆλ¬΄ 크면 이λ₯Ό λΆ„ν• ν•΄ μ „μ†‘ν•œλ‹€.

νŒ¨ν‚· λΆ„ν• κ³Ό κ΄€λ ¨λœ ν•„λ“œ (IP ν—€λ”μ˜ 두 번째 μ›Œλ“œ)

Identification(μ‹λ³„μž, κ΅¬λΆ„μž) : λΆ„ν• λ˜μ§€ μ•Šμ€ νŒ¨ν‚·: 값을 순차적으둜 증가, λΆ„ν• λœ νŒ¨ν‚·: λ™μΌν•œ 번호 λΆ€μ—¬

                                                    μˆ˜μ‹  ν˜ΈμŠ€νŠΈλŠ” Identification λ²ˆν˜Έκ°€ 같은 νŒ¨ν‚·μ„ λ‹€μ‹œ 병합함

DF (Dont Fragment): 1둜 μ§€μ • μ‹œ νŒ¨ν‚· λΆ„ν•  κΈˆμ§€, μˆ˜μ‹  ν˜ΈμŠ€νŠΈκ°€ λΆ„ν• λ˜μ–΄ μž…λ ₯된 νŒ¨ν‚·λ“€μ„ λ³‘ν•©ν•˜λŠ” κΈ°λŠ₯이 없을 λ•Œ μ‚¬μš©

                                        μžμ‹ μ΄ μ²˜λ¦¬κ°€λŠ₯ν•œ νŒ¨ν‚·μ˜ 크기보닀 큰 IP νŒ¨ν‚·μ— DF ν•„λ“œκ°€ μ„€μ •λ˜μ–΄ μžˆλ‹€λ©΄ λΆ„ν•  κΈ°λŠ₯ μˆ˜ν–‰ 없이 버림

MF (More Fragment) : λΆ„ν• λœ νŒ¨ν‚· : 1, λΆ„ν• λœ νŒ¨ν‚·μ˜ λ§ˆμ§€λ§‰: 0 => λΆ„ν•  νŒ¨ν‚·μ΄ 더 이상 μ—†μŒμ„ ν‘œμ‹œ

Fragment Offset(λΆ„ν•  μ˜€ν”„μ…‹) : νŒ¨ν‚· 뢄할이 이루어지면 12λΉ„νŠΈ λΆ„ν•  μ˜€ν”„μ…‹ ν•„λ“œλ₯Ό μ‚¬μš©

                                                      λΆ„ν• λ˜κΈ° μ „ λ°μ΄ν„°μ—μ„œμ˜ μƒλŒ€μ μΈ μœ„μΉ˜ 정보, 8 λ°”μ΄νŠΈμ˜ 배수둜 μ§€μ •

                                                      ex) Fragment Offset 값이 64라면 μ›λž˜ λ°μ΄ν„°μ—μ„œ 64 * 8 = 512λ²ˆμ§Έμ— μœ„μΉ˜  

 

μ£Όμ†Œ κ΄€λ ¨ ν•„λ“œ

Source Address: 솑신 호슀트의 IP μ£Όμ†Œ

Destination Address: μˆ˜μ‹  호슀트의 IP μ£Όμ†Œ

IP μ£Όμ†Œ 체계 : 5 μ’…λ₯˜

클래슀 A, B, C : μœ λ‹ˆ μΊμŠ€νŒ…

클래슀 D :           λ©€ν‹° μΊμŠ€νŒ…

클래슀 E :  μƒˆλ‘œμš΄ μ‘μš© ν™˜κ²½ μœ„ν•΄ μž μ •μ μœΌλ‘œ μ˜ˆμ•½λœ 클래슀

IP μ£Όμ†Œ 체계

클래슀 A, B, CλŠ” μ£Όμ†Œλ₯Ό network와 host ν•„λ“œλ‘œ ꡬ뢄해 관리

λ„€νŠΈμ›Œν¬ μ£Όμ†Œ: ν˜ΈμŠ€νŠΈλ“€μ„ λͺ¨μ€ λ„€νŠΈμ›Œν¬λ₯Ό μ§€μΉ­ν•˜λŠ” μ£Όμ†Œ. λ„€νŠΈμ›Œν¬ μ£Όμ†Œκ°€ λ™μΌν•œ λ„€νŠΈμ›Œν¬λ₯Ό 둜컬 λ„€νŠΈμ›Œν¬λΌκ³  함

                       ν˜„μž¬ 이 μ£Όμ†Œμ˜ 할당은 NIC(network information center)μ—μ„œ 담당함.

호슀트 μ£Όμ†Œ: ν•˜λ‚˜μ˜ λ„€νŠΈμ›Œν¬ 내에 μ‘΄μž¬ν•˜λŠ” 호슀트λ₯Ό κ΅¬λΆ„ν•˜κΈ° μœ„ν•œ μ£Όμ†Œ

클래슀 A : host λΉ„νŠΈκ°€ 크기 λ•Œλ¬Έμ— 규λͺ¨κ°€ 큰 λ„€νŠΈμ›Œν¬μ—μ„œ μ‚¬μš©

클래슀 C : 규λͺ¨κ°€ μž‘μ€ λ„€νŠΈμ›Œν¬μ—μ„œ μ‚¬μš©

기타 ν•„λ“œ

Version Number: 버전 4 (IPv4)

Header Length: IP ν”„λ‘œν† μ½œ 헀더 길이λ₯Ό 32λΉ„νŠΈ μ›Œλ“œ λ‹¨μœ„λ‘œ ν‘œμ‹œ

                             μΌλ°˜ νŒ¨ν‚· 전솑 μ‹œ ν—€λ”μ˜ Options, Padding ν•„λ“œκ°€ λΉ μ§€λ―€λ‘œ IP ν—€λ”μ˜ μ΅œμ†Œ κΈΈμ΄λŠ” 5 (4byte * 5 = 20byte)

Packet Length: 헀더λ₯Ό ν¬ν•¨ν•œ νŒ¨ν‚·μ˜ 전체 길이

Time To Live (TTL) : νŒ¨ν‚·μ˜ 생쑴 μ‹œκ°„, λΌμš°ν„°λ₯Ό κ±°μΉ  λ•Œλ§ˆλ‹€ 1μ”© κ°μ†Œλ˜λ©°, 0이 되면 λ„€νŠΈμ›Œν¬μ—μ„œ κ°•μ œλ‘œ 제거

Transport Protocol(전솑 ν”„λ‘œν† μ½œ) : IP ν”„λ‘œν† μ½œμ— 데이터 전솑을 μš”κ΅¬ν•œ 전솑 계측 ν”„λ‘œν† μ½œμ„ 가리킴

Transport ν•„λ“œ

TCP (Transmission Control Protocol): ν”„λ‘œν† μ½œ 번호: 6

UDP (User Datagram Protocol): ν”„λ‘œν† μ½œ 번호: 17

ICMP (Internet Control Message Protocol): ν”„λ‘œν† μ½œ 번호: 1, λ„€νŠΈμ›Œν¬ μƒνƒœλ₯Ό μ§„λ‹¨ν•˜κ³  였λ₯˜ λ©”μ‹œμ§€λ₯Ό μ „λ‹¬ν•˜λŠ” 데 μ‚¬μš©

IGMP (Internet Group Management Protocol): ν”„λ‘œν† μ½œ 번호: 2, λ©€ν‹°μΊμŠ€νŠΈ κ·Έλ£Ή 관리λ₯Ό μœ„ν•œ ν”„λ‘œν† μ½œ

 

Transport ν•„λ“œλ₯Ό 톡해 νŒ¨ν‚· μˆ˜μ‹ μžλŠ” νŽ˜μ΄λ‘œλ“œ 내뢀에 μ–΄λŠ ν”„λ‘œν† μ½œ 정보가 μžˆλŠ”μ§€ νŒλ‹¨ν•  수 있음

전솑 κ³„μΈ΅μ˜ TCP μ„Έκ·Έλ¨ΌνŠΈ, UDP λ°μ΄ν„°κ·Έλž¨, λ„€νŠΈμ›Œν¬ κ³„μΈ΅μ˜ ICMP νŒ¨ν‚·μ€ λͺ¨λ‘ νŽ˜μ΄λ‘œλ“œ(Payload)에 μΊ‘μŠν™”λ˜μ–΄ 전솑됨

 

Header Checksum: 헀더 였λ₯˜ κ²€μΆœ(데이터 였λ₯˜ κ²€μΆœ x)

(이와 달리 전솑 계측(4 계측)인 TCP, UDP ν”„λ‘œν† μ½œμ˜ ν—€λ”λŠ” 헀더와 데이터 λͺ¨λ‘μ— λŒ€ν•œ 체크섬 정보λ₯Ό μ œκ³΅ν•˜κΈ° λ•Œλ¬Έμ— IP μƒν˜Έ 보완적인 였λ₯˜ κ²€μΆœ κΈ°λŠ₯을 μˆ˜ν–‰)

Options : λ„€νŠΈμ›Œν¬ κ΄€λ¦¬λ‚˜ λ³΄μ•ˆκ³Ό 같은 특수 μš©λ„

Padding : IP 헀더 ν¬κΈ°λŠ” 32 λΉ„νŠΈ μ›Œλ“œ 크기가 λ°°μˆ˜κ°€ λ˜λ„λ‘ μ„€κ³„λ˜μ–΄ μžˆμ–΄, 전체크기가 ν•΄λ‹Ή 쑰건을 λ§Œμ‘±μ‹œν‚€λ„λ‘ νŒ¨λ”©ν•„λ“œλ‘œ 쑰절

 

νŒ¨ν‚·μ˜ λΆ„ν• 

λΆ„ν• μ˜ ν•„μš”μ„±

νŒ¨ν‚· λΆ„ν• μ˜ ν•„μš”μ„±

μœ„μ˜ κ·Έλ¦Όμ—μ„œ 데이터 링크 계측 ν”„λ‘œν† μ½œμ˜ ν”„λ ˆμž„μ€ 크기가 ν”„λ‘œν† μ½œλ§ˆλ‹€ λ‹€λ₯΄λ‹€. λ”°λΌμ„œ μƒμœ„ κ³„μΈ΅μ—μ„œ λ‚΄λ €λ©΄ 데이터λ₯Ό 데이터 링크 κ³„μΈ΅μ˜ ν”„λ ˆμž„ 틀에 담을 수 μžˆλ„λ‘ IP ν”„λ‘œν† μ½œμ—μ„œ λΆ„ν•  과정을 거친 후에 μ „μ†‘ν•˜κ³ , μˆ˜μ‹  ν˜ΈμŠ€νŠΈμ—μ„œλŠ” 이λ₯Ό λ‹€μ‹œ 병합 μž‘μ—…μ„ μˆ˜ν–‰ν•œλ‹€.

IP ν”„λ‘œν† μ½œμ˜ λΆ„ν•  κΈ°λŠ₯은 전솑 κ²½λ‘œμ— μœ„μΉ˜ν•œ λΌμš°ν„°μ— μ˜ν•΄ μˆ˜ν–‰λœλ‹€.

λΌμš°ν„°μ˜ μ’Œμš°μ— μ—°κ²°λœ LAN이 μ„œλ‘œ λ‹€λ₯Ό 수 있기 λ•Œλ¬Έμ— 데이터 링크 계측에 μœ„μΉ˜ν•œ ν”„λ ˆμž„ 크기가 ν”„λ‘œν† μ½œλ§ˆλ‹€ 달라진닀.

λ”°λΌμ„œ 데이터λ₯Ό μˆ˜μ‹ ν•œ 이후에 νŒ¨ν‚·μ„ μ€‘κ°œν•˜λŠ” λ°©ν–₯에 μœ„μΉ˜ν•œ LAN에 λ§žλ„λ‘ ν”„λ ˆμž„μ„ λΆ„ν• ν•΄μ£Όμ–΄μ•Ό ν•œλ‹€.

 

λΆ„ν• μ˜ 예

μ•„λž˜μ˜ 그림은 IP ν”„λ‘œν† μ½œμ˜ νŒ¨ν‚· λΆ„ν•  κ³Όμ •μ˜ μ˜ˆμ΄λ‹€.

νŒ¨ν‚· λΆ„ν• μ˜ 예

κ°€μ •

IP 헀더λ₯Ό μ œμ™Έν•œ 전솑 λ°μ΄ν„°μ˜ 크기: 380 λ°”μ΄νŠΈ

νŒ¨ν‚·μ˜ μ΅œλŒ€ 크기: 128 λ°”μ΄νŠΈ

 

Fragment Offset ν•„λ“œ: 이 값에 8을 κ³±ν•œ 크기가 λΆ„ν•  μ „μ˜ 데이터 μœ„μΉ˜

νŒ¨ν‚· μ „μ²΄μ˜ μ΅œλŒ€ 크기인 128λ°”μ΄νŠΈμ—μ„œ 헀더인 20λ°”μ΄νŠΈλ₯Ό λΉΌλ©΄ 108λ°”μ΄νŠΈκ°€ λ˜λ―€λ‘œ

λΆ„ν•  νŒ¨ν‚·μ— 보관할 수 μžˆλŠ” λ°μ΄ν„°μ˜ μ΅œλŒ€ ν¬κΈ°λŠ” (108을 8둜 λ‚˜λˆˆ λͺ« (μ •μˆ˜κ°’))×8 = 104λ°”μ΄νŠΈ

λΆ„ν• λœ νŒ¨ν‚·μ˜ κ°œμˆ˜λŠ” 4개 (=380을 104둜 λ‚˜λˆˆ λͺ« + 1)이며,

각 νŒ¨ν‚·μ˜ Fragment Offset ν•„λ“œ 값은 0, 13, 26, 39κ°€ λœλ‹€.

λΆ„ν•  νŒ¨ν‚·μΈ λΆ„ν•  1, λΆ„ν•  2, λΆ„ν•  3은 데이터 크기 104λ°”μ΄νŠΈμ— 헀더 크기 20λ°”μ΄νŠΈλ₯Ό 더해 124κ°€ λ˜λ―€λ‘œ νŒ¨ν‚·μ˜ 전체 크기

Packet Length = 124λ°”μ΄νŠΈμ΄λ‹€.

λ§ˆμ§€λ§‰ λΆ„ν•  νŒ¨ν‚·μ€, 전체 λ°μ΄ν„°μ˜ 크기 380μ—μ„œ μ„Έ 개의 λΆ„ν•  νŒ¨ν‚· 크기 3 ×104λ₯Ό λΉΌλ©΄ 68λ°”μ΄νŠΈμ˜ 여뢄을 얻을 수 μžˆλŠ”λ°,

이 값에 헀더 크기인 20λ°”μ΄νŠΈλ₯Ό 더해 Packet Length = 88λ°”μ΄νŠΈμ΄λ‹€.

λΆ„ν• ν•œ νŒ¨ν‚·μ˜ Identification ν•„λ“œμ—λŠ” λ™μΌν•œ 번호λ₯Ό λΆ€μ—¬ν•΄μ•Ό ν•œλ‹€.

μž„μ˜λ‘œ 1254λ₯Ό κ°€μ •ν•˜μ˜€λ‹€.

MF ν•„λ“œλŠ” λ§ˆμ§€λ§‰ νŒ¨ν‚·λ§Œ μ œμ™Έν•˜κ³  1을 μ§€μ •ν•΄ λΆ„ν•  νŒ¨ν‚·μ΄ 이어지고 μžˆμŒμ„ ν‘œμ‹œ

 

 

 

참고 자료 :

μ‰½κ²Œ λ°°μš°λŠ” 데이터 톡신과 컴퓨터 λ„€νŠΈμ›Œν¬ 3판 - λ°•κΈ°ν˜„ μ§€μŒ

728x90