네트워크[2021.10.27]

김정훈·2021년 10월 27일
0

HTTP

목록 보기
9/9

1. IP와 IP패킷

복잡한 인터넷 망 속 수많은 클라이언트와 서버가 통신하기 위해서
규칙이 필요하고 IP(인터넷프로토콜) 주소를 컴퓨터에 부여하여 이를 이용해 통신한다.

1. IP프로토콜의 장점
 - IP는 IP주소에 패킷이라는 통신 단위로 데이터를 전달
 - IP패킷은 데이터를 무사히 전송하기 위해 출발지 IP,
   목적지 IP와 같은 정보가 포함된다.
 - 패킷 단위로 전송을 하면 노드들은 목적지 IP에 도달하기 위해
   서로 데이터를 전달, 이를 통해 복잡한 인터넷 망 사이에서도
   정확한 목적지로 패킷을 전송 할 수 있다.
 - 서버 역시 IP 패킷을 이용해 클라이언트에 응답을 전달
 
2. IP프로토콜 한계 
 - 비연결성
  : 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷이 전송
 - 비신뢰성
  : 서버가 데이터를 전달하던중 장애로 인해 패킷이 중간에 소실되더라도 
    클라이언트는 이를 파악할 방법이 없음
    전달 데이터의 용량이 클 경우 클라이언트가 의도하지 않은 순서로
    패킷이 도착할 수 있음
    
    

2. TCP와 UDP

네트워크 프로토콜 계층은 OSI 7계층과 TCP/IP 4계층으로 나눌 수 있고 IP프로토콜 보다 더 높은 계층에 TCP프로토콜이 존재하기 때문에 IP프로토콜의 한계를 보완할 수 있다.

1. TCP/IP 패킷
  - TCP 세그먼트에는 IP패킷의 출발지 IP와 목적지 IP정보를 보완 할 수 있는
    출발지 PORT, 목적지 PORT, 전송 제어, 순서, 검증 정보등을 포함

2. TCP 특징(전송 제어 프로토콜)
  - 연결 지향 - TCP 3 way handshake
  - 데이터 전달 보증
   : 데이터 전송이 성공적으로 이루어진다면 이에 대한 응답을 돌려주기 때문에
     IP패킷의 한계인 비연결성을 보완할 수 있다.
  - 순서 보장
   : 패킷이 순서대로 도착하지 않는다면 TCP 세그먼트에 있는 정보를 토대로
     다시 패킷 전송을 요청할 수있다.
  - 신뢰 할 수 있는 프로토콜
  
3. UDP특징(사용자 데이터그램 프로토콜)
  - UDP는 IP프로토콜에 PORT, 체크섬 필드 정보만 추가된 단순한 프로토콜
  - TCP와 비교해 신뢰성은 낮고 전송 순서를 보장 하지 않지만 빠른 속도를 
    보장하며 하얀 도화지처럼 커스터마이징이 가능하다는 장점
  - 신뢰성보다는 연속성이 중요한 서비스(스트리밍...)에 자주 사용

3. HTTP

HTTP/1.1, HTTP/2는 TCP 기반
HTTP/3은 UDP기반 프로토콜

1. HTTP 특징
  - 클라리언트 서버 구조
   : 클라이언트가 서버에 요청을 보내면 서버는 그에 대한 응답을 보내는 
     구조로 이루어짐
  - 무상태 프로토콜(Stateless)
   : 서버가 클라리언트의 상태를 보존하지 않음
     장점 : 서버 확장성 높음(스케일 아웃 - 수평 확장 유리)
     단점 : 클라이언트가 추가 데이터 전송
  - HTTP 메세지
  - 단순함, 확장 가능
  
2. HTTP 한계
  - 웹 브라우저로 사이트를 요청하면 HTML 뿐만 아니라 자바스크립트, css
    추가 이미지 등 수 많은 자원이 함께 다운로드 됨
  - 해당 자원들을 각각 보낼때마다 연결을 끊고 다시 연결하기를 반복하며 비효율적
  - 지금은 HTTP지속 연결로 문제를 해결
   : HTTP 초기(HTTP/1.0 기준) - 연결, 종료 낭비
     HTTP 현재 - 연결이 이루어지고 난 뒤 각각의 자원들을 요청하고 모든 자원에
                대한 응답이 돌아온 후에 연결을 종료
     
  
 

profile
프론트엔드 개발자를 꿈꾸고 있습니다!

0개의 댓글