books/Network 8

8. 네트워크 접속 장치

@notion 라우터(router) LAN을 서로 연결시켜주는 장치 라우팅 테이블로 최적의 데이터 이동 경로 안내 라우팅 테이블: 최종 목적지의 IP 주소와 목적지에 도달하기 위해 경유해야 할 인근 라우터의 정보가 담긴 테이블 e.g. 공유기: WAN 연결부에 인터넷 케이블 연결 시 라우터의 역할 이더넷(ethernet) 같은 지역의 네트워크인 LAN을 유선으로 구현하는(규격화한) 기술 방식 - IEEE 802.3 설치하는 데 드는 비용이 적고 속도도 빨라 대부분의 유선 인터넷 환경에서 사용 어떤 속도와 구성으로 설치하는지에 따라 다양한 규격으로 구분 가능 신호 충돌 발생 시 정해진 시간만큼 대기하는 CSMA/CD 방식 사용 이더넷 규격 e.g. 1000BASE-T 1000: 속도 BASE: 채널 종류 ..

books/Network 2024.01.26

7. HTTP 특징과 데이터 저장 방식

@notion 무상태 프로토콜(stateless protocol) 이전 요청과 응답에 대한 정보를 서버에서 따로 저장하지 않는 프로토콜 서버를 단순하게 설계 가능하나 요청마다 추가 정보를 전달해야 함 e.g. HTTP, IP, UDP TCP는 신뢰성을 보장해야 하므로 상태 프로토콜(stateful protocol) 클라이언트 기반 저장소 쿠키 키/값의 형태, 문자열만, 한 개 키에 최대 4KB까지 저장 클라이언트와 서버 둘 다 접근 가능 서버는 응답 메시지 안에 Set-Cookie 헤더를 추가하여 쿠키 정보 전송 종류 세션 쿠키: 만료 기간 X, 브라우저 종료 시 삭제 영구 쿠키: 만료 기간 O 장점: 작은 크기의 데이터를 쉽게 저장할 수 있음 단점: 누구나 쉽게 접근 가능하여 보안에 취약, 개인 정보 ..

books/Network 2024.01.17

6. HTTP

@notion HTTP(Hypertext Transfer Protocol) 웹 브라우저와 웹 서버 간에 데이터를 주고 받기 위해 사용하는 프로토콜 특징 클라이언트/서버 모델을 따름 요청하고 응답하는 과정에서 클라이언트와 서버는 HTTP 메시지를 주고 받음 요청 메시지: 클라이언트 → 서버 (예시 - 주문서) 응답 메시지: 서버 → 클라이언트 (예시 - 영수증) 무상태성(stateless): 클라이언트와 서버가 첫 번째 통신에서 주고 받은 데이터(상태)를 두 번째 통신에서 유지하지 않음 비연결성(connectionless): 클라이언트와 서버가 연결을 맺은 후 클라이언트의 요청에 서버가 응답을 마치면 연결이 끊어짐 HTTP 메시지 요청 메시지: 클라이언트 → 서버, 예시) 주문서 요청 메서드: 요청하는 데..

books/Network 2024.01.17

5. TCP

@notion 💡 패킷 교환 방식의 문제점 = 중간에 사라지는 패킷이 생겨 부족한 데이터가 될 가능성 → 오류를 감지하고 해결하여 데이터가 온전히 전송될 수 있게 하는 프로토콜인 TCP TCP(Transmission Control Protocol) 신뢰성 있는(오류 없는) 데이터 통신을 보장하는 프로토콜 패킷마다 번호를 붙여 사라진 패킷을 파악 클라이언트가 데이터를 응답 받고 난 뒤 서버에게 데이터를 잘 받았다는 메시지 전달 연결형 프로토콜: 데이터를 주고받기 전에 미리 클라이언트와 서버가 서로 통신할 준비가 됐는지 확인해 연결 오류로 인한 데이터 유실을 방지 연결 수립 → 3방향 핸드셰이크 연결 해제 → 4방향 핸드셰이크 TCP 헤더 헤더 모든 프로토콜은 데이터의 앞에 해당 데이터에 대한 정보가 담긴 ..

books/Network 2024.01.09

4. IP

@notion IP(Internet Protocol) 인터넷에서 데이터를 주고받을 때 사용하는 통신 규약 데이터를 작게 자른 패킷을 목적지(IP 주소)까지 전달 패킷 교환 방식: 통신 도중 문제가 생겼을 때 그 부분만 다시 보내면 되는 원리, 패킷별로 최적의 경로를 선택해 이동하므로 회선을 효율적으로 이용하고 특정 경로에 문제가 생겨도 다른 경로로 이동하는 패킷은 안정적임 패킷의 손실이나 중복 같은 상태 이상은 확인하지 않음 비신뢰성: 패킷의 상태 이상 보장X 비연결성: 목적지에 잘 전달됐는지 보장X IP 주소 IPv4: 4개의 옥텟(8비트) 총 32비트, 각 자리는 0~255 예시) 192.168.0.1 → 11000000.10101000.00000000.00000001 네트워크 부분과 호스트 부분으로..

books/Network 2024.01.07

3. URL

@notion URL(Uniform Resource Locator) 특정 웹 자원을 구별할 수 있는 고유한 주소 사용자가 원하는 자원을 정확히 찾아갈 수 있게 함 URI: URL과 URN을 모두 포함함 URI(Uniform Resource Identifier): 자원을 구분할 수 있는 유일한 식별자 URN(Uniform Resource Name): 자원의 변하지 않는 고유한 이름 예시) 책의 위치 = URL, 책의 번호 = URN HTTP URL의 구조 http://www.example.com:80/path/to/myfile.html?key1=value&key2=value2 http: 프로토콜 해당 자원을 얻기 위해 어떤 통신 규약을 사용하는지 나타냄 www.example.com: 호스트 주소 우리가 접..

books/Network 2024.01.05

2. 미리 알아두면 좋은 네트워크 개념

@notion 컴퓨터 네트워크 컴퓨터 사이에서 데이터를 주고받는 통신망 LAN(Local Area Network) 집, 학교, 회사 등 지리적으로 가까운 기기들이 서로 연결된 소규모 네트워크 여러 기기들이 중심 기기에 연결된 형태 e.g. 공유기를 중심으로 연결된 컴퓨터 비교적 간단하게 구현 가능, 오류 적음, 속도 빠름 WAN(Wide Area Network) 지역, 국가 등 넓은 영역을 연결하는 광역 네트워크 e.g. 인터넷 주로 소규모 네트워크가 서로 통신할 수 있게 연결한 것 개인이 구현하기는 어려우며 인터넷 서비스 제공자가 회선을 설치함 비교적 복잡한 구조, 오류 발생 확률 큼, 속도 느림 OSI 7계층과 TCP/IP 4계층 OSI 모델 통신 과정을 7단계로 구분하고 단계별 표준을 정의한 것 네..

books/Network 2023.12.27

1. 웹

@notion WWW(World Wide Web) 인터넷에 연결된 컴퓨터들이 서로 정보를 공유하는 공간 하이퍼텍스트 형식으로 이루어진 문서를 연결함 문서를 자유롭게 넘나들며 원하는 정보만 찾을 수 있음 하이퍼링크: 한 문서에서 다른 문서로 넘어갈 수 있는 연결 고리 하이퍼텍스트: 하이퍼링크를 포함한 문서 웹 페이지: 하이퍼텍스트 형식으로 작성된 문서로, 이들이 모여 웹 사이트를 이룸 네트워크 컴퓨터가 서로 연결되어 구성된 망 인터넷: 전 세계의 네트워크를 하나로 연결한 거대한 네트워크 시스템 웹 구성 요소 HTML URL(Uniform Resource Locater): 특정 웹 자원의 위치를 찾는 역할을 하는 웹 주소 HTTP(Hypertext Transfer Protocol): 이와 같은 일련의 약속을..

books/Network 2023.12.27