TIL💡(277)
-
[네트워크] 라우터 / L3 스위치
라우터(Router)는 3계층에서 동작하는 여러 네트워크 장비의 대표격으로 그 이름처럼 겨올를 지정해주는 장비이다. 라우터에 들어오는 패킷의 목적지 IP 주소를 확인하고 자신이 가진 경로 정보를 이용해 패킷을 최적의 경로로 포워딩한다. 라우터의 동작 방식과 역할 라우터는 다양한 경로 정보를 수집해 최적의 경로를 라우팅 테이블에 저장한 후 패킷이 라우터로 들어오려면 도착지 IP 주소와 라우팅 테이블을 비교해 최선의 경로로 패킷을 내보낸다. 스위치와 반대로 라우터는 들어온 패킷의 목적지 주소가 라우팅 테이블에 없으면 패킷을 버린다. 라우터는 패킷 포워딩 과정에서 기존 2계층 헤더 정보를 제거한 후 새로운 2계층 헤더를 만들어낸다. 라우터의 동작 방식 - 경로 지정 - 브로드캐스트 컨트롤 - 프로토콜 변환 경..
2022.05.25 -
[중급 알고리즘] 이분 탐색(연습)
💚 2343 기타 레슨 블루레이의 크기는 모두 같아야 한다. i번과 j번 레슨을 같은 블루레이에 녹화하려면 i와 j 사이의 모든 레슨도 같은 블루레이에 녹화해야 한다. 블루레이 크기 = 그룹에 속해있는 레슨의 합 블루레이 크기의 최소값을 구한다 = 그룹의 합의 최대값의 최소값 구하기 이분 탐색으로 찾아야 하는 값 : 블루레이의 크기 #include using namespace std; int n, m; int a[100000]; // 크기가 size인 블루레이로 녹화하여 M개 이하의 블루레이가 나오는가? bool go (int size) { int cnt = 1; int sum = 0; for(int i = 0;i size) { cnt..
2022.05.24 -
[네트워크] STP
STP란 스패닝 트리 프로토콜(Spanning Tree Protocol)은 루프를 확인하고 적절히 포트를 사용하지 못하게 만들어 루프를 예방하는 매커니즘이다. 용어 그대로 잘 뻗은 나무처럼 뿌리부터 가지까지 루프가 생기지 않도록 유지하는 것이 스패닝 트리 프로토콜의 목적이다. 스패닝 트리 프로토콜을 이용해 루프를 예방하려면 전체 스위치가 어떻게 연결되는지 알아야 한다. 전체적인 스위치 연결 상황을 파악하려면 스위치 간에 정보를 전달하는 방법이 필요하다. 이를 위해 스위치는 BPDU(Bridge Protocol Data Unit)라는 프로토콜을 통해 스위치 간에 정보를 전달하고 이렇게 수집된 정보를 이용해 전체 네트워크 트리를 만들어 루프 구간을 확인한다. ✨ 왜 루프를 확인해야하는가 대부분 브로드캐스트 ..
2022.05.23 -
[중급 알고리즘] 이분 탐색
이분 탐색 💚 1790 수 이어 쓰기2 #include using namespace std; // 1부터 n까지의 수 길이 구하기 long long calc(int n) { long long ans = 0; for(int start = 1, len = 1;start n) { end = n; } ans += (long long)(end - start + 1) * len; } return ans; } int main() { int n; long long k; cin >> n >> k; if(calc(n) x >> y >> z; a[x].push_back({y, z}); a[y].push_back({x, z}); } cin >> st >> ed; int left = 1; int rig..
2022.05.23 -
[중급 알고리즘] 분할 정복(도전)
💚1933 스카이라인 N개의 직사각형 건물이 있을 때 스카이라인을 구하는 문제 스카이라인을 차례대로 left x, h, right x 우선순위에 대한 오름차순으로 정렬한다. 이래야만 추후 점들을 대체하는 작업이 순조롭게 이루어진다. 이 문제의 핵심은 두 개의 스카이라인이 교차할 때 높이를 어떻게 결정할 것인가이다. 정답은 교차 시 더 높은 h값을 선택해야 한다.(max 사용) 그리고 추가적으로 동일한 x일 때, 동일한 h일 때에 대한 경우도 고려해야 한다. 가장 어려웠던 점이 대체 후에 동일한 경우까지 따져야한다는 점이 어려웠다. #include #include #include #include using namespace std; using Result = vector; struct Building { ..
2022.05.23 -
[네트워크] 서브넷과 게이트웨이
초기 네트워크는 모든 단말이 하나의 네트워크에 존재하는 로컬 네트워크(LAN)을 고려하여 설계되어 통신하는 방법이 매우 간단했다. 이메일과 인터넷 기술의 발달로 작은 LAN 네트워크들이 하나의 큰 네트워크로 묶이면서 먼 거리에 있는 다른 LAN 간의 통신이 중요해졌다. 같은 네트워크 내에서의 통신과 원격지 네트워크 간의 통신은 동작 방식이나 필요한 네트워크 장비가 모두 다르다. 원격지 네트워크와의 통신에 사용하는 장비를 게이트웨이라고 부르고 3계층 장비(라우터와 L3 스위치)가 이 역할을 할 수 있다. 서브넷과 게이트웨이의 용도 로컬 네트워크에서는 ARP 브로드캐스트를 이용해 도착지 MAC 주소를 학습할 수 있고 이 MAC 주소를 이용해 직접 통신할 수 있지만 원격 네트워크 통신은 네트워크를 넘어 전달되..
2022.05.22