상세 컨텐츠

본문 제목

[IT엔지니어를 위한 네트워크 입문] 3장. 네트워크 통신하기

CS구멍/네트워크🕊

by :Eundms 2024. 6. 23. 11:41

본문

유니캐스트, 멀티캐스트, 브로드캐스트, 애니케스트

 

유니캐스트 (HTTP)

- 1:1 통신

 

브로드캐스트 (ARP)

- 1: 모든 통신 

- 동일 네트워크에 존재하는 모든 호스트가 목적지

- 유니캐스트 통신전, 상대방의 정확한 위치를 알기 위해 사용됨

 

멀티캐스트 (방송)

- 1:그룹(멀티캐스트 구독 호스트) 통신

- 하나의 출발지에서 다수의 특정 목적지로 데이터 전송

 

애니케스트 (6 to 4 DNS)

- 1:1 통신 (같은 목적지 주소를 가진 서버가 여러 대여서 통신 가능한 다수의 후보군이 있음)

- 다수의 동일 그룹 중 가장 가까운 호스트에서 응답

- 가장 가까운 DNS 서버를 찾을 때, 가장 게이트웨이를 찾을 때 사용

- IPv4에서는 일부 기능 구현, IPv6은 모두 구현 가능

 

MAC 주소

- 데이터 링크 계층에서 통신을 위해 네트워크 인터페이스에 할당된 고유 식별자

 

IP주소

- 네트워크 주소 + 호스트 주소

- IPv4 : 8비트 x 4 = 32비트

- 서브네팅 이용함

- A클래스 (네트워크1 + 호스트 3) : 앞 옥텟의 주소 0 -127 

- D클래스 (멀티캐스트)

- E클래스 (예약)

 

TCP 세그먼트 헤더 vs UDP 데이터그램 헤더 

- 애플리케이션에서 사용하는 프로세스를 정확히 찾아가고 데이터를 분할한 패킷을 잘 쪼개 보내고 조립하는 것

TCP 헤더 / UDP 헤

 

TCP

- 세션을 안전하게 연결하고 데이터를 분할하고 분할된 패킷이 잘 전송되었는지 확인하는 기능

- 패킷에 번호를 부여하고 잘 전송되었는지에 대해 응답함 (Sequence Number, Acknowledge Number)

- 전송크기(Window Size) 고려해 통신함

 

패킷 순서, 응답 번호

- 분할된 패킷을 잘 분할하고 수신 측이 잘 조합하도록 패킷에 순서를 주고 응답 번호를 부여함

- 시퀀스 번호 : 패킷 순서

-  ACK 번호 : 응답 번호

 

윈도 사이드와 슬라이딩 윈도우

- 송신자와 수신자가 먼 거리에 떨어져 있으면 왕복 지연 시간 (RTT)이 늘어남

따라서, 많은 패킷을 한꺼번에 보내고 응답을 하나만 받음

네트워크 상황에 따라 적절한 송신량을 정하는 것을 슬라이딩 윈도라 함

 

데이터에 유실이 발생하면 윈도 사이즈를 절반으로 떨어뜨리고, 정상적인 통신이 되는 경우 서서히 하나씩 늘림

네트워크에 경합이 발생해 패킷 드롭이 생기면 작아진 윈도 사이즈로 인해 데이터 통신 속도가 느려져 회선을 제대로 사용하지 못하는 상황이 발생함. 경합을 피하기 위해 회선 속도를 증가시키거나 경합을 임시로 피할 수 있는 버퍼가 큰 네트워크 장비를 사용하거나 TCP 최적화 솔루션을 사용하여 문제를 해결할 수 있음

 

3방향 핸드세이크

LISTEN : 서비스를 제공하기 위해 클라이언트의 접속을 받아들일 수 있는 상태

클라이언트에서 통신을 시도하며 Syn 패킷을 보내는데 클라이언트에서는 이상태를 SYN-SENT라고 부름

클라이언트의 Syn을 받은 서버는 SYN-RECEIVE 상태로 변경되고, Syn, Ack로 응답함

이 응답을 받은 클라이언트는 ESTABLISHED 상태로 변경하고 이에 대한 응답을 서버로 다시 보내며 ESTABLISHED 상태로 변경됨

 

어떤 패킷이 새로운 연결 시도인지 판단하기 위해 헤더에 Flag 값을 넣어 통신함

SYN, ACK, FIN, RST, URG, PSH 플래그가 있음

 

UDP

 

- 시간에 민감한 프로토콜이나 애플리케이션을 사용하는 경우 사용

- 반이중 / 유니캐스트, 멀티캐스트, 브로드캐스

- UDP에서 첫 데이터는 리소스 확보를 위해 Interrrupt를 거는 용도로 사용되고 유실됨

 

ARP

- 상대방의 MAC주소를 알아내기 위해 사용하는 프로토콜

- ARP 브로드캐스트를 이용해 네트워크 전체에 상대방의 MAC 주소를 질의 

- 매번 ARP 브로드캐스트를 수행하면 네트워크 토신의 효율성이 크게 저하되므로 ARP 테이블에 저장해두고 재사용함

- 송수신자 MAC주소, IP주소 

 

 

GARP

- 자신에게 할당된 IP가 네트워크에서 이미 사용하고 있는지 확인함

- 동일 네트워크상 단말들의 ARP 테이블 갣ㅇ신

 

서브넷과 게이트웨이

- 출발지와 목적지 네트워크가 동일한 LAN 내에서 통신하는지, 서로 다른 네트워크 간의 통신인지 서브넷 마스크를 이용해 확인함

- IP주소와 서브넷 마스크를 AND 연산하여 로컬 네트워크 주소에 목적지가 속해있는지 확인 

- 로컬 통신은 단순한 ARP 요청으로 목적지를 찾아 통신할 수 있지만, 원격지 통신은 ARP가 라우터를 넘어가지 못하는 브로드캐스트이므로 외부와 통신이 가능한 장비의 도움이 필요함

 

관련글 더보기

댓글 영역