2024.10.23.수.TIL TCP/UDP

김기남·2024년 10월 23일
post-thumbnail

안녕하세요, 오늘은 TCP/UDP 에 대해 정리해 보았습니다.

1. TCP/UDP의 기본 개념

TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)는 인터넷 프로토콜 스위트의 두 가지 주요 전송 프로토콜입니다. 이들은 데이터 패킷을 전송하는 방식에서 큰 차이를 보입니다. TCP는 연결 지향적이며, 데이터의 신뢰성을 보장하는 반면, UDP는 비연결형으로 빠른 전송을 중시합니다.

2. TCP와 UDP의 주요 특징

TCP는 데이터 전송의 신뢰성을 보장하기 위해 여러 가지 기능을 제공합니다. 예를 들어, 데이터가 올바르게 도착했는지 확인하기 위해 수신 확인(ACK) 메시지를 사용합니다. 또한, TCP는 데이터의 순서를 보장하며, 패킷이 손실되었을 경우 재전송을 요청합니다. 반면, UDP는 이러한 기능이 없기 때문에 데이터 전송 속도가 빠르지만, 신뢰성은 떨어집니다.

3. TCP와 UDP의 차이점

TCP와 UDP의 차이점은 여러 가지가 있습니다. 아래의 표를 통해 주요 차이점을 살펴보겠습니다.

4. TCP와 UDP의 사용 사례

TCP는 웹 브라우징, 이메일 전송, 파일 전송 등 신뢰성이 중요한 애플리케이션에서 주로 사용됩니다. 예를 들어, 웹 페이지를 로드할 때 모든 데이터가 정확하게 도착해야 하므로 TCP가 적합합니다. 반면, UDP는 실시간 게임, 비디오 스트리밍, VoIP(Voice over IP)와 같은 애플리케이션에서 사용됩니다. 이러한 경우에는 속도가 중요하기 때문에 UDP가 더 적합합니다.

5. TCP와 UDP의 장단점

TCP의 장점은 신뢰성과 데이터의 순서 보장입니다. 그러나 단점으로는 속도가 느리다는 점이 있습니다. 반면, UDP는 빠른 전송 속도가 장점이지만, 데이터 손실이나 순서가 뒤바뀔 수 있는 단점이 있습니다. 이러한 특성 때문에 사용자는 애플리케이션의 요구 사항에 따라 적절한 프로토콜을 선택해야 합니다.

6. 결론 및 요약

TCP와 UDP는 각각의 장단점이 있으며, 사용자의 필요에 따라 선택해야 합니다. 신뢰성이 중요한 경우 TCP를, 속도가 중요한 경우 UDP를 선택하는 것이 좋습니다. 이 두 프로토콜의 차이를 이해하고 적절히 활용하면, 더 나은 네트워크 환경을 구축할 수 있습니다.

오늘의 코드카타

import java.util.ArrayList;
import java.util.List;

class Solution {

    public int[] solution(String[] intStrs, int k, int s, int l) {
        List<Integer> result = new ArrayList<>();

        for (String str : intStrs) {
            int i = Integer.parseInt(str.substring(s, s + l));
            if (i > k) {
                result.add(i);
            }
        }

        return result.stream().mapToInt(i -> i).toArray();
    }
}
import java.util.Arrays;

public class Main {

    public static void main(String[] args) {

        Solution solution = new Solution();

        String[] i1 = {"0123456789", "9876543210", "9999999999999"};

        System.out.println(Arrays.toString(solution.solution(i1, 50000, 5, 5)));
    }
}

배열 만들기 5

profile
새로운 시작~!

0개의 댓글