한 동안 너무 바쁘다고 블로그를 거의 유기하고 있었다는 생각이 들어서... 회사에서 클라우드 서버 견적을 내다가, CIDR표기가 갑자기 좀 헷갈려서... 정리를 좀 하려고 한다.CIDR(Classless Inter-Domain Routing, 무분류 도메인 간 라우팅)은 IP 주소를 할당하고 라우팅하는 방법 중 하나이다. 1993년에 도입된 이 방식은 기존의 IP 주소 클래스(A, B, C 클래스 등)보다 훨씬 더 유연한 IP 주소 할당을 가능하게 해주는 방식이다.CIDR 표기법CIDR 표기법은 IP 주소와 슬래시(/) 및 숫자로 구성된다. 이 숫자는 서브넷 마스크의 길이를 나타내며, 네트워크 부분과 호스트 부분을 구분하는 역할을 한다. 예를 들어:192.168.0.0/24라는 CIDR 블록은 IP 주소..
스프링 기반의 패킷캡쳐 앱을 toy project 삼아 만드려고 한다. 괜찮은 pCap 라이브러리가 어떤 것이 있나 좀 찾아봤는데, 처음에는 pCap4j를 사용하려고 했으나 튜토리얼이 너무 적은 거 같이 jNetPcap으로 우선 적응해보려 한다. jNetPcap 라이브러리를 적용하는게 생각보다 까다로워서... 조금 헤매긴 했는데, 방법을 정리하자면 다음과 같다. 우선 windows 환경에서 jNetPcap을 사용하려면, WinPcap을 먼저 설치해줘야 한다. 아래 링크로 접속하여 exe 파일을 받아 실행해주자. https://www.winpcap.org/install/default.htm WinPcap · Download WinPcap Has Ceased Development. We recommend N..
TCP 프로토콜은 신뢰할 수 있고 정확한 데이터를 전달하기 위해 연결형 통신을 사용하는 프로토콜이다. 또한 데이터를 패킷으로 분할하여 전송하고, 패킷 전송 과정을 연결형 통신 방식으로 제어하며, 수신한 패킷들을 재조립하는 방식으로 데이터 전송의 정확성과 신뢰성을 확보하고 있다. ▶TCP Header ▷ Source/Destination Port # : 각 호스트에 있는 응용 프로그램의 포트 번호 ▷ Sequence # : Segment Stream의 첫번째 Byte 번호, 송신되어지는 data의 순서를 구분하기 위해 사용 ▷ ACK #: 더보기 성공적으로 수신한 마지막 byte 번호 + 1이다. NACK가 없다 -> 누적 ACK를 이용한다. ▷ 헤더 길이 : TCP 헤더의 길이, 옵션부분이 가변이므로 헤..
UDP는 TCP와는 달리 비연결 프로토콜로서 상대방이 보낸 응답을 확인하지 않으며, 송신 시스템이 전송하는 데이터에 대한 목적지 시스템의 확인 절차가 생략되므로 네트워크에 부하를 걸지 않는 장점이 있다. 또한 데이터 자체의 신뢰성이 없으므로 수신된 데이터의 무결성을 보장받지 못한다. - UDP의 특징 • 비연결 지향형 • 네트워크 부하 감소 • 비신뢰성 • 전송된 데이터의 일부 손실 가능 ▶UDP Header ▷ Source/Destination Port #: 각 호스트에 있는 응용 프로그램의 포트 번호 ▷ UDP Datagram Length: 헤더와 데이터를 합한 사용자 데이터그램의 전체 길이 ▷ Checksum: 헤더와 데이터를 모두 포함한 사용자 데이터그램 전체에 대해 오류를 탐지하기 위해 사용됩니..
IPv4 프로토콜은 가장 대표적인 네트워크 계층의 프로토콜이며, 하위 계층의 서비스를 이용하여 두 노드 간 데이터 전송 경로를 확립하기 위해 사용한다. ▶IPv4 Header ▷ version: 인터넷 프로토콜 버전으로 IPv4는 4, IPv6은 6 ▷ Header length: 더보기 IP 프로토콜 헤더의 길이 (word 단위) 4bit로 실제 데이터가 시작하는 곳을 결정한다. 32bit (4byte) 단위로 헤더 길이를 표시한다. 이진수 = 십진수 * 4byte= header 전체 길이 0101 = 5 * 4byte = 20byte (옵션 미지정된 일반적인 IPv4 해더 길이) 1111 = 15 * 4byte = 60byte 해더 최대 길이 즉 IPv4에서 대부분 옵션을 사용하지 않으므로 보통 IPv..
ARP는 Address Resolution Protocol의 약자이며, IP 주소와 MAC 주소를 일대일 매칭하여 LAN에서 목적지를 제대로 찾아갈 수 있도록 돕는 프로토콜이다. 이때, IP 주소와 MAC 주소를 일대일 대응하여 테이블로 정리하고 목적지 IP에 맞는 MAC주소를 찾아 정리하는 테이블을 ARP Table이라고 부른다. ARP를 주로 사용하는 곳은 2계층에 있는 Ethernet 환경이다. 이 ARP Table은 cmd에서 arp -a 를 입력하여 확인할 수 있다. ▶ARP Protocol Header ▷ Hardware Type: 사용 중인 물리 주소나 데이터 링크 유형을 정의한다. (이더넷 프로토콜이 대부분이므로 0001) ▷ Protocol Type: 사용중인 프로토콜 주소 유형을 정의한..
Ethernet은 위 그림과 같이 OSI 모델 기준, 데이터 링크 계층이며 물리 계층과 데이터 링크 계층의 통신 회산의 접근 제어를 정의하는 IEEE 표준 프로토콜이다. 표준 Ethernet에서 데이터는 CSMA/CD 방식으로 전송되는데, 이는 트레픽이 회선 상에 존재하면 대기하고, 없다면 전송하는 방식이다. ▶Ethernet Header ▷ Preamble: 동기화에 사용되는 64비트로 구성된 필드이며, 네트워크 장치가 패킷을 받아서 이더넷 프레임의 시작 부분을 결정하고 동기화할 때 사용된다. ▷ DA(Destination Address): 목적지의 MAC 주소 ▷ SA(Source Address): 출발지의 MAC 주소 ▷ Type: 이더넷 프레임 상덴의 데이터의 프로토콜 코드이며, Ethernet ..
보호되어 있는 글입니다.
어제 Socket을 사용한 간단한 서버 - 클라이언트 간 채팅 프로그램을 구현해봤다. 이번엔 단순한 채팅이 아닌, 문제 은행을 저장해놓고 문제에 해당하는 정답을 클라이언트로부터 받아 서버에 저장 후, 정답 여부를 판단하여 다시 클라이언트에 보내주는 양방향 문제 풀이 프로그램을 구현해봤다. 원리는 간단하다. 데이터를 좇아가기가 조금 복잡해졌을 뿐... 우선, 입력받은 답안에 따라 상태를 바꿔가며 문제를 출제해 줄 프로토콜을 구성해야 한다. 즉, 문제 배열과 정답 배열을 가지고 있다가, 서버에서 입력받은 답안이 정답과 같은 지 확인한 그 결과에 따른 출력을 내보내게끔 구성해야 한다. ○QuizProtocol.java package com.choonham; public class QuizProtocol { /..
1. Socket: 네트워크에 연결된 컴퓨터 간에 데이터를 주고 받을 때 사용하는 도구. 하드웨어적인 의미로 소켓이라는 용어를 사용하기도 하지만 여기서는 소프트웨어적인 개발 도구를 뜻한다. 자바에서는 TCP 소켓 통신을 위해 Socket Class와 ServerSocket Class를, UDP 통신을 위해서는 DatagramPacket Class와 DatagramSocket Class를 제공한다. 1) Socket의 연결과 전송 과정: 2) Socket Constructual: Socket(InetAddress address, int port) 주어진 IP address와 포트를 가지고 소켓 생성 Socket(String host, int port) 주어진 host와 포트를 가지고 소켓 생성 - Sock..
- redux
- 파니노구스토
- 맛집
- 인천 구월동 맛집
- AsyncStorage
- react
- 이탈리안 레스토랑
- await
- Promise
- redux-thunk
- 인천 구월동 이탈리안 맛집
- 정보보안기사 #실기 #정리
- react-native
- Async
- javascript
- Total
- Today
- Yesterday