ComputerScience51 컴퓨터의 요소 ✏️ 컴퓨터의 요소 컴퓨터는 CPU, DMA 컨트롤러, 메모리, 타이머, 디바이스 컨트롤러 등으로 이루어져 있습니다. 🖥 CPU CPU(Central Processing Unit)는 산술논리연산장치, 제어장치, 레지스터로 구성되어 있는 컴퓨터 장치를 말하며, 인터럽트에 의해 단순히 메모리에 존재하는 명령어를 해석해서 실행하는 일꾼입니다. 더보기 💡 제어장치 제어장치(Control Unit)는 컴퓨터의 명령어 실행 과정을 제어하는 CPU의 구성 요소입니다. 이는 입출력 장치 간의 통신을 제어하며, 명령어들을 읽고 해석하고, 데이터 처리를 위한 순서를 결정합니다. 더보기 💡 레지스터 레지스터(Register)는 CPU 안에 있는 매우 빠른 임시기억장치를 가리킵니다. CPU의 연산에서 필요한 데이터나 중간 연.. ComputerScience/운영체제와 컴퓨터 2023. 11. 17. 운영체제의 역할과 구조 ✏️ 운영체제의 역할과 구조 운영체제란 컴퓨터 하드웨어와 소프트웨어 리소스를 관리하며, 사용자와 컴퓨터 사이의 인터페이스 역할을 하는 시스템 소프트웨어입니다. 이를 통해 사용자와 애플리케이션에 안정적이고 효율적인 컴퓨팅 환경을 제공합니다. 🤔 운영체제의 역할 1️⃣ CPU 스케줄링과 프로세스 관리 CPU 소유권을 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제, 자원 할당 및 반환을 관리합니다. 2️⃣ 메모리 관리 한정된 메모리를 어떤 프로세스에 얼마큼 할당해야 하는지 관리합니다. 3️⃣ 디스크 파일 관리 디스크 파일을 어떠한 방법으로 보관할지 관리합니다. 4️⃣ I/O 디바이스 관리 I/O 디바이스들인 마우스, 키보드와 컴퓨터 간에 데이터를 주고받는 것을 관리합니다. 더보기 💡 I/O I/O는 Inp.. ComputerScience/운영체제와 컴퓨터 2023. 11. 17. HTTP/3.0 ✏️ HTTP/3.0 HTTP/3은 HTTP/1.1 및 HTTP/2와 함께 World Wide Web에서 정보를 교환하는데 사용되는 HTTP의 세 번째 버전입니다. TCP 위에서 돌아가는 HTTP/2와는 달리 HTTP/3은 QUIC라는 계층 위에서 돌아가며, TCP 기반이 아닌 UDP 기반으로 돌아갑니다. 또한 HTTP/2의 장점이었던 멀티플렉싱을 가지고 있으며 초기 연결 설정 시 지연 시간 감소라는 장점이 있습니다. 👍 초기 연결 설정 시 지연 시간 감소 QUIC는 TCP를 사용하지 않기 때문에 통신을 시작할 때 번거로운 3-Way Handshake과정을 거치지 않아도 됩니다. QUIC는 첫 연결 설정에 1-RTT만 소요됩니다. 클라이언트가 서버에 어떤 신호를 한 번 주고, 서버도 거기에 응답하기만 하.. ComputerScience/HTTP 2023. 11. 16. HTTPS ✏️ HTTPS HTTP/2는 HTTPS 위에서 동작합니다. HTTPS는 애플리케이션 계층과 전송 계층 사이에 신뢰 계층인 SSL/TLS 계층을 넣은 신뢰할 수 있는 HTTP 요청을 말합니다. SSL/TLS SSL(Secure Socket Layer)은 SSL 1.0부터 시작해서 SSL 2.0, SSL 3.0, TLS(Transport Layer Security Protocol) 1.0, TLS 1.3까지 버전이 올라가며 마지막으로 TLS로 명칭이 변경되었으나, 보통 이를 합쳐 SSL/TLS로 많이 부릅니다. SSL/TLS는 전송 계층에서 보안을 제공하는 프로토콜입니다. 클라이언트와 서버가 통신할 때 SSL/TLS를 통해 제 3자가 메시지를 도청하거나 변조하지 못하도록 합니다. 위의 그림처럼 SSL/TL.. ComputerScience/HTTP 2023. 11. 16. HTTP/2 ✏️ HTTP/2 HTTP/2는 SPDY 프로토콜에서 파생된 HTTP/1.x보다 지연시간을 줄이고 응답 시간을 더 빠르게 할 수 있으며, 멀티플렉싱, 헤더 압축, 서버 푸시, 요청의 우선순위 처리를 지원하는 프로토콜입니다. 더보기 💡 SPDY 프로토콜 웹의 퍼포먼스 향상을 목표로 Google에 의해 개발된 개방형 네트워킹 프로토콜입니다. SPDY 프로토콜은 기본적으로 HTTP의 대안으로 고안되었으며, 웹 페이지의 로드 시간을 줄이기 위한 여러 최적화 및 기능을 제공합니다. 🔁 멀티플렉싱 멀티플렉싱이란 하나의 통신채널을 통해서 여러 개의 스트림을 사용하여 송수신한다는 것입니다. 더보기 💡 스트림 (Stream) 스트림은 연속적인 데이터의 흐름을 의미합니다. 프로그래밍에서 스트림은 파일, 네트워크 연결, 입.. ComputerScience/HTTP 2023. 11. 16. HTTP/1.0, HTTP/1.1 ✏️ HTTP/1.0 기본적으로 HTTP는 전송 계층 위에 있는 애플리케이션 계층으로 웹 서비스 통신에 사용됩니다. HTTP/1.0부터 시작해서 발전을 거듭하여 지금은 HTTP/3입니다. HTTP/1.0은 기본적으로 한 연결당 하나의 요청을 처리하도록 설계되었습니다. 하지만 서버로부터 파일을 가져올 때마다 TCP의 3-Way Handshake를 계속해서 열어야 하기 때문에 RTT가 증가하는 단점이 있습니다. 더보기 💡 RTT (왕복 지연 시간) 네트워크에서 특정 목적지까지의 신호를 보내고 그 응답이 돌아오는 데 걸리는 전체 시간을 나타냅니다. 🤔 RTT의 증가를 해결하기 위한 방법 매번 연결할 때마다 RTT가 증가하니 서버에 부담이 많이 가고 사용자 응답 시간이 길어졌습니다. 이를 해결하기 위해 이미지 .. ComputerScience/HTTP 2023. 11. 16. IP 주소 체계와 할당 방식 ✏️ IP 주소 체계 IP 주소는 IPv4와 IPv6로 나뉩니다. IPv4는 32비트를 8비트 단위로 점을 찍어 표기하며, 123.45.67.89 같은 방식으로 IP 주소를 나타냅니다. IPv6는 64비트를 16비트 단위로 점을 찍어 표기하며, 2001:db8::ff00:42:8329 같은 방식으로 IP 주소를 나타냅니다. 🗂️ 클래스 기반 할당 방식 IP 주소 체계는 과거를 거쳐 발전해오고 있으며 처음에는 A, B, C, D, E 다섯 개의 클래스로 구분하는 클래스 기반 할당 방식(Classful Network Addressing)을 썼습니다. 앞에 있는 부분을 네트워크 주소, 그 뒤에 있는 부분을 컴퓨터에 부여하는 주소인 호스트 주소로 놓고 사용합니다. 클래스 A, B, C는 1:1 통신으로 사용하고.. ComputerScience/IP 주소 2023. 11. 16. 홉바이홉 통신 ✏️ 홉바이홉 통신 IP주소를 통해 통신하는 과정을 홉바이홉(Hop by Hop) 통신이라고 합니다. 여기서 홉이란 영어 뜻 자체로 건너뛰는 모습을 의미합니다. 이는 통신망에서 각 패킷이 여러 개의 라우터를 건너가는 모습을 비유적으로 표현한 것입니다. 위의 그림처럼 서브네트워크에 있는 라우터의 라우팅 테이블 IP를 기반으로 패킷을 전달하고 또 전달하며 라우팅을 수행하여 최종 목적지까지 패킷을 전달합니다. 즉, 홉바이홉 통신은 통신 장치에 있는 라우팅 테이블의 IP를 통해 시작 주소부터 시작하여 다음 IP로 계속해서 이동하는 라우팅 과정을 거쳐 패킷이 최종 목적지까지 도달하는 통신을 말합니다. 👉 라우팅 테이블 💡 라우팅 테이블 라우팅 테이블(Routing Table)은 송신지에서 수신지까지 도달하기 위해.. ComputerScience/IP 주소 2023. 11. 15. ARP ✏️ ARP 컴퓨터와 컴퓨터 간의 통신은 흔히들 IP 주소 기반으로 통신한다고 알고 있지만 정확히는 IP 주소에서 ARP를 통해 MAC 주소를 찾아 MAC 주소를 기반으로 통신합니다. ARP(Address Resolution Protocol)란 IP 주소로부터 MAC 주소를 구하는 IP와 MAC 주소의 다리 역할을 하는 프로토콜입니다. ARP를 통해 가상 주소인 IP 주소를 실제 주소인 MAC 주소로 변환합니다. 이와 반대로 RARP(Reverse Address Resolution Protocol)를 통해 실제 주소인 MAC 주소를 가상 주소인 IP 주소로 변환하기도 합니다. ❓ ARP의 주소를 찾는 과정 위의 그림처럼 장치 A가 ARP Request 브로드캐스트를 보내서 IP 주소인 120.70.80... ComputerScience/IP 주소 2023. 11. 15. 네트워크 기기 및 처리 범위 ✏️ 네트워크 기기의 처리 범위 네트워크 기기는 계층별로 범위를 나눌 수 있습니다. 물리 계층을 처리할 수 있는 기기와 데이터 링크 계층을 처리할 수 있는 기기 등이 있습니다. 그리고 상위 계층을 처리하는 기기는 하위 계층을 처리할 수 있지만 반대로 하위 계층에서는 상위 계층을 처리할 수 없습니다. 🟢 애플리케이션 계층을 처리하는 기기 애플리케이션 계층을 처리하는 기기로는 L7 스위치가 있습니다. 🔁 L7 스위치 스위치는 여러 장비를 연결하고 데이터 통신을 중재하며 목적지가 연결된 포트로만 전기 신호를 보내 데이터를 전송하는 통신 네트워크 장비입니다. L7 스위치는 로드밸런서라고도 하며, 서버의 부하를 분산하는 기기입니다. 클라이언트부터 오는 요청들을 여러 서버로 나누는 역할을 하며 시스템이 처리할 수 .. ComputerScience/네트워크 기기 2023. 11. 15. OSI 7계층 구조 ✏️ OSI 7 계층 구조 OSI(Open Systems Interconnection) 7 계층은 네트워킹의 다양한 요소와 프로세스를 이해하기 위한 모델입니다. 각 계층은 특정한 기능과 책임을 가지며, 이를 통해 네트워크 통신의 전체 과정을 쉽게 이해할 수 있습니다. 🟣 응용 계층 사용자와 가장 가까운 계층입니다. 사용자 인터페이스, 메일, 파일 전송 등의 네트워크 서비스를 제공합니다. FTP, HTTP, SMTP 등의 프로토콜이 여기에서 동작합니다. ⚫️ 표현 계층 데이터의 변환 및 암호화를 담당합니다. 다양한 응용 프로그램 포맷 간의 변환과 암호화를 수행하여 데이터 전송의 안전성을 보장합니다. 예를 들면, EBCDIC-to-ASCII 변환 등이 이루어집니다. 👉 EBCDIC-to-ASCII 변환 💡 .. ComputerScience/네트워킹 및 통신 2023. 11. 15. TCP/IP 4계층 구조 ✏️TCP/IP 4 계층 구조 TCP와 IP는 TCP/IP 프로토콜 스택 내의 두 주요 프로토콜로, 서로 다른 목적과 기능을 가지고 있습니다. 아래는 두 프로토콜의 주요 차이점을 비교한 내용입니다. TCP (Transmission Control Protocol) ✅ 정의 연결 지향적이며, 신뢰성 있는 데이터 전송을 보장하는 전송 계층의 프로토콜입니다. 데이터의 정확한 순서와 에러 없이 도착함을 보장합니다. 🛠 기능 데이터의 신뢰성 있는 전송 데이터의 순서 보장 흐름 제어 (송신자와 수신자 간의 데이터 전송 속도 조절) 혼잡 제어 (네트워크 혼잡 시 전송 속도 조절) 🎯 사용 용도 신뢰성이 요구되는 데이터 전송에 주로 사용됩니다. 예를 들면, 웹 브라우징, 이메일 전송, 파일 전송 등에 사용됩니다. IP .. ComputerScience/네트워킹 및 통신 2023. 11. 15. 이전 1 2 3 4 5 다음