1.HTTP 이란 (HyperText Transfer Protocol)

웹 어플리 케이션 계층 프로토콜 (TCP 기반으로 동작)

웹 클라이언트가 웹페이지를 어떻게 요청(Response)하는지를 정의

Stateless Protocol

RFC 1945 ,RFC 7230, RFC 7540에 정의

웹페이지 

Hyper Text = Text +Link

객체들로 구성

2. HTTP 개요

Request- Response 구조

Client-Server  구조

URL(Uniform Resurce Locator)

네트 워크 상에 존재하는 자원의 위치를 명세 하기 위한 규약

HTTP는 TCP를 사용

데이터의 손실 혹은 순서는 HTTP가 고려하지 않으며, TCP가 해결

비연결성(Connectionless)

클라이언트와 서버가 연결을 맺은 후에 응답을 마치면 기존의 연결을 끊는 특성

 장점: 연결유지에 대한 리소스를 줄임으로 서버 자원의 효율적 사용

단점: 클라이언트의 연결요청에 매번 연결/ 해체의 과정 수행으로 오버헤드발생

비상태 프로토콜(Stateless Protocol)

서버가 클라이언트에 요청파일을 보낼떄, 서버는 클라이언트에 대한 어떠한 상태 정보도 저장하지않음->

HTTP서버는 클라이언트에 대한 정보를 유지하지 않음

HTTP 버전

 HTTP/1.0 : 1990년대 초등장 [ RFC 1945]

HTTP/1.1: 1997초 표준화 [RFC 7030]

HTTP/2.0: 2015년 5월 표준화 [RFC 7540]

 2022년 1월 전체 웹사이트의 46.9% 점유

HTTP/3.0 :2022년 6월 표준화 [RFC 9114]

기존에 사용하던 TCP 대신에 UDP 기반의 QUIC 프로토콜 사용

 

3. Non persistent vs Perististent 연결

비지속 연결 (Non persistent connection)

클라이언트와 서버가 각각 다른 TCP 연결을 통해 데이터 통신 수행

지속 연결(Persistent connection)

클라이언트와 서버가 같은 TCP연결을 통해 데이터 통신수행

HTTP는 설정에 따라서 비지속 연결과 지속 연결방식을 사용 할수있음

HTTP/1.0은 비지속 (Non-persistent ) 연결을 지원

HTTP/1.1에서 지속 (Persistent)연결을 지원, Blocking I/O

HTTP/2.0 에서 Asynchrous I/O 지원 (비동기 입출력)

 

'개발 공부 > 네트워크' 카테고리의 다른 글

주소 지정  (0) 2023.09.20
캡슐화 역 캡슐화  (0) 2023.09.19
TCP/IP모델  (0) 2023.09.15
OSI 7 계층 모델  (0) 2023.09.14

3개의 계층에서 사용되는 주소

물리 주소 

논리 주소 

포트 주소

응용 -특수 주소

물리 주소

링크 주소

 WAN이나 LAN에서 정의된 노드의 주소

이더넷 네트워크 인터페이스 카드 (NIC) 의 6바이트 주소

근거리 통신망에서는 2바이트 마다

콜론(:)으로 나누어지는 16진수 12자리로 구성된 48비트(바이트)

논리 주소

인터넷 주소, IP주소

현재 인터넷에 연결된 호스트 식별

IPv4 

32비트 주소 체계

2^32 또는 4294967296 (40억이상)

IPv6

IPv4의 주소 고갈문제 를 해결하기 위해 대두

기존 IPv4의 32비트 주소체계를 128 비트로 확정

포트주소

 컴퓨터는 다수의 프로세스를 동시에 실행함

한프로세스가 다른 프로세스와 통신을 함

프로세스를 식별하는 주소(16bit)

64*1024 개의 포트주소가 있을 수있음

0번 ~1023번:잘 알려진 포트

1024~49151번:등록된 포트

49152번 ~65535번 동적포트

잘알려진 포트

  특정한 쓰임새를 위해서 IANA에서 할당한 TCP/UDP 포트

강제적으로 지정된것은 아니며 ,IANA의 권고안

가끔 포트 번호를 다른용도로 사용하기도함

 

ex) 23번 telntet ,25번 SMTP, 80번 HTTP 22번 SSH

 

등록된 포트

1024 번부터 49151번까지의 포트 번호

RFC 6335 에따라  인터넷 할당 번호관리기관에 등록

강제적 으로 지정된것은 아니며 ,IANA의 권고

ex) 1433 MSSQL  3306 MYSQL 3389 원격접속을 사용하기 위한 포트 8080 -HTTP대체 포트 (80번)을대체 할수 있는 포트

 

동적포트 

49152 번부터 65535번까지의 포트번호

임시포트로서 어떤 프로세스에 의해서 사용할수있고 ,개인또 사용자 정의 서비스

임시 목적 포트에 할당하는 포트 번호

수시로 변경되는 포트로, 인터넷이나 시스템에서 사용할 떄 동적으로  할당

'개발 공부 > 네트워크' 카테고리의 다른 글

웹 과 HTTP  (0) 2023.10.07
캡슐화 역 캡슐화  (0) 2023.09.19
TCP/IP모델  (0) 2023.09.15
OSI 7 계층 모델  (0) 2023.09.14

 

 

 데이터  캡슐화 역캡슐

컴퓨터 통신에 참여하는 대상들은 계층 구조를 가짐

데이터를 보내기 위해 데이터의 앞부분에 전송에 필요한 정보(헤더,header)를 붙여서 다음 계층으로 보냄

헤더(Header)

전송되는 데이터의 맨 앞에 위치하는 추가적인 정보데이터

데이터의 내용이나 성격을 식별 또는 제어하는데 사용

켭슐화

 컴퓨터 통신에서 상위 계측에서 통신 프로토콜 정보를 데이터에 추가하여 하위 계층으로 전송하는 기술

역캡슐화

켭슐화의 반대T로 상위 계층의  통신 프로토콜에서 하위 계층에 추가한 정보를 분리,해석및 처리하는 기술

역캡슐화 

캡슐화를 반대로 상위 계층의 통신 프로토콜에서 하위계층에 추가한 정보를 분리, 해석및 처리하는 기술

TCP /IP에서의 캡슐화의 역캡슐화

응용 계층에서 생성된 데이터는 전송계층에 전달되고 전송 계층에서는 신뢰성

있는 통신을 위한 헤더가 첨부 -> 세그먼트,패킷

전송계층을 통과한 세그먼트는 네트워크 계층에 전달되고 네트워크 계층에서는 다른 네트워크와 통신하기 위한 헤더가 첨부->

테이터 그램

네트워크 계층을 통과한 패킷은 데이터 링크층에 전달되고 물리적 통신 채널을 연결하기 위한 헤더와 트레일러 가 첨부-> 프레임

 

프레임은 최종적으로 물리계층에서 전기신호로 변환되어 수신 에 전송  수신측은 데이터 링크 계층 -> 전송계층-> 응용계층으로  데이터가 전달되며, 각계층에서 헤더를 제거하고 처리한다.

응용 계층은 최종적으로 모든 헤더가 제거된 데이터

전송되는 데이터 프레임은 중간에 스위치나 라우터를 거친다

스위치는 1,2 계층에 대한 프로토콜 스택을 구현

라우터는 1,2,3계층에 대한 프로토콜 스택을 구현

 

 

'개발 공부 > 네트워크' 카테고리의 다른 글

웹 과 HTTP  (0) 2023.10.07
주소 지정  (0) 2023.09.20
TCP/IP모델  (0) 2023.09.15
OSI 7 계층 모델  (0) 2023.09.14

OSI 보다 먼저 개발

  De Facto 표준

계층 구조는 OSI 모델과 정확하게 일치하지 않음

물리 층 ,데이터 링크층, 네트워크 층 , 전송층 , 응용층으로 구성됨

 TCP/IP  프로토콜 의 계층들

 링크 라는 여러 개의 작은 네트워크로 구성

 링크는 근거리 통신망 또는 광역 통신망(WAN)

 링크 는 라우터 나 교환기 로 서로연결

데이터 링크 층 통신

 서로 연결된 노드간의 전송을 책임 짐 -hop by hop

통신 단위는 프레임 (frame )

네트워크 층

출발지 에서 목적지 까지의 전송을 책임짐

통신 단위는 데이터그램

인터넷 프로토콜(IP)

 주소변환 프로토콜(ARP)

인터넷제어 메시지 프로 토콜

인터넷 그룹 메시지 프로토콜 

전송층

 프로세스 간 전송을 책임

통신 단위는 세그먼트 ,패킷

전송제어 프로토콜 (TCP)

사용자 데이터 그램 프로토콜 (UDP)

스트림 제어 전송 프로토콜(SCTP)

 

응용 층

 네트워크 응용의 역할 을 구현

통신 단위는 메시지 (message)

OSI 모델의 세션, 표현, 응용층을 합친

NFS,SNMP,SNMP, DNS,HTTP,FTP

'개발 공부 > 네트워크' 카테고리의 다른 글

웹 과 HTTP  (0) 2023.10.07
주소 지정  (0) 2023.09.20
캡슐화 역 캡슐화  (0) 2023.09.19
OSI 7 계층 모델  (0) 2023.09.14

Open System Interconnection Basic Reference Model : ISo - 7498 -1

ISO에서 제정한 개방 시스템 상호 연결 모델

1970 년 후반에 처음 소개

모든 유형의 컴퓨터 시스템간의 통신을 허용하는 네트워크 시스템을 설계하기 위한 계층 구조 를 갖는 모델

서로 연관된 7개의 계층으로 구조

 

 

 

 

 

 

 

 

 

 

 계층 vs 계층 통신

계층간 인터페이스

 자신의 바로위 계층에 제공되는 정보와 서비스를 정의

계층의 기본구조

 계층 1,2,3,(네트워크 지원 계층)

    하나의 장치에서 다른 장치로 전송되는 데이터의 물리적인 면을 처리

 계층 5,6,7(사용자 지원 계층)

 관련 없는 소프트웨어 시스템 간의 상호 운용성 제공

계층 4( 전송계층)

네트워크 지원계층 과 사용자지원계층을 서로 연결하고, 네트워크 지원 계층이 전송한 것을 사용자 지원계층이 사용할수 있는 형태가 되도록 보장

  OSI 7계층 모델

 OSI 모델의 계층

 물리 층(physical layer)

 물리 매체를 통해 비트 스트림 (bit stream)을 전송하는데 필요한 기능 제공

 주요 기능

 인터페이스와 메체의 물리적인 특성

비트 의 동기화 (송수신자간 클록)

데이터 전송률 (bps)

화선 구성 (점대점, 다중점)

물리적 접속 형태(그물형,성형, 원형, 버스형)

전송모드 (단방향 ,반이중, 전이중)

 

데이터 링크층 (Data Link Layer)

물리층의 전송 설비를 신뢰할 수있는 링크로변환

주요기능

 프레임 구성

물리 주소 지정 (송수신자 주소)

흐름 제어

오류 제어

접근제어

 

네트워크 층(network layer)

패킷(packet)을 네트워크를 통하여 발신지에서 목적지 까지 전달 책임

주요기능

 논리 주소 지정

 경로 지정 

 패킷이 최종 목적지에 전달될 수있도록 경로를 저정하거나 교환가능 제공

전송층 (transport layer)

전체 메시지의 프로세스 대 프로세스 전달 책임 (하드웨어)

 

서비스 지점 주소지정(포트 주소)

분할과 재조립(segmentation and reassembly)

연결제어(Connection Control)

흐름제어 (Flow Control)

오류제어 (Error Control)

 

셰션 층 (session layer)

네트워크 대화제어기로서 통신 시스템간 상호대화 설정, 유지, 동기화 책임

주요 기능

 대화 제어(반이중, 전이중)

 동기화(확인점(synchronization point)추가)

 

 

표현층(presentation layer)

두시스템 간에 교환되는 정보의 구문과 의미 와 관련

 

주요기능

 변환 암호화 압축

                

 

 

 

 

 

 

 

'개발 공부 > 네트워크' 카테고리의 다른 글

웹 과 HTTP  (0) 2023.10.07
주소 지정  (0) 2023.09.20
캡슐화 역 캡슐화  (0) 2023.09.19
TCP/IP모델  (0) 2023.09.15