본문 바로가기

23년 2학기 학교공부/컴퓨터네트워크

(40)
[CN] WebRTC (Web Real-Time Communication) 2023학년도 2학기 충남대학교 이영석 교수님의 컴퓨터네트워크 수업 정리자료입니다. 📁 WebRTC WebRTC란 Web Real-Time Communication의 약자로, 웹 어플리케이션 및 브라우저에서 별도의 플러그인이나 소프트웨어 없이 음성, 영상, 파일 등의 데이터를 공유 가능하게 하는 기술을 말한다. 화상통화 및 화상 공유등을 구현할 수 있는 오픈소스이며, W3C 표준의 JavaScript API로 제공된다. 다음과 같은 브라우저들에서 지원한다. Firefox, Opera, Chrome on desktop and Android native apps on iOS and Android 데이터 전달이 P2P 방식으로 작동하는데, P2P 통신을 위해서는 사용자의 IP주소를 알아야한다. 하지만 대부분의..
[CN] 멀티미디어 스트리밍 프로토콜(RTSP, RTMP, HLS) 2023학년도 2학기 충남대학교 이영석 교수님의 컴퓨터네트워크 수업 정리자료입니다. 📁 인터넷 멀티미디어 스트리밍 프로토콜 인터넷에서 멀티미디어 스트리밍을 위해 사용되는 프로토콜은 여러가지가 있으며, 다음과 같이 분류할 수 있다. 1. 신호 SIP, SDP 등이 있다. 2. 오디오/비디오 전송 및 제어 메세지 전송 HTTP(HLS), RTP/RTMP, RTCP/RTMP/RTSP 등이 있다. 3. 스트리밍 프로토콜 RTMP, RTSP 등이 있다. 4. 실시간 프로토콜 WebRTC 등이 있다. 5. 전통적인 프로토콜 RTP/UDP, RTSP 등이 있다. 6. 웹 기반 프로토콜 RTMP, HLS 등이 있다. 📁 Real-Time Streaming Protocol (RTSP) IETF(Internet Engin..
[CN] 전자서명(Digital Signiture) 2023학년도 2학기 충남대학교 이영석 교수님의 컴퓨터네트워크 수업 정리자료입니다. 📁 디지털 서명 디지털 서명이란 네트워크에서 송신자의 신원을 증명하는 방법으로, 송신자가 자신의 비밀키로 암호화한 메시지를 수신자가 송신자의 공용키로 해독하는 과정을 말한다. Bob이 본인의 개인키 K(B)- 로 메세지 m을 암호화하여 Alice에게 전달하면, 이 암호화된 메세지를 디지털 서명된 메세지라고 하며, Alice는 Bob의 공개키를 사용해서 복호화할 수 있다. 수신자인 Alice는 송신자인 Bob 외에 그 누구도 이 문서에 서명하지 않았음을 타인에게 증명할 수 있으며, 이런 점에서 검증 가능(verifiable)하고 위조 불가능(nonforgeable)한 특징을 지닌다. 이때, 메세지의 길이가 긴 경우 공개키로..
[CN] 방화벽(Firewall) 2023학년도 2학기 충남대학교 이영석 교수님의 컴퓨터네트워크 수업 정리자료입니다. 📁 방화벽(Firewall) 방화벽이란, 어떤 기관의 내부망을 외부의 큰 인터넷으로부터 고립시켜, 특정 패킷들만 통과하게끔하는 네트워크 상의 벽을 말한다. 방화벽을 사용하는 이유는 다음과 같다. 서비스 거부 공격(Denial of Service attack, DoS)을 방어할 수 있다. - DoS : 웹사이트 또는 네트워크가 정상적으로 리소스를 처리할 수 없을 정도로 악성 트래픽을 대량으로 보내는 공격을 말한다. - SYN flooding : 일반적으로 TCP 통신을 위해서는 3way handshaking 과정에서 SYN 패킷을 전달해야한다. 이때 정상보다 훨씬 많은 수의 SYN 패킷을 전송하여 과도하게 통신을 시도함으로..
[CN] HTTPS 실습 웹 서버에 https를 적용하기 위해 SSL 인증서를 발급받아보자. 1. openssl 설치 https://code.google.com/archive/p/openssl-for-windows/downloads Google Code Archive - Long-term storage for Google Code Project Hosting. code.google.com https://narup.tistory.com/239 [OpenSSL] SSL 인증서 발급 방법 요약 1. 개요 웹 서버에 https 적용을 위한 SSL 인증서를 발급 받는 방법을 정리했습니다. 2. openssl for windows 다운 https://code.google.com/archive/p/openssl-for-windows/down..
[CN] IPSec - IP계층 보안 2023학년도 2학기 충남대학교 이영석 교수님의 컴퓨터네트워크 수업 정리자료입니다. 📁 IPsec IPsec란 IP security의 약자로, 통신 세션의 각 IP패킷을 암호화하고 인증하는 안전한 인터넷 프로토콜 통신을 위한 인터넷 프로토콜 스위트를 지칭한다. 이 보안은 통신 세션의 개별 IP 패킷을 인증하고 암호화하는 방식으로 동작하며, 암호화(encryption), 인증(authentication), 무결성(integrity)를 제공한다. 두개의 모드가 있다. 1. transport mode datagram의 payload부분만 암호화 및 인증한다. 2. tunnel mode 전체 datagram이 암호화 및 인증되고, 암호화된 datagram은 새로운 IP헤더를 갖는 새 datagram 안에 캡슐화..
[CN] 이메일 보안(PGP) 2023학년도 2학기 충남대학교 이영석 교수님의 컴퓨터네트워크 수업 정리자료입니다. 📁 E-mail Security 이메일을 전송할 때 보안과 관련하여 중요한 점은 세가지가 있다. 기밀성(confidential) 무결성(integrity) 인증(authentication) 1. with Confidentiality Alice가 Bob에게 기밀성을 유지하는 이메일을 보내고 싶어한다고 하자. Alice의 입장 먼저 Alice는 Ks라는 대칭키를 제작한다. (이것을 Bob과 안전하게 나눠갖는 것이 목적) 보내려는 메세지 m 을 Alice가 제작한 대칭키 Ks로 암호화 한다. 그 대칭키 Ks를 Bob의 공개키 Kb 로 암호화 한다. (포인트!!) -> 이 말은 Bob만이 자신의 비밀키로 저것을 열 수가 있음. ..
[CN] Client-side 동적 웹페이지 배포해보기 // http_server/dir/statics/myscript.js const myInterval = setInterval(myTimer, 1000); function myTimer() { const date = new Date(); document.getElementById('timer').innerHTML = '현재 시간: ' + date.toLocaleTimeString() + ' Stop time '; } function myTimerStop() { clearInterval(myInterval); } index.html 총 방문자: {{ COUNTER }} # http_server/http_server.py import os import http import http.server import s..