2025/02/13 8

패킷의 생성 원리

1. Process에서 Stream을 통해 TCP로 트래픽이 전송되면, stream data를 일정 크기(1460 byte)로 자름 => segmentation 2. 각 segment들은 40byte크기의 header와 합쳐서 Packet이 됨Header는 택배 운송장, Payload는 택배라고 할 수 있음 보안 이유로 Payload를 확인하는 것을 DPI (Deep packet inspection)이라고 함 비유: Encapsulation = Segment를 택배 안에 넣는 것 결론:Process가 Socket에 입출력을 시도하면, 메모리에 저장된 스트림 형식의 데이터가 1460 byte로 segment화 한 다음 packet 형식으로 encapsulation이 되어 생성이 된다.

카테고리 없음 2025.02.13

네트워크 데이터 단위 및 네트워크 인터페이스

파일 입출력 (File I/O) 에서는, data의 단위가 stream data 이다. Stream data : 시작은 정해져 있으나, 끝은 정해지지 않아 연속성을 가지는 데이터 / 패킷 / 비트 등의 흐름을 의미한다 TCP: Segment IP: Packet Driver/NIC: Frame ✅ 네트워크 데이터 전송 흐름User mode 수준(= Socket 수준) : Application Process가 Socket(Device File)에 "Stream Data"를 write한다Kernel 수준 : Transport 계층에서 Stream Data에 대해 MSS(Maximum Segment Size)를 기준으로 잘라 "Segment"로 만든다. (이 행위를 "Segmentation"이라 한다)Kerne..

Port 번호

운영체제에서 어떤 프로그램을 실행시키면 그 순간 process가 존재. OS 구성요소 내부에는 TCP/IP, 디바이스 Driver, NIC 존재 TCP/IP는 커널 수준에서 구현되어 있는데, user mode application이 접근할 수 있도록 인터페이스가 제공됨. 이 인터페이스의 본질은 File이나, 프로토콜을 추상화했기 때문에 File이라 하지 않고 Socket이라 한다. 소켓을 생성할 때 TCP 소켓인 경우에 소켓에 할당되는 정보 중 하나가 바로 Port 번호. 이미 사용 중인 포트는 중복 사용될 수 없으므로 포트 번호를 지정할 때는 해당 포트가 사용 중인지 확인해야 함. cmd창에 netstat -ano 명령어를 입력해 해당하는 포트에 어떤 프로그램이 할당되어 있는지 확인할 수 있다. -a ..

카테고리 없음 2025.02.13

IP 주소

IP 주소 -> Host에 대한 식별자 IPv4 -> 32bit 2^32 = 전체 경우의 수 대략 43억 (unsigned int) IPv6 -> 128bit IP주소는 networkID와 hostId로 나뉨 ex) 192.168.60.14 192.168.60 -> networkID (24 bit) 14 -> hostId (8 bit) "netmask" ip주소 = networkId + hostId (32 bit) 192.168.60.14 AND 255.255.255.0 =  11000000 = 192.168.69.0 (networkId) 넷마스크 표기 192.168.69.0/24 -> 서브넷 서브넷 마스크 = 255.255.255.0 서브네팅 서브넷팅은 IP 주소 낭비를 방지하기 위해 원본 네트워크를 ..

네트워크 기초

Socket이란, (TCP/IP) 소켓이라고 했을 때, Kernel에서 작동하는 TCP, IP를 User Application에서 어떻게 제어 할지를 추상화한 파일 User  OSI L7~5, Application, Process --------------------------------- Kernel OSI L4~3, Transport, Network, TCP, IP  식별자: TCP - Port 번호 IP - IP 주소 --------------------------------- H/W OSI L2~1, Access, NIC 식별자:  MAC 주소MAC 주소: NIC (Network Interface Card) (유/무선 LAN카드) 에 대한 식별자 NIC이 어떤 역할을 하는지? 컴퓨터가 네트워크와 ..

2. OS Overview

운영체제의 역할User Interface (편리성)- CUI- GUI- EUCI Resource management (효율성)- HW resource (processor, memory, I/O devices, etc)- SW resource (file, application, message, signal, etc) Process and Thread management System management (시스템 보호)컴퓨터 시스템의 구성 Kernel사용자가 kernel을 직접 접근하면, OS가 하드웨어를 제어하는 데 문제가 생길 수 있음. 따라서 직접 요청하는 것이 아닌, 필요한 기능이 있다면 OS(kernel)에 요청을 하는 통로가 System Call Interface(보통 함수 형태) System ca..