컴퓨터공학 공부
컴퓨터공학 공부 다시 시작하기 23주차-TCP 프로토콜/슬라이딩 윈도우 및 혼잡 제어 알고리즘 이해, UDP 프로토콜 이해(네트워크)
개발학생
2025. 4. 2. 13:59
반응형
1. TCP 프로토콜/슬라이딩 윈도우 및 혼잡 제어 알고리즘 이해
TCP 제어
- 네트워크 트래픽에 따른 효율적/신뢰적 송신을 위한 제어 알고리즘 적용
흐름 제어(Flow Control): 슬라이딩 윈도우(Sliding Window)
- 매번 ACK를 기다리지 않고 여러 패킷을 연속해서 송신하기 위해,
각 컴퓨터의 윈도우 사이즈 확인 후 윈도우 사이즈만큼 ACK없이 연속해서 송신
*TCP 윈도우 사이즈 설정
혼잡 제어 알고리즘: Congestion Window
- 송신 제어를 위한 윈도우는 2개
- Receiver Window(RWND): 흐름 제어(Sliding Window)에서 활용
- Congestion Window(CWND): 네트워크 혼잡 제어를 위해 활용
- 송신 측 최종 윈도우 크기 = min(RWND, CWND)
Congestiong Window 초기값: 1MSS
MSS = MTU - (IP헤더길이) - (TCP헤더길이)
- MTU(Maximum Transmission Unit): 한 번 전송할 때 보낼 수 있는 최대 단위(ifconfig/ipconfig 명령어로 확인 가능)
보통 1500 - 20 - 20 = 1460 bytes
혼잡 제어: AIMD(Additive Increase/Multicative Decrease)
- 가장 기본이 되는 알고리즘
- 처음에는 CWND=1인데,
ACK 도착(패킷 전송 성공) 시 CWND = CWND + 1
ACK 도착하지 않음(패킷 전송 실패) 시 CWND = CWND / 2
혼잡 제어: 느린 시작(Slow Start) 및 혼잡 회피(Congestion Avoidance)
- AIMD의 느린 초기 송신을 빠르게 하기 위한 기술
- 느린 시작(Slow Start): 처음에는 CWND=1인데,
ACK 도착(패킷 전송 성공) 시 CWND = CWND의 2배
ACK 도착하지 않음(패킷 전송 실패) 시 CWND = 1(초기값) - 혼잡 회피(Congestion Avoidance): CWND가 일정 크기에 도달하면, ACK 도착(패킷 전송 성공) 시 CWND = CWND + 1
2. UDP 프로토콜 이해
UDP
- 사용자 데이터그램 프로토콜(User Datagram Protocol)
- 데이터 효율성 중시(일반적으로 TCP보다 빠름)
- 헤더가 단순함
- UDP와 TCP 비교
UDP | TCP | |
연결 설정 | 없음 | 3-way handshake |
연결 해제 | 없음 | 4-way handshake |
혼잡 제어 | 없음 | Sliding Window, Slow Start |
데이터 신뢰성 | 없음 | 데이터 송수신 확인(ACK) |
UDP의 장점
- 데이터 유실이 일부 있어도 문제 없고, 빠른 전송이 필요한 서비스에서 많이 사용됨(예: 동영상 스트리밍 등)
- 브로드캐스팅 지원: 동일 네트워크에 연결된 모든 컴퓨터에 데이터 송신 가능
반응형