OSI 7 Layer란?
TCP/IP 5 Layer 란?
TCP(Transmission Control Protocol, 전송제어 프로토콜)란?
TCP는 인터넷을 통해 신뢰성 있는 바이트 스트림을 전송하도록 특별히 설계돤 프로토콜이다. TCP 서비스는 송신자와 수신자 모두가 소켓이라고 부르는 종단점을 생성함으로써 이루어진다.
TCP 에서 연결 설정(connection establishment)는 3-way handshake를 통해 행해진다.
모든 TCP 연결은 전이중(full-duplex), 점대점(point to point)방식이다. 전이중이란 전송이 양방향으로 동시에 일어날 수 있음을 의미하며 점대점이란 각 연결이 정확히 2개의 종단점을 가지고 있음을 의미한다. 그러므로 TCP 는 멀티캐스팅이나 브로드캐스팅을 지원하지 않는다.
신뢰성을 보장하기 위해 오류 제어(패킷 유실, 데이터 손상 등에 대한 Error 발생 체크 및 재전송), 흐름 제어(패킷의 전달 순서 보장)기법을 사용한다.
3 Way-handshake
데이터의 유실 없이 신뢰성 있는 통신을 위해 데이터 전송 전 사전 연결 작업을 한다.
3번의 패킷을 주고 받으면서 통신에 필요한 리소스 확보 작업을 수행한다.
TCP 전송 과정
UDP(User Datagram Protocol, 사용자 데이터그램 프로토콜)란?
UDP는 비연결형 프로토콜 이다. IP 데이터그램을 캡슐화하여 보내는 방법과 연결 설정을 하지 않고 보내는 방법을 제공한다.
UDP는 흐름제어, 오류제어 또는 손상된 세그먼트의 수신에 대한 재전송을 하지 않는다. 이 모두가 사용자 프로세스의 몫이다. UDP가 행하는 것은 포트들을 사용하여 IP 프로토콜에 인터페이스를 제공하는 것이다.
TCP에 비해 속도가 빠르고 실시간성 데이터 전송에 유리한 측면이 있다고 볼 수 있다.
HTTP(Hyper Text Transfer Protocol)란?
원래 명칭은 Hyper Text를 전송하는 Protocol을 의미하지만, 웹 서버(Web Server)와 웹 클라이언트 (Web Client) 사이에 멀티미디어 정보를 전송하는 Protocol로 사용되고 있다.
웹 서버의 자원(리소스)은 URI(Uniform Resource Identifier : 통합 자원 식별자)를 통해 얻는다.
HTTP 메세지는 시작줄, Header(헤더), Body(본문)로 구성되며 Body는 없을 수 있다.
HTTP 상태 코드
HTTP Method
HTTPS(Hyper Text Transfer Protocol Secure)란?
HTTP를 안전하게 만드는 방식 중에서 가장 많이 사용되는 방식으로 모든 요청/응답 데이터를 암호화, 공격자(해커)로부터 정보 탈취를 방지, 인증서를 통해 클라이언트-서버 간 신원(위조 사이트)을 확인한다.
HTTPS는 SSL의 껍질을 덮어쓴 HTTP 라고 할 수 있다. HTTP 통신하는 소켓 부분을 SSL(Secure Socket Layer) or TLS(Transport Layer Security)라는 프로토콜로 대체하는 것 뿐이다. HTTP 는 원래 TCP 와 직접 통신했지만, HTTPS 에서 HTTP는 SSL과 통신하고 SSL이 TCP 와 통신 하게 된다. SSL 을 사용한 HTTPS 는 암호화와 증명서, 안전성 보호를 이용할 수 있게 된다.
쿠키 vs 세션
Mac / IP Address ?
'CS' 카테고리의 다른 글
[CS] 운영 체제 (0) | 2023.10.22 |
---|---|
데이터 베이스 (0) | 2023.10.12 |
자료 구조 (0) | 2023.09.26 |