본문 바로가기

전체 글

(231)
[CN] 암호의 기초 : 대칭키, 공개키 2023학년도 2학기 충남대학교 이영석 교수님의 컴퓨터네트워크 수업 정리자료입니다. 📁 Cryptography(암호) 용어 정리 plaintext, m : 암호화 되지 않은 평서문 Ka : a가 가지고 있는 암호화 키 Kb : b가 가지고 있는 복호화 키 ciphertext : 암호화 된 데이터 Ka(m) : a가 가지고 있는 암호화 키를 가지고 plaintext m을 암호화한다는 것을 함수처럼 표현 Kb(Ka(m)) : Ka(m), 즉 ciphertext를 b의 키로 복호화하는 것을 함수처럼 표현 일반적으로, 송신자가 plaintext를 자신의 key를 통해 암호화하여 수신자에게 전송하면 수신자는 자신의 key를 이용해 복호화하여 메세지를 확인하는 방식으로 메세지가 전달된다. 이 과정에서 공격자가 암호..
[CN] TLS(Transport-layer security) 2023학년도 2학기 충남대학교 이영석 교수님의 컴퓨터네트워크 수업 정리자료입니다. 📁 TLS TLS란 TLS의 표준은 SSL(Secure Socket Layer) 3.0 버전, IETF TLS 1.0 버전, TLS 1.2 => TLS 1.3 (RFC 8846) TLS의 기능 TLS의 핵심기능은 암호화, 인증, 무결성 3가지가 있다. TLS는 API를 제공하고, TLS 버전/암호집합을 결정하고, 서버 인증서 이용 신원 인증, 세션키 생성. 1. confidentiality(기밀성) 2. authentication(인증) 3. message integrity(무결성) 4. access and availability(가용성) TLS Handshake 프로토콜 HTTPS로 통신하는 경우, TCP 소켓 통신 과..
[CN] Inter-AS 프로토콜 : BGP 2023학년도 2학기 충남대학교 이영석 교수님의 컴퓨터네트워크 수업 정리자료입니다. 📁 Inter-AS routing과 BGP Inter-AS routing이란 다른 AS(Autonomous System)들을 연결시켜주는 라우팅 프로토콜로, 대표적인 예시로 서로 다른 AS의 가장자리에 위치하는 border gateway 사이에 메세지를 전달하는 BGP가 있다. 예를 들어 충남대학교와 KT, KT와 SK브로드밴드 사이를 연결하는 기관 사이의 라우팅이다. BGP 프로토콜에는 두 가지 기능이 있다. 1. eBGP 서로 다른 AS 상의 Border Gateway들끼리 연결을 담당하는 BGP이다. 외부 라우터로부터 subnet reachability information을 전달받는다. 2. iBGP 서로 같은 A..
[CN] Intra-AS 프로토콜 : RIP, OSPF 2023학년도 2학기 충남대학교 이영석 교수님의 컴퓨터네트워크 수업 정리자료입니다. 📁 Intra-AS Routing 흔히 알려진 Intra-AS 라우팅 프로토콜에는 다음과 같은 것들이 있다. RIP(Routing Information Protocol) 30초마다 distance vector를 교환하는 방식이다. 구현이 쉽다. 더이상 잘 사용되지 않지만, 방식 자체는 네트워크 내부에 구현되어있다. EIGRP(Enhanced Interior Gateway Routing Protocol) IGRP를 개선한 방식으로, Ciso사 전용 라우팅 프로토콜이다. Distance Vector 알고리즘을 기반으로 동작한다. OSPF(Open Shortest Path First) 다익스트라 알고리즘을 통해 구한 최단 경로..
[CN] 라우팅 프로토콜 : Intra-AS, Inter-AS 2023학년도 2학기 충남대학교 이영석 교수님의 컴퓨터네트워크 수업 정리자료입니다. 대표적인 라우팅 알고리즘에 Link State와 Distance Vector가 있고, 각 방식은 아래 포스팅에서 확인할 수 있다. https://aowwl.tistory.com/284 [CN] 네트워크 계층 - control plane 2023학년도 2학기 충남대학교 이영석 교수님의 컴퓨터네트워크 수업 정리자료입니다. 📁 네트워크 계층 데이터 링크 계층에서는 같은 네트워크 상에 있는 컴퓨터끼리 데이터를 전송한다. 같은 aowwl.tistory.com 하지만 위 설명과 같은 이론은 모든 라우터가 식별 가능하고, 네트워크가 flat하다는 이상적인 가정 하에 이루어지는 이론이다. 실제로는 다음과 같은 이유때문에 이상적인 상황이..
[CP] Intermediate Representation(IR) 2023학년도 2학기 충남대학교 조은선 교수님의 컴파일러개론 수업 정리자료입니다. 📁 Intermediate Representation(IR) 중간언어(Intermediate Representation, IR)은 하이레벨 언어부터 로우레벨 언어까지의 컴파일 과정 사이에 위치하는 중간 레벨의 언어를 말한다. 대부분의 컴파일러가 중간언어를 사용한다. 전체적인 컴파일 과정을 살펴보면, 자바, C, C++과 같은 하이레벨 언어 코드를 입력으로 받아서, 중간에 파란 글씨로 표시된 IR을 거쳐 로우레벨 언어로 변환된다. 이때 거치는 중간 언어는 여러개일 수 있으며, 이런 경우 multiple IR이라고 부른다. multiple IR 내에서 상대적으로 하이레벨에 가까운 IR을 High level IR(HIR), 로우..
[CP] Abstract Syntax Tree(AST) 2023학년도 2학기 충남대학교 조은선 교수님의 컴파일러개론 수업 정리자료입니다. 📁 Parse Tree Parse Tree(파스트리)란 유도과정을 트리로 나타낸 것을 말한다. terminal이 leaf노드, non-terminal이 중간노드를 이루며, 좌측 유도인지 우측 유도인지는 파스트리에 표현되지 않는다. 📁 Abstract Syntax Tree(AST) Abstact Syntax Tree(AST)란 파스트리에서 불필요한 정보를 제거한 트리 형태의 자료구조를 말한다. abstract class Expr{} class Add extends Expr { Expr left, right; Add(Expr L, Expr R) { left=L; right=R; } } class Num extends Expr ..
[CN] 서버사이드 동적 웹 pip 업그레이드로 해결 python3 -m pip install --upgrade pip #app.py from flask import Flask, render_template app = Flask(__name__) @app.route('/hello/') @app.route('/hello/') def hello(name=None): return render_template('hello.html', name=name) Hello from Flask! {% if name %} Hello {{ name }}! {% else %} Hello, World! {% endif %} /hello로 접속시 308 상태코드와 함께 /hello/로 이동함. docker container 다 지우고 지난주 실습을 다시 진행..