KR_Net_Basics - somaz94/DevOps-Engineer GitHub Wiki
HTTPë ì¹ ëžëŒì°ì ì ìë² ê°ì ë°ìŽí°ë¥Œ ì ì¡íë ë°©ìì ì ìíë€.
ìŽ ë°ìŽí°ë HTML, ìŽë¯žì§, ë¹ëì€, ì€ëì€ ë° êž°í íìì 컚í ìž ë¥Œ í¬íší ì ìë€.
HTTPë ìŒë°ì ìŒë¡ ìížíëì§ ìì í ì€ížë¡ ì ì¡ëë€. ë°ëŒì 볎ìì ì·šìœíë€.
HTTPì ëì ì늬ë ë€ì곌 ê°ë€.
- íŽëŒìŽìžížê° ìë²ì HTTP ìì² ë©ìì§ë¥Œ 볎ëžë€.
- ìŽ ìì² ë©ìì§ë HTTP ë©ìë(GET, POST, PUT, DELETE ë±)ì ìì² URI(Uniform Resource Identifier)ë¡ êµ¬ì±ëë€.
- GET ë©ìëë ìë²ë¡ë¶í° ë°ìŽí°ë¥Œ ìì²íê³ , POST ë©ìëë íŽëŒìŽìžížìì ìë²ë¡ ë°ìŽí°ë¥Œ ì ì¡íë ë±ì ìí ì íë€.
- ìë²ë íŽëŒìŽìžížì ìì²ì ë°ê³ , ìì²í ë°ìŽí°ë¥Œ ì°Ÿìì HTTP ìëµ ë©ìì§ë¥Œ 볎ëžë€.
- ìŽ ìëµ ë©ìì§ë ìí ìœë(200, 404, 500 ë±)ì ìëµ ë³žë¬žìŒë¡ 구ì±ëë€.
- ìí ìœëë íŽëŒìŽìžížì ìì²ì ëí ì±ê³µ ì¬ë¶ë¥Œ ëíëŽë©°, ìëµ ë³žë¬žì ìì²í ë°ìŽí°ë¥Œ í¬íšíë€.
- íŽëŒìŽìžížë ìë²ë¡ë¶í° ë°ì ìëµ ë©ìì§ë¥Œ íŽìíê³ , íìì ë°ëŒ ì¶ê°ì ìž ìì²ì ë³ŽëŒ ì ìë€.
- ì륌 ë€ìŽ, íŽëŒìŽìžížê° ì¹ íìŽì§ë¥Œ ìì²í 겜ì°, ìë²ë
HTML, CSS, JavaScriptë±ì íìŒì í¬íší ìëµì 볎ëŽê² ëë€. - ìŽí íŽëŒìŽìžížë ìŽ íìŒë€ì ë°ìì ì¹ íìŽì§ë¥Œ ë ëë§íë€.
- ì륌 ë€ìŽ, íŽëŒìŽìžížê° ì¹ íìŽì§ë¥Œ ìì²í 겜ì°, ìë²ë
HTTPSë HTTPì 볎ì ë²ì ìŽë€.
HTTPSë SSL(Secure Sockets Layer) ëë TLS(Transport Layer Security)륌 ì¬ì©íì¬ ë°ìŽí°ë¥Œ ìížííê³ ìžìŠì륌 ì¬ì©íì¬ íµì íë ìë²ì ì ìì íìžíë€.
HTTPS륌 ì¬ì©í멎 믌ê°í ì 볎륌 ì ì¡í ë ë°ìŽí°ê° ìížíëë¯ë¡ ì€ê°ìì ëêµ°ê°ê° ì 볎륌 ê°ë¡ì±ì ìœì ì ìë€.
ê°ëší ë§íŽ, HTTPë ìížíëì§ ìì ìží°ë· ì°ê²°ì ì¬ì©íì¬ ë°ìŽí°ë¥Œ ì ì¡íë ë°ë©Ž, HTTPSë ìížíë ì°ê²°ì ì¬ì©íì¬ ë°ìŽí°ë¥Œ ì ì¡íë ê²ìŽë€.
HTTPS륌 ì¬ì©í멎 ë°ìŽí°ì êž°ë°ì±ê³Œ 묎결ì±ì ì ì§í ì ììŒë©°, ì€ê°ì 공격 ë° ë€ë¥ž 볎ì ìíìŒë¡ë¶í° 볎ížëë€.
HTTPSì ëì ì늬ë ë€ì곌 ê°ë€.
- íŽëŒìŽìžížê° HTTPSë¡ ë³Žížë ìë²ì ì ìíë€. ìŽë íŽëŒìŽìžížë SSL/TLS륌 ì§ìíë ëžëŒì°ì 륌 ì¬ì©íŽìŒ íë€.
- íŽëŒìŽìžížë ìë²ì ê³µê°í€ë¥Œ ìì²íë€. ìŽë¥Œ ìíŽ ìë²ë SSL/TLS ìžìŠì륌 ì ì¡íë€. ìžìŠìë íŽëŒìŽìžížì ìë² ê°ì íµì ì 볎ížíêž° ìí ê³µê°í€, ìžìŠ êž°êŽì ì 볎 ë±ì í¬íšíë€.
- íŽëŒìŽìžížë ìë²ì ìžìŠì륌 ê²ìŠíë€. ìŽë¥Œ ìíŽ íŽëŒìŽìžížë ìžìŠ êž°êŽì ê³µê°í€ë¥Œ ìŽì©íì¬ ìë²ì ê³µê°í€ê° ì¬ë°ë¥žì§ íìžíë€.
- íŽëŒìŽìžížë ìë²ì ê³µê°í€ë¥Œ ì¬ì©íì¬ ìžì í€ë¥Œ ìì±íë€. ìŽ ìžì í€ë íŽëŒìŽìžížì ìë² ê°ì íµì ì ìížííêž° ìí ëì¹í€ìŽë€.
- íŽëŒìŽìžížë ìë²ì ê³µê°í€ë¥Œ ì¬ì©íì¬ ìžì í€ë¥Œ ìížííì¬ ìë²ì ì ì¡íë€.
- ìë²ë ìì ì ë¹ê³µê°í€ë¥Œ ì¬ì©íì¬ ìžì í€ë¥Œ ë³µížííë€.
- íŽëŒìŽìžížì ìë²ë ìŽì ìžì í€ë¥Œ ì¬ì©íì¬ ìížíë HTTPS íµì ì ìííë€.
OSI 7ê³ìžµê³Œ TCP/IP 4ê³ìžµì ë ë€ ë€ížìí¬ íë¡í ìœ ì€íì êµ¬ì± ìììŽë€. íì§ë§ ê°ê°ì ìë¡ ë€ë¥ž ë°©ììŒë¡ ê³ìžµì 구ì±íê³ ìë€.
OSI 7ê³ìžµê³Œ TCP/IP 4ê³ìžµì ë¹êµíŽë³Žë©Ž, OSI 몚ëžì ìì 3ê° ê³ìžµìž ìžì ê³ìžµ, íí ê³ìžµ, ìì© ê³ìžµì ìì© íë¡ê·žëšì êŽë šë êž°ë¥ì ëŽë¹íê³ , ìŽì ëí íì€ íë¡í ìœë€ìŽ ì ìëìŽ ìë€.
ë°ë©Žì TCP/IP 몚ëžì ìì© íë¡ê·žëš ê³ìžµìŽ TCPì UDP íë¡í ìœì í¬íšíê³ ììŽì, ìì© íë¡ê·žëš ê³ìžµê³Œ ížëì€í¬íž ê³ìžµì ì°ê²°íŽì£Œë ìí ì íë€.
ìžì ê³ìžµê³Œ íí ê³ìžµì ë°ìŽí°ì íì ë³í, ë°ìŽí°ì 구조í, ìì¶ ë° ìížíì ê°ì êž°ë¥ì ëŽë¹íë ë°ë©Ž, TCP/IP 몚ëžì ìŽë¬í êž°ë¥ì ëŽë¹íë ê³ìžµìŽ ìë€. ìŽë¬í êž°ë¥ë€ì ìì© ê³ìžµìì ì§ì ì²ëЬë ì ìë€.
OSI 7ê³ìžµì Open Systems Interconnection 몚ëžì ì믞íë€. ìŽ ëªšëžì êµì íì€í Ʞ구(ISO)ìì ê°ë°í ë€ížìí¬ íë¡í ìœ ì€íì ì°žì¡° 몚ëžìŽë€.
7ê³ìžµì ë€ì곌 ê°ìŽ êµ¬ì±ëë€:
-
묌늬 ê³ìžµ (Physical Layer): ì êž°ì , 묌늬ì ì ížë¥Œ ì ì¡íë ê³ìžµìŽë€.
- íë¡í ìœ :
Ethernet, Fast Ethernet, Gigabit Ethernet, Wi-Fi, Bluetooth, USB
- íë¡í ìœ :
-
ë°ìŽí° ë§í¬ ê³ìžµ (Data Link Layer): ë€ížìí¬ììì ì ë¢°ì± ìë ë°ìŽí° ì ì¡ì ëŽë¹íë€.
- íë¡í ìœ :
Ethernet, Token Ring, FDDI, HDLC, PPP, SLIP
- íë¡í ìœ :
-
ë€ížìí¬ ê³ìžµ (Network Layer): ë°ìŽí°ë¥Œ 목ì ì§ë¡ ì ë¬íë 겜ë¡ë¥Œ ì ííê³ , íší·ì ì ì¡ì êŽëЬíë€.
- íë¡í ìœ :
IP, ICMP, ARP, RARP, OSPF, BGP, IS-IS
- íë¡í ìœ :
-
ì ì¡ ê³ìžµ (Transport Layer): ë°ìŽí°ì ì ì¡ì 볎ì¥íê³ , ì€ë¥ ê²ì¶ê³Œ 복구륌 ëŽë¹íë€.
- íë¡í ìœ :
TCP, UDP, SCTP
- íë¡í ìœ :
-
ìžì
ê³ìžµ (Session Layer): ì ëëšì ì¬ì©ì ê°ì ì°ê²°ì êŽëЬíê³ , íµì ë°©ìì ì ìŽíë€.
- íë¡í ìœ :
NetBIOS, RPC, SQL
- íë¡í ìœ :
-
íí ê³ìžµ (Presentation Layer): ë°ìŽí°ì íìì ë³ííê±°ë, ìíží, ë³µíží ë±ì ì²ëŠ¬ë¥Œ ìííë€.
- íë¡í ìœ :
JPEG, MPEG, SMB
- íë¡í ìœ :
-
ìì© ê³ìžµ (Application Layer): ìì© íë¡ê·žëšìê² ìë¹ì€ë¥Œ ì ê³µíë ê³ìžµìŽë€.
- íë¡í ìœ :
HTTP, FTP, SMTP, POP3, IMAP, Telnet, SSH
- íë¡í ìœ :
TCP/IP 4ê³ìžµì Transmission Control Protocol/Internet Protocol 몚ëžì ì믞íë€. ìŽ ëªšëžì ìží°ë· íë¡í ìœ ì€íì ì°žì¡° 몚ëžìŽë€.
4ê³ìžµì ë€ì곌 ê°ìŽ êµ¬ì±ëë€.
- ë€ížìí¬ ìží°íìŽì€ ê³ìžµ (Network Interface Layer): 묌늬ì ìž ë€ížìí¬ë¥Œ êŽëЬíë€. 묌늬 ê³ìžµê³Œ ë°ìŽí° ë§í¬ ê³ìžµì ìí ì ìííë€. ìŽ ê³ìžµììë ë€ížìí¬ ìží°íìŽì€, ë 칎ë ë±ì ì¥ë¹ê° ì¬ì©ëë€.
- ìží°ë· ê³ìžµ (Internet Layer): IP 죌ì륌 ì¬ì©íì¬ ë°ìŽí°ë¥Œ ì ì¡íë€. ë€ížìí¬ ê³ìžµì ìí ì ìííë€. ìŽ ê³ìžµììë IP íë¡í ìœìŽ ì¬ì©ëë€.
- ì ì¡ ê³ìžµ (Transport Layer): TCPë UDP íë¡í ìœì ì¬ì©íì¬ ë°ìŽí°ì ì ì¡ì 볎ì¥íê³ , ì€ë¥ ê²ì¶ê³Œ 복구륌 ëŽë¹íë€. OSI 몚ëžì ì ì¡ ê³ìžµì íŽë¹íë ìí ì ìííë€.
- ìì© ê³ìžµ (Application Layer): ìì© íë¡ê·žëšìê² ìë¹ì€ë¥Œ ì ê³µíë ê³ìžµìŽë€. OSI 몚ëžì ìì© ê³ìžµ, íí ê³ìžµ, ìžì ê³ìžµì ìí ì ìííë€. ìŽ ê³ìžµììë HTTP, FTP, SMTP ë±ì íë¡í ìœìŽ ì¬ì©ëë€.
ASë Autonomous System(ììš ìì€í ) ì ìœìë¡ íëì ë€ížìí¬ êŽëЬìì ìíŽì êŽëЬëë ëŒì°í°ì ì§ëš, íëì êŽëЬ ê·ì ìëì ìŽìëë ëŒì°í°ì ì§ëš, ëë íëì êŽëЬ ì ëµìŒë¡ 구ì±ë ëŒì°í°ì ì§ëšìŽë€.
- AS ììì ëŒì°í°ë€ëŒëЬ ëŒì°í ì 볎륌 ì£Œê³ ë°êž° ìíŽ ëŒì°í°ê° ì¬ì©íë íë¡í ìœ
- ì¢
ë¥:
RIP, IGRP, EIGRP, OSPF
- ASì ASê° ìžë¶ìì ìë¡ ëŒì°í ì 볎륌 ì£Œê³ ë°êž° ìíŽ ëŒì°í°ê° ì¬ì©íë íë¡í ìœ
- ì¢
ë¥:
EGP, BGP (ììŠì EGP ë³Žë€ BGP륌 ì¬ì©íë ì¶ìž)
ëŒì°í°ê° ê°ì§ë ì 볎륌 íšìšì ìŒë¡ êŽëЬíê³ ìží°ë· ìë¹ì€ë¥Œ ì¢ë ê°ížíê² í ì ìë€.
ASìì ìë ëŒì°í°ë€ì ìì ì ASì ìíŽìë ëŒì°í°ì ëí ëŽë¶ ë€ížìí¬ ì ë³Žë§ ìê³ ìë€ê° ìžë¶, ìŠ AS ë°ìŒë¡ ëê°ëë ê·ž ASì 묞ì§êž° ëŒì°í° ASBR (Autonomous System Boundary Router)ìê² ì 볎륌 묌ìŽë³ží ìžë¶ ìží°ë·ìŒë¡ ëê°ê² ëë ê²ìŽë€.
묞ì§êž° ëŒì°í° ASBRì ìì ì ASì ìžì íŽ ìë ë€ë¥ž ASì ëí ì 볎륌 ê°ì§ê³ ììŒë©Žì ìêž° ASìì ë°ìŒë¡ ëê°ë ëŒì°í°ë ìžë¶ ASìì ìêž° AS쪜ìŒë¡ ë€ìŽì€ë ëŒì°í°ìê² ì 볎륌 ì ê³µíë ìí ì íë€.
ìŽë¬í ìì€í ë묞ì ëŒì°í°ë€ì ìží°ë·ì ì ìíëëŒë ì ìžê³ì 몚ë ë€ížìí¬ì ëí ì 볎륌 ë€ ê°ì§ê³ ìì íìììŽ ëšì§ ìì ìŽ ìí ASì ëí ì ë³Žë§ ê°ì§ë©Ž ëë ê²ìŽë€.
ìŽë ëŒì°í°ê° AS ëŽë¶ìì ì¬ì©íë ëŒì°í íë¡í ìœì ëŽë¶ì© ëŒì°í íë¡í ìœ(Interior Routing Protocols) ëë IGP ëŒê³ íê³ , AS ê°ì, ìŠ AS ìžë¶ìì ìë¡ ëŒì°í ì 볎륌 ì£Œê³ ë°êž° ìíŽ ì¬ì© íë ëŒì°í íë¡í ìœì ìžë¶ì© ëŒì°í íë¡í ìœ (Exterior Routing Protocols) ëë EGP ëŒê³ íë€.
BGPë Border Gateway ProtocolìŽë€. ASì ê°ì¥ì늬ì ìì¹í BG(Border Gateway)ë€ ê°ì íë¡í ìœì BGPëŒê³ íë€.
ë°ëŒì 몚ë BGP íë¡í ìœìŽ ìë¡ ë€ë¥ž ASë€ì ì°ê²°íŽì£Œë ê²ìŽìëë€.
ê·žëì ë¬Œë¡ ë€ë¥ž ASë€ì ìí BGê°ì ì°ê²°ìë êŽì¬íì§ë§, ê°ì AS ëŽì BG ê°ì ì°ê²°ìë êŽì¬íë€. ìŽë¬í ìí ì ì°šìŽì ë°ëŒ BGPë í¬ê² ëê°ì§ë¡ 구ë¶ëë€.
ìë¡ ê°ì AS ìì Border Gatewayë€ ëŒëЬì ì°ê²°ì ëŽë¹íë BGP
ìë¡ ë€ë¥ž AS ìì Border Gatewayë€ ëŒëЬì ì°ê²°ì ëŽë¹ì BGP, inter-AS ëŒì°í ìŽë€.
ëí BGP ëŒì°í°ë AS íŒìŽë§ ê³ìœì ì€ì ë ìì¬ ê²°ì ìê³ ëŠ¬ìŠê³Œ ì ì± ì ì¬ì©íŽì í늬íœì€ ì ìžì íµíŽ ìì§íë ë°ìŽí°ë¥Œ ë¶ìíê³ ê·ž ìì ì ê° íší· ì€ížëŠŒì ë³ŽëŒ ìµì ì íŒìŽë¥Œ ì ííë€.
ëë¶ë¶ì ê²œì° ë€ížìí¬ íì ìê° ê°ì¥ ì ì 겜ë¡ê° ì íëì§ë§, íŒì¡ê³Œ ì§ì°ìŒë¡ ìžíŽ ë ꞎ 겜ë¡ì ìëê° ë ë¹ ë¥Œ ìë ìë€.
ížëíœìŽ AS륌 íµê³ŒíŽ ìŽëíì¬ ë€ë¥ž ASì ì°ê²°ë ë€ë¥ž BGP ëŒì°í°ì ëë¬í멎 ë°ìŽí°ê° 목ì ì§ ì¬ìŽížê° ìì¹í ASì ëë¬í ëê¹ì§ ìŽ íë¡ìžì€ê° ë°ë³µëë€. TCP í¬íž 179ë²ì ì¬ì©íê³ ì ëìºì€íž ë°©ììŒë¡ êµííë€.
IGPì ë€ë¥Žê² ì§ì ì°ê²°ëìŽ ìì§ ìì ì¥ë¹ì BGP Peer(Neighbor) êŽê³ë¥Œ íì±íë ê²ìŽ ê°ë¥íë€.
ì ëìºì€íž(1:1)
- ì¶ë°ì§ì 목ì ì§ê° ì ííŽìŒíë ìŒëìŒ íµì
- ì¡ì ë žë íëê° ìì ë žë íëì ë°ìŽí°ë¥Œ ì ì¡íë ìŒëìŒ ë°©ì
ëžë¡ëìºì€íž(1:All)
- ëŽê° ìí ë€ížìí¬ ëŽì 몚ë ì¥ë¹ë€ê³Œ íµì ì íë ë°©ì
- ê°ë³ PCì ì±ë¥ìë ìí¥ì 믞ì¹ê³ , ë€ížìí¬ ì 첎ì ìž ížëíœìë ìí¥ì 믞칚
ë©í°ìºì€íž(1:Group)
- í¹ì ìŒë¶ìê² ì 볎륌 ëìì 볎ëŽìŒ íë ê²œì° ì¬ì© (ex 10ëª ì€ 8ëª )
- ì íì ìŒë¡ ë°ìŽí°ë¥Œ ì ì¡íì¬ ë¶íìí ížëíœìŽë ì±ë¥ì í륌 ë§ì
ì ëìºì€íž(1:1)
- ê°ì¥ ê°ê¹ìŽ ë žëì íµì íë ë°©ì
- ì ëìºì€ížì ì°šìŽì ì ì¡ì ë žëê° ë€ížìí¬ì ì°ê²°ë ìì ê°ë¥í ë žë ì€ í ë žëìë§ ë°ìŽí°ë¥Œ ì ì¡
HTTP ë©ìëë íŽëŒìŽìžížê° ì¹ ìë²ìê² ìŽë€ ì¢ ë¥ì ëìì ìíëì§ë¥Œ ëíëŽë ë°©ë²ìŽë€. ê° ë©ìëë í¹ì í ì¢ ë¥ì ìì ì ìííëë¡ ì€ê³ëìë€.
- ì£Œë¡ ìë²ìì ì 볎륌 ì¡°íí ë ì¬ì©íë€. (Get)
- GET ìì²ì ë°ìŽí°ë¥Œ ë³ê²œíê±°ë ìì±íë ë° ì¬ì©ëì§ ììŒë©°, ì€ì§ ë°ìŽí°ë¥Œ ìœë ë°ë§ ì¬ì©ëë€.
- ì£Œë¡ ìë²ì 늬ìì€ë¥Œ ì¶ê°í ë ì¬ì©íë€. (Create)
- íŽëŒìŽìžížê° ìë²ì 늬ìì€ë¥Œ ìì±íë €ê³ í ë ì¬ì©íë€.
- POST ìì²ì ìë²ìê² ë°ìŽí°ë¥Œ 볎ëŽê³ , ê·ž ë°ìŽí°ë¥Œ ì¬ì©íŽì ìë¡ìŽ ëŠ¬ìì€ë¥Œ ìì±íê±°ë Ʞ졎 늬ìì€ë¥Œ ì ë°ìŽížíëŒë ìì²ì íë€.
- GET ìì²ê³Œ ê±°ì ì ì¬íì§ë§, ì€ì 볞묞ì ëŽì© ììŽ HTTP í€ë ì 볎ë§ì ë°ííë€. (No Body)
- responseì Bodyê° ìë€.
- 늬ìì€ë¥Œ ê°ì žì€ì§ ìê³ ë ê·žì ëí ì 볎륌 ì»ì ì ììŽ íšìšì ìŽë€.
- í¹ì URLì ëìíë 늬ìì€ì ì 첎 ëŽì©ì ê°±ì íë ë° ì¬ì©íë€. (Update)
- ë§ìœ íŽë¹ URLì 늬ìì€ê° ìŽë¯ž 졎ì¬íë€ë©Ž PUT ìì²ì ê·ž 늬ìì€ë¥Œ ìë¡ìŽ ê²ìŒë¡ ë첎íê³ , ë§ìœ 늬ìì€ê° 졎ì¬íì§ ìëë€ë©Ž ìë¡ìŽ ëŠ¬ìì€ë¥Œ ìì±íë€.
- í¹ì 늬ìì€ë¥Œ ì ê±°íë ë° ì¬ì©ëë€.
- DELETE ìì²ì ì±ê³µíì ë ë³Žíµ ìëµ ë³žë¬žì ë°ìŽí°ë¥Œ í¬íšíì§ ìëë€.
- ìì€ì ë¶ë¶ì ìž ë³ê²œì ì ì©íë ë° ì¬ì©ëë€.
- PATCH ìì²ì ìŒë¶ë§ ë³ê²œíêž° ë묞ì PUT ìì²ë³Žë€ ë íšìšì ìŒ ì ìë€.
- 늬ìì€ê° ì§ìíë ë©ìëì ì¢ ë¥ë¥Œ íìžíë ë° ì¬ì©ëë€.
- OPTIONS ìì²ì "Allow"ëŒë í€ëì íšê» íŽë¹ 늬ìì€ìì ì¬ì© ê°ë¥í HTTP ë©ìë 목ë¡ì ë°ííë€.
- ì£Œë¡ ì§ëš 목ì ìŒë¡ ì¬ì©ëë€.
- TRACE ìì²ì íŽëŒìŽìžížìì ìë²ë¡ ì ì¡ëë©°, ìŽ ê³Œì ìì ìŽë€ ë³ê²œìŽë ì¶ê°ê° ìŽë£šìŽì§ëì§ë¥Œ íìžíëë° ì¬ì©ë ì ìë€. TRACE ìì²ìŽ ìë²ì ëë¬í멎, ìë²ë ìì²ì ê·žëë¡ ìëµ ë³žë¬žìŒë¡ ë°ííë€.
- ìŽë¥Œ íµíŽ íŽëŒìŽìžížë ìì²ìŽ ìŽë»ê² ì²ëЬëìëì§ íìží ì ìë€.
- ì£Œë¡ ë€ížìí¬ í°ëì ë§ëë ë° ì¬ì©ëë€. ê°ì¥ íí ìë HTTPS íµì ì ìí SSL í°ëìŽë€.
- íŽëŒìŽìžížê° CONNECT ë©ìë륌 ì¬ì©í멎, ì¹ ìë²ë 목ì ì§ ìë²ìì ë€ížìí¬ ì°ê²°ì ì€ì íê³ , íŽëŒìŽìžížì 목ì ì§ ìë² ì¬ìŽìì ë°ìŽí°ë¥Œ 늎ë ìŽíê² ëë€.
HTTP ìí ìœë(HTTP Status Code)ë HTTP ìëµìì ìë²ê° íŽëŒìŽìžížìê² ìì² ì²ëЬì 결곌륌 ì ë¬íë ë°©ë²ìŽë€.
ìŽ ìœëë ìž ì늬 ì«ìë¡ êµ¬ì±ëë©°, ê°ê°ìŽ ì믞íë ë°ë ë€ì곌 ê°ë€.
- 1xx (Informational): ìì²ìŽ ìì ëìê³ íë¡ìžì€ê° ê³ìëë ì€ìì ëíëžë€.
-
2xx (Successful): ìì²ìŽ ì±ê³µì ìŒë¡ ìì , ìŽíŽ, ê·žëŠ¬ê³ ìì©ëììì ëíëžë€. ê°ì¥ ìŒë°ì ìž ìœëë
200 OKë¡, ìì²ìŽ ì±ê³µì ìŒë¡ ì²ëЬëììì ëíëžë€. -
3xx (Redirection): íŽëŒìŽìžížë ìì²ì ìë£íêž° ìíŽ ì¶ê° ëìì ì·šíŽìŒ íšì ëíëžë€. ì륌 ë€ìŽ,
301 Moved Permanentlyë ìì²í 늬ìì€ì URIê° ë³ê²œëììì ëíëŽë©°, ìë¡ìŽ URI륌 íŽëŒìŽìžížìê² ì ê³µíë€. -
4xx (Client Error): íŽëŒìŽìžížì ìì²ìŽ ì못ëìê±°ë ìë£í ì ììì ëíëžë€. ê°ì¥ íí 볌 ì ìë ìœëë
404 Not Foundë¡, ìì²í 늬ìì€ë¥Œ ìë²ìì ì°Ÿì ì ìì ë ë°íëë€. -
5xx (Server Error): ìë²ê° ì íší ìì²ì ì²ëЬíë ë° ì€íšíìì ëíëžë€.
500 Internal Server Errorë ìë²ì 묞ì ê° ììì ëíëŽë ê°ì¥ ìŒë°ì ìž ìœëìŽë€.
DNS(Domain Name System)ë ìží°ë·ìì ì¬ì©ëë ížì€íž ìŽëŠ(ëë©ìž ìŽëŠ)ì ì€ì IP 죌ìë¡ ë³ííë ìì€í ìŽë€.
Root DNS ìë²ë ìží°ë·ìì ê°ì¥ ì€ìí DNS ìë² ì€ íëìŽë€. ìŽ ìë²ë ì ìžê³ì ìŒë¡ ë¶ì°ëìŽ ììŒë©°, ìží°ë· ìì 몚ë ëë©ìž ìŽëŠì ëí ìµìì DNS ìë²ë¡ ìží°ë· ì 첎 DNS ìì€í ì êž°ìŽë¥Œ ëŽë¹íë€.
ê·žëŠ¬ê³ ë£šíž ëë©ìž ìŽëŠì êŽëЬíë€. ë£šíž ëë©ìž ìŽëŠì ìží°ë·ìì ì¬ì©ëë ëë©ìž ìŽëŠ ì€ ìµìì ëë©ìž ìŽëŠìŽë€. ë£šíž ëë©ìž ìŽëŠì .(ì )ìŒë¡ íìëë©°, ì륌 ë€ìŽ ë³Žì멎 www.aaa.comìŽëŒë ëë©ìž ìŽëŠì ì ë£šíž ëë©ìž ìŽëŠì .comìŽë€.
Root DNS ìë²ë TLD DNS ìë²ì IP 죌ì륌 ìê³ ìë€. ë°ëŒì ì¬ì©ìê° www.aaa.comìŽëŒë ëë©ìž ìŽëŠìŒë¡ 쿌늬륌 ìíí ë, 뚌ì Root DNS ìë²ì íŽë¹ ëë©ìž ìŽëŠì TLD DNS ìë²ê° ìŽëì ìëì§ ë¬ŒìŽë³žë€. ê·žëŠ¬ê³ Root DNS ìë²ë TLD DNS ìë²ì IP 죌ì륌 ë°ííê³ , ìŽí ì¬ì©ìì DNS 쿌늬ë íŽë¹ TLD DNS ìë²ë¡ ì ë¬ëë€.
ìŠ, Root DNS ìë²ë ìží°ë· ìì 몚ë DNS ìë²ì ëí ì¶ë°ì ìŽë©°, ìží°ë· ì 첎 DNS ìì€í ì íµì¬ ìí ì ëŽë¹íë€. Root DNS ìë²ë ì ìžê³ì ìŒë¡ ë¶ì°ëìŽ ììŒë©°, ICANN(Internet Corporation for Assigned Names and Numbers)ìì êŽëЬëë€.
TLD DNS ìë²ë ìží°ë·ìì ì¬ì©ëë ìµìì ëë©ìž ìŽëŠ(Top-Level Domain)ì êŽëЬíë DNS ìë²ìŽë€. .com, .org, .edu ë±ê³Œ ê°ìŽ ìµìì ëë©ìž ìŽëŠì ëí DNS ìë²ë¡, ê° ëë©ìž ìŽëŠì DNS 쿌늬륌 ì²ëЬíë€.
TLD DNS ìë²ë ê° TLD ëë©ìž ìŽëŠì ëí IP 죌ìì êž°í DNS ë ìœë ì 볎륌 êŽëЬíë€. ì륌 ë€ìŽ, .com ëë©ìž ìŽëŠì ëí TLD DNS ìë²ë .com ëë©ìž ìŽëŠì ëí 몚ë DNS 쿌늬륌 ì²ëЬí©ëë€. ìŽë¬í DNS 쿌늬ë íŽë¹ ëë©ìž ìŽëŠì ëí IP 죌ì륌 ì°Ÿë ê²ìŽ ì£Œë 목ì ìŽë€.
TLD DNS ìë²ë ëí ICANN(Internet Corporation for Assigned Names and Numbers)ì ë±ë¡ëìŽ ììŒë©°, íŽë¹ TLD ëë©ìž ìŽëŠì ì¬ì©íë ëë©ìž ìŽëŠ ë±ë¡ ì 첎(Domain Name Registrar)ì íë ¥íì¬ íŽë¹ ëë©ìž ìŽëŠì ëí ì 볎륌 ì ë°ìŽížíë€.
TLD DNS ìë²ë Root DNS ìë²ë¡ë¶í° ìì²ë DNS 쿌늬륌 ë°ëë€. Root DNS ìë²ë TLD DNS ìë²ì IP 죌ì륌 ìê³ ììŒë©°, ìŽë¥Œ íµíŽ ì¬ì©ìê° ìì²í ëë©ìž ìŽëŠì TLD DNS ìë²ë¥Œ ì°Ÿìì DNS 쿌늬륌 ì ë¬íë€. TLD DNS ìë²ë ìŽí íŽë¹ ëë©ìž ìŽëŠì Second-Level DNS ìë²ë¥Œ ì°Ÿìì DNS 쿌늬륌 ì ë¬íë€.
ë°ëŒì, TLD DNS ìë²ë ìží°ë· ìì 몚ë ëë©ìž ìŽëŠì ëí DNS 쿌늬 ì²ëЬìì ì€ìí ìí ì ëŽë¹í©ëë€. TLD DNS ìë²ë ì ìžê³ì ìŒë¡ ë¶ì°ëìŽ ììŒë©°, ëë©ìž ìŽëŠ ë±ë¡ ì 첎ì ICANNì ìíŽ êŽëЬëë€.
Second-Level DNSë DNSì íµì¬ ìì ì€ íëë¡, í¹ì ëë©ìž ìŽëŠì ëí IP 죌ì ì 볎륌 ì ê³µíë DNS ìë²ìŽë€.
ìŒë°ì ìŒë¡ ëë©ìž/ížì€í ì 첎ì ë€ììë²ë¥Œ ë§íë€.
ëí íŽë¹ ëë©ìž ìŽëŠì ëí ì 볎륌 ê°ì§ê³ ìë ìµì¢
ì ìž ëµë³ì ìí ì íë€. ì륌 ë€ìŽ aaa.com ëë©ìž ìŽëŠì ëí IP 죌ì륌 ìê³ ìë DNS ìë²ê° ìë€ë©Ž, íŽë¹ DNS ìë²ë Second-Level DNS ìë²ê° ëë€.
DNS recordë Domain Name System(DNS)ìì ëë©ìž ìŽëŠê³Œ íŽë¹ ëë©ìžê³Œ ì°ê²°ë IP 죌ì륌 ë§€ííë ë° ì¬ì©ëë ë°ìŽí° í목ìŽë€. DNS ë ìœëë ëë©ìž ìŽëŠê³Œ êŽë šë ì 볎륌 ëŽê³ ììŒë©°, DNS 쿌늬륌 ìííë ìë²ì ìíŽ ì¬ì©ëë€.
DNS ë ìœëì ì íì ë€ìíë€. ë€ìì ìŒë°ì ìž DNS ë ìœë ì íì ëª ê°ì§ ììŽë€.
- A ë ìœë: ëë©ìž ìŽëŠì IP 죌ìë¡ ë§€ííë€. ìŽ ë ìœëë ëë©ìž ìŽëŠì IP 죌ìë¡ íŽìíë ë° ì¬ì©ëë€..
- CNAME ë ìœë: ëë©ìž ìŽëŠì ë€ë¥ž ëë©ìž ìŽëŠìŒë¡ ë§€ííë€.. ìŽ ë ìœëë ëë©ìž ìŽëŠì ë€ë¥ž ëë©ìž ìŽëŠìŒë¡ ë³ê²œíë ë° ì¬ì©ëë€..
- MX ë ìœë: ëë©ìž ìŽëŠê³Œ ì°ê²°ë ë©ìŒ ìë²ì ì°ì ìì륌 ì§ì íë€. ìŽ ë ìœëë ìŽë©ìŒì ì ì¡í ë ëë©ìž ìŽëŠê³Œ ì°ê²°ë ë©ìŒ ìë²ë¥Œ ì°Ÿë ë° ì¬ì©ëë€.
- NS ë ìœë: ëë©ìž ìŽëŠì ëí ê¶í DNS ìë²ë¥Œ ìë³íë€. ìŽ ë ìœëë DNS ì¿ŒëŠ¬ê° ìíë ë ëë©ìž ìŽëŠì ëí ê¶í DNS ìë²ë¥Œ ì°Ÿë ë° ì¬ì©ëë€.
- TXT ë ìœë: ëë©ìž ìŽëŠê³Œ ì°ê²°ë í ì€íž ì 볎륌 í¬íšëë€. ìŽ ë ìœëë 볎ì, ìžìŠ ë± ë€ìí 목ì ìŒë¡ ì¬ì©ëë€.
- SPF(Sender Policy Framework) ë ìœë: ìŽë©ìŒ ì€ížì ë°©ì§íêž° ìíŽ ëë©ìž ìŽëŠì ìŽë©ìŒ ë°ì¡ ê¶íì íìžíë ë° ì¬ì©ëë€. SPF ë ìœëë ëë©ìž ìŽëŠì ê²ìíì¬ ìŽë©ìŒ ë°ì¡ ê¶íì íìžíê³ , ìŽë¥Œ íµíŽ ëë©ìž ìŽëŠì ìŽë©ìŒ ì€ížì ë°©ì§íë€.
- SRV(Service) ë ìœë: DNS ìë²ê° ì ê³µíë í¹ì ìë¹ì€ì ìì¹ë¥Œ ìë³íë ë° ì¬ì©ëë€. ìŽ ë ìœëë ì¹ ìë¹ì€, VoIP, FTP ë±ê³Œ ê°ì í¹ì ìë¹ì€ì ìì¹ë¥Œ ì°Ÿë ë° ì¬ì©ëë€.
- AAAA ë ìœë: IPv6 죌ì륌 ëë©ìž ìŽëŠì ë§€ííë ë° ì¬ì©ëë€. IPv6ë IPv4ì 죌ì ê³ ê° ë¬žì 륌 íŽê²°íêž° ìíŽ ê°ë°ë ìë¡ìŽ IP 죌ì 첎ê³ìŽë€.
- SOA(Start of Authority) ë ìœë: ëë©ìž ìŽëŠì ëí Ʞ볞 ì€ì ì ì ê³µíë€. ìŽ ë ìœëë ëë©ìž ìŽëŠì ìì ì, DNS ìë², ìºì ë ì 볎ì ì íš êž°ê° ë±ì ì 볎륌 ì ê³µíë€.
- PTR(Pointer) ë ìœë: ìŽ ë ìœëë IP 죌ì륌 ëë©ìž ìŽëŠìŒë¡ ë§€ííë ë° ì¬ì©ëë€. A ë ìœëê° ëë©ìž ìŽëŠì IP 죌ìë¡ ë§€ííë ë°ë©Ž, PTR ë ìœëë IP 죌ì륌 ëë©ìž ìŽëŠìŒë¡ ë§€ííë€. PTR ë ìœëë ì DNS (reverse DNS)ëŒê³ ë íë©°, ì£Œë¡ ìŽë©ìŒ ìë²ìì ì¬ì©ëë€.. ìŽë©ìŒ ìë²ììë ì ì¡ë ìŽë©ìŒì IP 죌ì륌 ì DNS ì¿ŒëŠ¬ë¡ ê²ìíì¬ íŽë¹ IP 죌ìê° ì 뢰í ì ìë ìì€ìì ì ì¡ëìëì§ íìží ì ìë€.
Service Meshë ë¶ì° ì í늬ìŒìŽì ìì ìë¹ì€ ê°ì íµì ì êŽëЬíêž° ìí ìžíëŒì€ížëì²ìŽë€. ë§ìŽí¬ë¡ìë¹ì€ ìí€í ì²ììë ì¬ë¬ ê°ì ìì ìë¹ì€ë¡ 구ì±ë ì í늬ìŒìŽì ì 구ì¶íê² ëëë°, ìŽë¬í ìì ìë¹ì€ë€ì ìë¡ íµì í멎ì ì í늬ìŒìŽì ì 구ì±í. ìŽë, ìë¹ì€ ê°ì íµì ì ë€ížìí¬ ììì ë°ìíêž° ë묞ì ìŽë¥Œ êŽëЬíêž° ìí ìžíëŒì€ížëì²ê° íìíë€.
Service Meshë ìŽë¬í ìë¹ì€ ê°ì íµì ì ì¶ìííì¬ êŽëЬíë€. ìŠ, ìë¹ì€ ê°ì íµì ì ìí ë€ížìí¬ ìžíëŒë¥Œ ìœê² êŽëЬí ì ìëë¡ ëìì€ë€. Service Meshë ë¶ì° ì¶ì , 볎ì, ë¡ê¹ , ë¶í ë¶ì° ë±ì êž°ë¥ì ì ê³µíë©°, ìŽë¬í êž°ë¥ë€ì ìë¹ì€ ê°ì íµì ì ìì íê³ íšìšì ìŒë¡ ì²ëЬí ì ìëë¡ ëìì€ë€.
Service Mesh륌 구ííë ë°©ë²ìë ì¬ë¬ê°ì§ê° ìì§ë§, ìŒë°ì ìŒë¡ë ì¬ìŽë칎 íšíŽ(Sidecar Pattern)ì ì¬ì©íë€. ì¬ìŽë칎 íšíŽì ê° ìë¹ì€ ìžì€íŽì€ì ì¬ìŽë칎 컚í ìŽë륌 ë°°ì¹íì¬, ìŽë¥Œ íµíŽ ìë¹ì€ ê°ì íµì ì êŽëЬíë€. ìŽë, ì¬ìŽë칎 컚í ìŽëë Service Mesh ì룚ì ìì ì ê³µíë íë¡ìë ììŽì ížë¡ 구ì±ëë€.
Istio ëë Linkerdì ê°ì ìë¹ì€ ë©ìë Kubernetes í겜ìì ì죌 ì¬ì©ëë€.
- ë¶ì° ì¶ì : ìë¹ì€ ê°ì íµì ì ì¶ì íê³ ë¶ìíì¬, 묞ì ë°ì ì ì ìí ëììŽ ê°ë¥íë€.
- 볎ì: ížëíœ ìíží, ìžìŠ, ìžê°, ì ê·Œ ì ìŽ ë±ì êž°ë¥ì ì ê³µíì¬, 볎ìì±ì í¥ììíšë€.
- ë¡ê¹ : ìë¹ì€ ê°ì íµì ëŽìì êž°ë¡íì¬, 묞ì íŽê²°ì ëìì ì€ë€.
- ë¶í ë¶ì°: ížëíœì ì¬ë¬ ìë¹ì€ ìžì€íŽì€ë¡ ë¶ì°ììŒ, ìì ì ìž ìë¹ì€ ì ê³µì ê°ë¥íê² íë€.
죌ì Service Mesh ì룚ì ìŒë¡ë Istio, Linkerd, Consul ë±ìŽ ìë€. ìŽë¬í ì룚ì ì ì¬ì©í멎, Service Mesh륌 ìœê² 구ííê³ ìŽìí ì ìë€.
API Gatewayë ë§ìŽí¬ë¡ìë¹ì€ ìí€í ì²ìì ì¬ë¬ ê°ì ìë¹ì€ë¥Œ íëì APIë¡ ë žì¶ìí€ë ìí ì íë ìë¹ì€ìŽë€. íŽëŒìŽìžížë API Gatewayì HTTP ìì²ì 볎ëŽë©Ž, API Gatewayë ëŽë¶ì ì¬ë¬ ìë¹ì€ë¥Œ ížì¶íê³ , ê·ž 결곌륌 ì ì í ë³ííì¬ íŽëŒìŽìžížìê² ì ë¬íë€.
- ìžìŠê³Œ ìžê°: íŽëŒìŽìžížì ìì²ì ê²ìŠíê³ , ì¬ì©ì ìžìŠê³Œ ê¶í ê²ì¬ë¥Œ ìííë€. ìŽë¥Œ íµíŽ ë³Žìì ìž ìž¡ë©Žìì ìì í API륌 ì ê³µí ì ìë€.
- ë¡ë ë°žë°ì±: ì¬ë¬ ê°ì ìë¹ì€ë¥Œ ì²ëЬí ë, ìì²ì ë¶ì°íì¬ ê°ê°ì ìë¹ì€ì ê³ ë¥Žê² ì ë¬íë€. ìŽë¥Œ íµíŽ ê° ìë¹ì€ì ë¶í륌 ë¶ì°ìí¬ ì ìê³ , ê°ì©ì±ì í¥ììí¬ ì ìë€.
- ìºì±: ë°ë³µì ìž ìì²ì ëíŽ ë¹ ë¥ž ìëµì ì ê³µíêž° ìíŽ, API Gatewayë ìºì륌 íì©íì¬ ìë¹ì€ì ë¶í륌 ì€ìžë€.
- ë¡ê¹ 곌 몚ëí°ë§: API Gatewayë íŽëŒìŽìžížì ìì² ë° ìë¹ì€ì ìëµ ë±ì êž°ë¡íê³ ëªšëí°ë§í ì ìë€. ìŽë¥Œ íµíŽ ë¬žì ë°ì ì ìŠê°ì ìŒë¡ ëìí ì ìë€.
- API êŽëЬ: API Gatewayë API륌 êŽëЬíê³ ë²ì ì êŽëЬí ì ìë€. ìë¡ìŽ ë²ì ì API륌 ë°°í¬íê±°ë, ìŽì ë²ì ì API륌 ì ê±°í ì ìë€.
API Gatewayë ë§ìŽí¬ë¡ìë¹ì€ ìí€í ì²ìì íìì ìž ìë¹ì€ë¡, ë€ìí êž°ë¥ê³Œ ì ì°ì±ì ì ê³µíì¬ ì í늬ìŒìŽì ì íšìšì ìŒë¡ êŽëЬíê³ ìŽìí ì ìë€.
API Gatewayì Service Meshë 몚ë ë¶ì° ì í늬ìŒìŽì ìì ìë¹ì€ ê°ì íµì ì êŽëЬíêž° ìí ë구ìŽë€. íì§ë§ ëì 목ì 곌 구í ë°©ë²ìì ì°šìŽê° ìë€.
API Gatewayë íŽëŒìŽìžížì ë°±ìë ìë¹ì€ ê°ì íµì ì ì€ê°íë ìë²ìŽë€. íŽëŒìŽìžížë API Gateway륌 íµíŽ ë°±ìë ìë¹ì€ì ìì²ì 볎ëŽë©°, API Gatewayë íŽë¹ ìì²ì ìì íì¬ íìí ìžìŠ, ìžê°, ë¡ê¹ ë±ì ì²ëŠ¬ë¥Œ ìíí ë€ì ë°±ìë ìë¹ì€ì ì ë¬íë€. API Gatewayë ëšìŒ ì§ì ì (Single Entry Point)ì ì ê³µíì¬ íŽëŒìŽìžížì ë°±ìë ìë¹ì€ ê°ì íµì ì ê°ìííê³ , 볎ì곌 몚ëí°ë§ì í¥ììí¬ ì ìë€.
ë°ë©Žì, Service Meshë ë¶ì° ì í늬ìŒìŽì ëŽë¶ì ìë¹ì€ ê°ì íµì ì êŽëЬíë€. ê° ìë¹ì€ ìžì€íŽì€ì ì¬ìŽë칎 컚í ìŽë륌 ë°°ì¹íì¬, ìŽë¥Œ íµíŽ ìë¹ì€ ê°ì íµì ì ì€ê°íë€. Service Meshë ë¶ì° ì¶ì , 볎ì, ë¡ê¹ , ë¶í ë¶ì° ë±ì êž°ë¥ì ì ê³µíì¬ ìë¹ì€ ê°ì íµì ì ìì íê³ íšìšì ìŒë¡ ì²ëЬí ì ìëë¡ ëìì€ë€.
ë°ëŒì, API Gatewayë íŽëŒìŽìžížì ë°±ìë ìë¹ì€ ê°ì íµì ì ì€ê°íë ìë²ë¡ì, ìžë¶ìì ì¡ìžì€íë ìë¹ì€ë¥Œ êŽëЬíê³ ë³Žížíëë° ì¬ì©ëë©°, Service Meshë ë¶ì° ì í늬ìŒìŽì ëŽë¶ì ìë¹ì€ ê°ì íµì ì êŽëЬíì¬, ë¶ì° ì í늬ìŒìŽì ì 볎ížíê³ ìì ì ìŒë¡ ìŽìíëë° ì¬ì©ëë€.
ìë°©í¥ íë¡ì(Reverse Proxy) ë ì¹ ìë² ìì ìì íŽëŒìŽìžíž(ì: ì¹ ëžëŒì°ì ) ìì²ì ì¹ ìë²ì ì ë¬íë ìë²ì í ì íìŽë€. ìë°©í¥ íë¡ìì ìë°©í¥ íë¡ìì 죌ì ì°šìŽì ì ìë¹ì€ì ë°©í¥ì ìë€. ìë°©í¥ íë¡ìë ì¬ì©ìì ìží°ë·ì ë°©ëí ìì ì¬ìŽì ê²ìŽížìšìŽ ìí ì íë ë°ë©Ž, ìë°©í¥ íë¡ìë ìží°ë·ê³Œ ë ìì ìë² ê·žë£¹ ì¬ìŽì ê²ìŽížìšìŽ ìí ì íë€.
- ë¡ë ë°žë°ì±(Load Balancing): íŽëŒìŽìžíž ìì²ì ì¬ë¬ ìë²ì ë¶ì°íì¬ ë¡ë ê· íì ì¡°ì íì¬ ëŠ¬ìì€ì ìëì ìì ì±ì í¥ììíšë€.
- êžë¡ë² ìë² ë¡ë ë°žë°ì±(Global Server Load Balancing): ì¬êž°ìë íŽëŒìŽìžížì ì§ëЬì ìì¹ë¥Œ êž°ë°ìŒë¡ ê°ì¥ ê°ê¹ìŽ ìë²ë¡ íŽëŒìŽìžíž ìì²ì ëŒì°í íì¬ ì¬ì©ì ìëµ ìê°ì í¥ììí€ë ìì ìŽ í¬íšëë€.
- SSL ìíží(SSL Encryption): SSL ìžìŠì êŽëŠ¬ë¥Œ ê°ë³ ìë²ìì êŽëЬíë ëì í ê³³ìì ì€ì ì§ì€ííë€.
- ìœí ìž ìºì±(Caching Content): ì¹ ìë²ìì ìºìë ì ì ë° ëì ìœí ìž ë¥Œ ì ê³µíì¬ ìë² ë¡ë륌 ì€ìžë€.
- ìì¶(Compression): íìŒì íŽëŒìŽìžížì 볎ëŽêž° ì ì ìì¶íì¬ ìëµ ëìíì ì€ìžë€.
- 볎ì ë° ìµëª ì±(Security and Anonymity): ë°±ìë ìë²ì í¹ì±ê³Œ ì¶ì²ë¥Œ ìšê²š 볎ìì ì ê³µíë€.
Nginxë ì¹ ìë², ë¡ë ë°žë°ì, HTTP ìºì ë° ë©ìŒ íë¡ìë¡ ì¬ì©ëë ê² ìžìë ìžê³ìì ê°ì¥ ìžêž° ìë ìë°©í¥ íë¡ì ìë² ì€ íëìŽë€. ê³ ì±ë¥, ìì ì±, íë¶í êž°ë¥ ìžíž, ê°ëší êµ¬ì± ë° ë®ì 늬ìì€ ìë¹ë¡ ì ìë €ì ž ìë€.
http {
upstream backend {
server backend1.example.com weight=5;
server backend2.example.com;
server backend3.example.com;
}
server {
listen 80;
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}-
upstream backendë ìë¡ ë€ë¥ž ê°ì€ì¹ë¥Œ ê°ë ìë² ë°±ìë 귞룹ì ì ìíë€(ì§ì ëì§ ìì ê²œì° ê°ê°ì ê°ì€ì¹ë ëìŒíš). ìŽë¥Œ íµíŽ Nginxë ížëíœì ë€ë¥ž ìë²ë¡ ì ë¬í ë¿ë§ ìëëŒ ê°ì€ì¹ê° ë ëì ìë²ì ë ë§ì ížëíœì í ë¹íšìŒë¡ìš ë¡ë륌 ë¶ì°í ì ìë€. -
proxy_passì§ììŽë ìì²ì ì ì€ížëŠŒ ìë² ê·žë£¹ì ì ë¬íë€. -
proxy_set_headerì§ì묞ì ë°±ìë ìë²ì ì ë¬ëë ìì² í€ë륌 ìì í©ëë€. ì¬êž°ìë ì€ì íŽëŒìŽìžíž IP 죌ì ë° êž°í ìžë¶ ì 볎륌 ë°±ìëë¡ ì ë¬íë ê²ìŽ í¬íšë ì ìë€.
STP(Spanning Tree Protocol) ë° RSTP(Rapid Spanning Tree Protocol)ë ë€ížìí¬ í겜ìì 룚í ìí륌 ë°©ì§íë ë° ì¬ì©ëë ë ê°ì§ ë€ížìí¬ íë¡í ìœìŽë€. ìŽë ì€ìì¹ ê° ë€ì€ 겜ë¡ë¥Œ í¬íšíë ìŽëë· ë€ížìí¬ìì í¹í ì€ìíë€.
IEEE 802.1Dë¡ íì€íë STPë ìŽëë· ë€ížìí¬ë¥Œ ìí 룚í ìë í íŽë¡ì§ë¥Œ ì ì§íëë¡ ì€ê³ëìë€. ìŽê²ì 룚í륌 ìŒêž°í ì ìë ì€ë³µ 겜ë¡ë€ ì€ ìŒë¶ë¥Œ ì íì ìŒë¡ ì°šëšíšìŒë¡ìš ìëíë€. STPë íì± ë§í¬ê° ì€íší 겜ì°, ëžëŠ¬ì§ ë£šíë ê·žì ì°êŽë ë°©ì¡ ë°©ì¬ì ìí ììŽ, ëŽê²°íšì± ë° ìë ë°±ì ê²œë¡ íì±í륌 ì ê³µíêž° ìíŽ ë€ížìí¬ ì€ê³ë¥Œ í¬íšíëë¡ íë€.
ìëë°©ìì ìëì ê°ë€.
- ë£šíž ëžëŠ¬ì§ ì í(Root Bridge Selection): 몚ë ì€ìì¹ë ì í íë¡ìžì€ì ì°žì¬íì¬ ë€ížìí¬ì ë ŒëŠ¬ì ì€ì¬ìž ë£šíž ëžëЬì§ë¥Œ ì ííë€. ëžëŠ¬ì§ IDê° ê°ì¥ ë®ì ì€ìì¹ê° 룚ížê° ëë€.
- ê²œë¡ ì í(Path Selection): ê° ì€ìì¹ë ê²œë¡ ë¹ì©ì êž°ì€ìŒë¡ ì첎ìì ë£šíž ëžëЬì§ê¹ì§ì ìµëš 겜ë¡ë¥Œ ê²°ì íë€.
- ì€ë³µ ê²œë¡ ì°šëš(Blocking Redundant Paths): 룚í륌 ë°©ì§íêž° ìíŽ STPë 룚í륌 íì±í ì ìë ì€ë³µ 겜ë¡ë¥Œ ì°šëšíì§ë§ ìŽë¥Œ ë°±ì ë§í¬ë¡ ì ì§íë€.
- í¬íž ìí ë° ìí (ort States and Roles): STP í íŽë¡ì§ì í¬ížë ì°šëš, ë£êž°, íìµ, ì ë¬ ëë ë¹íì±íì ê°ì ì¬ë¬ ìí ì€ íëìŒ ì ìë€. ë£šíž ëžëЬì§ê° ìë ê° í¬ížìë ë£šíž í¬íž(ë£šíž ëžëЬì§ì ëë¬íë ê°ì¥ ì¢ì í¬íž), ì§ì ë í¬íž(ë€ížìí¬ ìžê·žëšŒížë¥Œ ì€ê°ë í¬íž ì ë¬ íë ì) ëë ì§ì ëì§ ìì í¬íž(ì°šëšë í¬íž) ì€ íëì ìí ìŽ ìë€.
IEEE 802.1wì ì ìë RSTPë ë€ížìí¬ ë³ê²œ ì ë ë¹ ë¥ž ìë Žì ì ê³µíë STPì ì§ííìŽë€. íì€ STPì ìížíëëë¡ ì€ê³ëìë€.
ìëë°©ìì ìëì ê°ë€.
- Faster Convergence: RSTPë ë¹ ë¥ž ìí ì íì íµíŽ ë ë¹ ë¥ž ìë Žì ë¬ì±í ì ìë€. ìë¡ìŽ í¬íž ìí 곌 ìí륌 ëì íì¬ íìŽëšžê° ë§ë£ë ëê¹ì§ êž°ë€ëŠ¬ì§ ìê³ ë ì€ìì¹ê° í¬ížë¥Œ ì ë¬ ìíë¡ ìì íê² ìŽëí ì ìëì§ ì ê·¹ì ìŒë¡ íìží ì ìë€.
- í¬íž ìí (Port Roles): RSTPë ë£šíž í¬íž, ì§ì í¬íž, ë첎 í¬íž(ë£šíž í¬ížë¡ ë°±ì ), ë°±ì í¬íž(ì§ì í¬ížë¡ ë°±ì )ì ê°ì ìí ì ì ìíë€.
- í¬íž ìí(Port States): RSTPë STPì 5ê° í¬íž ìí(íêž°, íìµ ë° ì ë¬)ì ë¹íŽ 3ê° í¬íž ìíë§ ì¬ì©íë€.
- ìì§ í¬íž(Edge Ports): ìë ì€í ìŽì ì ì§ì ì°ê²°ë í¬ížë ë€ížìí¬ ë£ší륌 ìì±í ê°ë¥ì±ìŽ ììŒë¯ë¡ ìŽë¬í í¬ížë¥Œ ìì§ í¬ížë¡ 구ì±íì¬ êž°ì¡Ž ì²ì·š/íìµ ìí륌 ì°ííê³ ì ë¬ ìíë¡ ì§ì ì íí ì ìë€.
- ë§í¬ ì í(Link Type): RSTPë ë§í¬ ì íë ìë³í ì ììŒë©° ë§í¬ê° ì§ì ê° ë§í¬ìž ê²œì° RSTPë íŽë¹ ë§í¬ì ìë Ž ìë륌 ëìžë€.
ìŽì ì ìëì ê°ë€. ë€ížìí¬ ë³ê²œìŽë ì¥ì ì ëìíì¬ íšì¬ ë ë¹ ë¥ž 복구륌 ì ê³µíì¬ ë§ì 겜ì°ì ìì ìŽ(STP ì¬ì©)ìì 1ìŽ ë¯žë§ìŒë¡ ìê°ì ëšì¶íë€. ë€ížìí¬ ë¬žì íŽê²°ì ëšìííê³ ë€ížìí¬ ìì ì±ê³Œ ì±ë¥ì í¥ììíšë€.
ììœí멎 STPë ë€ížìí¬ ë£ší륌 ë°©ì§íë ë° íšê³Œì ìŽì§ë§ RSTPë ë ë¹ ë¥ž ìë Žì ì ê³µíì¬ STP륌 ê°ì íë€. ìŽë ê°ë ì€ì§ ìê°ì ìµìííë ê²ìŽ ì€ìí ë€ížìí¬ìì ë§€ì° ì€ìí ì ìë€.
Hub & Spoke ë€ížìí¬ ìí€í ì²ë ì€ì ì§ì€ì êŽëЬì íšìšì ìž ì°ê²° ì¬ì©ìŽ íìí ë€ìí ë¶ìŒì ì ì©ëë Ʞ볞 ì€ê³ìŽë€. ì€ì ì§ì ì ê°ë ¥íê² êŽëЬí ì ìê³ ë€ížìí¬ ìžíëŒë¥Œ íšìšì ìŒë¡ íì¥íë €ë ì¡°ì§ì ì í©íë€.
- íëž(Hub): ë€ížìí¬ì ë€ë¥ž 몚ë ë žëì ëí ê³µíµ ì°ê²° ì§ì ìí ì íë ì€ì ë žëìŽë€. íëžë 몚ë ë°ìŽí°ê° íµê³Œíë ë€ížìí¬ì íµì¬ìŒë¡, ë°ìŽí° íëŠì êŽëЬíë 구ì¬ì ìí ì íë€.
- ì€í¬í¬(Spoke): íëžì ì°ê²°ë ë žëìŽë€. ê° ì€í¬í¬ë íëžìë§ ì°ê²°ëë©° ë€ë¥ž ì€í¬í¬ìë ì°ê²°ëì§ ìëë€. ìŽ ì€ì ì ë žë ê°ì ì°ê²° ì륌 ì€ì¬ ì 첎 ë€ížìí¬ ì€ê³ë¥Œ ëšìííë€.
- ì€ì ì§ì€ì êŽëЬ(Centralized Management): Hub & Spoke ìí€í ì²ë¥Œ ì¬ì©í멎 ì€ì ì§ì€ì êŽëŠ¬ê° ê°ë¥íë¯ë¡ ì ì± ì ë ìœê² 구ííê³ ë€ížìí¬ íëì 몚ëí°ë§í ì ìë€.
- 늬ìì€ ì¬ì©ì íšìšì±(Efficiency in Resource Use): 늬ìì€ë¥Œ íëžì ì€ì ì§ì€ííšìŒë¡ìš ë€ížìí¬ë ëìíì íšìšì ìŒë¡ êŽëЬíê³ ížëíœ ì°ì ìì륌 ì§ì í ì ììŒë©° ìŽë í¹í WAN(êŽì ë€ížìí¬)ì ì ì©íë€.
- íì¥ì±(Scalability): ì ì€í¬í¬ë¥Œ ì¶ê°íë ê²ì Ʞ졎 ì€í¬í¬ ì°ê²°ì ìí¥ì ì£Œì§ ìê³ íëžìì ì ë žëë¡ ëŒìžì íì¥íë ìì ìŽë¯ë¡ ë¹êµì ê°ëšíë€.
- ì¥ì
- ê°ëší ìžíëŒ(Simplified Infrastructure): ì¬ë¬ ë žë ê°ì ì§ì ì°ê²°ì ìµìííì¬ ì¬ë¬ ë žë륌 ì°ê²°íë ë³µì¡ì±ì ì€ìžë€.
- ë¹ì© íšìšì (Cost-Effective): ê° ë žëê° ë€ë¥ž 몚ë ë žëì ì§ì ì°ê²°ëë ìì ë©ìí ë€ížìí¬ì ë¹íŽ ìŒìŽëž ì°ê²°ìŽë ëŒì°í ìŽ ë íìíë€.
- ì ì§ êŽëЬ ë° ë¬žì íŽê²°(Easier Maintenance and Troubleshooting): íëžìì êŽëЬ êž°ë¥ì ì€ì ì§ì€íí멎 ì ë°ìŽíž ë°°í¬ ë° ë¬žì íŽê²°ìŽ ë ì¬ìì§ë€.
- ëšì
- ëšìŒ ì€íš ì§ì (Single Point of Failure): íëžê° ì€ìí ì€íš ì§ì ìŽ ëë€. íëžê° ë€ìŽë멎 ì€í¬í¬ ì 첎ì 몚ë ì°ê²°ìŽ ëìŽì§ ì ìë€.
- ì ì¬ì ìž ë³ëª© íì(Potential Bottlenecks): ì ëë¡ ì¥ì°©ëì§ ìì 겜ì°, í¹í ë€ížìí¬ ížëíœìŽ ë§€ì° ëì ê²œì° íëžì ë³ëª© íììŽ ë°ìíì¬ ì±ë¥ê³Œ ìëì ìí¥ì ë¯žì¹ ì ìë€.
- íì¥ íëž ë° ì€í¬í¬(Extended Hub & Spoke): ëë¡ë ë¡ë륌 ë¶ì°íê³ ì€ë³µì±ì ì ê³µíêž° ìíŽ ë³Žì¡° íëžê° ëì ëìŽ ëšìŒ íëž ìì€í ì ëŽì¬ë ìí ì€ ìŒë¶ë¥Œ ìíí ì ìë€.
IPsec(ìží°ë· íë¡í ìœ ë³Žì) ë° SSL(볎ì ììŒ ë ìŽìŽ) ì 몚ë ë€ížìí¬ ížëíœì 볎ížíë ë° ì¬ì©ëë íë¡í ìœìŽë€. ìŽë ìží°ë·ì íµíŽ ë°ìŽí° 묎결ì±, êž°ë°ì± ë° ì 뢰ì±ì ì ê³µíì§ë§ ë€ížìí¬ ì€íì ë€ìí ê³ìžµìì ìëíë€.
IPsecì íµì ìžì ì ê° IP íší·ì ìžìŠíê³ ìížííì¬ ìží°ë· íë¡í ìœ(IP) íµì ì 볎ížíêž° ìí íë¡í ìœ ëªšììŽë€. IPsecìë ìžì ìì ì ììŽì íž ê° ìíž ìžìŠì ì€ì íê³ ìžì ì€ì ì¬ì©í ìíží í€ë¥Œ íìíêž° ìí íë¡í ìœìŽ í¬íšëìŽ ìë€.
- ë€ížìí¬ ê³ìžµ 볎ì(Network Layer Security): IPsecì IP ê³ìžµìì ìëíë¯ë¡ ìŽë¥Œ íµê³Œíë 몚ë ížëíœì 볎íží ì ììŒë¯ë¡ VPNì ì í©íë€.
- ìíží ë° ìžìŠ(Encryption and Authentication): ë ê°ì§ ìë 몚ë륌 ì ê³µí©ëë€. ì ì¡ ëªšë(encrypts the payload only) ë° í°ë 몚ë(encrypts the entire IP packet).
- ë€ìí ì í늬ìŒìŽì (Versatile in Application): ìží°ë·ê³Œ ê°ìŽ ì 뢰í ì ìë ë€ížìí¬ìì 볎ì ë€ížìí¬(VPN)륌 ë§ëë ë° ì¬ì©í ì ìë€.
SSL(and its successor, TLS - Transport Layer Security)ì ë€ížìí¬ë¡ ì°ê²°ë 컎íší° ê°ì ì°ê²°ì 볎ížíêž° ìí íë¡í ìœìŽë€. ìëë HTTP ížëíœì©ìŒë¡ ì€ê³ëìì§ë§ ìží°ë·ì íµí ë€ìí ì íì íµì ì 볎ížíë ë° ì¬ì©ëë€.
- ìžì ê³ìžµ 볎ì(Session Layer Security): SSLì ìžì ê³ìžµìì ìëíì§ë§ SSLì íì©íëë¡ ì€ê³ë í¹ì ì í늬ìŒìŽì ì 볎ížíë€.
- ìíží, ìžìŠ ë° ë¬Žê²°ì±(Encryption, Authentication, and Integrity): SSLì ë°ìŽí°ê° ìží°ë·ì íµíŽ ì ì¡ëêž° ì ì ìíží ìê³ ëŠ¬ìŠì ì¬ì©íì¬ ë°ìŽí°ë¥Œ ìížííê³ ìžìŠì ìíŽ ìžìŠì륌 ì¬ì©íë€.
- 볎ì ì¹ ëžëŒì°ì§ì ë늬 ì¬ì©ëš(Widely Used for Secure Web Browsing): ìŒë°ì ìŒë¡ ì ì© ì¹Žë ê±°ë, ë°ìŽí° ì ì¡ ë° ì¹ ì¬ìŽíž ë¡ê·žìžì 볎ížíë ë° ì¬ì©ëë€.
- ìŽì ê³ìžµ(Layer of Operation): IPsecì ë€ížìí¬ ê³ìžµìì ìëíì¬ íµê³Œíë 몚ë ížëíœì 볎ížíë€. SSLì ìžì ê³ìžµìì ìëíì¬ ì¬ì©ìì ì í늬ìŒìŽì ê°ì í¹ì ìžì ì 볎ížíë€.
- ìžìŠì êŽëЬ(Management of Certificates): SSLì ìŒë°ì ìŒë¡ ì 뢰í ì ìë ìžìŠ êž°êŽì ê³ìžµ 구조륌 ì¬ì©íì¬ ìëí¬ìžížì ID륌 ìžìŠíë€. IPsecì ìžìŠì륌 ì¬ì©í ìë ìì§ë§ ì¬ì ê³µì í€ë ë€ë¥ž ííì ë€ížìí¬ ìì€ ìžìŠì íµíŽ êŽëЬëë 겜ì°ê° ë§ë€.
- ì ì°ì± ë° ì€ì (Flexibility and Setup): SSLì ìŒë°ì ìŒë¡ ì í늬ìŒìŽì ë³ë¡ ì€ì íê³ êŽëЬíêž°ê° ë ì¬ìŽ ê²ìŒë¡ ê°ì£Œëë€. ë€ížìí¬ ìí€í ì²ì íµí©ëë IPsecì ë ë§ì ì€ì ìŽ íìíê³ ë³Žì ì í늬ìŒìŽì ìŽ ë ìžë¶íëìŽ ìì§ë§ ë ëì ì ì© ë²ì륌 ì ê³µíë€.
- ì¬ì© ìë늬ì€(Usage Scenarios): IPsecì ì 첎 ë€ížìí¬ ížëíœì 볎ììŽ íìí VPNì ì ížëë€. SSLì í¹í HTTP(HTTPS)륌 íµí ì¹ ì¬ìŽíž 볎ì곌 ê°ì í¹ì ì í늬ìŒìŽì ì ì ížëë€.
| Feature | IPsec | SSL/TLS |
|---|---|---|
| Layer | Network (IP layer) | Session (Application) |
| Security | Encrypts entire packet | Encrypts session data |
| Usage | VPNs, site-to-site | Web browsers, specific applications |
| Authentication | Certificates, pre-shared keys | Certificates, often from a CA |
| Configuration | Complex, network-level | Simpler, application-specific |
| Encryption Modes | Transport and Tunnel | Secure channel per session |
| í¹ì± | IPsec VPN | SSL/TLS VPN |
|---|---|---|
| ì ì | 몚ë IP íší·ì ìížííê³ ìžìŠíì¬ ìží°ë· íë¡í ìœ íµì ì 볎ížíë íë¡í ìœ ì íêµ°(TCP/UDP ì§ì) | ì°ê²°ì ìížííê³ ë³Žížíë íë¡í ìœ, ë°ìŽí° ë¶ë¶ë§ ìíží(TCP ì§ì O UDP ì§ìX) |
| ìíží | ë€ížìí¬ ë ìŽìŽìì ìëíë©° IP ë 벚ìì 몚ë ížëíœì ìížííë©° ì 첎 ë€ížìí¬ ìížíì ìŽìì | ìžì ë ìŽìŽìì ìëíë©° ì í늬ìŒìŽì ë¥ë 벚ìì ìížííì¬ í¹ì ì í늬ìŒìŽì ëë ìë¹ì€ë¥Œ 볎ì ì ì§ |
| íë¡í ìœ | IP | TCP |
| ê³ìžµ | OSI 몚ëžì ë€ížìí¬ ë ìŽìŽìì ìë(3 Layer) | OSI 몚ëžì ìžì ë ìŽìŽìì ìë(6 Layer) |
| ì¬ì© ížìì± | ì€ì ë° êŽëŠ¬ê° ë ë³µì¡íš. ë€ížìí¬ ë 벚ìì ìëíê³ ë í¬êŽì ìž êµ¬ì±ìŽ íìíš | íì€ ë³Žì ì¹ ëžëŒì°ì§ì ìíŽ ëžëŒì°ì 륌 íµíŽ ìœê² ì¬ì© ë° êµ¬í ê°ë¥ |
| ìžìŠ | ìžìŠì, ì¬ì ê³µì í€ ëë ë ììží 구ì±ìŽ íìí ì ìë ë€ë¥ž ìžìŠ ë°©ë²ì ì¬ì©í ì ìì | ì 뢰í ì ìë ìžìŠ êž°êŽìì êŽëЬíë ìžìŠìì í€ë¥Œ ì£Œë¡ ì¬ì© |
| ë°°í¬ | ì 첎 ë€ížìí¬ ì¡ìžì€, ì¬ìŽíž ê° VPN ëëížë³Žì ì¡ìžì€ê° íìí ì 첎 ìëžë·ì ê°ì¥ ì í© | ìží°ë·ì íµí ê°ë³ ì í늬ìŒìŽì ëë ìë¹ì€ì ëí ì격 ì¡ìžì€ì ìŽìì |
| ì ì°ì± | íŽëŒìŽìžíž ì€ì ì ëí ì ì°ì±ìŽ ëšìŽì§ì§ë§ ê°ë ¥í 볎ì êž°ë¥ì ì ê³µ | ì¹ êž°ë° ì¡ìžì€ì ë ì ì°íë©° ì¹ SSL VPNì ì¬ì©íì¬ íŽëŒìŽìžíž ìíížìšìŽ ì€ì¹ ììŽ ì¬ì© ê°ë¥ |
| ìŒë°ì ìž ì¬ì© ì¬ë¡ | ì 첎 ë°ìŽí°ë¥Œ ë€ížìí¬ë¥Œ íµíŽ ì ì¡í ë 볎ì ì¬ìŽíž ê° ì°ê²°, ì£Œë¡ êž°ì í겜ìì ì¬ì© | ì¹ ì í늬ìŒìŽì , SaaS ì í ë° êž°í ì¹ êž°ë° ëŠ¬ìì€ì ëí 볎ì ì°ê²°ì ì¬ì© |
| 볎ì | ë³µì¡ì±ì ëê°ë¡ ê°ë ¥í 볎ìì ì ê³µíë©° ë€ížìí¬ë¥Œ íµíŽ ì ì¡ëë 몚ë ë°ìŽí°ë¥Œ ì»€ë² | ì ë¹í 볎ìì ì ê³µíë©° í¹í ìì ì¡íì€ì ëíŽ ìží°ë· ì°ê²°ìì ìœê² ì€ì ë° êŽëЬ ê°ë¥ |
| í¹ì§ | 2ê°ì ìë² ì¥ë¹ íì, ìíížìšìŽ ì€ì¹ê° íì, ë€ìí ìŽí늬ìŒìŽì 곌 íží ì¬ì€ë§ì ì§ì ì°ê²°ë ê²ì²ëŒ ì¬ì©ê°ë¥ | 1ê°ì ìë² ì¥ë¹ íì, ì¹ ëžëŒì°ì ë§ìŒë¡ ì¬ì©, SSL í¬íì íµíŽì ì°ê²°ëš |
ì§ë¬ž: ì¹ ì í늬ìŒìŽì ìŒë¡ HTTP ìì²ìŽ ì ë¬ëë 곌ì ì íší· ë 벚ìì ì€ëª íìžì. Kubernetes í겜곌 ìŒë° EC2 ìžì€íŽì€ í겜ì ë¹êµíì¬ ê° ëšê³ììì í€ë ë³íì ë€ížìí¬ ì»Ží¬ëížë¥Œ ì€ëª íìžì.
ëµë³:
[íŽëŒìŽìžíž]
â
[ìží°ë· ê²ìŽížìšìŽ]
â
[ALB (Application Load Balancer)]
â
[EC2 ìžì€íŽì€ (ì¹ ìë²)]
Step 1: íŽëŒìŽìžíž â ALB
íŽëŒìŽìžíž ìž¡ íší· 구조:
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Ethernet Header â
â - Src MAC: íŽëŒìŽìžíž MAC (aa:bb:cc:dd:ee:ff) â
â - Dst MAC: ê²ìŽížìšìŽ MAC (11:22:33:44:55:66) â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â IP Header â
â - Src IP: íŽëŒìŽìžíž IP (203.0.113.100) â
â - Dst IP: ALB Public IP (54.230.10.20) â
â - Protocol: TCP (6) â
â - TTL: 64 â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â TCP Header â
â - Src Port: 50001 (ephemeral) â
â - Dst Port: 443 (HTTPS) â
â - Seq: 1000, Ack: 0 â
â - Flags: SYN â
â - Window: 65535 â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â TLS Client Hello (Application Layer) â
â - SNI: example.com â
â - Cipher Suites â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
겜ë¡: íŽëŒìŽìžíž â ISP â AWS Edge Location â IGW â ALB
Step 2: ALB â EC2 ìžì€íŽì€
ALBìì EC2ë¡ ì ì¡ëë íší·:
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Ethernet Header (VPC ëŽë¶) â
â - Src MAC: ALB ENI MAC (aa:aa:aa:aa:aa:aa) â
â - Dst MAC: EC2 ENI MAC (bb:bb:bb:bb:bb:bb) â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â IP Header â
â - Src IP: ALB Private IP (10.0.1.100) â
â - Dst IP: EC2 Private IP (10.0.2.50) â
â - Protocol: TCP (6) â
â - TTL: 63 (ê°ì) â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â TCP Header â
â - Src Port: 45678 (ALB ephemeral) â
â - Dst Port: 8080 (ì í늬ìŒìŽì
) â
â - Seq: 2000, Ack: 1500 â
â - Flags: PSH, ACK â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â HTTP Request (í묞 ëë ALBìì TLS ì¢
ë£) â
â GET /api/users HTTP/1.1 â
â Host: example.com â
â X-Forwarded-For: 203.0.113.100 â
â X-Forwarded-Proto: https â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
죌ì ë³ê²œì¬í:
â TLS ì¢
ë£: ALBìì HTTPS â HTTP ë³í (ì íì¬í)
â Source IP: íŽëŒìŽìžíž IP â ALB IP
â í€ë ì¶ê°: X-Forwarded-Forë¡ ì볞 íŽëŒìŽìžíž IP ì ë¬
â 컀ë¥ì
í: ALBì EC2 ê° Keep-Alive ì°ê²° ì¬ì¬ì©
Step 3: EC2 ìëµ â íŽëŒìŽìžíž
EC2 â ALB:
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â IP Header â
â - Src IP: 10.0.2.50 (EC2) â
â - Dst IP: 10.0.1.100 (ALB) â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â TCP Header â
â - Src Port: 8080 â
â - Dst Port: 45678 â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â HTTP Response â
â HTTP/1.1 200 OK â
â Content-Type: application/json â
â {"users": [...]} â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
ALB â íŽëŒìŽìžíž:
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â IP Header â
â - Src IP: 54.230.10.20 (ALB Public) â
â - Dst IP: 203.0.113.100 (íŽëŒìŽìžíž) â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â TCP Header â
â - Src Port: 443 â
â - Dst Port: 50001 â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â TLS Encrypted HTTP Response â
â (ALBìì ë€ì TLS ìíží) â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
[íŽëŒìŽìžíž]
â
[ìží°ë· ê²ìŽížìšìŽ]
â
[NLB/ALB (Ingress)]
â
[Kubernetes Service (ClusterIP)]
â
[kube-proxy (iptables/IPVS)]
â
[CNI (Calico/Cilium/AWS VPC CNI)]
â
[Pod Network Namespace]
â
[Container (ì í늬ìŒìŽì
)]
Step 1: íŽëŒìŽìžíž â NLB/ALB (Ingress)
ìŒë° ìžì€íŽì€ì ëìŒ:
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Ethernet Header â
â IP Header â
â - Src IP: 203.0.113.100 â
â - Dst IP: NLB Public IP (52.200.10.30) â
â TCP Header â
â - Dst Port: 443 â
â TLS/HTTP Request â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Step 2: NLB â Kubernetes NodePort
NLBê° ì컀 ë
žëì NodePortë¡ ì ì¡:
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â IP Header â
â - Src IP: NLB Private IP (10.0.1.50) â
â - Dst IP: Worker Node IP (10.0.3.100) â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â TCP Header â
â - Src Port: 54321 â
â - Dst Port: 30080 (NodePort) â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â HTTP Request (Ingress Controllerê° TLS ì¢
ë£) â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
NodePort ë§€í:
- Service Type: NodePort
- 몚ë ì컀 ë
žëì 30080 í¬ížê° ìŽëŠŒ
- kube-proxyê° iptables ê·ì¹ ìì±
Step 3: kube-proxy iptables NAT ì²ëЬ
# kube-proxyê° ìì±í iptables ê·ì¹ ìì
iptables -t nat -A KUBE-SERVICES -p tcp --dport 30080 \
-j KUBE-SVC-ABCD1234
iptables -t nat -A KUBE-SVC-ABCD1234 -m statistic \
--mode random --probability 0.33 -j KUBE-SEP-POD1
iptables -t nat -A KUBE-SEP-POD1 -p tcp \
-j DNAT --to-destination 10.244.1.50:8080íší· ë³í 곌ì :
NodePort ì§ì
í DNAT ì ì©:
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â IP Header (DNAT í) â
â - Src IP: 10.0.1.50 (NLB) [SNAT ê°ë¥] â
â - Dst IP: 10.244.1.50 (Pod IP) â ë³ê²œëš! â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â TCP Header â
â - Src Port: 54321 â
â - Dst Port: 8080 â ë³ê²œëš! (NodePort â Container) â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â HTTP Request â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
죌ì ë³ê²œ:
â Destination IP: ë
žë IP â Pod IP (10.244.x.x ëì)
â Destination Port: 30080 â 8080
â kube-proxyê° ë¡ëë°žë°ì± (Pod 3ê° ì€ ëë€ ì í)
Step 4: CNI ë€ížìí¬ ëŒì°í (AWS VPC CNI ìì)
AWS VPC CNI ëì:
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â ì컀 ë
žë ëŒì°í
í
ìŽëž â
â 10.244.1.0/24 â veth1234abcd (Pod veth pair) â
â 10.244.2.0/24 â ë€ë¥ž ë
žë (ë
žë ê° ëŒì°í
) â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
# ë
žëìì ëŒì°í
íìž
ip route show
# 10.244.1.50 dev veth1234abcd scope link
íší·ìŽ veth pair륌 íµíŽ Pod Network Namespaceë¡ ì ë¬:
ââââââââââââââââââââââââââââââââââââââââ
â Host Network Namespace â
â eth0 (10.0.3.100) â
â veth1234abcd â ížì€íž ìž¡ ìží°íìŽì€â
ââââââââââââ¬ââââââââââââââââââââââââââââ
â veth pair
ââââââââââââŒââââââââââââââââââââââââââââ
â Pod Network Namespace â
â eth0@if5 (10.244.1.50) â Pod ìž¡ â
â Container Process (PID 1) â
ââââââââââââââââââââââââââââââââââââââââ
Step 5: Pod ëŽë¶ ìì
Pod ëŽ ì»ší
ìŽëê° ìì íë íší·:
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Ethernet Header (veth) â
â - Src MAC: veth host side â
â - Dst MAC: veth pod side â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â IP Header â
â - Src IP: 10.0.1.50 (ëë SNATë IP) â
â - Dst IP: 10.244.1.50 (Pod IP) â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â TCP Header â
â - Src Port: 54321 â
â - Dst Port: 8080 â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â HTTP Request â
â GET /api/users HTTP/1.1 â
â Host: example.com â
â X-Forwarded-For: 203.0.113.100 â
â X-Real-IP: 203.0.113.100 â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
컚í
ìŽë ìì 곌ì :
1. 컀ëìŽ netfilter ì²Žìž íµê³Œ (PREROUTING â INPUT)
2. Socket Bufferì íší· ì ì¥
3. ì í늬ìŒìŽì
ìŽ read() ìì€í
ìœë¡ ìì
Step 6: ìëµ ê²œë¡ (ìë°©í¥)
Pod â kube-proxy â Node â NLB â íŽëŒìŽìžíž
Pod ì¡ì :
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â IP Header â
â - Src IP: 10.244.1.50 (Pod) â
â - Dst IP: 10.0.1.50 (NLB) â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â HTTP Response 200 OK â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
kube-proxy SNAT ìë³í:
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â IP Header (SNAT í) â
â - Src IP: 10.0.3.100 (Node IP) â ë³ê²œëš! â
â - Dst IP: 10.0.1.50 (NLB) â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â TCP Header â
â - Src Port: 30080 â ë³µìëš! â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
NLB â íŽëŒìŽìžíž:
- NLBê° Source IP륌 ìì ì Public IPë¡ ë³ê²œ
- íŽëŒìŽìžížìê² ìëµ ì ë¬
| í목 | ìŒë° EC2 ìžì€íŽì€ | Kubernetes |
|---|---|---|
| ë€ížìí¬ ê³ìžµ ì | 3ê³ìžµ (íŽëŒìŽìžížâLBâìžì€íŽì€) | 5ê³ìžµ (íŽëŒìŽìžížâLBâNodeâkube-proxyâPod) |
| IP 죌ì ë³í | ALB Private IP â EC2 Private IP | Node IP â Pod IP (10.244.x.x) |
| í¬íž ë§€í | ALB:443 â EC2:8080 | NodePort:30080 â Container:8080 |
| ë¡ëë°žë°ì± | ALB (L7) | kube-proxy (iptables/IPVS L4) |
| ë€ížìí¬ ë€ìì€íìŽì€ | ëšìŒ (ížì€íž) | ë¶ëЬ (Podë§ë€ 격늬) |
| MAC 죌ì | 묌늬ì ENI MAC | veth pair ê°ì MAC |
| íší· ìº¡ì² ìì¹ | tcpdump -i eth0 |
tcpdump -i eth0 (ížì€íž)nsenter + tcpdump (Pod) |
| Source IP 볎졎 | X-Forwarded-For í€ë | X-Forwarded-For + Service externalTrafficPolicy |
# 1. Pod ì°Ÿêž°
kubectl get pods -o wide
# NAME READY STATUS IP NODE
# webapp-7d8f9c-abcd 1/1 Running 10.244.1.50 node-1
# 2. Podì Network Namespace íìž
kubectl exec webapp-7d8f9c-abcd -- cat /proc/1/ns/net
# net:[4026532456]
# 3. ì컀 ë
žëì SSH ì ì í Pod Network Namespaceìì tcpdump
NODE_IP=$(kubectl get pod webapp-7d8f9c-abcd -o jsonpath='{.status.hostIP}')
ssh ec2-user@$NODE_IP
# Podì PID ì°Ÿêž°
docker inspect --format '{{.State.Pid}}' $(docker ps | grep webapp | awk '{print $1}')
# 12345
# nsenterë¡ Pod Network Namespace ì§ì
sudo nsenter -t 12345 -n tcpdump -i eth0 -nn port 8080
# ì¶ë ¥ ìì:
# 10.0.1.50.54321 > 10.244.1.50.8080: Flags [P.], seq 1:100, ack 1, win 502
# GET /api/users HTTP/1.1# Service â Endpoint ë§€í íìž
kubectl get svc webapp-service -o yaml
# clusterIP: 10.96.10.20
# ports:
# - port: 80
# targetPort: 8080
# nodePort: 30080
# iptables NAT ì²Žìž íìž
sudo iptables -t nat -L KUBE-SERVICES -n | grep 10.96.10.20
# KUBE-SVC-ABC123 tcp -- 0.0.0.0/0 10.96.10.20 tcp dpt:80
sudo iptables -t nat -L KUBE-SVC-ABC123 -n
# KUBE-SEP-POD1 all -- 0.0.0.0/0 0.0.0.0/0 statistic mode random probability 0.33
# KUBE-SEP-POD2 all -- 0.0.0.0/0 0.0.0.0/0 statistic mode random probability 0.50
# KUBE-SEP-POD3 all -- 0.0.0.0/0 0.0.0.0/0
sudo iptables -t nat -L KUBE-SEP-POD1 -n
# DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp to:10.244.1.50:8080# AWS VPC CNI: Secondary IP ë°©ì
ip addr show eth0
# eth0: <BROADCAST,MULTICAST,UP>
# inet 10.0.3.100/24 (Primary)
# inet 10.244.1.50/32 (Pod IP - Secondary)
ip route show
# 10.244.1.50 dev eth0 scope link
# Calico: IP-in-IP í°ëë§
ip route show
# 10.244.2.0/24 via 10.0.3.101 dev tunl0 proto bird onlink
# Cilium: eBPF êž°ë° (iptables ì°í)
cilium bpf lb list
# 10.96.10.20:80 =>
# 10.244.1.50:8080 (1/3)
# 10.244.2.30:8080 (1/3)
# 10.244.3.10:8080 (1/3)- ë€ížìí¬ í ì ì ì (ë®ì ë ìŽíŽì)
- NAT/DNAT ì€ë²í€ë ìì
- ëšìí ëë²ê¹ (ëšìŒ ë€ížìí¬ ë€ìì€íìŽì€)
- Pod ê° ë€ížìí¬ ê²©ëŠ¬ (볎ì)
- Service Discovery (DNS ìëí)
- ëì ë¡ëë°žë°ì± (Pod Autoscaling)
- Network Policyë¡ ë§ìŽí¬ë¡ìžê·žëšŒí ìŽì
# externalTrafficPolicy: Local (Source IP 볎졎 + ë
žë ê° í ì ê±°)
apiVersion: v1
kind: Service
metadata:
name: webapp-service
spec:
type: LoadBalancer
externalTrafficPolicy: Local # â íší·ìŽ ë¡ì»¬ ë
žë Podë¡ë§ ì ë¬
ports:
- port: 80
targetPort: 8080íší· ê²œë¡ ì°šìŽ:
Cluster (Ʞ볞ê°):
íŽëŒìŽìžíž â NLB â Node1 â kube-proxy â Node2 Pod (ë
žë ê° ìŽë ê°ë¥)
Local:
íŽëŒìŽìžíž â NLB â Node1 â kube-proxy â Node1 Pod (ëìŒ ë
žëë§)
â Node2 â kube-proxy â Node2 Pod
ëë²ê¹ ìë늬ì€:
# 묞ì : Podë¡ ížëíœìŽ ì ë€ìŽìŽ
# 1. Service Endpoint íìž
kubectl get endpoints webapp-service
# NAME ENDPOINTS
# webapp-service 10.244.1.50:8080,10.244.2.30:8080
# 2. kube-proxy ë¡ê·ž íìž
kubectl logs -n kube-system kube-proxy-xxxx
# I0106 sync iptables rules for service webapp-service
# 3. Podìì tcpdump (í¬íŒ 컚í
ìŽë ì¬ì©)
kubectl debug webapp-7d8f9c-abcd -it --image=nicolaka/netshoot
# ëë²ê·ž Podìì:
tcpdump -i eth0 -nn port 8080
# 4. ë
žëìì iptables NAT ì¶ì
sudo iptables -t nat -nvL | grep 10.244.1.50
# íší· 칎ìŽí° íìž (pkts bytes)
# 5. conntrack í
ìŽëž íìž
sudo conntrack -L | grep 10.244.1.50
# tcp 6 117 ESTABLISHED src=10.0.1.50 dst=10.244.1.50