VPN은Virtual Private Network의 줄임말입니다.그대로 해석한다면 가상 사설망입니다.사설망과 공중망에 대한 설명을 보고나서 가상 사설망이라고 하면 대충 짐작은 갈 것입니다.공중망을 사용하지만 가상으로 사설망처럼 이용 가능하게 만든다는 뜻입니다.실제로 사설망이 아니지만 가상으로 사설망 연결할 수 있습니다.
인터넷망을 전용선처럼 사용할 수 있도록 특수 통신체계와 암호화 기법을 제공하는 서비스로 기업 본사와 지사 또는 지사 간에 전용망을 설치한 것과 같은 효과를 거둘 수 있습니다.대부분은 기업에서 사용하고 있습니다만 기타 이유로 개인이 사용할 경우도 있습니다.
공중망을 경유하여 데이터가 전송되더라도 외부인으로부터 안전하게 보호되도록 주소 및 라우터 체계의 비공개,데이터 암호화,사용자 인증 및 사용자 액세스 권한 제한 등의 기능을 제공합니다.
사설망 vs공중망
VPN을 설명하기 위해서는 사설망과 공중망에 대해서 먼저 알아야 합니다.사설망은 전용회선이라고 생각하시면 됩니다.특정 조직 내에서만 사용하는 네트워크로 인증된 사람만 사용할 수 있습니다.따라서 보안에 우수하지만 거리에 따른 설치비용 및 유지보수 비용이 들어갑니다.
공중망은 전화망이나 인터넷처럼 모두에게 공개되어 있는 망을 뜻하며 따라서 보안성이 취약합니다.현재 알고 계시는 통신사들의 인터넷망이라고 생각하면 됩니다.
VPN(Virtual Private Network)은 방화벽,침입 탐지 시스템(IDS)과 함께 현재 사용되는 가장 일반적인 보안 솔루션 중 하나입니다.인터넷망을 전용선처럼 사용할 수 있도록 특수 통신체계와 암호화 기법을 제공하는 서비스로 기업 본사와 지사 또는 지사 간에 전용망을 설치한 것과 같은 효과를 낼 수 있습니다.
기존 사설망의 고비용 부담을 해소하기 위해 사용합니다.기업의 통신망과 인터넷서비스 제공자와 연결만 하면 되기 때문에 별도로 값비싼 장비나 소프트웨어를 구입하고 관리할 필요가 없기 때문에기존 전용선에 비해20~80%이상의 비용 절감효과를 얻을 수 있습니다.뿐만 아니라 사용자의 이동성 보장과 편리한 네트워크 구성 등이 장점이 있습니다. VPN은 공중망을 통해 데이터를 송신하기 전 데이터를 암호화하고,수신 측에서 이를 복호화 합니다.따라서VPN구축을 위해서는 데이터를 암호화하는 보안기술이 있어야 합니다.
가상 사설망은 응용프로그램 하단 계층에서 작동하므로 응용프로그램을 수정할 필요가 없기 때문에 투명성을 제공합니다.사용자가 필요에 따라 자체적으로 보안성을 적용한 네트워크를 구축할 수 있습니다.이는IPSec이나TLS/SSL등의 보안 프로토콜을 네트워크 관리자의 구성이 아닌 사용자의 요구로 적용시킬 수 있습니다.
함수를
호출할 때 인자로 this를 주면
nightDayHandler(self)함수 내에 포함되어 있는 input태그 자체가 인자로
함수에 전달됩니다. 함수는 self라는 파라미터로 인자로
전달받게 되고 self라는 값은 함수를 호출한 input태그가
됩니다. 따라서 클릭을 함으로 value가 night와 day로 변경이 됩니다.
수정하고자
하는 코드를 변경하면 코드가 실행되지만 여러 개의 코드가 있는 경우 각각의 코드를 변경하는 것이 쉬운 작업은 아닙니다.
.js파일로 따로
공통된 코드를 정의하여 <script src=”colors.js”></script> 구현하면
쉽게 처리할 수 있습니다. js파일 내에는 <script>태그가
들어가면 안됩니다.
.js파일에 따로
코드를 분류를 하게 되면 유지보수가 수월해집니다.
코드의
명확성이 높아지고 가독성이 높아지게 됩니다. 여러 개의 파일로 쪼개는 것이 파일을 정리정돈하는 방법입니다.
*웹 페이지에 다운로드된 파일은 컴퓨터에 저장되어 다음 접속 시에는 저장된 파일을 읽어 네트워크를 통하지 않게 합니다. 서버입장에서 비용을 절감하는 효과를 얻습니다. 사용자 입장에서 네트워크
트래픽을 절감하고 빠르게 웹 페이지를 볼 수 있는 효과가 있습니다.
라이브러리와 프레임워크(서로 협력하는 모델)
라이브러리는
재사용하기 쉽도록 정리정돈 되어있는 소프트웨어. (만들어진 것을 쓰는 것)
프레임워크는
만들고자 하는 것이 있을 때 무엇이냐에 따라 게임, 웹, 채팅
등
만들고자
하는 부분에 공통부분을 프레임워크 개성에 따라 다른 부분만 수정할 수 있도록 하는 것.
라이브러리(jQuery)
CDN(Content Delivery Network): 직접 라이브러리를 다운로드 받아 프로젝트 포함시켜 업로드하고 서비스하려면 비용이 듭니다. 많은 라이브러리가 CDN을 통해 자신들의 서버에 파일을 보관해 우리는
그것을 <script src=”.js”>를 통해 가져가는 방식으로 사용료까지 내줌으로 편한
작업입니다.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
var Links = {
setColor:function(color){
$('a').css('color',
color);
}
}
UI(User Interface) vs API(Application
Programming Interface)
UI : 사용자가 조작 장치를 이용해 웹 애플리케이션을 사용하고
있는 것
API : 경고창이 실행되는 것은 웹 브라우저를 만드는 사람이
경고창을 미리 만든 것, 조작 장치 alert을 API라고 합니다.
사용자는 UI, 프로그래머는 UI+API를 모두 사용, 자신만의 응용프로그램을 만들 수 있다.
수업을 마치며
Cookie 개인화된 서비스를 제공, offline web application
인터넷이 끊겨도 동작하고자 하는 앱