분류 전체보기
-
14주차: Link) MPLS, DataCenter교내 강의/컴퓨터 네트워크 2024. 6. 8. 20:18
MPLS(Multi-Protocol Label Switching):VC의 idea를 가져와 네트워크 주소(IP)가 아닌 고정 길이의 label을 기반으로 데이터를 하나의 노드에서 다음 노드로 넘겨주며, 라우팅 테이블의 복잡한 검색을 회피하고 따라서 빠르게 노드간 패킷을 주고 받을 수 있다. (IP 주소를 뜯어보지 않는다)Ethernet 헤더에 MPLS 헤더를 끼워넣고 이를 Type에 명시하여 알린다.A->B로 보내는 예시:LER #1에서 1000Label을 붙여서 보낸다.LSR #1에서 1000을 input으로 받고 2000을 output으로 보낸다.LSR #2에서 2000을 input으로 받고 3000을 output으로 보낸다.LER #2에서 3000을 input으로 받고 detach하여 host에게 ..
-
알고리즘: DFS, BFS (너비우선탐색, 깊이우선탐색)알고리즘 2024. 6. 6. 18:04
DFS와 BFS는 그래프를 탐색하는 알고리즘이다.DFS(Depth-First Search)DFS는 그래프를 깊이 우선으로 탐색한다. 즉, 시작 노드에서 시작하여 한 갈래를 끝까지 탐색한 후에 다른 갈래를 탐색한다.구현 방법스택이나 재귀함수로 구현한다.동작 과정시작 노드를 스택에 넣는다.예를 들어, 시작 노드가 A라고 하자. 처음에는 스택에 A만 들어 있다.스택: [A]스택에서 노드를 하나 꺼내어 방문한다.스택에서 A를 꺼내어 방문한다.방문한 노드: A스택: []방문한 노드의 인접 노드 중 방문하지 않은 노드를 스택에 넣는다.예를 들어, A의 인접 노드가 B와 C라면, 이들을 스택에 넣는다.스택: [B, C]스택이 빌 때까지 2-3 단계를 반복한다.다음으로, 스택에서 C를 꺼내어 방문한다.방문한 노드: A..
-
13주차: Link) switch, VLAN교내 강의/컴퓨터 네트워크 2024. 6. 4. 23:23
Switch:스위치는 링크 계층의 디바이스이며 ethernet frame을 저장하고 포워딩하는 역할을 한다.(incoming frame의 MAC 주소를 확인하고 outgoing link를 찾아 CSMA/CD를 이용해 내보낸다.)호스트는 switch의 존재를 모른다.switch는 plug-and-play방식이고 self-learning하기 때문에 따로 정의할 필요는 없다.스위치의 각각의 incoming link에는 ethernet protocol이 사용되어 충돌이 발생하지 않고 전이중 통신을 구현할 수 있다.(같은 destination으로는 불가능하다)Self-learning:스위치는 어느 인터페이스를 통해 어느 호스트로 도달할 수 있는지 학습한다.예시: A에서 A'로 패킷을 전송하는 경우우선 incomi..
-
알고리즘: Knapsack(배낭 알고리즘)알고리즘 2024. 6. 4. 16:34
Knapsack 알고리즘:Knapsack 알고리즘이란 n개의 물건을 배낭에 최대 가치로 넣는 문제이다.배낭에는 무게 수용치가 정해져있다. (ex: 15kg)n개의 물건은 각각 다른 가치와 다른 무게가 정해져있다.위 문제는 물건을 쪼갤 수 있는 경우와 아닌 경우로 나뉜다. (Fraction Knaspack Problem & 0-1 knapSack Problem)0-1 knapSack Problem(쪼갤 수 없는 배낭문제):위 문제는 대표적인 DP 알고리즘 문제이다. (동적계획법)DP 알고리즘이란 큰 하나의 문제를 작은 여러개의 문제로 쪼개어 순차적으로 풀어나가는 방식이다. 위와 같은 경우를 보자.배낭: 최대 15kg물건: ($4, 12kg), ($2, 1kg), ($10, 4kg), ($2, 2kg), (..
-
자바스크립트 객체지향 기본기코드잇 부스트 2024. 6. 3. 23:26
자바스크립트 객체지향 기본기1. 객체와 클래스객체 지향 프로그래밍이란? 구성:프로퍼티(property): 변수메소드(method): 함수*절차 지향 프로그래밍(Process-Oriented Programming, POP): 데이터 구조와 이에 수반하는 동작들을 분리하는 컴퓨터 프로그래밍의 패러다임 객체 만들기 1-1: Object-Literalconst user = { email: 'chris123@google.com', birthdate: '1992-03-21', buy(item) { console.log(`${this.email} buys ${item.name}`); },};중괄호를 쓰고 그 안에 프로퍼티와 메소드를 나열하는 것 객체 만들기 1-2: Factory functionf..
-
네트워크 13주차: Link) ARP, ethernet교내 강의/컴퓨터 네트워크 2024. 6. 3. 20:24
MAC Address:3계층에서는 32bit IP로 주소를 구분한다.2계층에서는 MAC 주소 (Media Access Control address)를 쓴다. (물리적 주소)(맥 주소는 물리적으로 연결된 인터페이스 간에 프레임을 전송하는 데 사용된다) 맥 주소는 48비트로 표현한다.16진수(4비트)를 12개 이어붙인 형태로 사용하며 두 개씩 끊어서 하이픈('-') 으로 구분한다.(예시 : 1A-2F-BB-76-09-AD) LAN 환경의 모든 인터페이스는 고유한 맥 주소를 가지고 있다. ARP Protocol:IP를 이용해 MAC주소를 알아내는 프로토콜. 모든 IP 노드는 ARP table을 가지고 있다.ARP table에는 정보가 형식으로 저장된다.TTL은 언제까지 이 주소 매핑을 저장할지 유효 시간을 ..
-
문해기: 트리 지름 구하기교내 강의/문제해결 기법 2024. 6. 3. 16:23
입력: 하나의 트리 출력: 두 정점 (u,v)의 거리의 최댓값 Brute Force: O(n^2) ~ O(n^3)BFS로 가능한 (u, v)의 모든 조합을 다 해본다.가장 간선의 갯수가 많은 두 점이 정점이다.시간복잡도: O(n^3)*시간복잡도: O(n^2) (점 하나를 고정한 상태에서 BFS 할 경우) O(n) 알고리즘점 하나를 지정한 상태에서 BFS로 가장 먼 지점 u를 찾는다.그 점에서 BFS로 가장 먼 지점 v를 찾는다.*간선의 갯수가 가장 많은 경우가 n개라고 했을때, n개의 간선의 갖는 점이 여러개인 것이 아니라면 자명하다.
-
알고리즘: Convex Hull(컴벡스 헐), Graham Scan, Quick Hull알고리즘 2024. 6. 1. 16:18
Convex Hull:차원 평면에 여러개의 점이 있을 때, 그 점 중 일부를 이어서 나머지 점을 내부에 포함할 수 있는 볼록 다각형을 만드는 알고리즘.볼록 다각형이란 다각형 내부의 두 점을 잇는 어떤 선분도 다각형 외부로 나가지 않는 단순 다각형사전지식:위 문제를 이해하기 위해서는 우선 CCW 알고리즘을 알아야한다.https://qktjwl123.tistory.com/95 알고리즘: CCW(Counter Clock Wise)CCW 알고리즘: 3개의 점 A, B, C가 있을 때 이 점 3개를 이은 직선의 방향을 알고자 할 때 유용한 기하 알고리즘. 세 점 A(x1, y1), B(x2, y2), C(x3, y3)이 주어졌을 때두 벡터 (x2-x1, y2-y1), (x3-x1, y3-y1)의 외qktjwl1..