μ°μ κΈ°λ‘ πͺ
νλ‘ν μ½ μ€νκ³Ό LAN μ΄λν°μ λμ λ³Έλ¬Έ
νλ‘ν μ½ μ€νκ³Ό LAN μ΄λν°μ λμ
kite707 2024. 10. 27. 23:31μμ Socket λΌμ΄λΈλ¬λ¦¬μμμ Socket, Connect, Write, Read, Close λμμ λν΄ μ΄ν΄λ΄€λ€. μ΄λ¬ν λμλ€μ λ·λ¨μμ νλ‘ν μ½ μ€νκ³Ό LAN μ΄λν°κ° μ²λ¦¬ν΄μ€λ€. κ·Έλ¦ΌμΌλ‘ 보면 μλμ κ°λ€.
μ λ²μ Socket λΌμ΄λΈλ¬λ¦¬κΉμ§ μ΄ν΄λ΄€μΌλ νλ‘ν μ½ μ€ν λ΄λΆλ₯Ό μ΄ν΄λ³΄λλ‘ νμ. TCPμ UDPλ μ©λμ λ°λΌ λ€λ₯΄κ² μ¬μ©λλ€. TCPλ λΈλΌμ°μ λ λ©μΌ λ±μ μΌλ°μ μΈ λ°μ΄ν° μ‘μμ μ λ΄λΉνκ³ , UDPλ DNS μλ²μ λν μ‘°νμ κ°μ 짧μ μ μ΄μ© λ°μ΄ν° μ‘μμ μ λ΄λΉνλ€. (μμ μ μ‘μλ μ¬μ©λλ€.)
μλμ μλ IP λ΄λΉμ ν¨ν·μ μ‘μμ μ μ μ΄νλ λΆλΆμ΄λ€. λ΄λΆμ μλ ARP νλ‘ν μ½μ IP μ£Όμμ λμνλ μΈν°λ·μ MAC μ£Όμλ₯Ό μ‘°μ¬ν λ, ICMPλ ν¨ν· μ΄λ° μ λ°μνλ μ€λ₯ ν΅μ§ λ° μ μ΄μ© λ©μμ§ ν΅μ§μ μ¬μ©λλ€.
IP λ΄λΉ μλμ LAN λλΌμ΄λ²λ LAN μ΄λν°λ₯Ό μ μ΄νκΈ° μν¨μ΄κ³ , LAN μ΄λν°λ μ€μ μ‘μμ λμμ μ€ννλ€.
Socket
socketμ΄ νΈμΆλλ©΄ νλ‘ν μ½ μ€νμ μμΌμ λ§λ λ€. μμΌμ λ§λ λ€λ κ²μ μμΌ ν κ° λΆλμ λ©λͺ¨λ¦¬ μμμ ν λΉνλ κ²μ΄λ€. νλ‘ν μ½ μ€νμ μμΌμ λ§λ λ€ μμΌμ μλ³νλ λμ€ν¬λ¦½ν°λ₯Ό μ ν리μΌμ΄μ μ λ°ννλ€.
Connect
μ΄ν μ ν리μΌμ΄μ μ Connectλ₯Ό νΈμΆνλ€. λ°©κΈ λ°μ λμ€ν¬λ¦½ν°μ λͺ©μ μ§(μλ²)μ IPμ£Όμ λ° ν¬νΈλ²νΈλ₯Ό μΈμλ‘ λ΄μ λκΈ΄λ€. κ·Έλ¬λ©΄ νλ‘ν μ½ μ€νμ TCP λ΄λΉ λΆλΆμ λͺ©μ μ§μ TCP λΆλΆκ³Ό ν΅μ ν΄ μ μ΄ μ 보λ₯Ό μ£Όκ³ λ°λλ€. μ΄ λΆλΆμ΄ λ°λ‘ μμ£Ό λ€μ΄μλ 3-way-handshakeκ° μ§νλλ μμ μ΄λ€. ν΄λΉ κ³Όμ μ μλμ κ°λ€.
μ΄ κ³Όμ μ μ’ λ μμΈν μ΄ν΄λ³΄λλ‘ νμ. ν΄λΌμ΄μΈνΈμμ λ¨Όμ TCP ν€λλ₯Ό λ§λ λ€. TCP ν€λμλ μμ μ²μ μ‘μ μ²μ ν¬νΈλ²νΈκ° ν¬ν¨λμ΄ μλ€. κ·Έλ¦¬κ³ μ»¨νΈλ‘€ λΉνΈ μ€ SYNμ κ°μ 1λ‘ λ§λ λ€. μ΄ν IP λ΄λΉ λΆλΆμ΄ ν¨ν·μ μλ²λ‘ 보λ΄μ£Όκ³ μλ²μ TCP λ΄λΉ λΆλΆμ΄ TCP ν€λλ₯Ό μ‘°μ¬ν΄ λͺ©μ μ§ ν¬νΈλ²νΈμ ν΄λΉνλ μμΌμ μ°Ύμ νμν μ 보λ₯Ό κΈ°λ‘νλ€.
Write
μ μμ΄ μλ£λλ©΄ Write λμμ΄ μ§νλλ€. μ΄ κ³Όμ μ λ³΄λΌ λ°μ΄ν°λ₯Ό νλ‘ν μ½ μ€νμ μ λ¬νκ³ , νλ‘ν μ½ μ€νμ΄ λ©μμ§λ₯Ό μ λ¬νλ κ³Όμ μ΄λ€. μ€μν μ μ νλ‘ν μ½ μ€νμ λ°μ λ°μ΄ν°λ₯Ό λ°λ‘ 보λ΄λ κ²μ΄ μλλΌ μ‘μ μ© λ²νΌ λ©λͺ¨λ¦¬ μμμ μ μ₯νλ€κ° 보λΈλ€λ κ²μ΄λ€.
μλνλ©΄ μ ν리μΌμ΄μ μ λ°λΌ λ°μ΄ν° μ‘μ μλ’°λ₯Ό νλ²μ νλ κ²½μ°λ μκ³ , 1λ°μ΄νΈμ©, 1νμ© μλ’°νλ κ²½μ°κ° μλ€. μμ ν¨ν·μ μ¬λ¬λ² 보λ΄λ λΉν¨μ¨μ μΈ κ³Όμ μ λ°©μ§νκΈ° μν΄ λ²νΌμ λͺ¨μλ€κ° 보λ΄λ κ²μ΄λ€.
μ΄λ μΌλ§νΌ λͺ¨μ λ€ λ³΄λΌ κ²μΈμ§μ λν΄ κ²°μ νλ κ³Όμ μ λ μμΈν μ΄ν΄λ³΄λλ‘ νμ. μ΄λ₯Ό μ΄ν΄νκΈ° μν΄μλ MTUμ MSSκ° λ¬΄μμΈμ§ μμμΌ νλ€.
MTU : ν ν¨ν·μΌλ‘ μ΄λ°ν μ μλ λμ§νΈ λ°μ΄ν°μ μ΅λ κΈΈμ΄. μ΄λλ·μμλ λ³΄ν΅ 1500λ°μ΄νΈ.
MSS : ν ν¨ν·μΌλ‘ μ΄λ°ν μ μλ λ°μ΄ν°μ μ΅λ κΈΈμ΄.
νλ‘ν μ½ μ€νμ MTUλ₯Ό 맀κ°λ³μλ‘ λ°λλ€. μ¬κΈ°μ TCP, IP ν€λλ₯Ό μ μΈνμ¬ MSS κΈΈμ΄λ₯Ό μ μ μλ€. κ·Έλ κΈ°μ MSSμ μ΅λν λΉμ·ν κΈΈμ΄κΉμ§ λͺ¨μλ€κ° 보λ΄λ©΄ ν¨ν·μ΄ λ무 μκ² μͺΌκ°μ§ κ±±μ μ΄ μλ€.
λ λ€λ₯Έ κΈ°μ€μ νμ΄λ°μ΄λ€. MSSλ§νΌ λͺ¨μ΄μ§ μμλλΌλ μΌμ μκ° μ μ‘μ΄ μλλ©΄ ν¨ν·μ 보λΈλ€. μ΄ μκ°μ νλ‘ν μ½ μ€ν λ΄λΆμ νμ΄λ¨Έλ₯Ό μ΄μ©ν΄ μΈ‘μ νλ€.
νλ‘ν μ½ μ€νμ MSSμ νμ΄λ°μ κ³ λ €νμ¬ ν¨ν·μ μ μ ν 보λΈλ€.
MSSμ νμ΄λ°, 2κ°μ§ 쑰건μ μ΄λ»κ² μ‘°ν©ν μ§λ νλ‘ν μ½ μ€νμ λ§λλ κ°λ°μμκ² λ¬λ €μλ€. κ·Έλ κΈ°μ OSμ λ²μ μ΄λ μ’ λ₯μ λ°λΌ λ¬λΌμ§ μ μλ€.
μ°Έκ³ λ‘ μ΄ν리μΌμ΄μ μμ λ°μ΄ν° μ‘μ μ μλ’°ν λ λ²νΌμ λͺ¨μΌμ§ μκ³ λ°λ‘ 보λ΄λλ‘ μ€μ ν μλ μλ€.
νμ§λ§ μΌλ°μ μΈ μν©μμ νλ‘ν μ½ μ€νμ λ°μ΄ν°λ₯Ό μ‘μ λ²νΌμ λͺ¨μλ€. μ΄ν λ°μ΄ν° μ‘°κ°λ€μ κΊΌλ΄ μ‘,μμ μ² ν¬νΈ λ²νΈλ₯Ό κΈ°λ‘ν TCPν€λλ₯Ό μΆκ°ν λ€ IP λ΄λΉμΌλ‘ λ겨μ€λ€.
κ·ΈλΌ IPλ΄λΉμ μλμ κ°μ ννμ λ΄μ©λ¬Όμ λ°κ² λλ€. IP λ΄λΉμ κ±°κΈ°μ MACν€λμ IPν€λλ₯Ό λ§λΆμΈλ€.
μ΄λ κ² λ§λ ν¨ν·μ LAN μ΄λν°μ μ λ¬νλ κ²μ΄ IPλ΄λΉ λΆλΆμ μν μ΄λ€. μ΄ ν¨ν·μ 0 1 λΉνΈκ° μ΄μ΄μ§ ννμΈλ° LAN μ΄λν°μμ λΉμ΄λ μ κΈ° μ νΈλ‘ λ°λμ΄ μΌμ΄λΈλ‘ μ‘μΆλλ€.
IP λ΄λΉλΆλΆμ MACν€λμ IPν€λλ₯Ό μΆκ°νκ³ , LAN μ΄λν°μ μ λ¬νλ€.
IPν€λμλ μ‘, μμ μ²μ IP μ£Όμλ₯Ό λΉλ‘―ν μ¬λ¬κ°μ§ κ°μ΄ λ΄κΈ΄λ€. μμ μ²μ IPμ£Όμλ μμ Connectκ³Όμ μ ν΅ν΄ TCP λ΄λΉμ΄ IP λ΄λΉμ ν΅μ§ν΄μ€¬μλ€. μ‘μ μ² IP μ£Όμλ μ΄λ€ LAN μ΄λν°λ₯Ό μ΄μ©ν΄ ν¨ν·μ 보λΌμ§ κ²°μ νλ κ³Όμ μ΄λ€. μλνλ©΄ IP μ£Όμλ LAN μ΄λν°λ§λ€ ν λΉλκΈ° λλ¬Έμ΄λ€. κ·Έλ¦¬κ³ μ΄ LAN μ΄λν°λ ν¨ν·μ λͺ©μ μ§κΉμ§ μ΅μ λΉμ©μΌλ‘ 보λ΄μ€ μ μλ μ΄λν°κ° μ μ λλ€. μ΄λ μ¬μ©λλ λΌμ°ν ν μ΄λΈμ μ΄ν΄λ³΄λλ‘ νμ.
λ¨Όμ λͺ©μ μ§ IPκ°κ³Ό Network Destination κ°μ λΉκ΅νλ©° μΌμΉνλ νμ μ°Ύλλ€. μΌμΉνλ κ°μ΄ μ¬λ¬κ°λ©΄ Metric(λΉμ©)μ΄ μμ κ°μ μ ννκ² λκ³ , μΌμΉνλ νμ΄ μμΌλ©΄ κΈ°λ³Έ κ²μ΄νΈμ¨μ΄λ₯Ό ν΅ν΄ ν¨ν·μ μ‘μ νκ² λλ€.
MACν€λμλ μ‘, μμ μ²μ MACμ£Όμκ° λ΄κΈ΄λ€. μ‘μ μ² MAC μ£Όμλ μμ μ¬μ©νκΈ°λ‘ κ²°μ ν LAN μ΄λν°μ MAC μ£Όμλ₯Ό μ€μ νλ€. μμ μ MAC μ£Όμλ ART(Address Resolution Protocol)νλ‘ν μ½μ μ΄μ©γ μ‘°μ¬νλ€. ARP νλ‘ν μ½μ λΈλ‘λμΊμ€νΈ λ°©μμ μ¬μ©νλλ°, κ°μ λ€νΈμν¬μ μ‘΄μ¬νλ λμλ€μ λν΄ IPμ£Όμκ° μΌμΉνλ λμμ΄ μλμ§ λ¬»λ ν¨ν·μ μ λ¬νλ€. ν΄λΉ IPλ₯Ό κ°μ§ λμμ μμ μ MAC μ£Όμλ‘ μλ΅νκ³ , λλ¨Έμ§λ μ΄ μμ²μ 무μνλ€.
μ°Έκ³ λ‘ μ΄ κ°λ€μ ARP μΊμ κ°μ© λ©λͺ¨λ¦¬ μμμ μ μ₯λκ³ , ν΅μμ μΌλ‘ μ΄ κ°λ€μ λͺ λΆ μ λκ° μ§λλ©΄ μμ λλ€. μ¦ νΉμ IPλ₯Ό κ°μ§ MAC μ£Όμλ₯Ό μ‘°νν λλ ARP μΊμμ κ·Έ κ°μ΄ μλμ§ μ°Ύκ³ , μμΌλ©΄ ARPμ μ‘°νλμμ μ€ννλ€.
READ
μμ²μ 보λ΄λ©΄ μλ²λ‘λΆν° μλ΅μ΄ λμμ¬ κ²μ΄λ€. LAN μ΄λν°κ° μ΄ μλ΅μ μ μΌ λ¨Όμ λ§μ£Όνκ² λλλ°, νλ μμ°ν, νλ μ λ리미ν°, FCS λ±μ κ°μ μ΄μ©ν΄ ν¨ν·μ μ€λ₯κ° μλμ§ κ²μ¦νλ€. (μ΄ κ³Όμ μ μΆν λ€λ£¨λλ‘ νκ² λ€.) μ΄ν MAC ν€λμ κ°μ λ³΄κ³ μμ μ²μ MAC μ£Όμμ μ체μ MAC μ£Όμλ₯Ό λΉκ΅νκ³ , μμ μκ² μ€λ ν¨ν·μ΄λ©΄ λ²νΌ λ©λͺ¨λ¦¬μ μ΄λ₯Ό μ μ₯νλ€. μ΄ν μΈν°λ½νΈλ₯Ό ν΅ν΄ ν¨ν·μ μμ νμμ μλ¦°λ€.
LAN λλΌμ΄λ²λ νλ‘ν μ½ μ€νμ ν¨ν·μ λκΈ΄λ€. κ·Έλ¬λ©΄ IP λ΄λΉ λΆλΆμ IP ν€λλ₯Ό μ‘°μ¬ν΄ ν¬λ§·μ λ¬Έμ κ° μλμ§ νμΈνκ³ μμ μ² IP μ£Όμλ₯Ό νμΈνλ€. λ§μ½ μμ μ² IP μ£Όμκ° μμ μ μ£Όμμ λ€λ₯΄λ©΄ μ€λ₯κ° λ°μν κ²μ΄λ ICMP(Internet Control Message Protocol)λ₯Ό μ΄μ©ν΄ μλλ°©μ μ€λ₯λ₯Ό ν΅μ§νλ€.
ICMPμλ Destination Unreachable(ν¨ν·μ λͺ©μ μ§μ μ λ¬ν μ μμ), Source Quench(λΌμ°ν°μ μ€κ³λ₯λ ₯ μ΄κ³Ό), Time Exceeded(IP ν€λμ TTLκ° μ΄κ³Ό)μ κ°μ λ€μν μν©μ λν λ©μμ§λ€μ΄ μ μλμ΄ μλ€.
λ§μ½ μμ μ² IP μ£Όμκ° μμ κ³Ό κ°μΌλ©΄ ν¨ν·μ μμ νλ€. μ΄λ IP ν€λμ νλκ·ΈλΌλ νλͺ©μ λ³΄κ³ μμ ν¨ν·μ΄ λΆν λ κ²μ΄λ©΄ IP λ΄λΉ λΆλΆ λ΄λΆ λ©λͺ¨λ¦¬μ μμμ μ₯νλ€. κ·Έλ¦¬κ³ IP ν€λμ μλ ID μ 보μ κ°μ κ°μ΄ λ€μ΄κ°μλ ν¨ν·λ€μ λͺ¨μ νλ κ·Έλ¨ΌνΈ μ€νμ μ λ°λΌ λΆν λ ν¨ν·μ μλλλ‘ ν©μΉλ€. μ΄λ₯Ό 리μ΄μ λΈλ§μ΄λΌκ³ νλ€.
리μ΄μ λΈλ§κΉμ§ λλλ©΄ ν¨ν·μ TCP λ΄λΉ λΆλΆμΌλ‘ λμ΄κ°λ€. TCP λΆλΆμμλ IP ν€λμ κΈ°λ‘λ μμ μ² IP, μ‘μ μ² IP κ·Έλ¦¬κ³ TCP ν€λμ μλ μμ μ² ν¬νΈ, μ‘μ μ² ν¬νΈλ₯Ό μ‘°μ¬ν΄ ν΄λΉνλ μμΌμ μ°Ύλλ€. μ΄ν λ°μ΄ν°λ₯Ό μμ λ²νΌμ λ£μ΄μ€λ€. λ§μ½ λ°μ΄ν° μ μ‘μ© ν¨ν·μ΄ μλλΌ μ μ, μ°κ²° λκΈ° κ°μ μ μ΄μ© ν¨ν·μ΄λΌλ©΄ μ μ΄ μ 보λ₯Ό λ΅μ₯μΌλ‘ 보λ΄κ±°λ μ μ λ° μ°κ²°λκΈ° λμμ μ ν리μΌμ΄μ μ ν΅μ§νλ€.
Close
SocketλΌμ΄λΈλ¬λ¦¬μ Closeκ° νΈμΆλλ©΄ μ°λ¦¬κ° μΌλ°μ μΌλ‘ μλ 4-way-handshakeκ° λ°μνλ€.
ν΄λΌμ΄μΈνΈμμ μ°κ²° λκΈ°μ λ€μ΄κ°λ€κ³ κ°μ νκ³ μ΄ν΄λ³΄λλ‘ νμ. λ¨Όμ ν΄λΌμ΄μΈνΈμͺ½μμ TCP ν€λλ₯Ό λ§λ€κ³ 컨νΈλ‘€ λΉνΈ μ€ FINμ κ°μ 1λ‘ μ€μ νμ¬ μλ²λ‘ 보λΈλ€. μλ²λ FINμ 1λ‘ μ€μ ν ν¨ν·μ λ°μλ€λ μλ―Έμμ ACK ν¨ν·μ λ°μ‘νκ³ , μλ² μͺ½μμλ Closeκ° νΈμΆλμ΄ FINμ 1λ‘ μ€μ ν ν¨ν·μ λ°μ‘νλ€. κ·Έλ¬λ©΄ ν΄λΌμ΄μΈνΈμμλ μ΄λ₯Ό λ°μ ACK ν¨ν·μ λ°ννκ³ , μλ²κ° μ΄λ₯Ό λ°μΌλ©΄ μλ²λ Closed μνκ° λλ€. ν΄μμ΄μΈνΈλ λͺ λΆ μ λ TIME_WAIT μνλ‘ λκΈ°νλ€κ° Closedλ‘ μ νλλ€. μ΄ν μμΌμ λ§μνλ€.
'Computer Science > μ»΄ν¨ν° λ€νΈμν¬' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
PCμμ μΈν°λ·κΉμ§: ν¨ν·μ μ¬μ (2) (0) | 2024.10.23 |
---|---|
PCμμ μΈν°λ·κΉμ§: ν¨ν·μ μ¬μ (1) (0) | 2024.10.23 |
λΈλΌμ°μ μ google.comμ μ λ ₯νμ λ μΌμ΄λλ μΌμ λν΄ λ§ν΄λ³΄μΈμ. (0) | 2024.10.22 |