반응형

전체 글 214

packet loss와 packet delay

네트워크는 수많은 라우터들로 구성이 되어있다. 라우터 내부에서는 라우팅 알고리즘 수행 후 라우팅 테이블을 참고하여 패킷을 전송한다. 만약 라우터에서 패킷을 내보내는 속도보다 패킷이 도착하는 속도가 더 빠르다면 문제가 발생할 것이다. 이러한 문제를 해결하기 위해 각각의 라우터에 버퍼를 만들어주었다. arrival rate가 더 높을 경우 packet loss가 발생하는 것을 막기위해 버퍼를 두었지만, 버퍼도 크기가 유한하기 때문에 계속 패킷이 들어온다면 결국엔 packet loss가 발생하는 것이다. 우리는 라우터에서 라우팅 알고리즘을 돌리고 라우팅 테이블을 참조하는 시간을 proc delay라 부르기로 했다. proc delay 이외에 또 어떤 딜레이가 존재할까? 일반적으로 데이터를 전송할 때 총 4개의..

Packet 스위칭과 circuit 스위칭의 차이점

우선 packet이란 네트워크에서 데이터를 전송하는 기본 단위를 의미한다. 그렇다면 packet 스위칭은 무엇일까? packet 스위칭이란 말 그대로 패킷을 목표하는 호스트에게 전송하는 것이다. 네트워크의 라우터들에게 정해진 라우팅 방식대로 packet을 보내 목적지 까지 도달할 수 있게한다. 어플리케이션 계층에서 내려온 데이터를 패킷단위로 나눠서 보내는데 네트워크의 상황은 시시각각 변하기 때문에 패킷의 이동경로는 실시간으로 변한다. 따라서 목적지에 도달한 패킷은 순서에 맞지 않을수 있으며, 지연이 심할경우 버퍼에서 packet loss가 발생할 수도 있다. 그렇다면 packet 스위칭을 사용하는 이유는 무엇일까 바로 별 다른 자원의 할당이 필요치 않기 때문이다. 추가적인 자원이나 call set-up이..

[JAVA] private static final을 사용하는 이유

우리는 상수를 선언할 때 보통 private static final을 사용하여 선언한다. private이 뭔지 static이 뭔지 final이 뭔지 간단히 짚어보도록 하겠다.   private이란? private은 같은 클래스 내부에서만 사용 가능하도록 만드는 명령어이다. public class MyClass { private int privateVariable; private void privateMethod() { // 이 메서드는 MyClass 내에서만 접근 가능 } // 다른 멤버들...} 다음과 같은 클래스가 있다고 했을 때 privateVariable이라는 변수와 private 메소드는 MyClass 내부에서만 사용이 가능하다. 그렇다면 static은 무엇일까..

Language/Java 2023.11.18

백준 1802번: 종이접기

문제를 이해하는데 시간이 좀 걸린다. 종이를 이리저리 접어보며 규칙을 찾는데 성공 맨 처음 중앙의 접힌 면을 기점으로 1번으로 접으면 1 (1) 0이 만들어지고, 2번으로 접으면 0 (1) 1 이 만들어진다. 여기에서 한 번 더 접으면 기존의 접힌 면을 기점으로 앞 뒤에 10 또는 01이 생긴다. 재귀함수를 사용하여 앞 뒤 숫자가 다르면 No를 출력해주었다. import java.util.Scanner; import java.util.Arrays; public class Main { public static int devide(char[] x, int left, int right){ int mid = (left+right) / 2 ; if(right - left > 3) { int check = devi..

반응형