상세 컨텐츠

본문 제목

주제 18,19 ) OSI 7계층과 TCP/IP 4계층

본문

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

소켓 :

  • 네트워크에서 실행되는 두 프로그램 간의 양방향 통신 링크의 끝점 [IP주소+포트번호]로 식별됨

포트 :

  • 컴퓨터 또는 기타 네트워크 장치의 통신 끝점 0~65535사이의 숫자로 식별

차이점 : 

소켓은 IP 주소와 포트 번호의 조합인 반면, 포트는 단순히 장치의 특정 통신 끝점을 식별하는 번호

소켓은 네트워크를 통해 두 응용 프로그램간의 연결을 설정하고 관리하는 데 사용되고, 포트는 장치에서 실행 중인 서로 다른 서비스 또는 프로세스를 식별하는 데 사용

 

정리 :

소켓은 통신 끝점을 고유하게 식별하는 IP주소와 포트번호의 조합, OSI 7계층중 전송 계층에서 두끝점간의 연결을 설정하는 데 사용되며, 끝점간 데이터를 교환할 수 있게 방법을 제공함

포트는 끝점에서 실행되는 특정 서비스 또는 응용 프로그램을 식별하기 위해 전송 계층에서 사용하는 번호, 통일한 장치에서 실행되는 서로 다른 서비스 또는 프로그램을 구별하는 데 사용되는 논리적 구조.

 결국 전송계층에서 세션계층으로 넘어갈때, IP주소 + 포트번호를 한것이 소켓이라고 생각하면되고, 아이피 주소에 포트넘버를 추가하는 이유는 하나의 IP에서 여러개의 포트로 각각의 다른 서비스를 실행하고 있을 수 있기 때문이다.

 


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

HTTP/0.9 - 첫번째 HTTP 버전

일반 텍스트 파일의 전송만 허용

 

HTTP/1.0 - 헤더 도입

헤더에 대한 지원을 도입하여, 복잡한 요청 및 응답을 허용하고 서버가 요청 결과에 대한 정보를 제공할 수 있도록 상태 코드에 대한 지원을 추가

 

HTTP/1.1 - 지속적인 연결 지원

지속적인 연결을 지원하고, 청크 분할 인코딩 지원을 도입하여, 대용량 파일을 보다 효율적으로 전송할 수 있습니다.

* 청크 분할 인코딩 : 데이터 전송과정에 데이터를 조각(청크) 단위로 나누어 전송하고, 청크 헤더를 통해 청크를 재조립 할수 있습니다. 청크 분할의 장점으로는 전체 데이터가 전송될 때가지 기다릴 필요가없어 수신자에게 스트리밍 할수 있다는 데에 있습니다.

 

HTTP/2 - 멀티플렉싱과 서버 푸시 도입

단일 연결을 통해, 여러 요청을 보내고 받을 수 있는 멀티플렉싱과 요청을 받기 전 서버가 추가 리소스를 클라이언트에게 보내는 서버 푸시를 도입

*멀티플렉싱 : HTTP/1.x에서는 요청~응답 주기에 별도의 TCP 연결이 필요하여, 대기 시간이 늘어나고 성능이 저하될 수 있었으나, HTTP/2에서는 단일 연결을 통해 여러개의 요청 및 응답을 보내고 받을 수 있으므로 여러 연결을 만들고 유지하는 것과 관련된 오버헤드가 줄어듭니다.(오버헤드란, 헤더 혹은 기타 메타데이터를 의미함)

이미지 출처 : https://coolicehost.com/http2-protocol.html

 

HTTP/3 - QUIC프로토콜 기반

암호화된 헤더에 대한 지원을 도입하여 보안 및 개인 정보 강화

*QUIC프로토콜( 주요기능중 1개 : TCP가 아닌 UDP를 통해 작동하여 대기시간과 패킷 손실을 줄여 성능을 향상시킴)

HTTP/2와 HTTP/3의 차이점

  • HTTP/2는 TCP 클라이언트와 서버간에 세션을 설정하기 위해 핸드셰이크가 필요하고, TLS라는 세션이 보호되도록 만든 자체 핸드셰이크도 필요합니다. 클라이언트-서버가 멀리 떨어져있을때, 시간이 오래 걸릴 수 있으나, HTTP/3은 보안세션을 설정하기 위해 한번의 핸드셰이크만 필요합니다.
  • HTTP/2의 TCP는 방화벽 및 NAT 디바이스와 같은 수많은 미들박스에 의해 파악되고 조작됩니다. HTTP/3의 QUIC는 기업 또는 공용 네트워크에서 패킷 흐름을 허용하는 기반으로 UDP를 사용하며, 메타데이터를 포함하여 완전히 암호화 되기 때문에 미들박스가 세부 정보를 검사하거나 조작 할 수 없습니다.

 

 

출처 : https://aws.amazon.com/ko/blogs/korea/new-http-3-support-for-amazon-cloudfront/

관련글 더보기