일기 48

라우팅

오늘은 라우팅에 대해 알아보자 0. 라우팅이 뭘까 라우팅은 하나 이상의 네트워크에서 경로를 선택하는 작업이다. 라우팅은 데이터 패킷을 한 노드에서 다른 노드로 보내는 작업을 한다. 여기서 노드는 라우터라고 하는 네트워크 장치를 말한다. 라우팅은 데이터 패킷을 안정적이고 효율적으로 전달하기 위해서 다양한 라우팅 결정과 메트릭을 사용하여 최단 경로를 찾아낸다.송신자는 데이터 패킷 헤더에 IP를 포함시켜 네트워크로 전송한다.가장 가까운 라우터는 데이터 패킷을 수신하고, 몇 가지 측정 항목을 기반으로 해당 데이터 패킷을 다른 라우터로 라우팅한다.목적지에 도달할 때까지 위의 작업을 반복한다.1. 라우팅의 유형 라우팅에는 일반적으로 3가지 유형이 있으며, 목적에 따라 다른 기능을 제공한다.정적 라우팅(Static ..

일기 2024.12.16

(JavaScript) 성격 유형 검사하기

choices의 값에 따라 switch문을 돌린다.해당 유형의 점수를 저장하는 객체 result에 반영한다.result객체에서 성격 유형별 점수를 비교해 answer를 만든다.function solution(survey, choices) { var answer = ''; var result = {}; for (i = 0; i => 한번도 선택되지 않은 성격 유형의 경우 점수가 undefined로 나오게 되는데, undefined에 비교 연산을 수행하면 항상 false가 나온다고 한다. 이것 때문에 계속 틀렸다.function solution(survey, choices) { var answer = ''; var result = {'R':0, 'T':0, 'C':0, 'F':0,..

일기 2024.12.16

Classless Inter Domain Routing(CIDR)

오늘은 CIDR에 대해서 알아보자 0. CIDR이 뭘까 CIDR은 IP주소를 할당하고 라우팅 하는 방법으로, 클래스별 IP 주소 지정에 비해 효율적으로 사용할 수 있다. CIDR은 IP주소를 클래스가 아니라 네트워크 접두사를 기준으로 할당하고 라우팅할 수 있다는 생각을 기반으로 두고있다. 이는 최초에 상위 8비트를 네트워크 ID로 쓰던 방식과 같다. CIDR 주소는 NID의 비트 수를 IP 주소 뒤에 슬래시로 표기하는 방법을 사용한다. 예를 들어, NID의 길이가 24인 IP 주소 192.168.1.0은 192.168.1.0/24로 나타낸다. 이 표기법은 IP 주소의 첫 24비트가 네트워크 ID 이고 나머지 8비트가 호스트 ID임을 나타낸다.1. CIDR의 장점IP주소를 효율적으로 사용할 수 있다.CID..

일기 2024.12.15

Classful IP Addressing

IP 주소에 대해서는 한번 정리를 했다. 주소의 관리와 할당을 보다 쉽게 하기 위해 5가지 클래스로 나눈다고 했다. Classful IP Addressing의 필요성 1980년대 초에 IP주소는 두개의 부분으로 나눴다. 앞의 8비트를 NID(네트워크 ID), 뒤의 24비트를 HID(호스트 ID)라고 한다. 따라서 총 256개의 네트워크가 있고, 한 네트워크당 16M개의 호스트가 있었다. 이 방식은 작은 조직이라도 하나의 네트워크를 구매하려면 16M개의 호스트를 구매해야 했다. 그래서 클래스별 IP 주소 지정 방식이 필요해졌다. Classful IP Addressing 32비트 IP 주소는 5개의 하위 클래스로 나뉜다. 각 클래스에는 유효한 IP 주소 범위가 있다. 클래스 D와 E는 각각 멀티캐스트와 실험..

일기 2024.12.14

IP주소

오늘은 IP 주소에 대해 알아보자. 0. IP 주소가뭘까 인터넷에서 파일을 다운로드 하거나 웹 페이지를 로드하는 등 인터넷과 관련된 모든 작업을 수행하려면 내 컴퓨터에 주소가 있어야 다른 컴퓨터에서 내 컴퓨터를 찾아서 내가 요청하는 특정 파일이나 웹 페이지를 전달할 수 있다. 이 주소를 IP 주소, 또는 인터넷 프로토콜 주소라고 한다.  인터넷 통신을 편지를 보내는 것에 비유할 수 있다. 누군가에게 편지를 보내고 싶다면, 그 사람의 주소를 알아야한다. 마찬가지로, 인터넷 통신을 하려면 상대방의 주소를 알아야한다. 그래야 다른 사람의 컴퓨터에 정보를 전달하는 혼란 없이 정상적으로 통신할 수 있다. 1. IP 주소의 작동 IP 주소의 작동 방식은 어떤 규칙을 사용하여 연결된 장치에 데이터나 파일을 쉽게 보내..

일기 2024.12.14

OSI 3계층: 네트워크 계층

오늘은 네트워크 계층에 대해 알아보자. 0. 네트워크 계층이 뭘까 네트워크 계층은 OSI 모델의 위에서 다섯번째, 아래서 세번째에 있는 계층으로, 데이터 전송에서 가장 중요한 역할을 하는 계층 중 하나이다. 네트워크 계층의 주요 역할은 데이터의 품질을 유지하고, 출발지에서 목적지까지 데이터를 전달하고 전송하는 것이다. 또 라우팅을 처리하는데, 라우팅은 패킷을 단순히 전달하는게 아니라 출발지에서 목적지까지 가는 최적의 경로를 탐색하는 것을 말한다. 데이터는 다양한 논리적 네트워크 경로와 다양한 장치들을 통해 패킷 형태로 전송된다. 네트워크 계층은 OSI 7계층 모델의 세번째 계층으로, 네트워크에서 데이터 패킷 전송을 위한 경로를 제공한다. 네트워크 계층은 또 데이터 전송을 위한 경로를 구성하고 제어하는 역..

일기 2024.12.13

(JavaScript) 햄버거 만들기

주어진 숫자 배열에서 1, 2, 3, 1 패턴의 갯수를 구하는 문제. 1. 주어진 ingredient를 string으로 바꿔서 String.prototype.indexOf 함수를 가지고 패턴을 찾는 방법패턴의 인덱스를 찾은 다음에는 replace함수를 통해 해당 부분을 지우고, 다시 패턴을 찾는다.더이상 패턴이 발견되지 않을때까지 반복한 뒤, answer를 반환한다.=> 시간초과s = s.replace 연산이 오래 걸리는 문제인가 싶어서 배열로 다시 시도해보기로 한다.function solution(ingredient) { var answer = 0; var s = ingredient.join(''); while(true){ var c = s.indexOf("1231"); ..

일기 2024.12.13

OSI 2계층 : 데이터 링크 계층

오늘은 OSI 2계층인 데이터 링크 계층을 알아보자. 0. 데이터 링크 계층이 뭘까 데이터 링크 계층은 OSI 모델의 아래에서 두 번째 계층이다. 노드 간 데이터 전달을 담당한다. 주요 역할은 오류 없는 정보 전송을 보장하는 것이다. 또한 송신 및 수신 데이터를 인코딩, 디코딩 및 구성하는 역할을 한다. 이것은 모든 복잡한 하드웨어를 가려주기 때문에 OSI 모델에서 가장 복잡한 계층으로 여겨진다.1. 데이터 링크 계층의 하위 계층 데이터 링크 계층은 두 개의 하위 계층으로 나뉜다. 논리적 링크 제어(Logical Link Control, LLC) 이 하위 계층은 멀티플렉싱, 어플리케이션과 다른 서비스 간의 데이터 흐름을 처리한다. 그리고 이에 대한 오류 메시지와 확인도 제공해야한다. 미디어 접근 제어(M..

일기 2024.12.12

(JavaScript) 둘만의 암호

https://school.programmers.co.kr/learn/courses/30/lessons/155652 char를 그대로 int로 쓸 수 있는 c++과는 다르게 자바스크립트에서는 String.prototype.charCodeAt(index) 함수를 사용해서 문자를 숫자로 바꿔야 한다. charCodeAt함수는 문자열의 index 위치에 있는 문자를 UTF-16코드 단위 값을 표현하는 0~65535 사이의 정수로 바꿔준다. https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt String.prototype.charCodeAt() - JavaScript | MDNString 값의..

일기 2024.12.12

OSI 1계층 : 물리 계층

오늘은 OSI 1계층인 물리 계층에 대해 알아보겠다. 0. 물리 계층은 뭘까? 물리 계층은 OSI 모델의 가장 밑에 있는 계층으로, 전원, 케이블, 수신기 등 물리적, 전기적 장치들로 구성된다. 물리 계층에서는 컴퓨터에서 다른 컴퓨터로 데이터 비트를 보낸다. 물리 계층은 어떤 전기적 신호를 0과 1로 해석할지를 정의한다. 1. 물리 계층이 하는 일데이터 전송률을 유지한다.비트의 동기화를 수행한다.전송 매체(전송 방향) 결정에 도움을 준다.물리적 토폴로지 결정에 도움을 준다.물리적 매체와 인터페이스 결정에 도움을 준다.Point Point 구성과 Multi Point 구성의 두 가지 구성 유형을 제공한다.디바이스와 전송 매체 간의 인터페이스를 제공한다.비트의 프로토콜 데이터 유닛을 가진다.Modulatio..

일기 2024.12.11