호우동의 개발일지

Today :

article thumbnail
[Network] 일반화된 포워딩 : OpenFlow - 매치 플러스 액션의 개념과 예시

매치 플러스 액션 ‘매치’와 ‘패킷’으로 이뤄진 2단계의 목적지 기반 포워딩 매치(match) 목적지 IP 주소를 찾는 것 프로토콜 스택의 다른 계층에서 다른 프로토콜과 관련된 여러 헤더 필드에 대해 ‘매치’ 수행 가능 액션(action) 매치 이후, 패킷을 스위치 구조로 지정된 하나 이상의 출력 포트로 전송하는 것 이는 목적지 기반 포워딩과 같은 역할 인터페이스에서 나가는 패킷을 로드 밸런싱(load balancing) 한 후, 헤더값을 다시 쓰는 역할 의도적으로 패킷을 차단/삭제 및 추가 처리 작업을 위해 특수 서버로 패킷을 보내는 작업을 함 패킷을 차단/삭제하는 것은 방화벽과 같은 기능 추가 작업 처리는 DPI와 비슷한 동작 매치 플러스 액션 테이블 매치 플러스 액션 테이블은 원격 컨트롤러를 통해 ..

article thumbnail
[Network] IPv6: 개발 배경과 데이터그램 포맷 변화 분석, IPv4에서 전환

IPv6 개발 배경 1990년대 초에 IETF는 IPv4 프로토콜의 다음 버전을 개발하기 시작 IPv4 주소 공간이 고갈되기까지는 아직 상당히 시간이 남았지만, 광범위하게 새로운 기술을 구축하기에는 상당히 시간이 필요하기 때문에 이때 시작됨 IPv6 개발의 주된 동기 → 32비트 IPv4 주소 공간이 인터넷에 접속하는 서브넷과 노드들로 인해 빠른 속도로 고갈 진행 중 → 큰 IP 주소 공간의 필요성을 인식하여 새로운 IP 프로토콜인 IPv6가 개발됨 IPv6 개발자들은 IPv4의 축적된 운용 경험에 근거하여 IPv4의 다른 면을 확장하고 축소하였음 IPv6 데이터그램 포맷 IPv6에 도입된 중요한 변화 1. 확장된 주소 기능 IPv6는 IP 주소 크기를 32비트에서 128비트로 확장 → IP 주소가 고갈..

article thumbnail
[Network] NAT 가능 라우터의 개념과 특징(+ NAT 변환 테이블)

NAT(네트워크 주소 변환)이 필요하게 된 배경 SOHO(small office, home office) 네트워크의 확산 →ISP는 SOHO에 관한 LAN 설치 시, 모든 SOHO의 IP 장치를 수용할 수 있는 주소 범위를 할당해야 함 SOHO의 IP 장치 - 전화, 태블릿, 게임 장치, IP TV, 프린터 등 네트워크가 현저히 커지면 큰 주소블록이 할당되어야 하는데, 이러면 다양한 케이스의 문제 발생 ISP가 할당해야 하는 SOHO 네트워크의 해당 주소 범위에 인접 부분을 할당한 경우 특정 홈 네트워크 소유자가 IP 주소가 어떻게 관리되는지 알고자 하는 경우 이런 상황에서 네트워크 주소 변환(NAT)으로 주소를 할당할 수 있다. NAT 가능 라우터 NAT 가능 라우터는 홈 네트워크의 일부인 인터페이스를..

article thumbnail
[Java/C++] 프로그래머스 Level 3 - 미로 탈출 명령어
Algorithm/Programmers 2023. 9. 22. 15:10

문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/150365 [2023 KAKAO BLIND RECRUITMENT]에 나왔던 문제. 카카오의 최신 출제 트렌드를 파악하지 못한 나의 잘못이 컸다. 그걸 알았다면 처음에 잘못 접근하지 않아서 시간을 잡아먹지 않았을 것이다.. 지금 생각해 보면 당연한 건데, 왜 헛다리 짚었을까? 문제 핵심 및 풀이 핵심 파악 이 문제에서 핵심은 도착점까지 가장 빠른 경로를 찾는 것이 아니라, 무조건 k 횟수를 움직여야 한다는 점이다. 가장 빨라야 하는 것은 경로가 아닌 움직인 경로의 문자열 사전순이다. 상하좌우를 각각 'u' , 'd' , 'l' , 'r'로 나타낸다. 각 방향마다 문자가 정해져 있다는 것은, ..

article thumbnail
[Network] 호스트, 서브넷의 IP 주소 할당 : 주소 블록과 DHCP

주소 블록 획득 기관의 서브넷에서 IP 주소 블록을 사용해야 하기 때문에 주소 블록을 획득해야 한다. 이를 위해 네트워크 관리자는 이미 할당받은 주소의 큰 블록에서 주소를 제공하는 ISP와 접촉 ISP와 접촉하여 주소 블록을 할당받는 예시 가정 ISP가 주소 블록 200.23.16.0/20을 할당받았다고 가정 ISP의 동작 이 주소 블록을 작은 주소 블록 8개로 나누고, 이것으로 8개 조직을 지원할 수 있다. ISP가 주소 블록을 얻는 방법 ISP도 주소 블록을 다른 곳에서 얻어야 한다. IP 주소 공간을 관리하고 ISP와 다른 조직에 주소 블록을 할당하는 최상위 국제기관이 존재 → 이러한 IP 주소는 ICANN 기반으로 관리 ICANN(Internet Corporation for Assigned Nam..

article thumbnail
[Network] IPv4 주소체계와 서브넷 주소 체계(CIDR, Class)

인터페이스 인터페이스(Interface) : 호스트와 물리적 링크 사이의 경계를 뜻함 인터페이스와 라우터 라우터는 2개 이상의 연결된 링크가 필요 → 라우터는 이런 링크 사이의 경계 또한 인터페이스라 함 라우터가 2개 이상의 연결된 링크가 필요한 이유 → 라우터 작업은 한 링크로부터의 데이터그램을 다른 링크로 전달하는 것이기 때문 각 링크마다 하나의 인터페이스를 갖고, 라우터는 여러 개의 인터페이스를 가진다. IP주소와 인터페이스 모든 호스트와 라우터는 IP 데이터그램을 송수신 가능 → IP는 각 호스트와 라우터 인터페이스가 IP 주소를 갖도록 요구 → 기술 측면에서, IP 주소는 인터페이스 자체와 관련이 있다. 인터페이스를 포함하는 호스트 라우터보다 인터페이스와 더 관련 있다는 뜻 IP주소의 표기 각 ..

article thumbnail
[Network] IPv4 데이터그램 포맷의 구성 및 주요 필드 정리

IPv4 데이터그램 포맷 및 주요 필드 IP 데이터그램은 총 20바이트의 헤더(옵션이 없다고 가정)를 갖는다. 데이터그램이 TCP 세그먼트를 전송할 경우 단편화되지 않은 각 데이터그램은 애플리케이션 계층 메시지와 함께 총 40바이트의 헤더를 전송 IP헤더 20 + TCP 헤더 20 버전 정보 4비트로 데이터그램의 IP 프로토콜 버전을 명시한다. 라우터는 버전 번호를 확인하여 데이터그램의 나머지 부분을 어떻게 해석할지 결정 헤더 길이 IPv4 데이터그램은 헤더에 가변 길이의 옵션을 포함 → 해당 4개의 비트로 IP 데이터그램에서 실제 페이로드가 시작하는 곳을 결정 페이로드(payload) : 전송되는 데이터 자체를 뜻함 예시 - 데이터그램에 캡슐화된 트랜스포트 계층 세그먼트 대부분의 IPv4 데이터그램은 ..

article thumbnail
[Network] 패킷 스케줄링의 다양한 방식 정리

패킷 스케줄링 큐에 있는 패킷이 출력 링크를 통해 전송되는 순서를 결정하는 방식 다양한 방식이 존재 FCFS(First-Come-First-Served) 라우터에서 일반적으로 사용되는 큐잉 처리 방법 흔히 FIFO(First-In-First-Out)으로 알려져 있음 FIFO 링크 스케줄링의 원리 링크가 현재 다른 패킷을 전송 중인 경우, 출력 링크 큐에 도착한 패킷은 전송을 기다림 패킷이 출력되는 링크를 통해 완전히 전송되면, 큐에서 제거됨 패킷이 링크를 통해 완전히 전송된다 → 서비스를 받는 경우라는 뜻 도착한 패킷을 담을 버퍼 공간이 충분하지 않은 경우 → 공간 확보를 위해 큐의 패킷 폐기 정책 사용 패킷 손실 여부 또는 다른 패킷을 큐에서 제거할 것인지 여부를 결정 아래에서의 FIFO 가정은 패킷 ..