DNSλž€
Domain Name System


www.xxx.com κ³Ό 같이 μ‚¬λžŒμ΄ 읽을 수 μžˆλŠ” 이름을
192.0.0.1 κ³Ό 같은 숫자 IPμ£Όμ†Œλ‘œ λ³€ν™˜ν•˜μ—¬
컴퓨터가 μ„œλ‘œ 톡신할 수 μžˆλ„λ‘ λ„μ™€μ£ΌλŠ” μ„œλ²„

 

  • DNS μ‹œμŠ€ν…œμ€ 이름을 숫자둜 λ§€ν•‘ν•˜μ—¬ μ „ν™”λ²ˆν˜Έ 뢀와 같은 역할을 ν•œλ‹€.
  • DNS μ„œλ²„λŠ” 이름에 λŒ€ν•œ μš”μ²­μ„ IP μ£Όμ†Œλ‘œ λ³€ν™˜ν•˜μ—¬, μ΅œμ’… μ‚¬μš©μžκ°€ 도메인 이름을 μ›Ή λΈŒλΌμš°μ €μ— μž…λ ₯ν•  λ•Œ ν•΄λ‹Ή μ‚¬μš©μžλ₯Ό μ–΄λ–€ μ„œλ²„μ— μ—°κ²°ν•  것인지 μ œμ–΄ν•œλ‹€. --> 이 μš”μ²­μ„ 쿼리라고 ν•œλ‹€.

DNS

1. DNS Query
    DNS μ„œλ²„μ—μ„œ domain name을 μ΄μš©ν•˜μ—¬ IPλ₯Ό λ°›μ•„μ˜¨λ‹€
2. IP Communication
    IPλ₯Ό λ°›μ•„μ˜¨ μœ μ €λŠ” λ¦¬ν€˜μŠ€νŠΈ 메세지 λ°œμ†‘μ„ ν†΅ν•˜μ—¬ μ •μƒμ μœΌλ‘œ λ„€νŠΈμ›Œν¬ 톡신을 μ‹€μ‹œν•œλ‹€

 


 

DNS λ™μž‘μ›λ¦¬

1. μ‚¬μš©μžκ°€ www.naver.com 을 λΈŒλΌμš°μ €μ— μž…λ ₯ν•œλ‹€.
2. Local DNSμ—κ²Œ IP μ£Όμ†Œλ₯Ό μ§ˆμ˜ν•˜μ—¬ μΊμ‹œλœ 것에 μ—†μœΌλ©΄ λ‹€λ₯Έ DNS μ„œλ²„μ— 전달 (Root DNS)
3. ROOT 둜 λΆ€ν„° com 도메인을 κ΄€λ¦¬ν•˜λŠ” TLD이름 μ„œλ²„ 정보 전달 λ°›λŠ”λ‹€.
4. COM DNS둜 질의 ν•œλ‹€.
5. naver.com DNS 정보λ₯Ό 전달 λ°›λŠ”λ‹€.
6. www.naver.com ν˜ΈμŠ€νŠΈλ„€μž„μ— λŒ€ν•œ IP μ£Όμ†Œλ₯Ό 질의 ν•œλ‹€.
7. IP 정보λ₯Ό μ „λ‹¬λ°›λŠ”λ‹€.
8. Local DNSλŠ” www.nvaer.com에 λŒ€ν•œ IP μ£Όμ†Œλ₯Ό 캐싱을 ν•˜κ³  IP μ£Όμ†Œ 정보λ₯Ό μ „λ‹¬ν•œλ‹€.

β€» ROOT -> COM -> xxx.com μ„œλ²„λ₯Ό μ°¨λ‘€λŒ€λ‘œ μ§ˆμ˜ν•΄μ„œ 닡을 μ°ΎλŠ” 과정을 Recursive Query라고 ν•œλ‹€.

 

 


DNS Round Robin

round robinμ΄λž€ DNS μ„œλ²„ ꡬ성 방식 쀑 ν•˜λ‚˜λ‹€.
Domain에 λŒ€ν•œ IPμš”μ²­ 

 

원리

  • μ›Ή μ„œλΉ„μŠ€λ₯Ό λ‹΄λ‹Ήν•  μ—¬λŸ¬ λŒ€μ˜ μ›Ή μ„œλ²„λŠ” μžμ‹ μ˜ 곡인 IPλ₯Ό 각각 가지고 μžˆλ‹€.
  • μ‚¬μ΄νŠΈ 접속을 μœ„ν•΄ μ‚¬μš©μžκ°€ ν•΄λ‹Ή 도메인 μ£Όμ†Œλ₯Ό λΈŒλΌμš°μ €μ— μž…λ ₯ν•˜λ©΄ DNSλŠ” λ„λ©”μΈμ˜ 정보λ₯Ό μ‘°νšŒν•˜λŠ”λ° 이떄 IPμ£Όμ†Œλ₯Ό μ—¬λŸ¬ λŒ€μ˜ μ„œλ²„ IP리슀트 μ€‘μ—μ„œ λΌμš΄λ“œ 둜빈 ν˜•νƒœλ‘œ λžœλ€ν•˜κ²Œ ν•˜λ‚˜ ν˜Ήμ€ μ—¬λŸ¬κ°œλ₯Ό μ„ νƒν•˜μ—¬ μ‚¬μš©μžμ—κ²Œ μ•Œλ €μ€€λ‹€.
  • 결과적으둜 μ›Ή μ‚¬μ΄νŠΈμ— μ ‘μ†ν•˜λŠ” λ‹€μˆ˜μ˜ μ‚¬μš©μžλŠ” μ‹€μ œλ‘œλŠ” 볡수의 μ›Ή μ„œλ²„μ— λ‚˜λ‰˜μ–΄ μ ‘μ†ν•˜λ„ λ˜λ©΄μ„œ μžμ—°μŠ€λŸ½κ²Œ μ„œλ²„μ˜ λΆ€ν•˜κ°€ λΆ„μ‚°λ˜λŠ” 방식이닀.
λΌμš΄λ“œ 둜빈 DNSλŠ” μ—¬λŸ¬κ°œμ˜ IPμ£Όμ†Œλ₯Ό 결과둜 λŒλ €μ€€λ‹€.

μ‚¬μš©μžμ˜ OS μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— 따라 λ™μž‘μ΄ λ‹€λ₯΄λ‹€.
μ—¬λŸ¬κ°œμ˜ IP 쀑 μ œμΌλ¨Όμ € 쑰회된 IPλ₯Ό 선택, λ¬΄μž‘μœ„λ‘œ IPλ₯Ό μ„ νƒν•œλ‹€.
λ˜λŠ” 선택 IP 접속이 μ•ˆλ˜λ©΄ κ·Έλ‹€μŒ 쑰회된 IPμ ‘μ†ν•˜λ„λ‘ ν˜Έμ§μ„ μΆ”κ°€ν•  수 μžˆλ‹€.
  •  

 

 

단점

1. μ„œλ²„μ˜ 수 만큼 곡인 IP μ£Όμ†Œκ°€ ν•„μš”ν•©λ‹ˆλ‹€.
λΆ€ν•˜ 뢄산을 μœ„ν•΄ μ„œλ²„μ˜ λŒ€μˆ˜λ₯Ό 늘리기 μœ„ν•΄μ„œλŠ” κ·Έ 만큼의 곡인 IP κ°€ ν•„μš”ν•©λ‹ˆλ‹€.

2. κ· λ“±ν•˜κ²Œ λΆ„μ‚°λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
λͺ¨λ°”일 μ‚¬μ΄νŠΈ λ“±μ—μ„œ λ¬Έμ œκ°€ 될 수 μžˆλŠ”λ°, 슀마트폰의 접속은 캐리어 κ²Œμ΄νŠΈμ›¨μ΄ 라고 ν•˜λŠ” ν”„λ‘μ‹œ μ„œλ²„λ₯Ό 경유 ν•©λ‹ˆλ‹€.
ν”„λ‘μ‹œ μ„œλ²„μ—μ„œλŠ” μ΄λ¦„λ³€ν™˜ κ²°κ³Όκ°€ 일정 μ‹œκ°„ λ™μ•ˆ μΊμ‹±λ˜λ―€λ‘œ 같은 ν”„λ‘μ‹œ μ„œλ²„λ₯Ό 경유 ν•˜λŠ” 접속은 항상 같은 μ„œλ²„λ‘œ μ ‘μ†λ©λ‹ˆλ‹€.
λ˜ν•œ PC 용 μ›Ή λΈŒλΌμš°μ €λ„ DNS 질의 κ²°κ³Όλ₯Ό μΊμ‹±ν•˜κΈ° λ•Œλ¬Έμ— κ· λ“±ν•˜κ²Œ λΆ€ν•˜λΆ„μ‚° λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
DNS λ ˆμ½”λ“œμ˜ TTL 값을 짧게 μ„€μ •ν•¨μœΌλ‘œμ¨ μ–΄λŠ 정도 ν•΄μ†Œκ°€ λ˜μ§€λ§Œ, TTL 에 따라 μΊμ‹œλ₯Ό ν•΄μ œν•˜λŠ” 것은 μ•„λ‹ˆλ―€λ‘œ λ°˜λ“œμ‹œ μ£Όμ˜κ°€ ν•„μš”ν•˜λ‹€.

3. μ„œλ²„κ°€ λ‹€μš΄λ˜λ„ 확인이 λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€.
DNS μ„œλ²„λŠ” μ›Ή μ„œλ²„μ˜ λΆ€ν•˜λ‚˜ 접속 수 λ“±μ˜ 상황에 따라 질의결과λ₯Ό μ œμ–΄ν•  수 μ—†λ‹€.
μ›Ή μ„œλ²„μ˜ λΆ€ν•˜κ°€ λ†’μ•„μ„œ 응닡이 λŠλ €μ§€κ±°λ‚˜ μ ‘μ†μˆ˜κ°€ 꽉 μ°¨μ„œ 접속을 μ²˜λ¦¬ν•  수 μ—†λŠ” 상황인 지λ₯Ό μ „ν˜€ 감지할 μˆ˜κ°€ μ—†κΈ° λ•Œλ¬Έμ— μ–΄λ–€ μ›μΈμœΌλ‘œ λ‹€μš΄λ˜λ”λΌλ„ 이λ₯Ό κ²€μΆœν•˜μ§€ λͺ»ν•˜κ³  μœ μ €λ“€μ—κ²Œ μ œκ³΅λ©λ‹ˆλ‹€.
μ΄λ•Œλ¬Έμ— μœ μ €λ“€μ€ κ°„ν˜Ή λ‹€μš΄λœ μ„œλ²„λ‘œ 연결이 λ˜κΈ°λ„ ν•˜μ£ .
DNS λΌμš΄λ“œ λ‘œλΉˆμ€ μ–΄λ””κΉŒμ§€λ‚˜ λΆ€ν•˜λΆ„μ‚° 을 μœ„ν•œ 방법이지 닀쀑화 방법은 μ•„λ‹ˆλ―€λ‘œ λ‹€λ₯Έ S/W 와 μ‘°ν•©ν•΄μ„œ 관리할 ν•„μš”κ°€ μžˆλ‹€.

 

 

해결법

닀쀑화 ꡬ성 방식 (Synchronous Time-Division Multiplexing)
AP μ„œλ²„μ— VIP(Virtual IP)λ₯Ό λΆ€μ—¬ν•΄μ„œ 닀쀑화λ₯Ό κ΅¬μ„±ν•œλ‹€. 각 AP μ„œλ²„λ₯Ό Health Checkν›„ 이상이 κ°μ§€λ˜λ©΄ VIPλ₯Ό 정상 AP μ„œλ²„λ‘œ μΈκ³„ν•˜λŠ” 방식을 μ‚¬μš©ν•œλ‹€.
즉 DNS Server Table 에 μ‹€μ‹œκ°„μœΌλ‘œ AP μ„œλ²„μ˜ μƒνƒœλ₯Ό 확인할 수 μžˆλŠ” 칼럼 및 ν•¨μˆ˜λ₯Ό μΆ”κ°€ν•˜μ—¬ μš”μ²­λ  경우 μ„œλ²„ μƒνƒœλ₯Ό ν™•μΈν•˜μ—¬ 우회루트λ₯Ό μ œκ³΅ν•˜κ±°λ‚˜ μ—λŸ¬λ₯Ό μ „μ†‘ν•˜λŠ” 방식을 λ§ν•©λ‹ˆλ‹€.

κ°€μ€‘μΉ˜ νŽΈμ„± 방식 (Weighted round robin)
각각의 μ›Ή μ„œλ²„μ— κ°€μ€‘μΉ˜λ₯Ό κ°€λ―Έν•΄μ„œ λΆ„μ‚° λΉ„μœ¨μ„ λ³€κ²½ν•œλ‹€. λ¬Όλ‘  κ°€μ€‘μΉ˜κ°€ 큰 μ„œλ²„μΌμˆ˜λ‘ λΉˆλ²ˆν•˜κ²Œ μ„ νƒλ˜λ―€λ‘œ 처리λŠ₯λ ₯이 높은 μ„œλ²„λŠ” κ°€μ€‘μΉ˜λ₯Ό λ†’κ²Œ μ„€μ •ν•˜λŠ” 것이 μ’‹λ‹€.


또 λ‹€λ₯Έ λ°©λ²•μœΌλ‘œλŠ” λ‘œλ“œ λ°ΈλŸ°μ„œμ˜ λ„μž…μ„ ν†΅ν•˜μ—¬ λ‹€μŒκ³Ό 같은 ꡬ성도 κ°€λŠ₯

μ΅œμ†Œ μ—°κ²° 방식 (Least connection)
접속 ν΄λΌμ΄μ–ΈνŠΈ μˆ˜κ°€ κ°€μž₯ 적은 μ„œλ²„λ₯Ό μ„ νƒν•œλ‹€. λ‘œλ“œλ°ΈλŸ°μ„œμ—μ„œ μ‹€μ‹œκ°„μœΌλ‘œ connection 수λ₯Ό κ΄€λ¦¬ν•˜κ±°λ‚˜ 각 μ„œλ²„μ—μ„œ 주기적으둜 μ•Œλ €μ£ΌλŠ” 것이 ν•„μš”ν•˜λ‹€.


Reference.

link1 link2

+ Recent posts