security/D. Network

[Network] 클라이언트와 서버 간 정보 전송 과정

xudegloss 2024. 3. 12. 09:15

 

클라이언트와 서버 간 정보 전송 과정

1) C 클래스인 school network 안 에 존재하는 단말이 dhcp를 통하여 본인의 ip, subnet, gateway, dns를 받아야 한다.

 

2) dhcp discover → dhcp offer → dhcp request → dhcp ack 과정을 통하여 단말은 ip, subnet, gateway, dns를 얻는다. IPv4를 이용하기 때문에, dhcp로 ip를 빌려주고 회수하는 방식을 많이 이용한다. (고갈 예방)

 

3) 클라이언트와 웹 서버가 연결되기 위하여, socket에서 ip와 port를 연결시키고, tcp 3-way handshaking으로 단단한 연결고리를 생성한다. (SYN → SYN/ACK → ACK, http request) 웹 서버는 dns를 통하여 도메인에서 ip로 변경해주고, 포트 번호는 거의 80번으로 고정되어 있다.

 

4) TCP인 경우에는 RDT를 위하여 에러와 손실이 발생하지 않도록 의미없는 segment를 보내 ack로 상대 buffer의 양을 확인하고, 공용 네트워크를 조심스럽게 이용하는 congestion control을 진행한다. 또한, timeout 대신에 fast retransmission을 통하여 효율적으로 재전송할 수 있도록 한다.

 

5) network 계층에 도달하면 라우터는 longest prefix matching으로 routing algorithm을 생성한다. 이 때, inter-AS인 경우에는 정책을 기준으로 정하고, intra-AS인 경우에는 최소 비용, 최소 거리 기준으로 정한다. 또한, data-link 계층에 도달하기 위하여 mac이 필요하기 때문에, ARP를 통하여 ip를 mac으로 변경한다. 또한 IPv4를 이용하기 때문에, 중간 중간에 공인 ip, 사설 ip 간의 변환을 해주는 nat 기능이 있다. (고갈 예방)

 

6) data-link 계층에 도달하면 스위치는 self-learning을 통하여 자가 학습을 완료하여 경로를 정한다. data-link에서는 broadcast medium에 의하여 충돌이 발생한다는 단점이 존재한다. 그래서 유선인 경우에는 CSMA/CD를 통하여, 무선인 경우에는 CSMA/CA를 통하여 충돌을 감지할 수 있게 한다. CSMA/CA는 ack가 반드시 필요하며, 충돌 예방으로 RTS와 CTS를 이용한다.

 

7) 이러한 과정을 거쳐서 클라이언트는 서버에서 http request에 대한 응답을 받아서 웹 페이지를 확인할 수 있다. http request가 ack를 의미한다.

'security > D. Network' 카테고리의 다른 글

[Protocols] ARP 동작 원리  (0) 2024.03.14
[Network] 네트워크 교과서  (0) 2024.03.13
[Network] Network Security  (0) 2024.03.11
[Network] Multimedia Networking  (0) 2024.03.11
[Network] 계층 별 핵심 개념 정리  (0) 2024.03.11