2024/07 17

HTTP 헤더

HTTP/1.0과 HTTP/1.1의 차이 keep-alive, HOLHTTP/1.0HTTP/1.0은 수명이 짧은 연결HTTP요청은 자체 요청에서 완료되며, 각 HTTP 요청당 TCP 핸드셰이크가 발생되며 기본적으로 한 연결당 하나의 요청을 처리하도록 설계됨.문제점: 한번 연결할 때마다 TCP연결-> RTT가 증가HTTP/1.1HTTP/1.1은 HTTP/1.0의 단점을 보완한 프로토콜.1.keep-alive default매번 데이터를 요청할 때마다 TCP 연결을 하는게 아닌 한번 해놓고 계속해서 데이터를 받을 수 있게 됨- 기본옵션으로 keep-alive 옵션을 하며 가능해짐2. 호스트 헤더서버는 여러개의 호스트를 가질 수 있으며, 이런 유연성을 위해 HTTP/1.1은 헤더에 특정 호스트를 포함할 수 있게..

cs 2024.07.15

IP주소체계

클래스풀(Classful IP Addressing)클래스풀 주소 지정은 IP 주소를 5개의 클래스(A - E)로 나누어서 배분하는 방식. TCP/IP 체계 도입 초반에 제안된 주소지정 개념이다.클래스 A: 네트워크 ID 부분이 1옥텟, 네트워크 주소가 0 ~ 1271클래스 B: 네트워크 ID 부분이 2옥텟, 네트워크 주소가 128 ~ 1911클래스 C: 네트워크 ID 부분이 3옥텟, 네트워크 주소가 192 ~ 2231클래스 D: 멀티캐스트를 위한 주소클래스 E: 연구/개발 용으로 예약한 주소클래스리스와 서브넷마스크, 서브네팅인터넷이 상용화 되며 폭발적으로 증가한 사용량에 따른 IP 주소 부족을 해결하기 위한 방법.클래스리스 주소 지정에서는 클래스 A, B, C 네트워크를 나누는 대신, 원하는 크기의 서브..

cs 2024.07.15

플로이드 워셜(Floyd-Warshall)

플로이드 워셜 알고리즘이란?모든 지점에서 다른 모든 지점까지의 최단 경로를 모두 구하는 알고리즘한 번 실행하여 모든 노드 간 최단 경로를 구할 수 있다. 핵심 아이디어는 '거쳐가는 정점'을 기준으로 최단 거리를 구하는 것 다익스트라 알고리즘과의 차이점모든 노드 쌍에 대한 최단 거리 계산음의 가중치를 가지는 그래프에서 사용 가능 다익스트라의 경우 양의 가중치를 가지는 그래프에서만 사용소스코드가 다익스트라에 비해 매우 짧아 구현이 쉬움단계마다 '거쳐 가는 노드'를 기준으로 알고리즘을 수행하지만, 매 단계마다 방문하지 않은 노드 중에서 최단 거리를 갖는 노드를 찾을 필요는 없음 다익스트라의 경우 단계마다 최단 거리를 가지는 노드를 하나씩 반복적으로 선택. 이후 해당 노드를 거쳐가는 경로를 확인하며 최단 거리 ..

cs/알고리즘 2024.07.15

라우팅, 라우터

라우팅네트워크에서 경로를 선택하는 프로세스.컴퓨터 네트워크는 노드라고 하는 여러 시스템 + 노드를 연결하는 경로(링크)로 구성된다.상호 연결된 네트워크에서, 두 노드간 통신은 여러 경로를 통해 이뤄질 수 있다.라우팅은 미리 정해진 규칙을 사용해 최상의 경로를 선택하는 프로세스이다. 중요성네트워크 통신의 효율성 향상 라우터컴퓨팅 디바이스와 네트워크를 다른 네트워크에 연결하는 네트워킹 디바이스보통 둘 이상의 서로 다른 네트워크에 연결한다.쉽게 말하면, 라우팅을 수행하는 것.라우터는 라우팅 테이블을 기반으로 데이터를 다음 목적지에 전달한다.  기본 기능경로설정소스에서 대상으로 이동하는 데이터의 경로 지정네트워크 지표(지연, 용량, 속도 등) 분석 -> 최상 경로 찾으려고 시도데이터전달선택한 경로의 다음 디바이..

cs 2024.07.02

3-way handshake, 4-way handshake

3-Way Handshake 는 TCP의 접속,4-Way Handshake는 TCP의 접속 해제 과정이다. 3-way handshake클라이언트, 서버 간의 논리적 접속을 성립하기 위해 사용하는 연결 확인 방식클라이언트가 서버에 연결 요청 (SYN 단계)SYN Flag = 1Sequenct Number에 시퀀스 번호 a(ISN : 임의의 랜덤 숫자) 함께 전송서버가 연결 허락 (SYN+ACK 단계)SYN Flag = 1, ACK Flag = 1Acknowledgment Number(a + 1), Sequenct Number(다른 ISN b) 전송클라이언트와 서버 연결 설정 (ACK 단계)- ACK Flag = 1- Acknowledgment Number(b + 1) 전송- max segment size ..

cs 2024.07.01

TCP/IP 4계층: 응용 계층, 전송 계층, 네트워크 계층

애플리케이션 계층HTTP, SMTP, SSH, FTP가 대표적이며 웹 서비스, 이메일 등 서비스를 실질적으로 사람들에게 제공.응용프로그램에서 데이터가 생성됨HTTP(HyperText Transfer Protocol)서버와 브라우저 간 데이터를 주고받기 위해 설계된 프로토콜.현재는 서버와 서버간 통신할 때에도 많이 이용됨.특징HTTP는 헤더를 통한 확장이 쉽다.Stateless동일한 연결에서 연속적으로 수행되는 두 요청 사이에 연속적인 상태값은 없다.HTTP/1.0기본적으로 한 연결당 하나의 요청을 처리하도록 설계. 이는 RTT 증가를 불러오게 되어 있다.(RTT : 패킷이 목적지에 도달 후 다시 출발지로 돌아오기까지 걸리는 시간)해결방법이미지 스플리팅이미지가 합쳐있는 하나의 이미지를 다운 받고, back..

cs 2024.07.01