wanna be dev 🧑‍💻

Cool 하고 Sick한 개발자가 되고 싶은 uzun입니다

A.K.A. Kick-snare, hyjhyj0901, h_uz99 solvedac-logo

Computer Science 68

📡 [Network] SDN(Software Defined Networking)과 OpenFlow란?

SDN(Software defined networking)이란? 소프트웨어 정의 네트워킹(Software defined networking, SDN)은 개방형 API(오픈플로우)를 통해 네트워크의 트래픽 전달 동작을 소프트웨어 기반 컨트롤러에서 제어/관리하는 접근방식이다. 트래픽 경로를 지정하는 컨트롤 플레인과 트래픽 전송을 수행하는 데이터 플레인이 분리되어 있다. 따라서 네트워크의 세부 구성정보에 얽매이지 않고 요구사항에 따라 네트워크를 관리할 수 있다. 소프트웨어 정의 네트워킹 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. ko.wikipedia.org SDN의 등장 이전에는 monolithic(획일적인) 라우터로 네트워크가 구성었었다. 예로 CISCO 같은 라우터 제조사의 같..

📡 [Network] 경계 게이트웨이 프로토콜 BGP(Border Gateway Protocol)란? 뜨거운 감자 라우팅 (Hot Patato Routing)

4. Routing among ISPs BGP (Border Gateway Protocol) OSPF는 AS 내부의 프로토콜이다. 그러나 패킷이 여러 AS를 통과하도록 라우팅 할 때 AS 간 라우팅 프로토콜이 필요할 것이다. 실제로 인터넷 의 모든 AS는 경계 게이트웨이 프로토콜(Border Gateway Protocol)이라고 불리는 동일한 AS 간 라우팅 프로토콜을 가용한다. 이를 일반적으로 BGP라고 한다. 사실상 인터 도메인 프로토콜의 표준이며 이는 모든 라우터에서 동작해야한다. 굉장히 복잡하지만 인터넷의 동작을 좀 더 깊은 수준까지 이해하기 위해서는 그 토대와 동작방식에 익숙해여야 할 것이다. 두 종류의 BGP 프로토콜 (eBGP, iBGP) eBGP (external BGP) : AS간 BGP..

📡 [Network] 최단 경로 우선 OSPF 라우팅이란? (Open Shorst Path First)

인터넷에서의 AS 내부 라우팅 (Intra-ISP Routing) 지금까지의 라우팅 알고리즘은 모든 라우터가 동일한 라우터 알고리즘을 수행하며, 네트워크 전체의 라우팅 경로를 계산한다는 점에서 하나의 라우터를 다른 라우터와 구별할 수 없었다. 이에 따라 확장과 관리 자율성의 문제가 발생하는데, 이는 라우터들을 자율시스템 (autonomous system, AS)으로 조직화하여 해결할 수 있다. 각 AS는 동일한 관리 제어하에 있는 라우터의 그룹으로 구성된다. 한 ISP 의 라우터와 그들을 연결하는 링크가 하나의 AS를 이룬다. 같은 AS 안에 있는 라우터들은 동일한 라우팅 알고리즘을 사용하고 상대방에 대한 정보를 가진다. 이러한 알고리즘은 AS 내부 라우팅 프로토콜 (Intra-autonomous sys..

📡 [Network] 거리 벡터 (Distance Vector) 라우팅 알고리즘이란? 문제와 해결책 (Poisones Reverse)

거리 벡터 라우팅 알고리즘 Distance Vector Routing Protocols 링크 상태 알고리즘이 네트워크 전체정보를 이용하는 중앙 집중협 알고리즘인 반면에, 거리벡터 (DV) 알고리즘은 반복적이고 비동기적이며 분산적인 알고리즘이다. 분산적(distributed) : 각 노드는 하나 이상의 직접 연결된 이웃으로 부터 정보를 받고, 계산을 수행하며 계산된 결과를 다시 인접 노드들에게 배포한다. 반복적(iterative) : 이웃끼리 더 이상 정보를 교환하지 않을 때 까지 프로세스가 지속된다 비동기적(asynchronous) : 톱니바퀴가 돌듯이 모든 노드가 서로 정확히 맞물려 동작할 필요가 없다. 거리 벡터 알고리즘 Distance vector algorithm (DV) 벨만-포드 (Bellma..

📡 [Network] 링크 상태(Link State) 라우팅 알고리즘과 진동 문제 (Ocillations possbile)

Routing Protocols 라우팅 프로토콜 (알고리즘) 라우팅 프로토콜의 목표은 무엇일까? 라우팅 프로토콜의 목표는 송신자부터 수신자까지 라우터의 네트워크를 통 과하는 좋은 경로 결정하는 것이다. 이때 좋은의 의미는 상황에 따라 여러가지 의미를 가질 수 있다. (최소비용, 최고속도, 최소혼잡 등등..) 일반적으로는 최소비용을 말한다. 라우팅을 “잘” 하는 것은 10대 네트워크 도전과제 중 하나이다. 그래프로 추상화하기 라우팅 문제를 나타내는데에는 주로 그래프 자료구조가 사용된다. 그래프는 G = (N, E) 로 나타내는데 N과 E는 각각 노드와 간선의 집합이다. 하나의 간선(엣지)는 집합 N에 속하는 한쌍의 노드로 표현된다. undirected graph를 가정 G = ( N , E ) N : 라우..

📡 [Network] IPv6란? 그 패킷 포멧과 변환 (Tunneling)

IPv6의 개발 32비트 IPV4 주소공간이 인터넷에 접속하는 서브넷과 노드들로 인해 빠른 속도로 고갈되기 시작되자 IETF에서는 1990년대 초 IPv6를 개발하기 시작했다. IPv4는 2^32 개의 유일한 IP 주소를 할당할 수 있지만 IPv6는 2^128 개의 주소 공간을 제공한다. IPv6 개발자들은 IPv4의 축적된 운용 경험에 근거하여 IPv4의 다른면을 확장하고 축소하는 기회로도 삼았다. IPv6 패킷 포멧 IPv6에서는 v4와 달리 헤더가 간소화 되었다. no checksum no fragmentation/ reassembly no options IPv4로 부터 IPv6로의 변환 전세계 인터넷의 모든 라우터가 IPv6로 어떻게 변환할까? 먼저 플래그 데이(flag day)를 선언하는방법이있..

📡 [Network] IP의 주소체계와 주소할당 (CIDR, 서브넷, DHCP, NAT)

IPv4 주소 체계 IP 주소는 정확하게 말하면 호스트나 라우터의 주소가 아니라 그들의 인터페이스의 주소이다. 호스트와 물리적 링크 사이의 경계를 인터페이스(interface)라고 부른다. 라우터는 2개 이상의 연결된 링크가 필요하다. 라우터와 이런 링크 사이의 경계 또한 인터페이스라 하는데, 각 링크마다 하나의 인터페이스를 갖고 하 나의 라우터는 여러 개의 인터페이스를 갖는다. 호스트 또한 wired Ethernet, wirelss 802.11 와 같이 두 개 이상의 인터페이스를 보유할 수 있다. 서브넷 Subnet 서브넷은 라우터를 거치지 않고 물리적으로 연결된 인테페이스 네트워크로, 라우터와 호스트 사이의 영역이다. 위 그림에서 푸른 색으로 칠해진 부분이 각각 하나의 서브넷이라고 볼 수 있다. 왼쪽..

📡 [Network] IP 데이터그램(datagram)이란? 구조와 포멧 (IPv4)

IP 인터넷 프로토콜이란? 인터넷 프로토콜(IP, Internet Protocol)은 송신 호스트와 수신 호스트가 패킷 교환 네트워크(패킷 스위칭 네트워크, Packet Switching Network)에서 정보를 주고받는 데 사용하는 정보 위주의 규약(프로토콜)이며, OSI 네트워크 계층에서 호스트의 주소지정과 패킷 분할 및 조립 기능을 담당한다. 줄여서 아이피(IP)라고도 한다. IP의 정보는 패킷 혹은 데이터그램이라고 하는 덩어리로 나뉘어 전송된다. IP에서는 이전에 통신한 적 없는 호스트에 패킷을 보낼 때 경로 설정이 필요없다. IP는 비신뢰성(unreliability)과 비연결성(connectionlessness)이 특징이다. 비신뢰성은 흐름에 관여하지 않기 때문에 보낸 정보가 제대로 갔는지 보..

📡 [Network] Packet Scheduling 패킷 스케줄링 (FCFS, Priority, RR, WFQ)

패킷 스케줄링 지난 포스팅을 떠올려 큐에 있는 패킷이 출력 링크를 통해 전송되는 순서를 결정하는 문제를 생각해보자. 이러한 순서를 결정하는 방법은 여러가지가 존재하며 이번 포스팅에서 이에 대해 알아보자. FIFO (FCFS) 선입선출 링크가 현재 다른 패킷을 전송 중이라면, 출력 링크 큐에 도착한 패킷은 전송을 기다린다. 패킷이 출력되는 링크를 통해 완전히 전송되면 큐에서 제거된다. 아래 시간 흐름에 따른 패킷 전송을 보자 FCFS (first come first out) 또는 FIFO (first in first out) 가장 단순한 알고리즘이며, 직관적이다. 도착한 순서와 동일한 순서로 패킷들을 내보낸다. Priority 우선순위 우선순위 큐잉은 큐에 도착한 패킷들을 우선순위 클래스로 분류한다. 예를..

📡 [Network] Router 라우터란? 라우터의 내부 구조와 동작방식 (목적지 기반 라우팅, longest prefix mattching, 스위칭 페브릭 등)

라우터란? 논리적으로 분리된 망, 혹은 물리적으로 분리된 망 사이를 지나가야 하는 패킷들에게 경로를 뽑아 자기가 아는 최상의 경로를 찾아낸 뒤 다른 망으로 패킷을 보내주는 역할을 하는 기계이다. 좀 쉽게 풀이한다면, 상위 통신망과 하위 통신망 사이를 중계해주는 기계라고 볼 수 있다. 라우터는 자신을 거쳐가는 모든 IP 패킷의 헤더를 검사하여 적절한 곳으로 전송하게 된다. 라우터의 구성요소와 내부구조 라우터의 내부 구조 살펴보기 라우터는 크게 아래 4가지 요소로 구성된다. 입력 포트 스위치 패브릭 출력 포트 라우팅 프로세서 아래에서 이러한 요소들을 자세하게 알아보자 라우터 입력 포트에서의 처리 입력 포트에서는 탈중앙화, 분산된 작동을 한다. IP 헤더 필드값을 사용하여 입력 포트 메모리 내 fowardin..

728x90