CS10 [네트워크] 네트워크 계층 - 데이터 평면 이번 포스팅에서 배울 내용 데이터 평면 네트워크 계층에서의 데이터 평면이 어떠한 기능을 하는지 다룬다. 퍼 라우터라는 네트워크 계층의 기능은 한 라우터의 입력 링크에 도착한 데이터그램이 그 라우터의 출력 링크에 어떻게 도착하는지 결정한다. 전통적인 IP 포워딩 일반화된 포워딩 IPv4, IPv6 프로토콜들과 어드레싱 네트워크 전체 흐름 1. 네트워크 계층의 일 네트워크 계층은 링크를 타고 호스트 H1과 호스트 H2가 통신 할 수 있게 해줍니다. 이 때 네트워크 계층에서 나온 네트워크 패킷을 데이터그램이라 합니다. 전송계층에서 나온 세그먼트에서 IP 헤더가 붙은 상태입니다. IP 헤더를 가지고 있음으로서 상대 호스트 H2의 목적지가 어디인지 판단할 수 있습니다. 2. IP 주소를 어떻게 이용할까 ? 하지만.. CS/네트워크 2022. 9. 7. [네트워크] 애플리케이션 계층 3 - DNS, TLD, Authoritative, DNS 캐싱, DNS 레코드, DNS 계층화 DNS 란? DNS(Domain Name System)는 어떠한 호스트에 대한 하나의 식별자 입니다. IP 주소도 호스트에 대한 하나의 식별자 입니다. DNS는 사람이 읽기 편하게 되어 있지만 IP 주소는 그렇지 않습니다. 결국 해당 호스트 네임으로 매핑되는 IP 주소를 가져올 수 있습니다. 즉, DNS는 호스트 네임을 IP주소로 변환해주는 서비스입니다. 호스트 & 도메인 하나의 도메인이 있다면 하나의 도메인에 여러 개의 호스트를 등록할 수 있습니다. 그 호스트는 IP와 매칭이 됩니다. mail.naver.com이 있다면 호스트 : 네트워크에 연결된 하나의 장치 호스트 네임 : 각 네트워크 장치(컴퓨터)에 할당된 이름 mail 도메인 네임 : 네트워크에 부여된 이름 naver.com mail.naver... CS/네트워크 2022. 8. 8. [네트워크] 애플리케이션 계층 2 - SMTP, Socket Programming(Network Programming) SMTP (Simple Mail Transfer Protocol) user agent : 메일을 작성, 읽기 수행 mail server : 24시간 대체 서버 (ex; Gmail mail server) email message를 갖고 있다 server에 저장되어 있는 메세지를 가져온다. message queue에는 나갈 email들을 가지고 있다. 메일을 받는 서버를 server 메일을 보내는 서버를 client가 된다. yahoo → yahoo-mail-server → google-mail-server → google SMTP Mail Server 간 주고받을 때 사용하는 Protocol SMTP 과정 (메일 보내는 과정) Alice → Alice’s mail-server → Bob’s mail-ser.. CS/네트워크 2022. 8. 2. [네트워크] 애플리케이션 계층 1 - TCP, UDP, HTTP, Pipeline, Web Cache, Proxy Server, Conditional GET Network 네트워크는 프로그램이라고 할 수 있습니다. 다른 프로그램과의 차이점이 있다면 “통신 기능"이 하나 더 있다는 것입니다. IP & Port Client 측 프로세스가 Server 측 프로세스에게 메시지를 전달하기 위해서는 해당 Server를 가리키는 IP address와 해당하는 프로세스의 주소인 port가 필요합니다. IP address IP address는 네트워크 상에 존재하는 특정 머신을 지칭하기 위한 주소를 의미합니다. Port IP가 특정 머신을 지칭한다면 Port는 머신 내 원하는 프로세스의 주소를 의미합니다. 네트워크가 제공해주는 통신 기능 Data Integrity : TCP를 통해서 신뢰성 있는 데이터만 제공해줍니다. 네트워크 비제공 기능 Timing ThroughPut S.. CS/네트워크 2022. 8. 2. [알고리즘 특강 6일차] 서로소 집합, 위상정렬, 최소 신장 트리, 최소 공통 조상 (Disjoint Set, Union-Find, DAG; Directed Acyclic Graph, Topological Sort, MST; Minimum Spanning Tree, Kruskal, Prim, LCA; Lowest Common Ancestor) 최소 신장 트리 (MST; Minimum Spanning Tree) 트리란? (Tree) 무향 그래프 G가 순환 없는 연결 그래프이면 G는 트리입니다. 숲이란? (Forest) 무향 그래프 G가 순환이 없는 그래프이면 G는 숲입니다. 신장 트리란? (Spanning Tree) 무향 연결 그래프 G의 부분그래프이며, G의 모든 정점을 포함 트리인 그래프입니다. 무향 연결 가중 그래프 S에서 간선의 가중치의 합이 최소인 신장 트리 (Spanning Tree) 입니다. 때문에 최소 신장 트리의 답은 여러 개가 될 수 있습니다. 신장 트리 탐색 종류 DFS Spanning Tree BFS Spanning Tree 크루스칼 알고리즘 (Kruskal) 프림 알고리즘 (Prim) 크루스칼 알고리즘 (Kruskal) .. CS/알고리즘, 자료구조 2022. 7. 25. [알고리즘 특강 4일차] 확장 유클리드 호제법, 베주 항등식, 에라토스테네스의 체 알고리즘 특강을 들으면서 인상 깊었던 내용을 정리합니다. 자세한 개념보다는 알고리즘의 '이해' 그리고 '활용'(팁)에 중점을 두었습니다. 내용이 이상하다면 지적해주시면 감사하겠습니다. 👍 벌써 알고리즘 특강 4일차 입니다. 정수론에 대해서 배웠는데 소수와 최대공약수와 관련된 알고리즘 이었습니다. 유클리드 호제법 유클리드 호제법은 2개의 자연수의 최대 공약수를 구하는 알고리즘 입니다. 두 개의 자연수 a, b에 대해서 a를 b로 나눈 나머지를 r이라고 하면 a와 b의 최대공약수는 b와 r의 최대공약수와 같다 성질을 이용합니다. 이제부터 자연수 a, b의 최대공약수를 gcd(a, b)라고 하겠습니다. (단, a > b) 그렇다면 gcd(a ,b)는 어떤 식으로 찾아지는 걸까요? (a % b) = ? 60 %.. CS/알고리즘, 자료구조 2022. 7. 24. [알고리즘 특강 3일차] 인덱스 트리 (indexed tree, 이진 트리 응용) 알고리즘 특강을 들으면서 인상 깊었던 내용을 정리합니다. 자세한 개념보다는 알고리즘의 '이해' 그리고 '활용'(팁)에 중점을 두었습니다. 내용이 이상하다면 지적해주시면 감사하겠습니다. 👍 벌써 알고리즘 특강 3일차 입니다. 오늘 계속 조금씩 뭔가 빼먹으면서 문제를 풀었기에 틀릴 때가 많았습니다. 먼저 오늘 배웠던 것 중에 가장 어렵다고 느껴졌던 인덱스 트리에 대해 알아보겠습니다. 인덱스 트리 사용 이유 먼저 인덱스 트리를 사용하는 이유에 대해 알아보겠습니다. 한 개발자가 와서 저한테 이런 문제를 줬습니다. 이 배열 안에 있는 연속되는 숫자의 합을 구하는 프로그램을 구현해줘 😃 저는 여느때와 다름 없이 배열을 초기화여 입력값을 받고 숫자를 더할 배열를 범위를 입력받고 더했습니다. for (int idx =.. CS/알고리즘, 자료구조 2022. 7. 20. [알고리즘 특강 2일차] 시간복잡도의 응용 - (2-pointer, 슬라이딩 윈도우, 부분배열, 파라메틱 서치, 이분 검색) 알고리즘 특강을 들으면서 인상 깊었던 내용을 정리합니다. 자 세한 개념보다는 알고리즘의 '이해' 그리고 '활용'(팁)에 중점을 두었습니다. 내용이 이상하다면 지적해주시면 감사하겠습니다. 👍 안녕하세요 이 포스팅은 알고리즘 2일차로 시간복잡도 응용편입니다. 시간복잡도 줄이는 방법들 문제 풀이와 함께 아래와 같은 기법들을 배웠습니다. 어디선가 한번쯤 사용해보았지만 ‘의식'하고 풀지는 않았던거 같습니다. 문제를 푸는데 많은 도움이 되는 기법들이니 꼭 숙지하고 가야합니다. 투 포인터 기법 투 포인터 기법이란 ? 투 포인터는 연속되고 가변적인 부분 배열을 이용하여 특정 조건을 일치시키는 알고리즘 입니다. 즉, 정렬되어 있을 때 사용할 수 있습니다. 투 포인터 언제 사용하는데? 2-포인터 기법은 보통 두 데이터를 .. CS/알고리즘, 자료구조 2022. 7. 19. [알고리즘 특강 2일차] 시간복잡도의 이해 알고리즘 특강을 들으면서 인상 깊었던 내용을 정리합니다. 자세한 개념보다는 알고리즘의 '이해' 그리고 '활용'(팁)에 중점을 두었습니다. 내용이 이상하다면 지적해주시면 감사하겠습니다. 👍 안녕하세요 오늘은 알고리즘 2일차로 시간복잡도와 공간복잡도를 공부하겠습니다. 시간복잡도 (Time Complexity) 시간복잡도를 표기할 때는 보통 빅-오(Big-Oh) 표기법으로 최악의 경우 (Worst Case)의 연산 횟수를 나타냅니다. 이제는 문제를 풀을 때 구현은 기본이고 “시간복잡도"를 줄이는 훈련을 의식적으로 연습해야 합니다. 시간복잡도의 종류 상수형 (O(1)) 길이가 N인 배열에서 M번 째 배열값 출력 로그형 (O(logN)) N개의 정렬된 수열에서 이분탐색을 통해 특정 숫자를 탐색 우선순위 큐, 힙에.. CS/알고리즘, 자료구조 2022. 7. 19. [알고리즘 특강 1일차] 알고리즘이란, 깊이 우선 탐색(DFS)과 너비 우선 탐색(BFS)의 이해와 활용 알고리즘 특강을 들으면서 인상 깊었던 내용을 정리합니다. 자세한 개념보다는 알고리즘의 '이해' 그리고 '활용'(팁)에 중점을 두었습니다. 내용이 이상하다면 지적해주시면 감사하겠습니다. 👍 안녕하세요 오늘은 알고리즘 1일차로 DFS와 BFS를 공부하였습니다. 아직 알고리즘 초보자로 많은 고생을 하고 있었는데 아래 내용을 듣고 배우면서 너무 유익하다고 느껴 기록하고 공유하고 싶어서 포스팅 합니다 ! 먼저 알고리즘 이란 ? 알고리즘이란 뭘까요 ? 알고리즘은 수학자 알콰리즈미(Al-Khwarizmi)에서 유래했고 '문제를 해결하기 위한 여러 동작들의 모임'을 의미합니다. 먼저 알고리즘은 완전탐색이 시작입니다. 저희는 이런 알고리즘을 이용하기 위해서는 복잡한 구조의 코드를 정확하게 구현할 수 있어야 합니다. 물론.. CS/알고리즘, 자료구조 2022. 7. 18. 이전 1 다음 반응형