전체 글 115

[네트워크]라우터

라우터가 하는일 1. 경로 결정 (Path determination) : 데이터 패킷이 목적지 까지 갈수 있는길을 검사하고 어떤 길이 가장 적절한지 결정 2. 스위칭(Swithching) : 결정되면 데이터 패킷을 스위칭 해준다. 라우터가 가장 좋은 길을 찾는 법 1. 라우팅 테이블을 만들어서 관리한다. (어디로 가려면 어떻게 가는지의 정보가 담김) 2. 라우팅 알고리즘을 사용 라우터의 사용 1. 요즘 라우터는 보안, 음성지원, 무선 분만아니라 서버기능까지 갖추고 있다. 2. 코어 라우터의 경우 안정성이 중요하다. ->빠르게 처리하다가 다운이 되거나 장애가 생겼다고 모든 처리가 멈춰버리면 안되기 떄문이다. 따라서 코어라우터의 경우 다양한 장애 대비책이 만들어져있다. 인터페이스 라우터에 나와있는 접속가능한..

[네트워크]스패닝트리

STP (스패닝프로토콜)에서 Bridge ID와 Path cost Bridge Id : 브리지들이나 스위치들이 통신을 할때 서로를 확인하기 위해 하나씩 가지고 있는 번호이다. Bridge Id는 아래와 같이 Bridge Prioritoy 1바이트 + 맥어드레스 6바이트로 구성된다. Bridge Prioritoy 는 낮은값이 우선순위를 가지고 있다. Path cost는 길을 가는데 드는 비용이다. 속도가 빠를수록 드는 비용이 작다.( 값이 적게든다.) 아래의 3가지 정도의 path cost정도는 외워두자. Path cost 계산 방법 스패닝 트리 3가지 기본동작 1 네트워크당 하나의 루트브리지를 갖는다. 2 루트브리지 아닌 나머지 모든 브리지는 무조건 하나씩 루트포트를 갖는다. 3 세그먼트당 하나씩 데지그..

[ C++]r-value

C++의 모든 값은 r-value 아니면 l-value 이다. l-value 식의 표현이 지속성을 가진다. 우변 좌변 다 사용 가능하다. 메모리상에 저장되어있다. 즉, 메모리상에 어떤값이 저장되어있을 경우에는 거기에 대입을 할 수 있다.!! r-value 지속성을 가지지 않는 임시적인 값들을 말한다. 좌변에만 사용가능 하다. 그동안 사용해온 레퍼런스 변수는 변수에 별칭을 지정하는것이었다. 이는 &연산자를 사용하여 원본값을 변화시킬 수 있다. 이것이 l-value reference 이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 int c = a * b; a* b = 42; int& f(); --> int& 을 리턴하는 함수 (아직 잘 모르는 부분.) f() = 42..

프로그래밍/C++ 2021.09.19

[네트워크]게이트웨이(라우터의 이더넷 인터페이스), IP클래스, 서브넷마스크

IP 의 클래스 A클래스 127개 (0~126) 최대가능 호스트수 : 16,777,214개(24비트) B클래스 63개 (128 ~191) 최대가능 호스트수 : 65,534개(16비트) C클래스 32개 (192 ~ 223) 최대가능 호스트수 : 254개 (8비트) 호스트 부분의 가장 처음 숫자(000)은 네트워크 자체의 주소 호스트 부분의 가장 마지막 숫자(255)는 브로드캐스트 주소이다. 게이트웨이 내부 네트워크에서 없는 녀석을 찾을때 밖으로 통해 나가는 문이다. 즉, 라우터의 이더넷 인터페이스이고 게이트웨이라고 부른다. 서브넷마스크 서브넷 마스크 : 원래 상태의 IP주소에 서브넷마스크를 씌워서 네트워크를 나눠주는것이다. 쓰는 가장 이유 : 브로드 캐스트 영영을 나눠주는것과 IP주소를 아끼기 위함. 서브..

[C++, C] 문자열

C언어에서의 문자열 아래 둘은 같은 표현 char intro[10] = "introduce"; char intro[10] = { 'i', 'n', 't', 'r' , 'o', 'd', 'u', 'c', 'e', '\0' }; char *intro = "introduce"; 문자열은 배열이다. 문자열 뒤에는 널문자가 더해진다. 따라서 문자열의 길이를 알려면 널문자를 빼면 된다. 문자열은 그 문자열의 시작되는 주소를 가르킨다. (배열로 생각하면 된다.) -->ex) arr는 &arr[0]으로 첫번째 주소 및 배열의 주소가 된다. 배열로 선언한 ptr3만 주소가 다르다. ptr은 주소이자 문자열이다. 배열 형태로 초기화 할 경우 문자가 바뀐다. 포인터 (ptr1)로 초기화 할 경우 오류가 난다. 그 원소의 값..

[C언어]위키백과 연산자

https://ko.wikipedia.org/wiki/C%EC%99%80_C%2B%2B%EC%9D%98_%EC%97%B0%EC%82%B0%EC%9E%90 C와 C++의 연산자 - 위키백과, 우리 모두의 백과사전 이것은 C와 C++ 프로그래밍 언어의 연산자의 목록이다. 나열된 모든 연산자는 C++에 존재한다. 네번째 열("C에 포함됨")은 해당 연산자가 C에 존재하는지를 표시한다. C는 연산자 오버로딩을 지원하 ko.wikipedia.org 참고 C와 C++의 연산자 - 위키백과, 우리 모두의 백과사전 이것은 C와 C++ 프로그래밍 언어의 연산자의 목록이다. 나열된 모든 연산자는 C++에 존재한다. 네번째 열("C에 포함됨")은 해당 연산자가 C에 존재하는지를 표시한다. C는 연산자 오버로딩을 지원하 ko..

32비트 운영체제

컴퓨터는 제대로 조직화되지 않은 비트들로 이루어 지지않는다. 비트는 너무 작아서 기본단위로 사용하기에는 유용성이 떨어진다. 따라서 비트들을 좀 더 큰 덩어리로 조직화 해야한다. 예를 들면 허니웰 6000시리즈 컴퓨터는 36비트 덩어리를 기본조직으로 하고, 이 기본 덩어리를 18, 9, 6 비트 덩어리들로 나눠서 사용하거나 두 덩어리를 묶어서 72비트 덩어리로 사용할 수 있다. 이름 비트 개수 니블 4 바이트 8 하프 워드 16 롱 워드 32 더블 워드 64 시간이 지남으로 8비트 덩어리가 기본단위로 널리 쓰이기 시작했고 이를 바이트 라고 부른다. 워드는 각 컴퓨터가 설계상 자연스럽게 사용할 수있는 비트 묶음의 크기를 가리키는 말로 쓰인다. 즉 , 컴퓨터가 빠르게 처리 할 수 있는 가장 큰 덩어리(워드) ..