DevOps21일차 - 발표과제

문한성·2023년 4월 6일
0

부트캠프

목록 보기
35/123
post-thumbnail

소켓과 포트의 특징을 작성하고, 그 차이점을 설명하세요.

네트워킹에서 소켓과 포트는 모두 두 장치 간의 통신을 설정하는 데 사용되지만 서로 다른 기능을 수행합니다.

소켓은 네트워크에서 실행되는 두 프로그램 간의 양방향 통신 링크의 끝점입니다. IP 주소와 포트 번호의 고유한 조합으로 식별됩니다. 소켓은 응용 프로그램에 의해 생성되며 네트워크를 통해 데이터를 보내고 받는 역할을 합니다. 소켓은 사용 중인 프로토콜 유형에 따라 연결 지향(예: TCP) 또는 비연결형(예: UDP)일 수 있습니다.

반면에 포트는 네트워크에서 서로 다른 유형의 트래픽을 구별하는 데 도움이 되는 숫자 식별자입니다. 포트는 장치에서 실행 중인 특정 프로세스나 서비스를 식별하는 데 사용되어 다른 장치가 통신할 수 있도록 합니다. 각 포트는 HTTP(포트 80) 또는 FTP(포트 21)와 같은 특정 프로토콜 및 장치의 특정 애플리케이션 또는 서비스와 연결됩니다.

소켓과 포트의 주요 차이점은 다음과 같습니다.

기능: 소켓은 네트워크에서 실행되는 두 프로그램 간의 통신을 설정하는 데 사용되며 포트는 장치의 특정 프로세스 또는 서비스를 식별하는 데 사용됩니다.
식별: 소켓은 IP 주소와 포트 번호의 고유한 조합으로 식별되고 포트는 숫자 식별자로 식별됩니다.
생성: 소켓은 장치에서 실행되는 응용 프로그램에 의해 생성되는 반면 포트는 일반적으로 운영 체제 또는 네트워크 관리자가 특정 응용 프로그램이나 서비스에 할당합니다.

요약하면 소켓과 포트는 둘 다 네트워킹의 중요한 구성 요소이지만 서로 다른 기능을 수행합니다. 소켓은 네트워크에서 실행되는 두 프로그램 간의 통신을 설정하는 데 사용되는 반면 포트는 장치의 특정 프로세스 또는 서비스를 식별하는 데 사용됩니다.

HTTP 버전별 특징과 차이점을 설명하세요.

  • HTTP(Hypertext Transfer Protocol)는 인터넷을 통해 데이터를 전송하는 데 사용되는 프로토콜입니다. 각기 다른 특성과 차이점을 가진 여러 버전의 HTTP가 있습니다.

  • HTTP/0.9:
    이것은 1991년에 소개된 HTTP의 첫 번째 버전입니다. 매우 기본적인 버전이었고 이후 버전에서 사용할 수 있는 많은 기능을 지원하지 않았습니다. HTML 파일에 대한 요청만 허용했으며 헤더나 다른 유형의 콘텐츠를 지원하지 않았습니다.

  • HTTP/1.0:
    이 버전은 1996년에 도입되었으며 이미지 및 오디오 파일과 같은 여러 파일 형식을 지원하는 최초의 버전입니다. 또한 헤더에 대한 지원과 요청에 대한 응답을 캐시하는 기능을 도입했습니다. 그러나 HTTP/1.0은 연결을 처리하는 방식 때문에 성능 면에서 몇 가지 제한이 있었습니다.

  • HTTP/1.1:
    이 버전은 1999년에 도입되었으며 오늘날에도 여전히 널리 사용되고 있습니다. 여러 요청에 대해 연결을 유지하는 기능, 청크 분할 전송 인코딩 지원, 단일 연결(파이프라인)을 통해 여러 요청을 보내는 기능을 포함하여 HTTP/1.0에 비해 몇 가지 개선 사항을 도입했습니다. HTTP/1.1은 또한 PUT, DELETE 및 OPTIONS와 같은 새로운 방법을 도입했습니다.

  • HTTP/2:
    이 버전은 2015년에 도입되었으며 HTTP/1.x의 일부 성능 제한을 해결하도록 설계되었습니다. 텍스트 대신 바이너리 형식을 사용하므로 데이터 전송과 관련된 오버헤드가 줄어듭니다. HTTP/2는 또한 다중화를 지원하여 동시에 단일 연결을 통해 여러 요청을 보낼 수 있습니다. 또한 HTTP/2는 서버 푸시를 지원하므로 서버가 리소스를 요청하기 전에 클라이언트에 보낼 수 있습니다.

  • HTTP/3:
    이 버전은 2020년에 도입되었으며 특히 신뢰할 수 없는 네트워크 연결에 대한 성능 영역에서 HTTP/2의 일부 제한 사항을 해결하도록 설계되었습니다. HTTP/3은 QUIC이라는 새로운 전송 프로토콜을 사용합니다. 이 프로토콜은 패킷 손실이 높은 네트워크에서 더 나은 성능을 제공하도록 설계되었습니다. HTTP/3은 또한 HTTP/2와 같은 서버 푸시 및 멀티플렉싱을 지원합니다.

요약하면 HTTP의 각 버전에는 고유한 특성과 차이점이 있습니다. HTTP/0.9는 매우 기본적이고 HTML 파일에 대한 요청만 지원했습니다. HTTP/1.0은 여러 파일 유형 및 헤더에 대한 지원을 추가했지만 성능 면에서 제한이 있었습니다. HTTP/1.1은 HTTP/1.0에 비해 몇 가지 개선 사항을 도입했으며 오늘날에도 여전히 널리 사용되고 있습니다. HTTP/2는 HTTP/1.x의 성능 제한을 해결하도록 설계되었으며 HTTP/3은 특히 신뢰할 수 없는 네트워크 연결에서 HTTP/2의 제한을 해결하도록 설계되었습니다.

profile
기록하고 공유하려고 노력하는 DevOps 엔지니어

0개의 댓글