2024/11 8

WAS와 Restful API 그리고 JVM

웹 서버, WAS, DB를 각각 하나의 Tier로 볼 수 있다. 그러면 총 3-Tier가 된다. 웹 서비스 시스템이 얼마나 잘 작동하고 있는가를 항상 모니터링 한다. 여기서 응답시간은 서비스의 품질을 확인하는데 매우 중요한 역할을 하게된다. db 응답시간, WAS 상태에 대해 집중적으로 모니터링 하는 시스템을 APM(Application Performance Management) 시스템이라 한다. (ex. 스카우터)  (참고) APM은 JVM을 모니터링한다.  ...   WAS를 생각해보기 전에 컴퓨터를 H/W, Kernel mode, User mode로 구분해볼 수 있다. 1) CPU는 하드웨어에 속한 장치이며, Machine이라고도 한다.2) 하드웨어를 넘어가면 모두 S/W이며, Logical 혹은 ..

네트워크 2024.11.11

인증서 체인이란

1. 인증서 체인이란- 인정서를 신뢰할 수 있도록 서명을 하며 만들어진 체인으로 아래와 같은 3계층으로 구성된다.- 인증서 - 중간 인증서 - 루트 인증서  1) 인증서 (Leaf Certificate)HTTPS 서비스를 위하여 발급 받은 인증서로, 서비스가 올라간 서버에 적용한다. 또한 중간 인증서에 인증서 정보가 Hash된 값을 전달하여 서명을 요청한다. (서명, 중간 인증서 서버 비공개키로 암호화)  2) 중간 인증서 (Intermediate Certificate)인증서를 서명해준다. 루트 인증서에 의해 서명된 상태를 말한다.  3) 루트 인증서 (Root Certificate) 중간 인증서를 서명해준다. 본인의 서버 공개키로 Self 서명된 상태, 브라우저들은 신뢰하는 Root 인증서 리스트를 가..

네트워크 2024.11.08

웹 서비스 구조 이론

네트워크 인프라 스트럭처를 공부할 때 중요한 것은 전체적인 구조를 이해해야 한다.   1) TCP/IP 연결 다음 HTTP가 존재한다.2) HTTP 트래픽은 소켓 수준에서 만들어지며 스트림 데이터 형식으로 되어져 있다.3) 다만 IP 네트워크의 MTU는 1500 이기 때문에 TCP는 이를 일정 단위로 자른다.4) 해당 단위 즉 조각을 세그먼트라 한다면 세그먼트를 패킷으로 인캡슐레이션 한 후 패킷을 만들어 전송한다. 위 과정으로 스트림 데이터는 분해가 되고, 수신측에서 다시 조립을 하게된다. 다시 정리하자면 HTTP 트래픽은 스트림 데이터 가로 형태로 되어있고, 이것을 조각내서 패킷으로 만든 후 IP 스택에 전송을 하는 것이다. 그리고, 웹에 대한 얘기를 할 땐 패킷, 세그먼트 형태는 나오지 않는다.  ...

네트워크 2024.11.07

HTTP 간단 설명

HTTP1) HTTP는 HTML 문서를 전송 받기 위해 만들어진 응용 프로그램 계층(L7) 통신 프로토콜이다.2) 1996년에 1.0 스펙이 발표됐으며 1999년 6월에 1.1이 발표됐다.3) 기본적으로 클라이언트의 요청에 대응하는 응답형식으로 작동한다.4) 헤더는 아래와 같이 분류된다.- 일반 헤더- 요청 헤더- 응답헤더- 엔티티 헤더5) 요청에 사용되는 메서드는 주로 GET, POST이다.   핵심은 TCP/IP 패킷은 단위로 데이터가 잘라진다. 하지만 L5이상의 소켓 통신이며, 소켓 통신은 Stream 데이터이다. 이는 시작은 확실하지만 끝은 언제인지는 HTTP를 통해 해석이 필요하다. HTTP는 문자열로 되어 있기에 이해가 쉽다.

네트워크 2024.11.05

URL과 URI

URL - Uniform Resource Locator (위치 지정자) URI- Uniform Resource Identifier (식별자)  Resource란 무엇일까, 1) 웹은 html 이라는 문서를 http 프로토콜로 실어 나르는 형태로 구현되어 있다. 2) 이를 토대로 Resource 라는 것을 생각해보면 본질은 파일이다. 3) 이 파일이 저장된 위치, 이 것 하나를  Resource Locator 라고 보는 것이 URL이다.    URL은 URI라는 큰 범주안에 포함된다. 즉 식별자로 보는 것이 더 포괄적이고, 위치를 가르킨다는 것은 파일까지 특정하는 것이다.

네트워크 2024.11.04

한 번에 끝내는 DNS

L1~L4는 인프라스트럭처로 볼 수 있다. L5부터는 어플리케이션이 목적화되는 것이며, 이러한 어플리케이션을 위해서 인프라가 존재하는 것이라 이해하여도 무방하다.  우리가 실제로 체감할 수 있는 것들의 형상은 대다수 어플리케이션 계층에 존재한다. 다만 어플리케이션에 존재하는 어떠한 서비스 중에서 인프라에 해당되는 것들이 있는데, 그 중 대표적인것이 DNS이다.   ...  DNS (Domain Name Service) 1) 분산 구조형 데이터베이스- 데이터베이스 시스템(DNS 네임서버)의 분산 구성- 데이터 영역별 구분(Domain Zone) 및 분산관리- 도메인의 네임서버 및 도메인 데이터는 해당 관리주체에 의해 독립적으로 관리됨 2) 트리(Tree) 구조의 도메인 네임(Domain Name) 체계- ..

네트워크 2024.11.04

TCP 연결이라는 착각 2

TCP 연결이 착각이라는 것을 이용하여, 이를 악용한 해킹 사건이 있었다.  TCP 연결과 게임 버그 1) 어떤 MMORPG 게임에서 아이템 복제 버그가 발생2) 이는 논리적 TCP 연결과 물리적 링크간 차이를 이용한 시간차 공격이라 볼 수 있으며 연결이 사실은 End-point의 주관적 판단에 불과하다는 것을 보여준다.  ...  만약 부부간 통화를 했을 때, 전화를 받은 상대가 나의 배우자가 맞다는 것은 '목소리'로만 유추가 가능하다. 만약 상대가 내 배우자와 똑같은 목소리를 낸다고 가정하면 나는 나의 배우자와 통화한 것이 아니게 된다. 연결은 누군가와 통화하고 있다는 착각과도 같다. 그리고 이를 의도적으로 하게되면 해킹이 된다.   TCP 연결 또한 연결이 되었다는 판단에 대해서 다시 한번 생각해봐..

네트워크 2024.11.04

TCP 연결이라는 착각

파일 다운로드 중 LAN 케이블을 분리했다가 다시 연결하면 TCP 연결은 어떻게 될까?  연결을 끊었다라는 것은 L4 계층의 연결을 말한다. 만약 L1 수준에서 랜선을 잠시 뽑아도 L4의 TCP 연결은 유지된다.  L1의 랜선을 얼마의 시간동안 끊었는지에 따라 결과는 다를 수 있다. 어플리케이션은 연결을 유지하기 위해 3way-handshakes를 진행했음에도 계속해서 연결을 재확인한다. 그리고 이를 하트비트라 표현한다. 이를 일상에 비유하자면 친구와 전화 통화를 할 때 전화 통화가 끊어진 것은 L1, 전화 통화는 끊어지지 않았지만 친구가 말이 없는 경우는 L4인 것이다.   ...   TCP 연결이라는 착각 (너무 중요함)  1) 재전송 타이머의 기본 근사 값은 대략 3초이다. 하지만 대부분의 운영체제..

네트워크 2024.11.04