DevOps BootCamp/네트워크 기초

첫 번째 발표

cloudmaster 2023. 4. 6. 14:37

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

 

소켓(Socket):

  • 소켓은 네트워크 상에서 프로세스 간에 통신을 가능하게 해주는 소프트웨어 인터페이스입니다.
  • 소켓은 특정 프로토콜(예: TCP, UDP)을 사용하여 네트워크를 통해 데이터를 송수신할 수 있습니다.
  • 소켓은 프로세스가 네트워크에서 데이터를 보내고 받을 수 있는 커넥션의 엔드포인트입니다.
  • 소켓은 IP 주소와 포트 번호의 조합으로 고유하게 식별되며, 클라이언트와 서버 간의 통신을 가능하게 합니다.
  • 소켓은 일반적으로 프로그래밍 언어에서 제공하는 라이브러리를 통해 사용됩니다.

 

포트(Port):

  • 포트는 컴퓨터 네트워크에서 특정 프로세스를 식별하는 논리적인 개념입니다.
  • 포트는 프로세스가 네트워크 상에서 데이터를 주고 받을 수 있는 문지를 나타냅니다.
  • 포트는 0부터 65535까지의 번호로 표현되며, 특정 프로세스와 연결되어 해당 프로세스와의 통신을 가능하게 합니다.
  • 포트 번호는 독립적으로 사용되며, 같은 IP 주소를 가진 다양한 프로세스들이 서로 다른 포트를 사용하여 통신할 수 있습니다.
  • 일반적으로, 특정 프로토콜에 대해 예약된 포트 번호가 있으며, 이러한 예약된 포트 번호는 표준화된 서비스들에 할당되어 있습니다.

 

차이점:

  • 소켓은 네트워크 상에서 데이터를 송수신할 수 있는 인터페이스로, 프로세스 간의 통신을 가능하게 합니다. 반면에, 포트는 특정 프로세스를 식별하는 논리적인 번호로, 프로세스와의 통신을 가능하게 합니다.
  • 소켓은 IP 주소와 포트 번호의 조합으로 식별되며, 프로그램에서 생성하고 사용됩니다. 포트는 프로세스가 네트워크 상에서 데이터를 주고 받을 수 있는 문지로, 프로세스에서 포트를 지정하여 통신을 합니다.

 

 

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

 

HTTP(HyperText Transfer Protocol)는 인터넷에서 웹 브라우저와 웹 서버 간에 데이터를 주고받는 프로토콜입니다.

 

HTTP/1.0:

  • 최초의 HTTP 버전으로, 1996년에 도입되었습니다.
  • 간단한 요청-응답 모델을 사용하며, 클라이언트가 요청을 보내면 서버가 응답을 보내는 방식입니다.
  • 모든 요청에 대해 새로운 연결을 맺고, 요청과 응답의 헤더 정보가 분리되어 전송됩니다.
  • 한 번에 하나의 요청만 처리하며, 요청에 대한 응답이 완료되기 전까지 다른 요청을 보낼 수 없습니다.
  • 성능이 떨어질 수 있고, 많은 네트워크 지연과 오버헤드가 발생할 수 있습니다.

 

HTTP/1.1:

  • 1999년에 도입된 HTTP의 개선 버전으로, 현재 가장 널리 사용되는 버전입니다.
  • Keep-Alive 기능이 도입되어 한 번의 연결로 여러 요청과 응답을 처리할 수 있게 되었습니다.
  • 파이프라이닝(Pipelining)이 도입되어 요청과 응답을 동시에 전송하여 네트워크 오버헤드를 줄였습니다.
  • 캐시와 압축, 분할 다운로드 등의 기능이 추가되어 성능이 개선되었습니다.
  • 하지만 여전히 여러 개의 요청과 응답이 병렬로 처리되는 것이 아니라 순차적으로 처리되기 때문에, 브라우저의 병렬 다운로드가 제한적일 수 있습니다.

 

HTTP/2:

  • 2015년에 도입된 HTTP의 다음 버전으로, 성능과 보안을 개선하였습니다.
  • 이진 프레임(Binary Frame) 형식을 사용하여 헤더와 바디를 압축하고, 여러 개의 프레임을 병렬로 전송하여 더 효율적인 통신을 가능하게 합니다.
  • 서버 푸시(Server Push)라는 기능을 도입하여, 서버가 클라이언트의 요청에 대한 응답으로 미리 리소스를 푸시할 수 있습니다.
  • 연결 당 여러 개의 요청과 응답이 병렬로 처리되어, 다수의 요청을 효율적으로 처리할 수 있습니다.
  • HTTP/1.x와의 하위 호환성을 유지하고 있습니다.

 

'DevOps BootCamp > 네트워크 기초' 카테고리의 다른 글

프록시  (0) 2023.04.07
두 번째 발표  (0) 2023.04.07
Physical Layer - 네트워크 액세스 계층  (0) 2023.04.06
Data Link Layer - 데이터 링크 레이어  (0) 2023.04.06
Session Layer - Socket(소켓)  (0) 2023.04.06