이 구독 링크 초보 가이드는 링크에 무엇이 들어 있는지, 어디에 붙여넣어야 하는지, 가져온 뒤 노드가 표시되지 않는 이유, 업데이트가 필요한 시점, 링크를 잘못 공유했을 때의 대응 방법을 설명합니다. 구독 링크는 일반 웹 주소나 특정 프록시 프로토콜이 아닙니다. 서비스 서버가 관리하는 설정 키에 가깝고, 클라이언트는 이를 통해 노드 이름, 서버 주소, 포트, 프로토콜 매개변수와 그룹 정보를 가져옵니다.
이 점을 이해하는 것이 중요합니다. 구독 주소를 브라우저에 붙여넣어 읽기 어려운 텍스트나 다운로드 파일, 빈 페이지가 표시되더라도 링크가 만료된 것은 아닙니다. 브라우저는 보통 원본 콘텐츠를 가져올 뿐, 이를 연결 가능한 회선으로 변환하지는 않습니다. 올바른 방법은 구독 형식과 호환되는 클라이언트에서 ‘링크에서 가져오기’, ‘원격 설정 추가’와 같은 메뉴를 이용해 설정을 불러오는 것입니다.
구독 링크란 무엇이며 단일 노드 링크와 어떻게 다른가
단일 노드 링크는 하나의 연결 설정만 설명하며, 일반적으로 Shadowsocks, VMess, Trojan, VLESS, Hysteria2 또는 TUIC 같은 프로토콜 식별자를 포함합니다. 구독 링크는 서비스 서버가 여러 설정을 한곳에서 제공합니다. 클라이언트가 구독을 읽으면 여러 지역, 회선 유형 또는 정책 그룹이 표시되는 경우가 많고, 이후 같은 주소에 다시 요청해 서버에서 변경한 내용을 가져올 수도 있습니다.
| 비교 항목 | 구독 링크 | 단일 노드 링크 |
|---|---|---|
| 주요 용도 | 여러 노드와 정책을 한곳에서 가져오고 관리 | 하나의 독립적인 연결 설정 가져오기 |
| 이후 변경 사항 | 업데이트를 통해 서버의 새 설정을 가져올 수 있음 | 일반적으로 새 노드 정보를 다시 가져와야 함 |
| 클라이언트 요구 사항 | 구독 출력 형식과 호환되어야 함 | 해당 노드가 사용하는 프로토콜을 지원해야 함 |
| 보안상 영향 | 유출되면 전체 설정 그룹이 노출될 수 있음 | 일반적으로 해당 노드 범위로 유출이 제한됨 |
구독 주소의 무작위 문자열은 보통 인증 역할을 합니다. 이 주소를 얻은 사람은 계정 인증 정보를 다시 입력하지 않고도 설정을 요청할 수 있습니다. 따라서 구독 링크를 공개해도 되는 다운로드 주소로 취급해서는 안 됩니다. 복사, 스크린샷, 동기화 또는 장애 문의 자료를 제출할 때 화면이나 로그, 텍스트에 링크가 포함되어 있는지 먼저 확인하세요.
구독 형식, 프록시 프로토콜, 클라이언트 코어는 서로 다릅니다
초보자가 가장 자주 혼동하는 부분은 ‘프로토콜’과 ‘구독 형식’입니다. Shadowsocks, VMess, Trojan, VLESS, Hysteria2, TUIC은 연결 방식과 그 매개변수를 설명하고, 구독 형식은 노드와 규칙을 구성하는 역할을 합니다. 하나의 구독에 여러 프로토콜이 포함될 수 있지만, 클라이언트에서 사용할 수 있는지는 내장되었거나 호출되는 네트워크 코어가 해당 프로토콜을 지원하는지에 달려 있습니다.
주요 프로토콜의 역할
- Shadowsocks: 암호화 프록시 방식으로 트래픽을 전송하며, 설정에는 보통 서버, 포트, 암호화 방식과 인증 정보가 포함됩니다. 클라이언트마다 지원하는 암호화 방식이 다를 수 있습니다.
- VMess: 관련 프록시 코어의 설정 체계에서 흔히 사용되며, 서버 정보 외에도 전송 계층, TLS와 식별자 매개변수가 포함될 수 있습니다. 가져올 때 모든 필드를 빠짐없이 유지해야 합니다.
- VLESS: 자체적으로 VMess의 암호화 구조를 사용하지 않으며, TLS, Reality 또는 다양한 전송 방식과 함께 구성되는 경우가 많습니다. 클라이언트가 프로토콜 이름을 지원한다고 해서 모든 조합을 지원하는 것은 아닙니다.
- Trojan: 일반적으로 TLS와 함께 사용되며, 연결 매개변수에는 서버 이름, 인증서 검증 관련 설정과 인증 정보가 포함됩니다. 인증서 검증을 임의로 끄면 연결 검증 수준이 낮아집니다.
- Hysteria2: UDP 및 QUIC 계열 전송 방식을 기반으로 하며, 패킷 손실이 큰 일부 네트워크에 적합할 수 있습니다. 다만 UDP가 제한된 네트워크에서는 연결을 설정하지 못할 수 있습니다.
- TUIC: 역시 UDP 및 QUIC 기능에 의존하므로 클라이언트 코어 버전, 네트워크 환경과 매개변수 조합에 대한 요구 사항이 있습니다.
일부 구독 출력은 URI 목록, Base64로 인코딩된 텍스트, YAML 설정 또는 JSON 설정 형태일 수 있습니다. Base64는 인코딩 방식일 뿐 암호화가 아니며 콘텐츠를 자동으로 보호하지 않습니다. YAML은 프록시 그룹과 규칙이 포함된 설정에 자주 사용되고, JSON은 sing-box와 같은 설정 체계에서 흔히 볼 수 있습니다. 두 클라이언트가 모두 VLESS를 지원하더라도 서로의 전체 설정 파일을 바로 읽을 수 있다는 뜻은 아닙니다.
일부 서비스 패널은 클라이언트별로 다른 구독 메뉴를 제공합니다. 선택할 때는 클라이언트 유형에 맞는 형식을 받아야 하며, ‘범용’이라는 표시만 보고 여러 번 변환하지 않는 것이 좋습니다. 온라인 외부 변환 사이트는 전체 구독 내용을 읽어야 하므로 설정 인증 정보를 다른 서비스에 넘기는 것과 같습니다. 서비스 서버가 제공하는 호환 형식을 우선 사용하거나 신뢰할 수 있는 로컬 도구에서 변환하세요.
구독 발급부터 연결 성공까지 전체 과정
먼저 서비스 패널에서 구독 메뉴 확인
서비스 패널에 로그인한 뒤 구독 메뉴는 보통 개요, 구독 관리, 클라이언트 설정 또는 사용 가이드 근처에 있습니다. 복사할 때는 패널에서 제공하는 복사 기능을 사용해 끝부분이 누락되지 않도록 하세요. 설정 파일 다운로드와 구독 주소가 함께 제공된다면 클라이언트에 필요한 것이 원격 링크인지 로컬 파일인지 먼저 확인해야 합니다.
호환되는 클라이언트와 가져오기 방식 선택
- 신뢰할 수 있는 출처에서 현재 플랫폼에 맞는 클라이언트를 설치하고, 구독에 포함된 프로토콜과 설정 형식을 지원하는지 확인하세요.
- 클라이언트에서 ‘구독 추가’, ‘URL에서 가져오기’ 또는 ‘원격 설정’과 같은 메뉴를 찾으세요. 단일 노드를 수동으로 입력하는 화면을 사용하면 안 됩니다.
- 구독 주소 전체를 붙여넣고 설정을 알아보기 쉬운 로컬 이름으로 저장한 다음 저장 또는 업데이트를 실행하세요.
- 노드 목록이 나타날 때까지 기다린 후 현재 상황에 맞는 회선을 선택하고 시스템 프록시, VPN 모드 또는 앱 내 프록시를 켜세요.
- 클라이언트 버튼의 색상만 확인하지 말고 대상 웹사이트에 정상적으로 접속되는지, 시스템 시간이 맞는지, DNS 경로가 올바른지 확인해 연결을 검증하세요.
클라이언트에 다운로드 실패가 표시되면 먼저 주소 앞뒤에 공백, 줄바꿈 또는 문장 부호가 섞이지 않았는지 확인하세요. 일부 메신저는 긴 링크를 잘라 버리고, 일부 문서 편집기는 문자를 자동으로 바꿀 수 있습니다. 가장 안전한 방법은 패널에서 다시 복사해 클라이언트에 바로 붙여넣는 것입니다.
플랫폼별 가져오기에서 놓치기 쉬운 차이
- Windows: 클라이언트에 시스템 프록시와 가상 네트워크 어댑터 모드가 각각 제공될 수 있습니다. 시스템 프록시는 주로 시스템 설정을 따르는 앱에 영향을 주고, 가상 네트워크 어댑터 모드는 일반적으로 더 넓은 범위를 처리하지만 올바른 라우팅과 DNS 설정이 필요합니다.
- macOS: 가져온 뒤 시스템 네트워크 확장 승인 안내를 확인하세요. 노드를 목록에 추가하는 것만으로 시스템 트래픽이 클라이언트로 전달되는 것은 아닙니다.
- iOS: 클라이언트에서 처음 연결할 때 시스템 VPN 설정을 생성해야 하는 경우가 많습니다. 구독을 성공적으로 가져온 뒤에도 앱 안에서 정책 또는 노드를 선택해야 합니다.
- Android: 시스템의 백그라운드 제한으로 장시간 연결이 끊길 수 있습니다. 화면을 잠근 뒤 연결이 끊긴다면 구독을 반복해서 다시 만들기보다 앱의 백그라운드 실행 권한과 배터리 절전 정책을 확인하세요.
- Linux: 그래픽 클라이언트와 명령줄 코어의 설정 디렉터리가 다를 수 있습니다. 구독 또는 설정 파일을 저장할 때 파일 접근 권한을 제한하고, 서비스 프로세스가 실제로 업데이트된 파일을 읽는지 확인하세요.
구독은 왜 업데이트해야 하며 업데이트 후에도 바뀌지 않으면 어떻게 해야 하나
구독 업데이트는 서비스 서버에서 설정을 다시 가져오는 작업입니다. 회선 입구 변경, 노드 이름 수정, 프로토콜 매개변수 업데이트 또는 정책 그룹 변경이 있어도 로컬 클라이언트가 이를 자동으로 알 수는 없으므로 구독을 다시 요청해야 합니다. 구독 업데이트와 노드 전환은 서로 다른 작업입니다. 전자는 설정 출처를 새로 고치는 것이고, 후자는 현재 목록에서 다른 회선을 선택하는 것입니다.
클라이언트에는 일반적으로 수동 업데이트와 자동 업데이트가 있습니다. 수동 업데이트는 안내 메시지를 바로 확인할 수 있어 문제를 점검할 때 적합합니다. 자동 업데이트는 일상적인 관리에 편리하지만 클라이언트가 백그라운드에서 실제로 요청을 실행하는지 확인해야 합니다. 자동 업데이트 주기는 클라이언트 성능과 사용 습관에 맞춰 설정하면 되며, 너무 자주 새로 고칠 필요도 없고 가져오기 당시의 오래된 설정에 계속 의존해서도 안 됩니다.
업데이트 후 목록이 바뀌지 않는 일반적인 원인
- 클라이언트가 여전히 로컬 캐시를 읽고 있어 업데이트 요청이 정상적으로 완료되지 않았습니다.
- 원격 업데이트가 가능한 구독 주소가 아니라 로컬 설정 파일을 가져왔습니다.
- 구독은 업데이트되었지만 노드 이름은 그대로이고 실제 매개변수만 백그라운드에서 변경되었습니다.
- 현재 클라이언트가 서버에서 반환한 형식을 이해하지 못해 마지막으로 해석할 수 있었던 설정을 유지하고 있습니다.
- 이전 설정과 새 설정의 이름이 같아 클라이언트가 덮어쓰지 않고 다른 설정 그룹을 만들었습니다.
- 네트워크 자체에서 구독 서버에 접근할 수 없어 먼저 기본 네트워크를 복구하거나 사용할 수 있는 연결 방식으로 전환해야 합니다.
문제를 점검할 때는 먼저 클라이언트의 업데이트 시간과 오류 메시지를 확인한 뒤 수동 업데이트를 시도하세요. 그래도 변화가 없다면 로컬 구독을 삭제하고 다시 가져올 수 있지만, 삭제 전에 기존 주소에서 설정을 다시 받을 수 있는지 확인해야 유일한 사용 가능 설정까지 함께 지우는 일을 피할 수 있습니다. 다시 가져온 뒤에는 분할 라우팅 규칙, 노드 선택과 시스템 프록시 모드가 기본값으로 돌아갔는지도 확인하세요.
구독 업데이트는 클라이언트 업데이트와 다릅니다. 최신 프로토콜 매개변수에는 더 새로운 네트워크 코어가 필요할 수 있으며, 구독만 새로 고친다고 오래된 코어에 지원되지 않는 기능이 생기지는 않습니다. 반대로 클라이언트를 업데이트해도 이미 만료된 구독 주소가 자동으로 교체되지는 않습니다. 두 유지 관리 작업은 별도로 판단해야 합니다.
회선 태그, IEPL, 중계, 직접 연결과 분할 라우팅 규칙 이해하기
구독의 노드 이름에는 지역과 회선 태그가 붙는 경우가 많지만, 이름은 설정 제공자가 표시한 설명일 뿐입니다. 연결 경로를 판단할 때는 서비스 문서와 실제 네트워크 상태를 함께 확인하고, 이름만으로 모든 하위 라우팅을 추정하지 마세요.
직접 연결, 중계와 IEPL의 차이
직접 연결은 일반적으로 사용자 네트워크가 해외 서버의 공용 진입점에 바로 접속하는 방식을 뜻합니다. 경로는 단순하지만 국내 통신사의 외부 출구, 국제 공용망 혼잡과 라우팅 변화의 영향을 받기 쉽습니다. 중계 회선은 가까운 진입점에 먼저 연결한 뒤 중계망을 통해 출구 노드로 트래픽을 전달합니다. 일부 경로를 개선할 수 있지만 효과는 진입점 품질, 중계 구간과 출구 상태에 따라 달라집니다.
IEPL은 국제 이더넷 전용 회선을 가리키는 업계 용어 중 하나로, 서로 다른 네트워크 접속 지점 사이의 전용 전송 구간을 설명할 때 사용됩니다. 일반 사용자의 경우 로컬 장치에서 진입 노드까지의 구간은 여전히 일반 접속망을 통과할 수 있으므로, 모든 종단 간 경로가 공용망과 분리된다고 단순하게 이해해서는 안 됩니다. 현재 상황에 적합한지는 접속 위치, 출구 지역, 프로토콜 호환성과 당시 네트워크 상태를 함께 확인해야 합니다.
분할 라우팅은 어떤 요청이 프록시를 통과할지 결정합니다
클라이언트에서 흔히 사용하는 처리 방식은 전체 프록시, 규칙 기반 분할 라우팅과 직접 연결입니다. 전체 모드는 처리 가능한 트래픽을 더 많이 프록시로 보내 회선을 빠르게 확인하기 좋지만 로컬 서비스의 경로가 불필요하게 길어질 수 있습니다. 규칙 기반 분할 라우팅은 도메인, IP, 앱 또는 규칙 모음에 따라 경로를 정하므로 장기 사용에 적합합니다. 다만 규칙이 오래되었거나 적용 순서가 잘못되면 웹사이트 본문은 프록시를 거치고 이미지 API는 직접 연결되는 상황이 생길 수 있습니다.
분할 라우팅을 수정할 때는 먼저 목표를 분명히 하세요. 국내 사이트는 직접 연결할지, 국제 웹사이트는 프록시를 사용할지, 로컬 네트워크 주소는 제외할지, 특정 앱에 별도 요구 사항이 있는지 정해야 합니다. 출처가 불분명한 규칙 모음을 한꺼번에 여러 개 가져오지 마세요. 문제가 생겼을 때 어떤 규칙이 예상한 동작을 덮어썼는지 판단하기 어려워집니다.
DNS 누수가 구독과 관련 있는 이유
DNS 조회는 도메인 이름을 네트워크 주소로 변환합니다. 서비스 트래픽은 프록시를 통과하지만 DNS 조회는 로컬 네트워크에서 직접 처리되면 접속한 도메인이 노출될 수 있고 프록시 출구에 적합하지 않은 해석 결과를 받을 수도 있습니다. 이러한 현상을 보통 DNS 누수 또는 DNS 경로 불일치라고 합니다.
대응 방법은 클라이언트 모드에 따라 달라집니다. 시스템 프록시 환경에서는 일부 앱이 자체적으로 DNS 조회를 수행할 수 있습니다. 가상 네트워크 어댑터 모드는 일반적으로 더 많은 트래픽을 인계할 수 있지만 DNS 서버, 규칙과 대체 경로를 올바르게 설정해야 합니다. 암호화된 DNS를 사용한다고 해서 조회가 반드시 프록시를 통과하는 것은 아니므로 실제 라우팅을 확인해야 합니다. 점검할 때는 노드 연결 여부만 보지 말고 앱 트래픽과 DNS 트래픽을 함께 관찰하세요.
구독 링크 저장 방법과 유출 후 대응
구독 링크는 계정 인증 정보와 같은 기준으로 보관해야 합니다. 전체 설정을 가져오는 데 사용되는 토큰이 포함될 수 있고, 링크를 가진 사람이 노드 목록을 계속 새로 고칠 수도 있습니다. 링크가 HTTPS로 전송되더라도 공개 게시, 신뢰할 수 없는 도구로 전달 또는 공개된 위치에 저장하면 접근 범위가 확대될 수 있습니다.
일상적인 저장 및 사용 원칙
- 직접 관리하는 클라이언트와 신뢰할 수 있는 기기에서만 구독을 가져오세요.
- 전체 링크를 공개 코드 저장소, 공유 스크립트, 장애 스크린샷 또는 단체 채팅 기록에 남기지 마세요.
- 클라이언트 로그를 제출하기 전에 구독 주소, 노드 인증 정보, 서버 이름과 인증 필드를 검색해 가리세요.
- 브라우저 확장 프로그램, 온라인 변환기와 원격 디버깅 도구로 구독 내용을 처리할 때는 주의하세요.
- 클라이언트가 시스템 인증 정보 저장소를 지원한다면 이를 우선 사용하세요. 설정 파일에만 저장할 수 있다면 파일 읽기 권한을 제한해야 합니다.
- 백업할 때 클라우드 디렉터리의 공유 범위를 확인해 설정 파일이 공개 협업 공간에 자동으로 들어가지 않도록 하세요.
링크 유출을 발견했을 때의 처리 순서
- 서비스 패널에 들어가 구독 초기화, 링크 재생성 또는 기존 링크 철회 기능을 찾으세요.
- 패널에 해당 메뉴가 없다면 서비스 지원팀에 문의해 기존 구독 인증 정보를 무효화해 달라고 요청하세요.
- 새 링크를 받은 뒤 자신의 클라이언트에서 기존 구독을 삭제하고 새 주소를 가져오세요.
- 다른 기기와 백업 위치를 확인해 기존 클라이언트가 유출된 링크를 계속 요청하지 않도록 하세요.
- 공개 페이지, 스크린샷 또는 저장소의 원본 내용을 삭제하되, ‘삭제 완료’를 링크 철회의 대안으로 여기지는 마세요.
메시지만 삭제했다고 해서 링크가 복사되지 않았음을 확인할 수 있는 것은 아니며, 이미 설정을 가져간 사람이 자동으로 접근할 수 없게 되는 것도 아닙니다. 효과적인 대응의 핵심은 서버에서 기존 인증 정보를 철회하거나 교체하는 것입니다. 교체 후에도 클라이언트에 이전 노드가 표시된다면 대개 로컬 캐시가 정리되지 않은 상태이므로, 기존 구독 그룹을 제거하고 다시 불러와야 합니다. 이전 주소를 계속 반복해서 새로 고치면 안 됩니다.
가져오기 실패, 노드 없음과 연결 이상을 점검하는 순서
문제를 해결하는 가장 효과적인 방법은 단계별로 확인하는 것입니다. 먼저 구독을 가져올 수 있는지 확인하고, 다음으로 클라이언트가 해석할 수 있는지 살핀 뒤, 노드 연결 가능 여부를 점검하고 마지막으로 시스템 프록시, DNS와 분할 라우팅을 확인하세요. 여러 클라이언트 사이를 바로 오가면 형식 문제, 네트워크 문제와 시스템 설정이 뒤섞이기 쉽습니다.
| 현상 | 가능한 원인 | 우선 처리할 사항 |
|---|---|---|
| 구독 다운로드 실패 메시지가 표시됨 | 링크가 잘렸거나 기본 네트워크에 문제가 있거나 구독 주소가 만료됨 | 패널에서 다시 복사하고 주소가 완전한지 확인한 뒤 수동 업데이트 |
| 다운로드는 성공했지만 노드가 없음 | 클라이언트가 반환 형식과 호환되지 않거나 설정 필터가 노드를 숨김 | 클라이언트 유형과 구독 형식을 대조하고 그룹 및 필터 조건 확인 |
| 노드는 표시되지만 연결할 수 없음 | 프로토콜 코어 비호환, UDP 제한, 시스템 시간 오류 또는 연결할 수 없는 회선 | 호환되는 코어로 업데이트하고 다른 프로토콜 또는 같은 지역의 다른 회선으로 전환 |
| 클라이언트에는 연결됨으로 표시되지만 웹페이지가 열리지 않음 | 시스템 프록시가 적용되지 않았거나 DNS 경로가 잘못되었거나 규칙이 요청을 잘못된 출구로 보냄 | 일시적으로 더 단순한 프록시 모드로 확인한 뒤 분할 라우팅을 항목별로 복원 |
| 일부 웹사이트는 정상이나 일부 리소스가 실패함 | 도메인 분할 라우팅이 불완전하거나 앱 자체 DNS를 사용하거나 리소스마다 다른 경로를 사용함 | 요청 도메인, DNS 설정과 규칙 적용 순서 확인 |
| 업데이트 후에도 이전 회선이 표시됨 | 클라이언트가 캐시를 읽거나 다른 구독 그룹을 업데이트함 | 설정 이름과 업데이트 시간을 확인하고 필요하면 다시 가져오기 |
혼란을 줄이는 점검 방법
- 현재 기기의 일반 네트워크로 서비스 패널과 구독 메뉴에 접속할 수 있는지 확인하세요.
- 구독 주소가 계정 패널에서 가져온 것인지, 복사 과정에서 공백이나 줄바꿈이 추가되지 않았는지 확인하세요.
- 클라이언트가 구독 형식과 그 안에 포함된 프로토콜 및 전송 방식을 지원하는지 확인하세요.
- 구독을 수동으로 업데이트하고, ‘실패’라는 표시만 보지 말고 클라이언트가 반환한 구체적인 오류를 기록하세요.
- 같은 지역의 다른 회선을 선택해 단일 노드 문제인지 전체 설정 문제인지 구분하세요.
- 분할 라우팅과 DNS 설정을 일시적으로 단순화해 기본 연결을 확인한 뒤 사용자 지정 규칙을 복원하세요.
- 그래도 판단하기 어렵다면 지원 담당자에게 클라이언트 이름, 플랫폼, 프로토콜 유형과 민감 정보가 제거된 오류 로그를 제공하세요.
로그에서 민감 정보를 제거할 때 계정 이름만 가려서는 안 됩니다. 구독 URL, UUID, 비밀번호 필드, 인증서 개인 키, 노드 인증 정보와 전체 설정 내용도 접근에 활용될 수 있습니다. 지원 담당자가 문제를 판단할 수 있도록 오류 유형, 발생 단계, 프로토콜 이름과 시스템 환경은 남기고, 연결을 그대로 재사용할 수 있는 내용은 제거하세요.
초보자가 기억해야 할 핵심 판단 기준
구독 링크는 설정을 배포하고, 프록시 프로토콜은 연결을 설정하며, 클라이언트는 설정을 해석하고 트래픽을 인계합니다. 분할 라우팅과 DNS는 각 요청이 어떤 경로로 이동할지 결정합니다. 이 계층을 나누어 이해하면 가져오기 실패, 연결 실패와 접속 이상은 서로 다른 문제라는 것을 알 수 있습니다.
일상적으로 사용할 때는 현재 클라이언트에 맞는 구독을 서비스 패널에서 받아 정기적으로 업데이트하고 링크를 민감한 인증 정보로 취급하세요. 문제가 생기면 ‘가져오기, 해석, 연결, 라우팅, DNS’ 순서로 점검하고, 유출이 발생하면 기존 링크를 철회한 뒤 직접 사용하는 모든 클라이언트의 설정을 업데이트하는 것이 핵심입니다. 이렇게 하면 설정을 반복하는 일을 줄이고 신뢰할 수 없는 도구나 공개 채널에 전체 구독 내용이 퍼지는 것도 막을 수 있습니다.