728x90
반응형

2023/10/02 7

웹 브라우저 요청 흐름

Intro 본 포스팅에서는 웹 브라우저 요청 흐름에 대해 간단히 다룬다. 웹 브라우저 접속 상황 가정 웹 브라우저의 IP : 100.100.100.1 웹 브라우저에서 접속할 구글 서버 IP : 200.200.200.2 URL : https://www.google.com/search?q=hello&hl=ko 요청 흐름 주어진 URL 기반으로 IP와 Port를 찾아내고자 한다. www.google.com.이라는 이름을 가진 IP를 DNS server에 조회한다. scheme(protocol)이 https: 이므로 port는 자동으로 443으로 할당된다. 아래와 같은 HTTP request packet을 생성하여 보낸다. 전송 과정 google server는 수신한 HTTP request packet을 기반으..

CS/Network 2023.10.02

URI

Intro 본 포스팅에서는 URI에 대해 다룬다. URI? URL? URN? 다양한 용어들이 있다. 이 용어들을 다음과 같이 정리가능하다. | "URI는 Locater, Name 또는 둘다 추가로 분류될 수 있다." ref : https://www.ietf.org/rfc/rfc3986.txt - 1.1.3. URI, URL, and URN 다이어그램으로 나타내면 다음과 같다. URI(Uniform Resource Identifier) : 리소스를 식별할 수 있는 개념 URL(Uniform Resource Locator) : 위치를 통해 리소스를 식별할 수 있는 것 URN(Uniform Resource Locator) : 이름을 통해 리소스를 식별할 수 있는 것 ref : https://www.ietf.o..

CS/Network 2023.10.02

DNS

Intro 본 포스팅에서는 DNS에 대해 다룬다. IP의 가변성 IP 주소는 가변적이다. 즉, 변경될 수 있단 이야기이다. 기본적으로 IP를 할당 받는 상황을 가정하자. 집에서 랩탑을 사용하다가 카페에 가서 랩탑을 사용하면 IP주소가 달라진 것을 볼 수 있다. 이 이유는 한 노드가 IP를 할당 받을 때, DHCP server로부터 할당받기 때문이다. 그 외에도 다양한 이유로 IP 주소가 변경될 수 있다. 그러므로, 네트워크 통신 상에서 달라진 IP에 대해 사용자는 어떻게 안정적인 통신을 할 수 있을까? DNS(Domain Name System) 전화번호부 라고 생각할 수 있다. 도메인 명을 IP 주소로 변환해주는 시스템이다. google server의 IP주소가 바뀌어도, 우리가 접속할 때는 google..

CS/Network 2023.10.02

Port

Intro 본 포스팅에서는 Port에 대해 다룬다. IP 기반 통신의 의문점 노드끼리 통신을 주고 받을 때, 한 IP(노드)에서 여러개의 프로세스를 운영한다. e.g. 일반적으로 한 사용자가 컴퓨터에서 문서작업을 진행하며, 카카오톡도 이용하고, 웹 서비스로 이메일을 이용할 수도 있다. 이 때 여러 프로세스(어플리케이션)을 구분할 수 있는 식별자가 필요하다. 이 식별자로 Port가 쓰인다. Port란 같은 IP 내에서 프로세스를 구분할 수 있는 식별자이다. 0 ~ 65535까지 할당 가능하다. 0 ~ 1023을 well-known port라고 불리우며, 사용자가 직접 사용하지 않는 것이 좋다. FTP : 20, 21 TELNET : 23 HTTP : 80 HTTPS(HTTP + tls/ssl) : 443 ..

CS/Network 2023.10.02

TCP, UDP

Intro 본 포스팅에서는 전송계층 프로토콜인 TCP, UDP 에 대해 다룬다. 인터넷 프로토콜 스택의 4계층 인터넷 상에서 통신을 주고 받을 때, 기본적으로 이 네 계층을 통해서 통신을 주고 받는다고 볼 수 있다. 통신 Overview 한 clinet가 "Hello, world!"라는 메시지를 인터넷 망에서 보내려고 할 때, 이 data payload가 각 계층을 지나간다. 이 때, 각 계층을 통과하며 header가 encapsulate된다. application layer에서는 socket library를 통해 전달된다. 전송 계층에서는 TCP/UDP 등의 header를 붙인다. 인터넷 계층에서는 IP header를 붙인다. 최종적으로 네트워크 인터페이스 계층에서는 MAC 주소를 기반으로 ethern..

CS/Network 2023.10.02

대칭키 암호 시스템, DES와 AES

Intro 본 포스팅에서는 대칭키 암호 시스템 중 DES와 AES에 대해 다룬다. DES(Data Encryption Standard) 1973년 미국의 연방 표준국(National Bureau of Standards, NBS, 현재의)에서 DES 공모 IBM은 자사의 루시퍼(Lucifer)를 제출하였다. 미 연방 표준국은 1977년 루시퍼를 수정하여 DES로 선정하였다. FIPS PUB 46 국가안보국(National Security Agency, NSA)는 루시퍼에서 사용된 64비트 키를 56비트로 변경함 Most widely used block cipher in world 64-bit 데이터 블록, 56-bit 암호키를 사용한다. 현재는 DES를 사용하지 않고 3-DES(triple DES)와 AE..

Security 2023.10.02

대칭키 암호 시스템

Intro 본 포스팅에서는 대칭키 암호 시스템의 개요에 대해 다룬다. 대칭키 암호 시스템이란? 네트워크 통신 상에서, 노드들은 정보의 기밀성, 무결성 등을 위해 정보를 암호화하고 주고 받는다. 이 때 암호화 및 복호화에 사용하는 키가 같을 경우 대칭키 암호 시스템 에 기반한 암호화 통신 방식을 사용한다고 볼 수 있다. 혼돈(Confusion)과 확산(Diffusion)의 원리 혼돈(Confusion)과 확산(Diffusion)의 원리는 정보이론 학자인 _샤논_의 제안이다. 혼돈(Confusion) 키와 암호문과의 관계를 감추는 성질이다. 현대 블럭암호는 혼돈을 위해 치환(Substitution)을 사용한다. 확산(Diffusion) 평문과 암호문과의 관계를 감추는 성질이다. 평문의 한 비트가 암호문의 모..

Security 2023.10.02
728x90
반응형