본문 바로가기
728x90
반응형

전체 글231

TCP 혼잡 제어(컴퓨터 네트워킹 하향식 접근) TCP 혼잡 제어 TCP 혼잡 제어 TCP (Transmission Control Protocol)는 네트워크에서 데이터를 안정적으로 전송하기 위한 프로토콜 중 하나입니다. TCP는 신뢰성 있는 연결을 제공하며, 데이터의 분실이나 손상을 최소화하기 위해 여러 기능을 포함하고 있습니다. 그 중 하나가 TCP 혼잡 제어(congestion control)입니다. TCP 혼잡 제어는 네트워크 내에서 발생하는 혼잡을 감지하고, 혼잡을 조절하여 전송 속도를 최적화하는 기술입니다. 네트워크의 혼잡은 많은 데이터가 동시에 전송되어 라우터, 스위치, 혹은 네트워크 경로에서 일시적으로 처리할 수 없는 상황을 의미합니다. 혼잡이 발생하면 패킷이 손실될 수 있고, 전송 지연이 발생할 수 있습니다. TCP 혼잡 제어 기본적인.. 2024. 1. 13.
혼잡 제어의 원리(컴퓨터 네트워킹 하향식 접근) 혼잡 제어의 원리 혼잡 제어의 원리 혼잡 제어(Congestion Control)는 네트워크에서 발생할 수 있는 데이터 전송 혼잡을 관리하고 제어하기 위한 메커니즘입니다. 이는 데이터 전송량이 네트워크의 처리능력을 초과하여 발생하는 혼잡을 방지하고, 효율적인 데이터 전송을 유지하기 위한 것입니다. 혼잡 제어는 주로 TCP(Transmission Control Protocol)에서 사용되며, TCP는 신뢰성 있는 데이터 전송을 위한 프로토콜로 널리 사용됩니다. 혼잡 제어의 주요 원리 윈도우 기반의 제어: TCP는 송신자와 수신자 간의 통신을 관리하기 위해 윈도우 기반의 혼잡 제어를 사용합니다. 송신자는 혼잡 윈도우(congestion window)라는 개념을 통해 네트워크에 전송할 수 있는 데이터 양을 제.. 2024. 1. 12.
연결지향형 트랜스포트: TCP(컴퓨터 네트워킹 하향식 접근) 연결지향형 트랜스포트: TCP 연결지향형 트랜스포트: TCP TCP는 Transmission Control Protocol(전송 제어 프로토콜)의 약어로, 인터넷 프로토콜 스위트(IP 스위트)에서 가장 널리 사용되는 연결 지향형 전송 프로토콜 중 하나입니다. 이는 OSI 모델에서 전송 계층에 해당하며, 데이터를 안정적으로 전송하기 위한 프로토콜로 사용됩니다. TCP 주요 특징 연결 지향성 (Connection-Oriented): TCP는 통신을 시작하기 전에 송신자와 수신자 간에 가상의 연결을 설정합니다. 이 연결은 데이터를 안정적으로 전송하는 데 사용되며, 통신이 완료되면 연결을 해제합니다. 신뢰성 보장: TCP는 신뢰성 있는 전송을 제공합니다. 데이터 전송 중에 손실이나 오류가 발생하면, TCP는 이.. 2024. 1. 11.
Spring-Boot 의존성 라이브러리 종류 해당 수업에서 배운 라이브러리 등 새로 알게되거나 해당 라이브러리가 어떤 역할을 하는지 계속 작성 및 추가 될 예정입니다. Spring-Boot 라이브러리 종류 spring-boot-starter-data-jpa: JPA(Java Persistence API)를 사용하여 데이터베이스와 상호 작용할 수 있도록 지원하는 스타터입니다. 엔터티 매핑, 리포지토리 인터페이스, 쿼리 메서드 등의 기능을 제공하여 데이터베이스 작업을 간소화합니다. spring-boot-starter-thymeleaf: Thymeleaf 템플릿 엔진을 사용하여 웹 애플리케이션의 뷰를 생성하는 데 사용되는 스타터입니다. Thymeleaf는 HTML 템플릿과 서버 사이드 템플릿 엔진으로 사용되어, 자연스럽게 HTML 문서 내에서 자바 코드.. 2024. 1. 10.
Thymeleaf란 무엇인가 Thymeleaf Thymeleaf이란 Thymeleaf(타임리프)는 Java 웹 애플리케이션에서 서버 측 템플릿 엔진으로 사용되는 오픈 소스 프로젝트입니다. HTML, XML, JavaScript, CSS 등의 마크업 언어를 처리할 수 있으며, 특히 서버 측 및 클라이언트 측 렌더링을 모두 지원하는 것이 특징입니다. Thymeleaf는 주로 스프링 프레임워크와 통합되어 사용되며, 스프링 애플리케이션에서 동적인 웹 페이지를 만들 때 HTML 템플릿을 작성하는 데 도움이 됩니다. Thymeleaf는 자연스러운 문법을 사용하여 템플릿을 정의하고, 서버 측 데이터를 템플릿에 삽입하여 동적인 콘텐츠를 생성할 수 있습니다. Thymeleaf 주요 특징 자연스러운 문법: 일반적인 HTML 문법과 유사하며, 템플릿 .. 2024. 1. 10.
Gradle란 무엇인가 Gradle란 Gradle은 소프트웨어 빌드 도구로, Groovy DSL(Groovy Domain-Specific Language)을 사용하여 프로젝트를 빌드하고 관리하는데 사용됩니다. Gradle은 Apache Ant와 Apache Maven의 장점을 결합하여 강력하면서도 유연한 빌드 시스템을 제공합니다. Gradle 주요 특징 Groovy DSL: Gradle은 빌드 스크립트를 작성하기 위해 Groovy DSL을 사용합니다. 이는 Java와의 호환성이 뛰어나며, 더 간결하고 가독성이 높은 문법을 제공합니다. 유연성과 확장성: Gradle은 강력하면서도 유연한 빌드 스크립트를 작성할 수 있습니다. 사용자는 기본적인 빌드 라이프사이클과 태스크를 정의하면서 필요에 따라 확장할 수 있습니다. 플러그인 시스템.. 2024. 1. 10.
JPA vs MyBatis JPA JPA란 ORM(Object-Relational Mapping) 기술: JPA는 객체와 관계형 데이터베이스 간의 매핑을 지원합니다. 이는 객체지향 프로그래밍과 관계형 데이터베이스 간의 불일치를 해결하고 객체 지향적인 코드 작성을 용이하게 합니다. 표준화된 인터페이스: JPA는 자바 진영에서 표준으로 채택된 기술이며, Java Persistence API 표준 명세를 따르고 있습니다. 이는 여러 JPA 구현체에서 동일한 코드를 사용할 수 있도록 합니다. 자동 생성된 쿼리: JPA는 쿼리를 작성하지 않고도 객체와 데이터베이스 간의 매핑을 통해 쿼리를 자동으로 생성할 수 있습니다. MyBatis란 SQL 매핑 기반: MyBatis는 SQL 쿼리를 직접 작성하고 매핑하는 방식을 채택합니다. SQL을 직접.. 2024. 1. 10.
비연결형 트랜스포트: UDP(컴퓨터 네트워킹 하향식 접근) 비연결형 트랜스포트: UDP 비연결형 트랜스포트: UDP 비연결형 트랜스포트(UDP, User Datagram Protocol)는 전송 계층의 프로토콜 중 하나로, 데이터를 신뢰성 있게 전송하지 않고, 연결 설정을 수행하지 않고, 데이터의 순서를 보장하지 않습니다. UDP는 경량 프로토콜로 알려져 있으며, 주로 실시간 응용 프로그램이나 오류 복구 기능이 덜 중요한 애플리케이션에서 사용됩니다. UDP의 주요 특징 비연결성(Connectionless): UDP는 연결 설정 프로세스를 거치지 않고 데이터를 전송합니다. 이는 TCP와 대조적으로 연결을 만들거나 해제하는 추가 오버헤드가 없다는 의미입니다. 신뢰성 없음: UDP는 데이터 전송의 신뢰성을 보장하지 않습니다. 따라서 데이터 손실이나 순서 변경이 발생할.. 2024. 1. 10.
다중화와 역다중화(컴퓨터 네트워킹 하향식 접근) 다중화와 역다중화 다중화와 역다중화 다중화(Multiplexing)는 여러 신호를 하나의 통로를 통해 전송하는 기술을 말합니다. 이는 통신 시스템에서 대역폭을 효과적으로 활용하고 효율적인 데이터 전송을 가능하게 합니다. 다중화는 여러 형태로 나타날 수 있으며, 여러 사용자, 신호 또는 데이터 스트림을 통합하여 전송하는 목적으로 사용됩니다. 다중화의 종류 시분할 다중화 (Time Division Multiplexing, TDM): 다양한 입력 신호가 시간에 따라 번갈아 가며 전송됩니다. 각 입력 신호는 할당된 시간 슬롯에 따라 전송됩니다. 주파수 분할 다중화 (Frequency Division Multiplexing, FDM): 여러 입력 신호가 서로 다른 주파수 대역에 할당되어 전송됩니다. 각 입력 신호.. 2024. 1. 9.
728x90
반응형