728x90

전체 글 176

[개념 정리/네트워크] HTTP 버전 1.0부터 3까지 변화 과정

HTTP 요청 기술은 버전 1.0부터 지금의 3까지 발전을 거듭해왔다. 각 버전별 특징과 변화에 대해 살펴보자. HTTP/1.0 HTTP/1.0은 1996년에 등장하여 수명이 짧은 연결이라고 한다. 각 HTTP 요청 당 한 번의 TCP 핸드셰이크가 발생하며, 기본적으로 한 연결 당 하나의 요청을 처리하도록 설계되었다. 연결할 때마다 TCP 연결을 다시 해야 하니 불필요한 연결이 반복되어 RTT(Round Trip Time)*이 늘어나는 문제점이 있었다. *RTT(Round Trip Time): 왕복 지연 시간, 신호를 전송하고 해당 신호의 수신 확인에 걸리는 시간을 더한 값이자, 어떤 메시지가 두 장치 사이를 와복하는 데 걸리는 시간. 이러한 문제를 해결하기 위해 나온 것이 HTTP/1.1이다. HTTP..

[개념 정리/네트워크] HTTP 헤더

사용자가 HTTP 요청을 하면 client와 server는 헤더(header)와 바디(body)를 주고 받는다. 바디(Body) 바디는 본문이라고 할 수 있으며, 서버에서 보내고자 하는 컨텐츠 본문인 JSON, html, image 등이 담긴다. 헤더(Header) 헤더는 바디를 설명하는 정보를 포함하여 여러가지 정보가 담긴 정보 묶음이다. 헤더는 콜론(:)으로 구별되는 key:value 형태로 설정된다. HTTP 요청 시 3가지의 일반 헤더, 요청 헤더, 응답 헤더가 자동으로 생성된다. 이 중 클라이언트가 설정하는 헤더가 요청 헤더, 서버에서 설정하는 헤더가 응답 헤더이다. 요청 헤더(Request Header) 요청 헤더는 클라이언트가 서버에 요청할 때 클라이언트가 설정하는, 또는 자동으로 설정되는 ..

[개념 정리/네트워크] 공인IP VS 사설IP, NAT

IP주소가 부족한 상황에서 공인IP(public IP)와 사설IP(private IP)를 구분하고, 중간에 NAT(Network Address Translation) 기술을 사용하여 IP주소 부족 문제를 해결한다. NAT(Network Address Translation) NAT는 패킷이 트래픽 라우팅 장치를 통해 전송되는 과정에서 패킷의 IP주소를 변경하고, IP주소를 다른 IP주소로 매핑하는 방법이다. 사설IP는 가상의 IP로, 동일한 공인IP를 사용하는 호스트끼리는 구별되지만 외부에서는 하나의 공인IP로 보여진다. NAT를 통해 내부 네트워크 IP가 노출되지 않는 것이 보안상 장점이다. 실생활에서 인터넷 회선 하나를 개통하여 공유기를 사용해 wifi를 만드는데, 이 경우 여러 대의 호스트가 하나의 ..

[개념 정리/네트워크] IP주소 체계 - 클래스풀 VS 클래스리스

아래 내용은 IPv4를 기반으로 한다. IP주소는 인터넷 주소로, 네트워크 주소와 호스트 주소, 두 부분으로 이루어진다. 네트워크 주소는 호스트들을 모은 네트워크를 지칭한다. 동일한 네트워크 주소 = 로컬 네트워크 호스트 주소: 호스트를 구분하기 위한 주소 네트워크 호스트(network host): 네트워크에 연결된 컴퓨터 또는 기타 장치 클래스풀 IP주소 체계(Classful IP Addressing) 네트워크 주소를 매기고, 그에 따라 네트워크의 크기를 다르게 구분하여, 클래스를 할당하는 주소체계이다. 구분하는 기준자 (1, 2, 3 옥텟)를 서브넷마스크라고 한다. Byte 1 Byte 2 Byte 3 Byte 4 Class A Net ID Host ID Class B Net ID Host ID Cl..

[개념 정리/네트워크] IPv4 VS IPv6 비교 정리

IP주소는 인터넷 주소로, IPv4와 IPv6 두 개의 버전으로 나뉜다. IPv4 IPv4는 32비트로 표현되는 주소 체계로 2^32개(41억 9천만 개)의 주소를 표현할 수 있다. 8비트 단위로 점을 찍어, 4개의 부분으로 구분하여, 8비트를 10진수로 표현한다. 현 시대에는 IPv4 주소 체계만으로는 부족하기 때문에, NAT, 서브네팅 등 여러 부수적인 기술을 함께 사용 중이다. 172 . 16 . 254 . 1 10101100 00010000 1111110 00000001 ---8bits--- ---8bits--- ---8bits--- ---8bits--- 32bits (4bytes) *8비트 = 옥텟 = 바이트 IPv6 IPv6는 128비트로 표현되는 주소 체계이며, 2^128개의 주소를 표현할 ..

[키워드 정리/네트워크] IP주소, MAC주소, ARP&RARP

IP주소(Internet Protocol address) IP주소는 논리적 주소이며, 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신 하기 위해 사용하는 특수한 번호이다. 여기서 논리적이란 가변적이라는 의미이다. IP를 기반으로 통신한다고 이야기하지만, 실제로는 그 아래 물리적 주소인 MAC주소를 통해 통신한다. MAC주소(Media Access Control address) MAC주소는 네트워크 인터페이스에 할당된 고유 식별자이다. 일반적으로 장치의 NIC(Network Interface Card, LAN 카드)에 할당된다. MAC주소는 48비트로 이루어지며, 24비트의 OUI와 24비트의 UAA로 이루어진다. OUI(Organizationally Unique Identifier): IEEE*(Ins..

[개념 정리/네트워크] 라우팅

라우팅(routing) 라우팅은 네트워크에서 데이터(패킷)을 보낼 때 최적의 경로를 선택하는 과정이다. 라우터는 라우팅을 실행하는 기계다. 데이터가 출발지에서 목적지로 가는 동안 여러 개의 라우터를 거치며, 여러 번의 라우팅을 수행한다. 일반적으로 라우팅은 초당 수백만번 일어난다. 라우터(router) 라우터는 네트워크 사이에서 데이터를 전달하는 장치이며, 보통 둘 이상의 서로 다른 네트워크에 연결된다. 데이터(패킷)을 목적지로 보낼 때 최적의 경로를 결정하고 경로가 결정되면 해당 경로로 데이터를 넘겨주는 일(라우팅)을 수행한다. 라우터는 라우팅 테이블을 기반으로 데이터를 다음 목적지로 전달한다. 라우팅 테이블(routing table) 라우팅 테이블은 IP주소를 기반으로 라우터의 위치를 저장한 테이블 ..

[AWS EC2] no space left on device 에러 트러블 슈팅

AWS EC2에 접속하여 docker run을 실행하니 어쩌구 저쩌구 ~ no space left on device. 라는 문구가 나오며 docker가 실행되지 않았다. 에러 메시지를 검색해보니 device 상에 사용할 수 있는 용량이 없다는 의미라고 한다. EC2 용량을 이미 다 사용했다는 의미였다. df -h 명령어로 사용률을 확인해볼 수 있다고 하여 입력해보았는데, df -h 사용률이 아래와 같이 100%였다. EC2에 있는 불필요한 폴더와 파일을 모두 삭제하여 사용률을 99%로 낮췄지만 docker를 실행시키는 데에 효과는 없었다. 조금 더 검색해보니 AWS에 접속하여 EC2의 용량을 확장할 수 있다는 걸 알게 됐다. 지금까지의 용량은 8GB. 블로그 글들을 보니 30GB까지는 무료라고 하는데, ..

환경 2023.07.12

[개념 정리/네트워크] TCP/IP 4계층 - 인터넷 계층

인터넷 계층은 IP, ICMP, ARP가 대표적이며, 한 노드에서 다른 노드로 전송 계층에서 받은 세그먼트 또는 데이터그램을 패킷화 하여 전송한다. ICMP(Internet Control Message Protocol) ICMP는 노드와 노드 사이 통신이 잘 되는지 여부를 확인할 때 사용하는 프로토콜이다. testing용으로 데이터를 교환하는 데 사용되지 않는다. IP와 달리 TCP 또는 UDP와 같은 전송 계층 프로토콜과 연관되지 않는 독립적인 비연결형 프로토콜이다. 대표적인 testing인 ping은 ICMP를 기반으로 한다. * 중요성이 높은 IP와 ARP는 별도의 게시물로 정리 참고: inflearn 강의 'CS 지식의 정석 - 큰돌'

[개념 정리/네트워크] TCP/IP 4계층 - 전송 계층

전송 계층은 TCP, UDP가 대표적이며, 애플리케이션 계층에서 받은 메시지를 기반으로 세그먼트 또는 데이터그램으로 데이터를 쪼개고 데이터가 오류 없이 순서대로 전달되도록 도움을 주는 계층이다. TCP(Transmission Control Protocol) 가상 회선 패킷 교환 방식: 데이터의 순서가 지켜진다. 오류 검사 메커니즘 재전송: 시간 초과되면 서버는 전달되지 않은 데이터에 대해 재전송을 시도한다. 체크섬: 체크섬을 통해 무결성을 평가한다. 즉, 송신된 데이터의 체크섬과 수신된 데이터의 체크섬 값을 비교하여 올바르게 전달되었는지 확인한다. 헤더: 20~60바이트로 가변적이다. UDP(User Datagram Protocol) 데이터 그램 패킷 교환 방식: 순서가 지켜지지 않는다. 오류검사: 단순..

728x90