hy30nq's blog

[혼공네트] 4주차_정리 본문

대외 활동/혼공학습단

[혼공네트] 4주차_정리

hy30nq 2024. 7. 25. 21:14
728x90

문제: IP와 연관된 통신 특성으로 알맞은 단어를 보기에서 골라 보세요.

보기: 신뢰성, 연결형, 비신뢰성, 비연결형

 

정답 : 비신뢰성, 비연결형

 

연결형(Connection-oriented): 데이터 전송 전에 연결을 설정하여 통신을 하는 방식. 예를 들어, TCP(Transmission Control Protocol)는 연결형 프로토콜입니다. 이 방식은 데이터 전송의 신뢰성을 높이기 위해 사용됩니다.

비연결형(Connectionless): 데이터 전송 전에 연결을 설정하지 않고 각 데이터 패킷을 독립적으로 전송하는 방식. 예를 들어, IP(Internet Protocol)는 비연결형 프로토콜입니다. 이는 데이터 전송의 효율성을 높이기 위해 사용됩니다.

신뢰성(Reliability): 데이터가 정확하게 전달되었는지를 보장하는 특성. 예를 들어, TCP는 신뢰성을 제공하지만 IP는 기본적으로 신뢰성을 제공하지 않습니다.

비신뢰성(Unreliability): 데이터의 정확한 전달을 보장하지 않는 특성. IP는 비신뢰성 특성을 가집니다.

 

TCP 쓰리 웨이 핸드셰이크 과정

TCP는 신뢰성 있는 데이터 전송을 위해 연결을 설정할 때 "쓰리 웨이 핸드셰이크(Three-Way Handshake)"라는 과정을 거칩니다. 이 과정은 두 컴퓨터 간의 안정적인 연결을 보장하기 위해 사용됩니다. 

 

1. SYN (Synchronize Sequence Numbers)
첫 번째 단계에서는 클라이언트(호스트 A)가 서버(호스트 B)에게 연결 요청을 보냅니다. 이 요청 메시지는 SYN 세그먼트로 표현됩니다. 클라이언트는 이 단계에서 자신이 사용할 초기 시퀀스 번호를 서버에게 알립니다.

2. SYN-ACK (Synchronize-Acknowledge)
두 번째 단계에서는 서버가 클라이언트의 요청을 받고, 연결 요청을 수락하며 응답을 보냅니다. 이 응답 메시지는 SYN-ACK 세그먼트로 표현됩니다. 서버는 자신의 초기 시퀀스 번호를 클라이언트에게 알리고, 동시에 클라이언트의 SYN 세그먼트를 확인합니다.

3. ACK (Acknowledge)
세 번째 단계에서는 클라이언트가 서버의 응답을 받고, 연결이 설정되었음을 알립니다. 이 메시지는 ACK 세그먼트로 표현됩니다. 클라이언트는 서버의 SYN-ACK 세그먼트를 확인하고 연결이 성공적으로 설정됩니다.

 

핸드셰이크 과정의 시각화:

  1. 호스트 A가 호스트 B에게 SYN 세그먼트를 보냅니다.
  2. 호스트 B가 SYN-ACK 세그먼트를 호스트 A에게 보냅니다.
  3. 호스트 A가 호스트 B에게 ACK 세그먼트를 보냅니다.

이 과정을 통해 두 호스트 간의 연결이 안정적으로 설정됩니다. 이 과정을 완료한 후에 데이터를 주고받을 수 있습니다.

 

맥 같은 경우는 Activity Moniter에서 프로세스별 PID를 확인할 수 있습니다.

또는 terminal에서 ps -ax 명령어를 통해서도 확인할 수 있습니다.

728x90