728x90
반응형

CS 92

HTTP 프로토콜 동작 과정 시각화 다이어그램 만들기

https://wonsjung.tistory.com/614 HTTP 통신과정, 리졸버를 이용한 DNS 서버에서 IP 조회하기 1. HTTP 리퀘스트 메시지 작성 URL은 http://로 시작하는 것 뿐만 아니라 ftp:, file:, mailto: 등 여러가지가 존재한다. 이와 같이 쓰는 방법은 다양하지만 모든 URL에는 하나의 공통점이 있다. → URL의 맨 wonsjung.tistory.com https://wonsjung.tistory.com/615 DNS 서버 동작과 소켓을 통한 데이터 송수신 동작 개요 3. 전 세계의 DNS 서버가 연대한다 3-1. DNS 서버의 기본 동작 DNS 서버의 기본 동작은 클라이언트에서 조회 메시지를 받고 조회의 내용에 응답하는 형태로 정보를 회답하는 일이다. 조회 ..

CS/네트워크 2023.08.02

웹 서버에 도착한 데이터를 수신하고 처리하는 방법

23. 서버의 개요 23-1. 클라이언트와 서버의 차이점 서버 머신은 용도에 따라 다양한 종류가 있으며, 하드웨어나 OS 부분은 클라이언트와 다른 것도 있다. 그러나 네트워크에 관한 부분, 즉 LAN 어댑터, 프로토콜 스택, Socket 라이브러리 등의 기능은 클라이언트와 조금도 다르지 않다. TCP나 IP의 기능은 하드웨어나 OS가 무엇이든지 달라지지 않기 때문에 기능이 통일되었다고 해도 무방하다. 원래 가지고 있는 기능은 같아도 사용하는 방법까지 같은 것은 아니다. 접속 동작을 할 때 클라이언트에서 접속 동작을 수행하고, 서버는 그것을 기다리는 형태가 되므로 Socket 라이브러리의 사용법이 조금 달라진다. 또한 서버의 애플리케이션은 동시에 다수의 클라이언트 PC와 대화한다는 차이점도 있다. 그렇기 ..

CS/네트워크 2023.07.28

[서버] 방화벽의 원리와 동작, 서버의 부하 분산 방법[분산 처리/캐시], 프록시란? (포워드 프록시, 리버스 프록시, 트랜스페어런트 프록시), 콘텐츠 배포 서비스

18. 웹 서버의 설치 장소 18-1. 사내에 웹 서버를 설치하는 경우 가장 간단한 방법은 (a)처럼 사내의 LAN에 서버를 설치하고, 인터넷에서 직접 액세스하는 경우이다. 이때 패킷은 가장 가까운 POP에 있는 라우터, 엑세스 회선, 서버측 라우터를 경유하여 서버 머신에 도착한다. 하지만 IP 주소를 저장하기에 부족해지고, 보안상의 문제로 사용되지 않는다. 사소한 설정 실수로 사내 LAN서버가 뚫리면 무방비 상태가 되어버린다. 지금은 (b)처럼 방화벽을 두는 방법이 일반화되어있다. 방화벽은 관문의 역할을 하여 특정 서버에서 동작하는 특정 애플리케이션에 액세스하는 패킷만 통과시키고, 그 외의 패킷을 차단하는 역할을 한다. 18-2. 데이터센터에 웹 서버를 설치하는 경우 (c)와 같이 프로바이더 등이 운영..

CS/네트워크 2023.07.27

액세스 회선이란, 엑세스 회선 과정, 프로바이더와 프로바이더를 경유하여 흐르는 패킷

15. 액세스 회선의 구조와 동작 15-1. 사용자와 인터넷을 연결하는 엑세스 회선과 BAS (Broadband Access Server) 스위칭 허브와 라우터로 패킷을 중계하면 패킷은 목적지 서버를 향해 진행한다. 라우터 중계 동작은 모두 같으므로 인터넷 접속용 라우터 패킷 중계 동작도 같다. 즉 패킷의 IP헤더에 기록된 수신처 IP 주소와 경료표의 수신처 항목을 대조하여 해당하는 경로를 찾아 거기에 등록되어 있는 중계 대상에 패킷을 송신한다. 단, 약간의 다른점은 인터넷 접속용 라우터는 액세스 회선의 규칙에 따라 패킷 송신 동작을 실행하기 때문에 이 부분이 약간 다르다 액세스 회선은 인터넷과 가정이나 회사의 LAN을 연결하는 통신 회선을 말한다. ex) ADSL, FTTH, CATV, 전화 회선, I..

CS/네트워크 2023.07.26

허브와 스위치, 라우터의 동작 과정과 기능

11. 케이블과 리피터, 허브 속을 신호가 흘러간다. 11-1. 하나하나의 패킷이 독립된 것으로 동작한다 컴퓨터에서 송신된 패킷은 허브나 라우터라는 중계 장치에 의해 중계되어 목적지를 향해 진행한다. 패킷의 헤더에 기록된 제어 정보와 중계 장치의 내부에 있는 중계 대상을 등록한 표로 목적지를 판단하고 목적지에 가까워지도록 하여 패킷을 중계하는 형태이다. 11-2. LAN 케이블은 신호를 약화시키지 않는 것이 핵심이다 PHY(MAU)에서 나온 신호가 RJ-45로 들어가고 허브에 도착할 땐 약해진 상태로 도착한다. 약해진 신호는 변형되어 디지털 신호가 0과 1을 잘못 판독할 수 있는데, 이것이 통신 오류의 원인이다. 11-3. '꼼'은 잡음을 방지하기 위한 방법 LAN 케이블로 사용하는 트위스트 페어 케이블..

CS/네트워크 2023.07.25

서버에서 연결 끊고 소켓 말소, IP와 이더넷의 패킷 송·수신 동작

8. 서버에서 연결을 끊어 소켓을 말소한다 8-1. 데이터 보내기를 완료했을 때 연결을 끊는다 데이터 보내기를 완료한 쪽에서 연결 끊기 단계에 들어간다 (여기에서는 서버측에서 연결 끊기 단계에 들어가는 것으로 간주) 서버측 애플리케이션이 먼저 Socket 라이브러리의 close 호출 → 서버측의 프로토콜 스택이 TCP 헤더를 만들고, 여기에 연결 끊기 정보 설정 구체적으로는 FIN 비트에 1을 설정하고, IP 담당 부분에 의뢰하여 클라이언트에 송신 요청, 동시에 서버측 소켓에 연결 끊기 동작에 들어갔다는 정보 기록 ① 클라이언트 측 : 서버에서 FIN에 1을 설정한 TCP 헤더가 도착하면 클라이언트 측의 프로토콜 스택은 자신의 소켓에 서버측이 연결 끊기 동작에 들어갔다는 것을 기록 그리고 FIN을 1로 ..

CS/네트워크 2023.07.24

소켓을 이용한 데이터 송/수신 과정, TCP에서 오류 회복 조치가 필요 없는 이유, ACK와 윈도우 제어

OS에 내장된 네트워크 제어용 소프트웨어(프로토콜 스택)와 네트워크용 하드웨어(LAN 어댑터)가 브라우저에서 받은 메시지를 서버에 송출하는 동작을 알아본다. 5. 소켓을 작성한다. 1. 프로토콜 스택의 내부 구성 프로토콜 스택 내부는 역할이 다른 부분들이 나뉘어져있다. 상하 관계는 작업을 의뢰하는 쪽이 위쪽에 있고, 의뢰를 받아 실제로 작업하는 쪽이 아래에 존재한다. 맨 윗 부분은 네트워크 애플리케이션이다. 브라우저, 메일, 웹 서버 등 프로그램에 해당한다. 네트워크 애플리케이션부터 아래로 향하여 데이터 송·수신 등의 일을 의뢰한다. 브라우저 뿐만 아니라 다른 애플리케이션도 네트워크를 송·수신하는 동작은 비슷하다. 그 아래 부분은 Socket 라이브러리이다. 그 안에는 리졸버가 존재한다. 그 아래는 OS..

CS/네트워크 2023.07.22

DNS 서버 동작과 소켓을 통한 데이터 송수신 동작 개요

3. 전 세계의 DNS 서버가 연대한다 3-1. DNS 서버의 기본 동작 DNS 서버의 기본 동작은 클라이언트에서 조회 메시지를 받고 조회의 내용에 응답하는 형태로 정보를 회답하는 일이다. 조회 메시지에는 다음의 세 가지 정보가 포함되어 있다. (a) 이름 : 서버나 메일 배송 목적지와 같은 이름이다. (b) 클래스 : DNS의 구조를 고안했을 때 인터넷 이외에도 네트워크에서의 이용까지 검토하여 식별하기 위해 클래스라는 정보를 준비하였다. 하지만 현 재에는 인터넷 이외의 네트워크는 소멸되었으므로 클래스는 항상 인터넷을 나타내는 'IN'이라는 값이 된다. (c) 타입 : 이름에 어떤 타입의 정보가 지원되는지를 나타낸다. 타입에 따라 클라이언트에 회답하는 정보의 내용이 달라진다. → 이름과 타입에 따라 조사..

CS/네트워크 2023.07.21

HTTP 통신과정, 리졸버를 이용한 DNS 서버에서 IP 조회하기

1. HTTP 리퀘스트 메시지 작성 URL은 http://로 시작하는 것 뿐만 아니라 ftp:, file:, mailto: 등 여러가지가 존재한다. 이와 같이 쓰는 방법은 다양하지만 모든 URL에는 하나의 공통점이 있다. → URL의 맨 앞에 있는 문자열, 즉 http:, ftp:, file:, mailto:라는 부분에서 액세스하는 방법을 나타낸다는 점이다. 그러므로 여기에는 엑세스 할 때의 프로토콜 종류가 쓰여있다고 생각하면 된다. 가장 먼저 이렇게 액세스 요청 리퀘스트 메시지를 작성한다. 1-2. 브라우저의 URL 해석 브라우저가 처음 하는 일은 웹 서버에 보내는 리퀘스트의 메시지를 작성하기 위해 URL을 해독하는 것이다. 아래 사진과 같은 방법으로 해독한다. 1-3. 파일명을 생략한 경우 위처럼 h..

CS/네트워크 2023.07.21

[2장] 데이터 입출력 구현

※ DBMS : 사용자의 요구에 따라 정보를 생성해주고, 데이터베이스를 관리해주는 소프트웨어이다. [DBMS의 필수 기능 3가지] 기능 설명 정의(Definition) 기능 데이터의 형(Type)과 구조에 대한 정의, 이용 방식, 제약 조건 등을 명시하는 기능 조작(Manipulation) 기능 데이터 검색, 갱신, 삽입, 삭제 등을 위해 인터페이스 수단을 제공하는 기능 제어(Control) 기능 데이터의 무결성, 보안, 권한 검사, 병행 제어를 제공하는 기능 ※ 스키마 : 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 것 종 류 내 용 외부 스키마 - 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것 개념 스키마 - 데이터베이스의 전체적인..

CS/CS 2023.07.17
728x90
반응형