| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- 비트필드를 이용한 dp
- trie
- DP
- Prisma
- Delete
- Spin Lock
- 이분 탐색
- PROJECT
- map
- 비트마스킹
- 최소 공통 조상
- Binary Lifting
- Behavior Design Pattern
- reference counting
- 게임 서버 아키텍처
- 자바스크립트
- select 모델
- 그래프 탐색
- Strongly Connected Component
- Github
- 강한 연결 요소
- JavaScript
- SCC
- 2-SAT
- Lock-free Stack
- Overlapped Model
- 벨만-포드
- ccw 알고리즘
- HTTP
- 트라이
- Today
- Total
목록Network (14)
dh_0e
Web and HTTP(Hypertext Trnasfer Protocol)여러 형식의 객체들을 전달ex) HTML file, JPEG image, Java applet etc. 웹 페이지는 여러 참조 개체를 포함하는 기본 HTML 파일로 구성 각 객체는 URL(Uniform Resource Locator)로 주소 지정이 가능 http는 stateless(상태가 없음) 임서버가 과거 클라이언트 요청에 대한 정보를 유지하지 않음상태 없이 클라이언트 인증을 위해 쿠키, 토큰을 사용하며 http 외에도 UDP도 stateless 한 통신 방법임Session을 활용하는 TCP는 stateful(상태 유지) 서버임 Restful APIREpresentational State Transfer (대표 상태 전송)성공적..
Congestion ControlCongetsion Window (cwnd)송신자의 윈도우 크기를 결정하는 요소로 두 가지 요인에 의해 결정됨수신자가 광고한 윈도우 크기(rwnd)수신자의 버퍼 공간에 따라 결정됨네트워크 혼잡 상태(cwnd)작은 값을 쓰다가 점점 키워감, segment가 loss가 나면 cwnd를 줄여서 설정 네트워크가 데이터를 처리할 수 있는 속도보다 송신 속도가 빠를 경우, 네트워크가 송신자에게 속도를 줄이라고 알림실제 송신 윈도우 크기 = min(rwnd, cwnd) / 대부분 rwnd > cwndCongestion PolicySlow Start (느린 시작)전송 속도를 느리게 시작하지만, treshold에 도달할 때까지 점점 빠르게 증가시킴Exponential Increase (지..
State Transition Diagram (상태 전이 다이어그램)일종의 설계 도면으로 TCP 상태 전이 다이어그램은 두 문자열을 슬래시(/)로 구분해 표기함첫 번째 문자열 = 입력(input): TCP가 받는 이벤트두 번째 문자열 = 출력(output): TCP가 보내는 반응Part I.에서 한 부분은 검은색 실선만 따라가면 됨ESTABLISHED 상태는 두 종류가 있음클라이언트용 ESTABLISHED: 일정한 순서로 요청 전송 중심서버용 ESTABLISHED: 수신 버퍼를 준비, 응답 중심흐름 제어와 오류 제어 측면에서 서로 역할이 다르므로 구분됨 A Common ScenarioClient StatesActive open: 클라이언트 프로세스가 TCP에게 특정 서버 주소와 포트로 연결 요청함 (co..
Process-to-Process Communication Stream Delivery Service메시지 단위가 아닌 byte 흐름 단위로 데이터를 전송나눠서 혹은 합쳐서 받을 수 있음Segment: TCP의 data unit으로, Application에서 받은 바이트 스트림을 TCP가 적절히 나눠서 만든 패킷 Numbering System (번호 체계)TCP는 두 가지 번호 필드를 사용함Sequence NumberAcknowledgment Number이 번호들은 세그먼트 번호가 아니라 바이트 번호를 기준으로 함 Byte NumberTCP는 보통 0부터 시작하지 않음임의의 시작 번호(ISN)를 선택함 (0 ~ $2^{32}-1$ 사이에서 임의로 고름)ex) ISN(Initial Sequence Numb..
User Datagram FormatUDP 패킷의 헤더 구조는 총 8바이트로 고정이며 4개의 필드로 구성됨Source Port Number(16bit): 송신 측 포트 번호, 범위 0~65,535Destination Port Number(16bit): 수신 측 포트 번호, 범위 0~65,535Length(16bit): 헤더(항상 8바이트) + 데이터의 전체 길이, 단위: 바이트Checksum(16bit): 오류 검출용 필드 (선택적 사용 가능) Process-to-Process CommunicationUDP도 TCP처럼 포트 번호를 이용해서 응용 프로그램 단위로 통신을 연결해줌여러 프로세스가 UDP를 사용할 수 있도록 UDP는 여러 포트 번호를 지원같은 컴퓨터 내부에서 UDP 통신을 하면 루프백 인터페이..
Transport Layer (전송 계층)Network Layer(네트워크 계층)와 Application Layer(응용 계층) 사이에 위치함응용 계층에 서비스를 제공하고, 네트워크 계층으로부터 서비스를 받음IP datagram이 Host에 도달하면 다음 프로세스를 처리하는 layer로 양쪽 Host에 위치하여 IP datagram을 상위 계층에 전달Process응용 계층의 개체, 즉 실행 중인 프로그램전송 계층의 서비스를 사용하여 통신함Host-to-host communication vs Process-to-process communication네트워크 계층은 컴퓨터 단위의 통신(host-to-host)을 담당 (NIC(Network Interface Card) 까지)이 메시지는 특정 프로세스에 전달되..
ICMP의 필요성IP 프로토콜의 한계IP는 오류 보고(error reporting)와 수정(error correction) 기능이 없음예시 상황라우터가 목적지로 가는 경로를 못 찾거나,TTL(Time to Live) 값이 0이 되어 데이터그램을 버려야 할 때→ IP 자체로는 아무 조치도 못 함목적지 호스트가 단편화된 조각들을 시간 내에 모두 받지 못해서 버릴 때도→ 마찬가지로 IP는 반응할 수 없음IP는 호스트 상태 조회, 라우터 정보 확인 등 관리 쿼리 기능도 없음해결책ICMP(Internet Control Message Protocol)는 위 문제들을 보완하기 위해 설계됨→ IP의 오류 보고 및 네트워크 관리 기능 제공 (에러 report를 source host에게 전달)IP는 오류 처리 및 관리 기..
Address Mapping (주소 매핑)논리 주소와 물리 주소호스트와 라우터는 네트워크 계층(IP 계층)에서는 논리 주소(IP 주소)로 식별됨반면 물리 계층(데이터 링크 계층)에서는 물리 주소(MAC 주소)로 식별됨→ 즉, IP 주소는 범용적이지만, MAC 주소는 로컬 네트워크 한정 주소정적 매핑 (Static Mapping)논리 주소(IP)와 물리 주소(MAC)를 테이블 형태로 수동 연결문제점: 물리 주소는 변경될 수 있음→ 테이블이 오래되면 잘못된 정보가 될 수 있음동적 매핑 (Dynamic Mapping)IP 주소를 MAC 주소로 자동으로 변환하는 프로토콜 사용대표적인 프로토콜:ARP (Address Resolution Protocol): IP 주소 → MAC 주소 변환RARP (Reverse A..
IntroductionIP(Internet Protocol)는 TCP/IP 프로토콜 스택의 네트워크 계층에서 사용되는 전송 메커니즘이다.IP는 비신뢰성(unreliable) 및 비연결성(connectionless) 특성을 가진 데이터그램 기반 프로토콜이다.Best-effort delivery service란?→ IP는 데이터그램이 손상되거나, 손실되거나, 순서가 바뀌거나, 지연되거나, 네트워크 혼잡을 유발할 수 있음을 의미한다.이처럼 IP 자체는 문제가 생겨도 처리하지 않기 때문에, 상위 계층 프로토콜(예: TCP)이 이런 문제들을 해결해줘야 한다.IP는 연결 없이 데이터를 보내는 방식이며, 신뢰성은 상위 계층에서 처리해야 한다.ICMP (Internet Control Message Protocol): ..
DeliveryNetwork Layer의 주기능하나의 subnet안에서 일어나는 direct delivery와 indirect delivery가 있음Direct Delivery직접 전달 (Direct Delivery)은 패킷이 같은 물리적 네트워크 상에 있는 목적지 호스트로 전송되는 경우.두 가지 경우가 해당됨:송신자와 수신자가 같은 네트워크 상에 있을 때마지막 라우터 → 최종 호스트로 전달하는 상황예시A라는 호스트에서 B라는 호스트로 보낼 때, 둘 다 동일한 LAN 상에 있음 → 직접 전달라우터에서 나가서 마지막 수신 호스트까지 가는 것도 직접 전달에 포함 Indirect Delivery간접 전달 (Indirect Delivery)는 목적지까지 도달하기 위해 여러 라우터를 경유해야 하는 경우보낸 쪽은 ..
IntroductionIP 주소는 인터넷 계층(네트워크 계층)에서 사용하는 식별자이다.IPv4 주소는 32비트 (4바이트)로 구성된 고유하며 보편적인 주소로, 인터페이스 단위로 부여된다.두 개의 장치가 한 네트워크에 연결되어 있을 때, 이 둘은 동시에 같은 주소를 가질 수 없다. 한 장치가 두 개의 네트워크에 연결되어 있다면 → IP 주소도 2개 할당됨.중요한 개념: IP 주소는 “호스트”가 아닌 인터페이스의 주소임.표기법 & 연산Binary Notation: 2진수로 표현된 IP (예: 11000000.10101000.00000000.00000001), Base 2Dotted-Decimal Notation: 우리가 자주 쓰는 10진수 점 표기법 (예: 192.168.0.1), Base 256비트 연산A..
Packet Switching at Network LayerConnectionless Service (비연결형 서비스)네트워크 계층은 connectionless service를 제공하기 위해 설계됨각각의 패킷은 독립적으로 전달 → 서로 다른 경로 or 같은 경로를 통해 도착할 수 있음패킷 스위칭 방식: 서로 다른 경로로 가기 때문에 도착 순서 보장 X네트워크 계층의 책임: 패킷을 출발지에서 목적지까지 전송전송 전 별도의 연결 설정 없음. IP는 best-effort delivery만 제공함 (신뢰성 보장 X). Connection-Oriented Service (연결형 서비스)모든 패킷이 같은 경로로 전달되도록 가상 연결 (virtual circuit) 을 설정전송 전에 경로 설정 필요설정 이후에는 모든..
TLS (Transport Layer Socket)대칭 키 방식과 비대칭 키 방식을 혼용하여 사용한 암호화 방식TCP/IP 통신 시 보안을 제공하는 SSL이 표준화되어 바뀐 이름HTTPS에서 사용하는 보안 인증 TLS 암호화 방식처음에 대칭키를 서로 공유하는 통신을 RSA 비대칭키 방식을 이용실제 통신을 할 때 CPU 리소스 소모가 적은 대칭 키 방식으로 데이터를 주고받음대칭 키를 안전하게 비대칭 키 암호화 방식으로 공유하고, 대칭 키를 안전하게 공유했으니 대칭 키로 암호화하여 통신대칭 키 방식과 비대칭 키 방식의 단점을 보완함 인증서TLS 과정에서 서버와 통신을 할 때, 클라이언트가 서버의 신뢰성을 확인하는 작업서비스 정보(인증서를 발급한 CA, 서비스의 도메인 등), 서버 측 공개키(공개키, 공개키 ..
CORS (교차 출처 리소스 공유)개인 과제로 웹소켓 게임을 만들어 EC2로 배포하였다. 'local에선 잘 돌아갔으니 당연히 잘 되겠지' 라는 생각을 비웃기라도 하는 듯, 다음과 같은 에러가 콘솔창을 채웠다. chatGPT에게 물어 해결해보려고도 했지만,,CORS 뭐시기 에러는 계속 그대로였다.. CORS(Croos-Origin Resource Sharing)이란 교차 출처 리소스 공유라는 뜻으로 이 출처가 단지 URL의 도메인만을 뜻하는 것이 아니라 프로토콜과 포트까지 포함하는 개념이다. 때문에 출처를 구성하는 세 요소인 프로토콜, 도메인, 포트 중 하나라도 다르면 CORS 에러를 만나게 되는 것이다.도메인(Hostname): myshop.com출처(Origin): https://www.myshop...
