Skip to content
Beside the Wheel
Search
Ctrl
K
Cancel
Email
GitHub
Select theme
Dark
Light
Auto
공부
(5)
spot 인스턴스에서 서버 가용성 개선하기
eBPF로 서버 성능 Profiling하는 법: Pyroscope의 구현 살펴보기
정수론부터 RSA까지
strace로 shaka-packager 버그 추적
Kubernetes The Hard Way
TIL
(956)
AI
(43)
DevOps
(230)
Network
(61)
OS
(155)
개발
(113)
데이터베이스
(64)
서버
(72)
수학
(20)
알고리즘
(24)
암호학
(32)
언어
(113)
컴퓨터구조
(5)
코드
(24)
독후감
(43)
과학
(1)
사회
(2)
산문
(3)
소설
(12)
인문
(11)
자기계발
(7)
철학
(7)
생각
(6)
고민
변화에 대하여
의식의 영역에 대하여
본질을 보려면
짧은 생각들
소유냐 존재냐
회고
(14)
2022.03-04 대덕소마고 입학소감/다짐
2022.05-08 프로젝트와 인간관계
2022.09-2023.02 불안과 판단
2023.03-07 DMS 리더 회고
2023.08-11 나는 누구인가?
2023.12 더 많은 걸 배우기 위한 경험
2024.01-02 회사 인턴 회고
2024.03-04 고3 근황
2024.05-07 고등학교 마무리
2024.08-12 첫 회사
2025.01-03 입출력
2025.03-08 효능감이란 무엇일까
2025.09-12 연말회고
2026.01-08 담론
Email
GitHub
Select theme
Dark
Light
Auto
태그: l4-appplication-layer
총 14개의 글이 있습니다.
Noise
tls
2025. 11. 12.
Noise 프로토콜은 간단하고 안전한 암호화 통신을 위해 설계된 현대적인 핸드셰이크 프레임워크이다. Noise protocol framework는 핸드셰이크의 모든 협의를 피함으로써 TLS의 런타임 복잡성을 제거한 대안이다. TLS의 복잡한 협상 로직(cipher suite 선택, 프로토콜 버전 협상 등)을 제거하여 구현을 단순화한다. 사전에 정의된 패턴을 사용하므로 프로토콜 흐름이 명확하고 예측 가능하다. 노이즈를 실행하는 클라이언트와 서버는 분기하지 않는 선형 프로토콜을 따른다. TLS는 핸드셰이크 메시지에 포함된 정보에 따라 다양한 경로를 취할 수 있다(조건부 분기). Noise는 미리 정의된 패턴을 따르므로 실행 흐름이 선형적이고 단순하다. 이는 구현의 정확성을 높이고 보안 검증
ACME
l4-appplication-layer
2024. 3. 13.
ACME is a protocol that makes it possible to automate the issuance and renewal of certificates, all withour human interaction. The Internet Sercurity Research Group(ISRG) initially designed the ACME protocol for its own certificate service, Let's Encrypt that provides domain validated (DV) certificates at no charge. Today var
CDN
l4-appplication-layer
2024. 3. 13.
CDN은 지리적으로 분산된 여러 개의 서버이다. 네트워크 설계로 인해 발생하는 통신 대기, 지연시간을 줄이는 것을 목적으로 한다. CDN은 사용자가 전세계에 있더라도 가까운 CDN 서버에 요청을 보내 빠르게 응답을 받을 수 있고, 한 서버에 장애가 생겼을떄 다른 서버를 사용하여 서비스를 그대로 응답받을 수도록 한다. 또한, 클라이언트와 웹 사이트 서버 간에 중간 서버를 두어 효율성을 높이고, 클라이언트-서버 통신의 일부를 관리한다. 웹 서버에 대한 웹 트래픽을 줄이고, 대역폭 소비를 줄이며, 애플리케이션의 사용자 환경을 개선한다. 장점 페이지 로드 시간 단축 페이지 로드 시간이 너무 느리면 웹 사이트 트래픽이 감소할 수 있다. CDN은 반송률을 줄이고 사용자가 사이트에서 보내는 시간을
DHCP
l4-appplication-layer
2024. 3. 13.
The Dynamic Host Configuration Protocol (DHCP) is a network management protocol used on Internet Protocol (IP) networks for automatically assigning IP addresses and other communication parameters to devices connected to the network using a client–server architecture. The technology eliminates the need for individually configuring network devices manually, and consists of two network component
DNS 레코드유형
l4-appplication-layer
2024. 3. 13.
|레코드|설명| |-|-| |A(Host)주소/호스트 레코드|정규화된 도메인 이름/호스트명(FQDN)을 IPv4에 연결한다.| |AAAA주소 레코드|호스트를 IPv6에 연결한다.| |CNAME(Canonical NAME)별칭 레코드|실제 호스트명(A레코드)과 연결되는 별칭,별명을 정의 한다.| |MX(Mail Exchange)메일 교환 레코드|메일 서버에 도달할 수 있는 라우팅정보(메일서버)를 제공한다.| |SRV(SeRVice)서비스 위치 레코드|비슷한 TCP/IP 서비스를 제공하는 다수의 서버 위치 정보를 제공한다.| |PTR(PoinTeR)포인터 리소스 레코드|다른 DNS 레코드를 가리킴, 역방향 조회에서 A레코드를 가리킬때 사용한다.| |SOA(Start Of Authority)권한시작 레코드|존(Z
FTP Active, Passive mode
l4-appplication-layer
2024. 3. 13.
FTP는 파일을 전송하기 위해 두 개의 세션을 사용한다. 컨트롤 프로토콜과 데이터 프로토콜이 완전히 분리되어있고, 통신 방법이 다른 두가지 모드를 가지고 있다. Active 모드 FTP의 기본적인 구동 방식은 Active 모드이다. 컨트롤 프로토콜을 클라이언트에서 서버로 통신을 시작하고, 데이터 프로토콜은 서버에서 클라이언트 쪽으로 데이터를 푸시하는 방식이다. Active 모드의 작동 흐름은 다음과 같다. 1. 클라이언트가 FTP 서버에 접속. 클라이언트는 1023번 이상의 TCP 포트를, 서버는 21번 포트 사용 2. 클라이언트가 1025번 포트로 데이터를 수신하겠다 알림 3. 서버는 송신하겠다고 응답 4. 서버에서 데이터를 보냄 Active 모드를 사용할 때 중간에 방화벽이나 세션 장비
HTTP
http
2024. 3. 13.
HTTP는 웹 상에서 하이퍼텍스트 등의 정보를 주고받는 데 쓰이는 프로토콜로, 서버와 클라이언트의 사이에서 어떻게 메시지를 교환할지를 정해 놓은 규칙이다. HTTP는 요청(Request)와 응답(Response)로 구성되어 있고, 클라이언트가 요청을 하면 서버가 응답을 하는 구조로 되어 있다. HTTP 메서드 GET 리소스를 조회하는 메서드이다. 서버에 전달하고 싶은 데이터는 query(쿼리스트링)를 통해 전달할 수 있다. 캐싱이 가능하다. POST 요청한 데이터를 처리하는 메서드이다. 메시지 바디를 통해 서버로 요청 데이터 전달한다. (들어온 데이터를 처리하는 모든 기능을 수행할 수 있다.) 대상 리소스가 가지는 의미에 따라 요청에 포함된 표현을 자유
HTTP Options
http
2024. 3. 13.
일반적인 브라우저를 사용하여 통신한 내용을 들여다보면, 본 요청 이전에 Request Method가 OPTIONS인 요청이 있는것을 볼 수 있다. 통신 Type도 XMLHttpRequest (XHR) 가 아닌 preflight으로 되어있다. 이 요청은 무슨 용도의 요청일까?  그 외에도 아래와 같은 장점이 있다. 1. 네트워크 혼잡 감소: TCP, SSL/TCP connection request 수가 줄어들기 때문 2. 네트워크 비용 감소: 여러 개의 connection으로 하나의 client요청을 servin
java로 간단한 socket 프로그램만들기
l4-appplication-layer
2024. 3. 13.
`java.net`의 Socket class와 Thread를 이용해 간단한 socket 통신 프로그램을 만들어보자. socket client java public class ServerMain { public static void main(String[] args) { // ServerSocket 클래스로 객체를 생성해준다. port는 6000으로 설정해주었다. try (ServerSocket ss = new ServerSocket(6000)) { // accept() 는 클라이언트가 들어오는 것을 대기 하는 역할을 한다. // 클라이언트가 설정해준 포트(6000)로 연결을 시도한다면 accept 메소드는 대기를
SMTP의 보안 시스템
l4-appplication-layer
2024. 3. 13.
SMTP는 MARC, DKIM, SPF 등 세 가지 방법으로 이메일에 대한 보안을 지킨다. 함께 사용하면 스팸 발송자, 피싱 공격자 등 권한이 없는 당사자가 소유하지 않은 도메인을 대신하여 이메일을 보내는 것을 막을 수 있다. SPF, DKIM, DMARC를 올바르게 설정하지 않은 도메인에서는 이메일이 스팸으로 격리되거나 수신자에게 전달되지 않을 수 있다. 또한 스팸 발송자가 자신을 사칭할 위험도 있다. DKIM, SPF, DMARC 레코드는 모두 DNS TXT 레코드로 저장된다. 1. SPF (Sender Policy Framework) SPF는 누군가(google.com)로부터 메일이 발송되었을 때, 이 메일의 발송지(111.111.111.111)가 진짜 해당 도메인인 google.com으로부터
SNI
tls
2024. 3. 13.
SNI is somewhat like mailing a package to an apartment building instead of to a house. When mailing something to someone's house, the street address alone is enough to get the package to the right person. But when a package goes to an apartment building, it needs the apartment number in addition to the street address; otherwise, the package might not go to the right person or might not be deliv
TLS
tls
2024. 3. 13.
HTTP는 Hypertext Transfer Protocol의 약어이다. Hypertext 즉, HTML을 전송하는 통신 프로토콜을 의미하는 것이다. 그리고, HTTPS의 약자는 Hypertext Transfer Protocol Secure이다. 간단하게 말하자면 HTML통신 규약이긴한데 그게 안전하게 이루어진다는 것이다. HTTPS에는 TLS라는 프로토콜이 함께 사용되어, 사용자의 인증 과정을 추가로 거치게 된다.  기관에서 인증서를 발급받아야한다. CA는 신뢰성이 엄격하게 공인된 기업들만 할 수 있다고 한다. CA에서 인증서를 발급 받으려면 아래와 같은 과정을 거쳐야한다. mermaid graph TD A[A 회사] -->|인증서 발급 요청도메인, 공개 키 등 제출| CA1[CA] CA1 -->|A 회사에 대해 검토| CA2[CA] CA2 -->|A 회사의 공개 키를SHA-256 등으로 해시하여인증서에 '지문'으로 등록| CA3[CA] CA3 -.->|Finger Print| FP[🖐️ Finger Print] CA3 -->|