백엔드 52

[네트워크기초이론]#29. IP주소의 종류와 특징

IP 주소의 종류 (v4) Global IP Private IP Loopback (Broadcast) IPv4 - 전체 주소의 길이는 32bit - 8bit에서 나올 수 있는 경우의 수는 2⁸ = 0 ~ 255 Global IP - Internet은 Public network이자 Global network이다. - Internet은 Router의 거대한 집합체 (+DNS) - Router가 하는 일이 Routing - 패킷이 오면 어디로 보낼지 정하고 스위칭해서 전달해줌 - 대전제가 목적지 주소를 보고 Global IP일 때만 Routing을 한다 - Private는? 기본적으로 안 해줌 - 강제로 하도록 설정할 수는 있음 -인터넷에서 Global IP가 같은 애는 없음 - 다른 방법이 있긴 하지만 기본..

[네트워크기초이론]#28. Unicast, Broadcast, Multicast

Unicast - NAT: Network Address Translation (공유기) - 라우터 역할 = Gateway - 이 네트워크 주소 대역 = 192.168.0.대 - 소켓 프로그래밍을 한다고 가정 - PC1 ~ 24: Network ID는 같고 Host ID만 다름 - PC1과 PC24가 통신을 하면 이것이 Unicast - 통신 주체 둘끼리만 정보가 왔다갔다 - L2 스위치 기준으로 그 안에서 스위칭이 끝남 Broadcast - HOST ID를 2진수로 봤을 때 전부 1로 되어 있으면 브로드캐스트 - 16진수로 보면 0xFF - MAC address는 48bit → FFFFFFFFFFFF - 192.168.0.11 이 192.168.0.255에게 무언가를 전달 - 그 트래픽이 모든 PC로 간..

[네트워크기초이론]#25. 이해하면 인생이 바뀌는 TCP 송/수신 원리

상황) PC 한 대와 Server 한 대가 TCP/IP 통신(연결)을 하고 파일을 하나 다운받는 상황 - 연결: 3-way handshake - 서버에서 파일을 가지고 있다가 클라이언트가 요청하면 송신함 Server - server에서 어떤 프로그램이 작동하고 있음 (웹서버라고 생각해도 좋음) - socket이 하나 열려 있고, 이것으로 클라이언트와 통신을 하고 있음 - socket의 본질은 file, server는 process Process가 File에 할 수 있는 Operations = RWX - 소켓 통신에 실행의 개념은 없으니 읽던지 쓰던지 - R: 소켓통신에서 receive - W: 소켓통신에서 send = I/O 기본 구조 - 하드디스크 등 2차 메모리 안에 파일이 들어있다 - (가정)A.b..

[네트워크기초이론]#21. Proxy의 활용 첫 번째. '우회'

Proxy의 활용 : 우회 예) - 웹 서비스 이용 - 길동이 네이버에 접속을 하는데 그냥 접속하지 않고 Proxy를 통해 접속 - Browser에 대고 Proxy 설정을 함(9.9.9.9를 proxy로) - 이렇게 되면 TCP/IP연결이 Proxy쪽으로, Proxy의 TCP/IP연결이 다시 NAVER로 - 이 연결을 수신한 네이버 입장에서 한국 → 중국 프록시 → 중국이라고 인식 Tor Project https://www.torproject.org/ The Tor Project | Privacy & Freedom Online Defend yourself against tracking and surveillance. Circumvent censorship. www.torproject.org - 본질: 인..

[네트워크기초이론]#20. Proxy의 구조와 작동원리

Inline + Out of path 네트워크를 이루는 수많은 요소(장치, 라우터 ...)는 기본적으로 이 세가지(구조) 중 하나 Inline Inline인데 Out of path구조로 전용(설치만) application proxy (Application) Proxy - IP주소가 3.3.3.3인 PC와 5.5.5.5인 네이버 = 3.3.3.3 Host가 5.5.5.5 Host한테 TCP/IP연결을 한 것 = (네이버는 웹이니까) 웹으로 이야기하면 HTTP 혹은 HTTPS 통신 - Socket통신 - 이렇게 한 번에 가는 것이 일반적임 proxy의 사전적 의미 = 대리자 - IP 주소가 9.9.9.9인 PC - 만약 PC1번이 PC2번을 Proxy로 설정해버리면 - 네이버 접속 시 바로 가는 것이 아니라..

[네트워크기초이론]#19. Inline 구조와 Out of path 구조

Network 장치 Inline device? Inline device 방식으로 설치? Out of path 방식으로 설치? Network device는 주로 inline - PC들의 Gateway = Router - 끝자리, Host ID 1번을 보통 gateway한테 줌 - 대략적으로 Router를 중심으로 왼쪽이 내부망, 오른쪽이 외부망이다 - Router 앞에 방화벽을 두기도 한다 - Router, 방화벽 둘 다 Inline 장치 구조를 가지고 있다 Network를 고속도로에 비유한다면 - Router 같은 Inline 장치들은 톨게이트라고 생각 - 자동차가 Packet - Inline구조라서 할 수 있는 건 두 가지 - Bypass - Drop Port Mirroring - Distributio..

[네트워크기초이론]#17. Wireshark의 내부구조와 작동원리

- Wireshark 사용 방법 익히기 - window환경에서 chrome이 작동 - HTTP 통신 (L7) - TCP(L4) / IP(L3)를 기반으로 통신 - User mode application이 TCP/IP와 인터페이싱 할 때는 - TCP를 추상화한 Socket인터페이를 타고 정보를 주고 받음 - Socet - Stream (크기 개념 없음, 언제 끝날지 모름) TCP - Segment (MSS) IP - Packet (MTU) Ethernet - Frame Filter - Filter = 걸러지는 것들, 통과하는 것들이 있음 - 통과: Bypass - 막음: Drop Outbound / Inbound - Outbound: 트래픽이 호스트에서 네트워크로 나가는 것 - Inbound: 거꾸로 들어..

[네트워크기초이론]#16. IP헤더 형식과 의미 요약

Packet은 택배다 IP Header Format MTU - 1500까지 - 이론상으로는 65536까지 늘어난다 - 65536 = 2¹⁶ = 16bit로 표현 가능 = 64KB까지 - 하지만 2022년 인터넷은 여전히 MTU가 1500 - 큰 택배 박스에 물건을 많이 보내면 좋긴 하겠지만 Options - 선택적. 있을 수도 있고 없을 수도 있고 - 주로 없음 - IP헤더라 하면 20bytes를 가지고 얘기함 Total length - 패킷의 전체 길이 - 16bit Version - IP version - 4bit - 4 (IPv4) IHL - Internet Header Length - 주로 5 - 32bit = 4 bytes - 5(IHL) × 4(32bit) = 20bytes - 6이 된다면 옵..

[네트워크기초이론]#15. L2 스위치에 대해서

L2 스위치 "L2 스위치는 MAC Address(48bit)로 스위칭한다" MAC주소 확인해보기 - 이 MAC address는 전 세계에 이거 하나라고 생각해도 됨 "네트워크는 스위치의 집합체이다." L2의 두 가지 스위치 - Network Interface를 표현할 때 점을 강조해서 그림. - 접점이 두 개 있을 수도 있음 L2 Access switch - NIC에서 나와서 L2 Access라는 스위치에 연결됨 - 이 스위치에는 여러개의 PC가 연결될 수 있다. - 이렇게 되면 PC1과 PC2끼리 정보를 주고 받을 수 있다. - 이용 주체인 Endpoint를 위한 스위치 - Endpoint들이 네트워크를 처음 만날 때 가장 먼저 만나는 스위치 - Endpoint와 맞닿은 스위치 - 방 하나에 비교할 ..

[네트워크기초이론]#14. 패킷의 생성 원리와 캡슐화

데이터 단위 * socket: TCP라는 요소가 user mode application Process에 접근할 수 있도록 추상화한 인터페이스, 본질 = file - 모든 프로그램은 이 파일에 대고 Read나 Write를 한다. Socket 수준에서의 데이터 단위 - Stream - 시작은 있지만 언제 끝날지 모르는 쭉 늘어진 데이터 ( 개발자 마음) - socket과 TCP가 만나는 지점에서 분해가 일어난다 = Stream 데이터를 일정 단위로 자름 TCP 수준에서의 데이터 단위 - Segment Segment가 Encapsulation되면 - Packet Packet이 Encapsulation 되면 - Frame - Ethernet 네트워크면 Ethernet Frame User mode 프로그램을 개발..