본문 바로가기

CS/Networking

(12)
01/11 TCP VS UDP TCP VS UDP TCP는 Transmission Control Protocol의 약자이고, UDP는 User Datagram Protocol의 약자이다. 두 프로토콜은 모두 패킷을 한 컴퓨터에서 다른 컴퓨터로 전달해주는 IP 프로토콜을 기반으로 구현되어 있지만 , 서로 다른 특징을 가진다. TCP 데이터 송수신 과정 UDP 데이터 송수신 과정 즉, 신뢰성이 요구되는 애플리케이션에서는 TCP를 사용하고 간단한 데이터를 빠른 속도로 전송하고자 하는 애플리케이션에서는 UDP를 사용. TCP(Transmission Control Protocol) TCP는 네트워크 계층 중 전송 계층에서 사용하는 프로토콜로서, 장치들 사이에 논리적인 접속을 성립(establish)하기 위하여 연결을 설정하여 신뢰성을 보장하는..
01/10 TCP 프로토콜 연결/종료 과정 3-way handshaking(연결 과정) 3-way hanshake란? TCP 통신을 이용하여 데이터를 전송하기 위해 네트워크 연결을 설정(Connection Establish)하는 과정 양쪽 모두 데이터를 전송할 준비가 되었다는 것을 보장하고, 실제로 데이터 전달이 시작하기 전에 한 쪽이 다른 쪽이 준비되었다는 것을 알 수 있도록 한다. 즉, TCP/IP 프로토콜을 이용해서 통신을 하는 응용 프로그램이 데이터를 전송하기 전에 먼저 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정을 의미한다. A 프로세스(Client)가 B프로세스(Server)에 연결을 요청 a. A -> B: SYN 접속 요청 프로세스 A가 연결 요청 메시지 전송(SYN) 송신자가 최초로 데이터를 전송할 때..
01/09 브라우저에서 구글(서버 응답)까지 흐름 1. 브라우저의 URL 파싱 URL을 입력 받은 브라우저는 일단 이 URL의 구조를 해석, 어떤 포트로 보낼지 해석하게 된다. 기본적인 URL의 구조는 아래와 같다 어떤 프로토콜을 통해 해당 URL에 요청할 것인지 어떤 URL로 요청할 것인지 어떤 포트로 요청할 것인지 브라우저에서 각각 프로토콜, URL, 포트를 해석하여 분석합니다. 명시적으로 포트를 선언하지 않았다면 브라우저에서는 설정된 기본값을 이용해 요청하게 됩니다. HTTP라면 80 포트를, HTTPS라면 443 포트를 기본 값으로 요청하게 된다. 2. HSTS 목록 조회 HSTS(HTTP Strict transport security), HTTP를 허용하지 않고 HTTPS를 사용하는 연결만 허용하는 기능입니다. 만약 HTTP로 요청이 왔다면 H..
01/06 세션 기반 인증 VS 토큰 기반 인증 인증(Authentication) 사용자가 누구인지 확인하는 절차로, 대표적으로 회원가입, 로그인 과정이 있다. 일반적으로 웹 서버는 HTTP 즉, stateless 프로토콜을 사용하기 때문에 웹사이트에서 사용자가 로그인한 회원인지에 대한 인증을 관리하는 방안이 필요하다. 인가(Authorization) 사용자가 요청(Request)하는 동작을 할 수 잇는 권한이 있는지 확인하는 절차이다. 예를들어, 글을 수정하거나 삭제하는 작업은 권한이 있는 사용자만 가능, 이때 권한이 있는지 여부를 확인하는 절차를 인가라고 한다. 서버(세션) 기반의 인증 시스템 서버 측에서 사용자들의 정보를 기억하는 방식. 사용자들의 정보를 기억하기 위해서는 세션을 유지해야 하는데, 메모리나 디스크 또는 데이터베이스 등을 통해 관리..
01/05 IPv4 VS IPv6 01/05 IPv4 VS IPv6 IPv4 란? 인터넷에서 연결된 각 장치에는 정보를 주고 받을 수 있는 주소가 필요합니다. 그래서 80년대의 컴퓨터 과학자들은 IPv4를 발명하여 이 문제를 해결하였습니다. 이 인터넷 프로토콜은 약 43억 개의 고유한 IP주소를 가질 수 있는 32비트 숫자 주소를 도입했습니다. 하지만, 40년 후 수백만 명의 사람들이 각각 최소한 2개 이상의 인터넷 연결 장치를 가지게 될 것은 짐작 할 수 없었습니다. 이는 곧 IPv4가 전세계의 사람들에게 충분한 IP 주소를 제공 할 수 없다는 것이 분명해졌습니다. 설상가상으로 IPv4 초기에는 대기업에게 수십억개의 IP 주소가 할당 되었고, 이 기업들은 아직까지 그 주소들을 사용하지 않았지만 이를 세상에 돌려주는 것도 거부 하고 있습..
01/04 도메인 01/04 도메인 Domain(도메인)이란? 도메인은 웹브라우저를 통해 특정 사이트에 진입을 할때, IP 주소를 대신하여 사용하는 주소이다. 도에인을 이용해서 한눈에 파악하기 힘든 IP 주소를 보다 분명하게 나타낼 수 있다. 만약 IP 주소가 지번 또는 도로명 주소라면, 도메인 이름은 해당 주소에 위치한 상호로 볼 수 있다. 도메인과 URL의 구조 URl(Uniform Resource Locator) 네트워크 상에서 특정 정보 자원의 종류와 위치를 찾기 위해 나타내는 일련의 규칙. 우리가 흔히 혼용해서 쓰는 인터넷 주소(도메인)와 경로, 이메일, 파일 등의 모든 네트워크 정보 데이터(종류와 위치)를 포함한 주소. 도메인 구조 및 구성이해 최상위 도메인(TLD : Top Level Domain) 도메인 체..
01/03 OCI 7 Layer, TCP/IP 4 Layer 01/03 라우터 OSI 7 계층 OSI 7계층을 이용하면 네트워킹 시스템에서 일어나는 일들을 시작적으로 쉽게 설명할 수 있다. 이 계층을 활용한다면 네트워크 관리자는 문제의 원인의 범위를 좁혀 문제 해결에 도움을 준다. 7계층 - Application Layer 응용 계층 사용자와 직접적으로 상호 작용하며 눈에 보이는 부분이다. 크롬, 사파리 등 웹 브라우저와 MS Office 등 응용 프로그램이 대표적이다. -> User Interface를 제공하는 계층 6계층 - Presentation Layer 표현 계층 응용 계층의 데이터 표현에서 독립적인 부분을 나타내며, 응용 프로그램이나 네트워크를 위해 데이터를 "표현" 하는 것이다. ** 암호화, 복호화, 코드 변환 등을 수행 -> 데이터의 변환 작업을 ..
01/03 라우터 라우터 (Router) 라우터는 패킷의 위치를 추출하여, 그 위치에 대한 최적의 경로를 지정하며, 이 경로를 따라 데이터 패킷을 다음 장치로 전향시키는 장치입니다. 이때 최적의 경로는 일반적으로는 가장 빠르게 통신이 가능한 경로이므로, 이것이 최단 거리 일수도 있지만, 돌아가는 경로라도 고속의 전송로를 통하여 전달이 되는 경로가 될 수 있습니다. 즉, 라우터(Router)는 이름 그래도 네트워크와 네트워크 간의 경로(Route)를 설정하고 가장 빠른 길로 트래픽을 이끌어주는 네트워크 장비 또한 라우터의 대표적인 기능은 네트워크와 네트워크를 연결하는 것이지만, NAT(Network Address Translation), 방화벽, VPN(Virtual Private Network), QoS(Quality o..