213. House Robber II
·
Algorithm/LeetCode
문제You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed. All houses at this place are arranged in a circle. That means the first house is the neighbor of the last one. Meanwhile, adjacent houses have a security system connected, and it will automatically contact the police if two adjacent houses were broken into on the same night.Gi..
[5주차] 인성 면접 질문
·
외부활동/JSCODE 네트워크
보호되어 있는 글입니다.
[5주차]ICMP
·
외부활동/JSCODE 네트워크
인터넷 제어 메시지 프로토콜(ICMP)이란?ICMP(Internet Control Message Protocol)는 네트워크 장치에서 네트워크 통신 문제를 진단하는 데 사용하는 네트워크 계층 프로토콜입니다. ICMP는 주로 데이터가 의도한 대상에 적시에 도달하는지 여부를 확인하는 데 사용됩니다. 일반적으로 ICMP 프로토콜은 라우터와 같은 네트워크 장치에서 사용됩니다. ICMP는 오류 보고 및 테스트에 아주 중요하지만, 분산 서비스 거부(DDoS) 공격에도 사용될 수 있습니다.네트워크 상태 진단(ping, traceroute)데이터 전달 오류 알림(목적지 도달 불가, TTL 초과 등)비유를 통해 설명하자면 IP는 편지를 전달하는 우체부이고, ICMP는 우체부가 편지 배달 도중 문제를 만났을 때 발송인에게..
[5주차] NAT란
·
외부활동/JSCODE 네트워크
NAT사설 네트워크(Private Network)와 공인 네트워크(Public Network) 간의 IP 주소 변환을 수행하는 기술이다. NAT는 주로 라우터나 방화벽 장비에서 사용된다. 주요 기능IP 주소 절약사설 네트워크에서 사용하는 IP 주소(예: 192.168.x.x, 10.x.x.x 등)를 공인 IP 주소로 변환하여 인터넷과 통신합니다. 이는 IPv4 주소 부족 문제를 완화합니다.보안 강화내부 사설 네트워크의 IP 주소를 외부에 노출시키지 않음으로써 보안을 강화합니다. 외부에서는 변환된 공인 IP만 보입니다.네트워크 분리사설 네트워크와 공인 네트워크를 논리적으로 분리하여 관리가 용이합니다.동작 원리(1) 송신 시 (사설 IP → 공인 IP)내부 디바이스(예: PC, 스마트폰)는 사설 IP 주소를..
[5주차] Routing Protocol
·
외부활동/JSCODE 네트워크
Router다른 네트워크 간 데이터를 보내려면 라우터가 필요하다. 라우터는 네트워크 장비 중 하나로, 서로 다른 네트워크를 연결하고 데이터 패킷을 목적지까지 전달하는 역할을 한다.Routing라우팅은 데이터의 목적지가 연결된 네트워크를 판단하여, 올바른 경로의 라우터로 IP 패킷을 전달하는 동작입니다. 라우터가 전송하는 데이터는 TCP/IP 계층 중 인터넷 계층에 속하는 IP 패킷이며, 따라서 라우팅 동작은 인터넷 계층에서 수행됩니다. 라우팅의 동작 과정:패킷 수신: 라우터가 네트워크로부터 데이터 패킷을 받음.목적지 주소 확인: 패킷의 목적지 IP 주소를 확인.라우팅 테이블 조회: 라우터 내부의 라우팅 테이블을 참고하여 최적 경로를 결정.패킷 전달: 결정된 경로를 따라 패킷을 다음 라우터 또는 목적지 장..
[5주차] IP, IPv4와 IPv6, IP 할당 기관
·
외부활동/JSCODE 네트워크
IPInternet Protocol의 약자로, 인터넷에서 데이터를 송수신하기 위한 규칙입니다. IP는 네트워크 상에서 데이터를 작은 패킷으로 나누어 전송하며, 각 패킷에 발신자와 수신자의 IP 주소를 포함합니다. 이를 통해 패킷이 목적지까지 전달될 수 있도록 주소 지정과 라우팅을 수행합니다. 또한, IP는 신뢰성이 보장되지 않는 비연결형 프로토콜로, 패킷이 유실되거나 순서가 바뀔 수 있기 때문에, 이러한 문제는 TCP와 같은 상위 계층 프로토콜이 처리합니다. 요약하면, IP는 네트워크에서 장치 간 통신을 가능하게 하는 핵심적인 역할을 합니다.IPv4와 IPv6IPv432비트 주소 체계를 사용하며, 약 43억 개의 고유 IP 주소를 제공합니다. IPv4는 사용 목적에 따라 A, B, C, D, E로 나뉩니..
[5주차] 서브넷과 서브넷 마스크
·
외부활동/JSCODE 네트워크
서브넷?서브넷, 즉 서브네트워크는 네트워크 내부의 네트워크입니다. 서브넷은 네트워크를 보다 효율적으로 만듭니다. 서브넷을 통해 네트워크 트래픽은 불필요한 라우터를 통과하지 않고 더 짧은 거리를 이동하여 대상에 도달할 수 있습니다. 서브넷을 나누면 네트워크 트래픽이 같은 서브넷 안에서 직접 처리되므로, 불필요한 라우팅 경로를 제거하여 효율성을 극대화할 수 있는 것입니다서브넷이 필요한 이유는?네트워크 크기를 더 세밀하게 조정할 수 있다. 필요한 만큼 IP를 배정받고 나머지 자원은 절약할 수 있다. 한 만디로, 네트워크 유연성 증가.기존에는 클래스 방식(클래스 A, B, C) 방식을 사용했는데, 클래스 방식은 고정된 서브넷 마스크를 사용해서 네트워크 세분화 제한이 많다.서브넷 마스크란?서브넷 마스크는 IP 주..
[4주차] UDP Checksum
·
외부활동/JSCODE 네트워크
Checksum데이터의 무결성을 검증하기 위한 오류 감지 메커니즘입니다. 전송된 데이터가 손상되었는지 확인을 위해 사용합니다.UDP는 체크섬으로 패킷 오류를 감지하지만, TCP처럼 오류를 제어하지는 않습니다.손상된 패킷은 수신 측에서 폐기되며, 애플리케이션 계층으로 전달되지 않습니다. UDP 체크섬 필드의 특징:16비트 크기의 필드입니다.계산에는 UDP 헤더, 데이터, 그리고 의사 헤더 (pseudo-header)가 포함됩니다.의사 헤더는 IP 주소, 프로토콜 번호, UDP 길이 등을 포함하며, 전송 계층 데이터와 네트워크 계층 데이터를 연계합니다.의사 헤더(Pseudo Header)의 역할:의사 헤더는 데이터 전송 중 IP 계층에서의 문제(예: IP 주소 오류)를 함께 감지하기 위해 사용됩니다. UDP..
TCP 빠른 재전송과 흐름제어 메커니즘
·
Network
빠른 재전송(Fast Retransmit)빠른 재전송(Fast Retransmit)은 TCP의 혼잡 조절에 추가된 정책이다. 패킷을 받는 쪽에서 먼저 도착해야 할 패킷이 도착하지 않고 다음 패킷이 도착한 경우에도 ACK 패킷을 보낸다. 단, 순서대로 잘 도착한 마지막 패킷의 다음 패킷의 순번을 ACK 패킷에 실어서 보낸다. 따라서 중간에 패킷하나가 손실되게 되면 보내는 측에서는 순번이 중복된 ACK 패킷을 받게 되고, 이것을 감지하는 순간 문제가 되는 순번의 패킷을 재전송해 줄 수 있다. 빠른 재전송은 중복된 순번의 패킷을 3개 받으면 재전송을 한다. 그리고 이런 현상이 일어나는 것은 약간 혼잡한 상황이 일어난 것이므로 혼잡을 감지하고 창 크기를 줄이게 된다. 한마디로, 데이터 전송 패킷 손실이 의심될 ..
TCP
·
외부활동/JSCODE 네트워크
TCP(Transmission Control Protocol)신뢰성과 연결 지향을 특징으로 하는 전송 계층 프로토콜데이터를 정확하고 순서대로 전달하기 위해 다양한 메커니즘을 제공왜 연결 지향이라고 하는거지?TCP는 데이터 전송 전에 송신자와 수신자가 연결을 설정(3-way handshake)하고, 데이터가 제대로 전송되었는지 확인하며, 연결을 종료(4-way handshake)하는 과정이 있기 때문에 연결 지향(Connection-Oriented)이라고 한다.3-way handshake?3-way handshake는 TCP 연결을 설정하기 위해 반드시 필요한 과정이다. 이유는 아래와 같다.양측의 통신 기능 여부 확인초기 시퀀스 번호(ISN) 교환연결 신뢰성 확보3-way handshake 동작 과정A클라..