공부
-
9. OSPF, BGP, SDN공부/컴퓨터 네트워크 2022. 6. 3. 01:54
이 글은 Computer Networking: A Top-Down Approach 7th를 읽고 정리한 글입니다. 1. Autonomous System (AS) 이전에서 배운 라우팅 알고리즘은 모든 라우터가 동일한 라우팅 알고리즘을 수행하고, 네트워크 설계 자체가 굉장히 단순하다는 것으로 굉장히 이상적인 상황이라고 볼 수 있다. 하지만 현실은 아래 두가지 이유 때문에 복잡한 상황이 나오게 된다. 1) 라우터 수는 굉장히 많기 때문에 라우터가 모든 정보를 담아내기엔 메모리가 많이 부족하다. 그래서 수없이 반복하게 되는 DV 알고리즘은 계속해서 돌아가지만 최소 비용 거리를 찾아내기가 굉장히 힘들어진다. 2) 라우터를 만든 회사도 다르고, 인터넷을 제공하는 회사도 다르다. 그래서 이것을 서로 연결하는 일이 필..
-
8. NAT, IPv6, ICMP, Routing Algorithm공부/컴퓨터 네트워크 2022. 5. 30. 17:10
이 글은 Computer Networking: A Top-Down Approach 7th를 읽고 정리한 글입니다. 1. 네트워크 주소 변환 (NAT) 한 구역의 네트워크는 사설망을 이용하여 10.0.0.X로 서로 소통하게 만드는 것이다. 이럴 경우 하나의 IP 주소로 모든 것을 해결할 수 있다. 이때 외부와 소통을 하려면 무조건 라우터를 통해 패킷을 주고 받는다. 외부에 있던 정보가 내부로 들어와서 전달을 해야한다면 NAT 변환 테이블을 사용하여 내부 호스트에 전달을 한다. 2. IPv6 가정마다 최소 1대씩은 PC가 생기니까 IPv4는 2011년에 고갈되버렸고, 고갈되기전에 IPv4의 다음 버전인 IPv6이 개발이 시작되었다. 1) IPv6의 데이터그램 포맷 추가된 점 1. 확장된 주소: IPv4에서는..
-
7. 네트워크 계층공부/컴퓨터 네트워크 2022. 5. 27. 17:00
이 글은 Computer Networking: A Top-Down Approach 7th를 읽고 정리한 글입니다. 1. 네트워크 계층 개요 트랜스포트 계층에서 프로세스 간 통신을 제공한다면, 네트워크 계층에서는 호스트 사이의 통신 서비스를 어떻게 제공하는지에 대해 보여준다. 여기서는 트랜스포트 계층에 있던 세그먼트를 받아 각 세그먼트를 데이터그램 안에 캡슐화한다. 1.1 네트워크 계층 개요 호스트 A와 호스트 B가 있고, 호스트 A가 호스트 B에게 패킷을 보낼 때를 가정해보자 그러면 호스트 A에서는 트랜스포트 계층으로부터 세그먼트를 받아 각 세그먼트를 데이터그램으로 캡슐화하고, 인접한 라우터에게 데이터그램을 보낸다. 이후 호스트 B에게 데이터그램이 도착했으면 네트워크 계층에서 세그먼트를 추출하여 트랜스포..
-
[Kafka] 메시지 값 순서가 메시지를 넣은 순서와 다른 이유공부/Kafka 2022. 5. 26. 01:54
1. 결론 카프카에 메시지를 저장할 때는 라운드 로빈 알고리즘을 사용한다고 합니다. 그래서 파티션을 나눌 경우에는 중요도 값이 따로 설정되어 있지 않으면 처리했을 때마다 라운드 로빈 알고리즘에 의해 데이터가 들어오면 시간 단위로 특정 파티션에 저장하는 것입니다. 카프카에 적용되는 라운드 로빈 알고리즘은 데이터가 최대한 공평하게 저장될 수 있도록 특정 시간마다 저장할 파티션의 위치를 다르게 적용하는 것입니다. 만약 데이터를 순서대로 보내는 활동이 필요하다면 파티션을 1개로 설정하면 됩니다. 하지만 1개로 설정하면 당연하겠지만 좋은 성능이 나오지 않습니다. 위 그림을 보면 좀 더 쉽게 이해할 수 있습니다. 2. 예제 - 토픽에 메시지 값 넣어서 출력해보기 카프카에 토픽을 하나 만들어봅시다. 이때 파티션을 4..
-
[Kafka] Connection to node -1 (ip주소:9092) could not be established. Broker may not be available 에러공부/Kafka 2022. 5. 25. 23:16
cd kafka_2.12-2.5.0 일단 자기 버전에 맞게 설치한 디렉토리에 들어간다. vi config/server.properties 여기서는 카프카 브로커 옵션을 설정할 수 있다. # The address the socket server listens on. It will get the value returned from # java.net.InetAddress.getCanonicalHostName() if not configured. # FORMAT: # listeners = listener_name://host_name:port # EXAMPLE: # listeners = PLAINTEXT://your.host.name:9092 #listeners=PLAINTEXT://:9092 # Hostna..
-
6. 혼잡 제어공부/컴퓨터 네트워크 2022. 5. 24. 21:54
이 글은 Computer Networking: A Top-Down Approach 7th를 읽고 정리한 글입니다. 1. 혼잡제어의 원리 흐름제어와 혼잡제어의 공통점은 송신자가 너무 많은 데이터를 보내는 것에서 출발하기 시작한다는 것이고, 흐름제어와 혼잡제어의 차이점은 흐름제어는 송신자-수신자의 관계, 혼잡제어는 송신자-네트워크의 관계에 대한 것이다. 우리는 1장에서 라우터가 패킷을 처리하기 전에 큐에 들어간다는 것을 배운적이 있었다. 그런데 라우터는 한 번에 하나의 패킷만 처리할 수 있어서 많은 수의 패킷이 들어오게 되면 아직 처리를 못한 패킷은 큐에 저장을 한다. 이때 큐의 용량이 꽉차게 되면 패킷 손실이 일어난다는 배웠다. 그래서 혼잡제어란 이런 네트워크의 처리 속도가 송신자의 전송 속도를 따라잡을 ..
-
5. 파이프라인 프로토콜, TCP공부/컴퓨터 네트워크 2022. 5. 24. 17:13
이 글은 Computer Networking: A Top-Down Approach 7th를 읽고 정리한 글입니다. 1. 파이프라인된 신뢰적 데이터 전송 프로토콜 rdt 3.0의 경우에는 왼쪽 그림과 같이 데이터 패킷을 보내면 패킷을 받기전까지 아무일도 하지 않는다. 그래서 속도가 느리다는 단점이 있는데, 파이프라인 프로토콜은 패킷을 1개만 보내지 않고 한 번 보낼 때 여러개를 보내는 것이다. 왼쪽이 sender이고, 오른쪽이 receiver인데, 송신측에서 한 번에 패킷을 여러개 보낸다. 이후 패킷을 보낸 처음 데이터가 ACK을 sender에게 보내면 두번째 패킷을 한 번에 보내게 된다. 이런 과정을 반복한다. 파이프라인 프로토콜에서도 오류가 생길 수 있는데, 이것을 처리하는 방법에 따라 프로토콜 모델이..
-
4. 트랜스포트 계층공부/컴퓨터 네트워크 2022. 5. 23. 19:19
이 글은 Computer Networking: A Top-Down Approach 7th를 읽고 정리한 글입니다. 1. 트랜스포트 계층 서비스 및 개요 트랜스포트 계층 프로토콜은 서로 다른 호스트에서 동작하는 애플리케이션 프로세스들 간의 논리적 통신을 제공한다. 여기서 논리적 통신이란 애플리케이션의 관점에서 볼 때 프로세스들이 동작하는 호스트들이 서로 직접 연결이 된 것처럼 보인다는 것이다. 우리가 애플리케이션 계층에서는 메시지라고 불렀지만, 트랜스포트 계층에서는 메시지를 작게 분할하여 이런 분할된 조각 한 개를 세그먼트라고 부르게 된다. 이게 트랜스포트 계층에서의 기본 단위라서 앞으로 세그먼트라고 하면 이런 뜻이라고 생각하면 된다. 참고로 네트워크 계층에서의 기본 단위는 데이터그램인데, 트랜스포트 계층..