전체 글

안녕하세요 💻
네트워크 관리 많은 하드웨어와 소프트웨어들이 상호작용을 하고 있는 복잡한 네트워크를 관리하는 프로토콜을 제어하는 것이다. 네트워크 관리의 구성요소 그림과 같이 라우터, 호스트, 스위치처럼 관리를 받는 device를 managed device라고 한다. 이 device들이 데이터를 전달해서 어떠한 관리 쳬계를 만드는데 그것을 MIB(Management Information Base)라고 부른다. 이 MIB 내에 모든 device들의 object들의 현재 상태들이 다 저장된다. 각각의 host들이 하나의 agent이고, 그 안에 data가 있다. MIB를 돌리기위해서는 Managing Server가 필요하다. 서버가 MIB를 전부 관리하고, 각각의 agent 하고 주고받으면서 data들을 가져온다. Mana..
ICMP는 단어 그대로 인터넷상에서 보내고 받고 하는 많은 control에 대한 처리를 해주는 protocol이다. host나 router에 의해서 사용되며, error reporting : 호스트,네트워크 포트, 프로토콜이 도달하지 못했을 때 같이 다양한 유형의 오류를 탐지하고 보고한다. ping을사용한 echo echo가 다시 도착하는지 확인한다. ICMP 자체는 네트워크 계층의 프로토콜인데 IP 위에 있다. ICMP 메시지는 IP datagram을 운반한다. ICMP message는 type,code + 8byte 정도의 message로 IP datagram에 들어간다 아래와 같이 말이다. type 0 -> echo reply type 3 -> 도착을 못햇고, 상세한 분류는 code를 통해서 분류할..
Per-router control plane 각각의 라우터 별로 라우팅 알고리즘을 수행한다. 그래서 라우터별로 forwarding table을 유지하고 있다. Routing 하는 부분이 control plane이고, forwarding 하는 부분은 data plane이다. SDN remote 하게 떨어져 있는 controller가 각각의 CA(local control agent)와 상호작용한다. CA에서는 forwarding table을 계산한다. 라우터별로 CA가 있고, 중앙 장치는 CA로부터 정보를 받아서 라우팅 알고리즘을 수행한다. SDN은 다음과 같은 이유에서 필요하다. 더 쉬운 네트워크 관리 테이블 기반 포워딩은 라우터를 프로그래밍하는 것을 가능하게 해 준다. 중앙집중화된 프로그래밍은 테이블을 ..
라우팅 알고리즘을 들어가기 전에 기본 개념을 정리하겠습니다. 라우터는 들어온 패킷들을 전송하는 Forwarding 기능과, 어디로 패킷을 보낼지 결정하는 Routing 기능이 있습니다. Forwarding을 담당하는 부분을 data plane, Routing을 담당하는 부분을 control plane이라고 합니다. network control plane을 구조화하는 두 가지 접근 방식이 있습니다. 전통적으로는 per -router control 방식과 SDN 방식이 있습니다. 간략하게 설명하자면 per-router control 방식은 각각의 라우터별로 라우터 별로 forwarding table을 가지고 있고, Routing 알고리즘을 수행합니다. data plane과 control plane이 같이 묶..
라우터는 들어온 패킷들을 전송만 해주는 Forwarding과 어디로 보낼지 결정하는 Routing 기능이 있습니다. 여기서 결정하는 방법은 forwarding table을 보고 결정해 줬습니다. 이러한 방법을 Destination - based forwarding이라고 합니다. 다음은 더 발전된 개념인 generalized forwarding이 있습니다. header field의 값을 통해서 다양한 작업인 drop, copy, modify, log packet 수행하는 것입니다. Flow table header field의 값을 활용해서 동작을 처리하는 것이 generalized forwarding입니다. Flow table에는 match와 action이 있습니다. 패킷의 헤더값들을 매치해서 어떠한 pa..
32bit IP address방식인 IPv4가 충분하지 않아서 더 많은 host에게 주소를 할당하기 위해서 사용하는 것이 NAT이다. NAT(network addres translation) Nat은 네트워크에서 IP 주소를 변환하는 프로세스를 말합니다. 여러 장치가 하나의 IPv4 address를 공유하여 인터넷에 연결할 수 있도록 도와줍니다. rest of internet을 통해서 나가는 datagram들은 동일하게 138.76.29.7이라는 NAT IP address를 가집니다. 하지만 오른쪽을 보면 port 번호가 다르다는것을 알 수 있습니다. NAT의 장점 여러장치가 하나의 공인 IP 주소를 공유할 수 있기에, IP 주소의 효율적인 사용이 가능하고, IPv4 주소의 고갈 문제를 완화할 수 있습니..
IP address 일반적으로 IP 프로토콜에서는 호스트와 라우터 인터페이스를 구분하기 위해 IP 주소를 사용합니다. IP주소는 32bit로 이루어져 있으며, 4개의 바이트를.으로 구분하여 표시합니다. ex) 223.1.1.1 = 11011111 00000001 00000001 00000001 Interface 네트워크 장비 또는 컴퓨터 시스템의 논리적 또는 물리적인 연결을 의미합니다. 간단하게 말하면, 인터페이스는 네트워크 장비가 다른 장비 또는 네트워크와 통신하기 위해 사용하는 연결점이라고 할 수 있습니다. 라우터는 여러 개의 인터페이스를 가질 수 있고, 호스트는 하나 혹은 2개의 인터페이스를 가질 수 있습니다. 각 인터페이스는 서로 다른 IP주소를 가지며, 다른 네트워크와 연결될 수 있습니다. 네트..
새로운 요구사항이 발생하고, 비즈니스 환경이 변화하고, 오류를 수정해야 하고, 시스템에 새로운 장비가 추가되기 때문에 소프트웨어의 변경은 불가피하다. 이렇게 조직에게 핵심 문제는 기존 소프트웨어 시스템에 대한 변경을 실행하고 관리하는 것이다. 대기업에서는 개발보다 기존 소프트웨어의 유지보수로 비용을 사용한다. 진화 소프트웨어 시스템이 운영 중이며 시스템에 새로운 요구사항이 제안되고 구현되는 동안 소프트웨어 시스템 수명 주기의 단계 유지보수 이 단계에서 소프트웨어는 여전히 유용하지만 운영을 유지하기 위해 버그 수정 및 소프트웨어 환경 변경을 반영하는 변경사항만이 이루어진다. (기능 추가는 X) 폐기 단계 사용가능하지만 , 더 이상 변경은 못함 소프트웨어 진화 과정은 유지보수 되는 소프트웨어의 종류, 사용되..
프로그램 테스트는 프로그램이 의도한 대로 작동하고, 사용하기 전에 프로그램 결함을 발견하기 위해 수행되는 작업ㅇ디ㅏ. 테스트를 할 때는 인위적인 데이터를 사용하여 프로그램을 진행한다. 테스트의 결과를 확인하여 오류, 이상 현상 또는 프로그램의 비기능적 속성에 대한 정보를 확인한다. 오류의 존재를 확인할 수 있지만, 오류의 부재를 볼 수는 없다. 테스트의 주된 목표는 소프트웨어가 요구사항을 충족시키는지를 개발자와 고객에게 증명하기 위해서이다. 맞춤형 소프트웨어 요구 사항 문서에 기재된 각 요구사항에 대해 적어도 하나의 테스트가 있어야 한다. 일반소프트웨어 모든 시스템 기능과 이러한 기능들의 조합에 대한 테스트 결함테스트는 시스템 충돌, 다른 시스템과의 상호작용, 잘못된 계산 및 데이터 손상과 같은 원하지 ..
재한
짜이한