백엔드/네트워크 9

네트워크(정의, 분류, 통신방식)

1. 네트워크란?학술적인 정의로는 두개 이상의 노드가 데이터를 교환하는 시스템이다. 여기서 데이터는 구체적으로 데이터 패킷이라고 이야기 한다. 여러 기기가 데이터를 주고 받는 구조가 그물망 처럼 보인다고 네트워크라고 이야기한것으로 보인다. *여기서 노드란 컴퓨터나 데이터를 공유하는 장비를 의미한다. 2. 인터넷이란?전세계의 네트워크가 연결된 거대한 네트워크를 인터넷이라고 한다.  3. 네트워크 분류크기와 연결방식에 따라 분류할수 있다. 3.1 크기에 따른 분류네트워크는 범위에 따라 LAN과 WAN으로 분류한다.(세부적으로 CAN, MAN, PAN으로 분류하기도 한다.)  LAN(Local Area Network)은으로 가까운 위치에 해당하는 네트워크이고, WAN(Wide Area network)는 LAN..

Wireshark 실습: TCP

1. TCP 프로토콜 분석Wireshark를 활용해서, TCP의 연결설정, 연결해제, 재전송 과정을 분석한다.  1.1 TCP 연결 설정(3-way-handshaking)클라이언트인 192.168.0.1⁠과 서버 ⁠10.10.10.1⁠이 TCP 연결을 하는 과정이다.  1) SYN 패킷 분석SYN 요청을 보내는 No.1 패킷에 분석을 진행하였다.출발지 포트는 49859에서 도착지 포트는 80번 포트로 패킷 전송(클라이언트는 동적 포트 번호 중에서 임의의 포트 번호로 할당됨) 실제 순서 번호는 3588415412로 설정되어있는것을 확인(와이어 샤크에는 보기 편하도록 상대적인 순서 번호를 제공한다.) SYN 플래그 비트도 1으로 설정되있는것을 확인  2) SYN + ACK 패킷 분석SYN + ACK 요청을 ..

HTTP프로토콜 분석(Wireshark)

1. HTTP 프로토콜 분석wireshark를 이용해, HTTP 프로토콜과 헤더 구조를 분석한다. 웹 브라우저를 열고 http://info.cern.ch/를 입력했을때 캡처된 패킷이다. HTTP 패킷은 요청을 하는 패킷과 응답을 하는 패킷으로 나뉜다. No.1 패킷은 요청을 하는 패킷으로 Request Method로 GET요청을 사용하고 있으며, 자주 사용되는 버전인 HTTP 1.1을 사용하고 있음을 Request Version에서 확인할수 있다. 또한 Host 헤더에서 요청을 보낸 호스트가 info.cern.ch이며, Connection이 Keep-alive라는 것을 통해 지속적인 연결을 필요로 하고 있음을 파악할수 있다. *\r 는 행의 앞으로 이동하라는 의미이고, \n는 다음 행으로 이동하라는 의미..

Wireshark 실습: IPv4 단편화 + ICMP

1번부터 7번까지는 호스트 10.0.0.1이 10.0.0.2에게 패킷을 전송하는 과정  8번부터 14번까지는 호스트 10.0.0.2이 10.0.0.1에게 패킷을 전송하는 과정 1. IPv4 프로토콜 분석 출발지 주소(Source Address)는 10.0.0.1이고, 도착지 주소(Destination Address)는 10.0.0.2인것을 확인  식별자 값이 0x2c2e(11310)으로 확인(1번부터 7번 패킷은 본래 하나의 데이터 덩어리가 단편화 된 것이므로 식별자는 동일함) 단편화된 다음 패킷이 존재한다는 의미의 MF(More fragments) 플래그가 설정되어있음을 확인(1번패킷부터 6번패킷까지 MF 플래그가 설정되어있음) 해당 패킷 이후에는 더 이상의 단편화된 패킷이 없으므로 MF 플래그가 활성..

OSI 7 계층별 프로토콜(FTP, SMTP, POP3, IMAP, ICMP)

이번시간에는 주요 프로토콜인 FTP, SMTP, POP3, IMAP, ICMP를 정리해 보겠습니다.네트워크 관련 업무를 할때, 1. 포트번호를 통해서 어떤 프로토콜인지 파악하고, 2. 각 프로토콜의 특징을 파악하는것은 매우 중요합니다. 📌FTP(File Transfer Protocol)이름 그대로  파일(file)을 송수신(transfer) 할때 사용되는 프로토콜입니다. 포트번호: 20(데이터 채널), 21(제어 채널)OSI 7계층에서 응용계층에 해당합니다.서버-클라이언트 구조입니다.암호화 기능이 없습니다.*포트번호는 클라이언트가 아닌 서버측 포트입니다. 제어채널(Control Channel)과 데이터 채널(Data Channel)FTP는 두가지 채널인 Control Channel(제어채널)과 Data..

OSI 7계층과 계층별 특징

OSI 7 계층이란OSI 7 계층(Open Systems Interconnection model)은 네트워크 통신 과정을 7단계로 구분하여 설명하는 국제 표준 모델입니다. 이를 이해하기 위해서는 계층별 특징, PDU(Protocol Data Unit), 계층별 사용되는 프로토콜과 장비 등을 숙지하는 것이 중요합니다. 또한 캡슐화라는 개념을 통해 각 계층이 서로 계층적으로 연결되어 있다는 개념을 이해하는 것이 필요합니다. (참고) OSI 7 계층이 등장한 이유OSI 7계층 도입 이전에는 각 네트워크 장비 제조사마다 자체적인 통신 프로토콜을 사용하거나, 프로토콜 및 장비 설계에 통일된 기준이 없어 다양한 문제가 발생했습니다. 대표적으로는 제조사 간 호환성 문제, 네트워크 장애 시 원인 파악의 어려움 등이 ..

OSI 7 계층별 장비

OSI7계층은 두 가지 계층으로 나뉠 수 있다. 소프트웨어 형태로 구현되며, 사용자와 애플리케이션과 가까운 상위계층(L7~L5), 하드웨어 형태로 구현되며, 데이터 전송과 관련된 하위계층(L1~L4)이 있다. 1. L1 장비(물리계층)대표적인  장비로 리피터, 허브, 케이블이 있다. 1.1 리피터(Repeater)케이블 내에있는 구리선을 통해서 전기적인 신호를 전송할때 저항을 받아 신호가 약해진다. 이러한 전기적 신호를 다시 증폭시켜주는 장비가 리피터이다.*현재는 리피터를 따로 사용하기 보다는 허브, 브리지, 스위치 장비안에 리피터 기능이 내장되어 있다. 1.2 허브(멀티 포트 리피터)사무실과 같은 근거리 장비들이 통신(LAN 통신)할때 사용하는 장치이다. 구체적인 예시로, 집에서 사용되는 공유기가 있다..

애플리케이션 계층 프로토콜:Telnet, SSH, HTTP/HTTPS, DNS

1. 원격접속1.1 Telnet 포트 번호: TCP 23용도: 원격접속원격 컴퓨터나 장비를 제어하기 위해 사용되는 프로토콜이다. 사용자는 Telnet을 통해 다른 컴퓨터에 로그인하여 명령을 실행할 수 있다. Telnet은 사용자의 민감한 정보(사용자 이름, 비밀번호, 세션 데이터)를 암호화 하지않고 평문으로 통신하기 때문에, 네트워크 상에서 데이터가 쉽게 도청될 수 있다는 보안적인 문제가 존재한다.  1.2 SSH(Secure Shell)포트 번호: TCP/UDP 22용도: 원격접속(보안기능추가)SSH는 Telnet에 보안 기능을 추가하여 안전하게 원격 컴퓨터에 접속할 수 있게 해주는 프로토콜이다. 사용자는 SSH를 통해 안전하게 명령을 실행하고 파일을 전송할 수 있다. 2. 웹2.1 HTTP (Hype..

전송 계층 프로토콜 : TCP와 UDP

1. TCP(Transmission Control Protocol)1.1 TCP 특징TCP는 다음과 같은 주요한 3가지 특징을 가진다. 1. 연결지향형 프로토콜이다.데이터를 전송하기 전에 송신자와 수신자 간에 안정적인 연결을 먼저 설정한다. 이 과정은 3-way handshake라 불리며, 데이터 전송의 신뢰성과 안정성을 확보하는 데 중요한 역할을 한다. 2. TCP는 높은 신뢰성을 제공한다.이는 세 가지 주요 메커니즘을 통해 구현된다:흐름제어: 수신자의 처리 능력에 맞춰 데이터 전송 속도를 조절한다.혼잡제어:  네트워크의 혼잡 상태를 관리하여 효율적인 데이터 전송을 가능케 한다.오류감지: 전송 중 발생할 수 있는 데이터의 손상이나 손실을 감지하고, 필요한 경우 데이터를 재전송한다. 3. TCP는 1:1..