DNS란? 도메인 이름을 IP 주소로 변환하거나, IP 주소를 도메인 이름으로 변환하는 인터넷 서비스입니다. 간단하게 말하면 인터넷에서 사용하는 주소(jja2han.tistory.com)를 해당 도메인 이름에 대응하는 IP주소로 매핑해 주는 시스템입니다. DNS가 왜 필요하나? 모든 서버는 IP주소를 가지고 있습니다. 따라서 DNS가 없다면 사용자들은 해당 서버에 접속하기 위해서는 IP주소를 외우고 입력해야합니다. IP주소는 숫자와 점의 조합으로 이루어진 주소이기에 , 굉장히 귀찮고 불편합니다. (123.123.121.123.xxxx ) -> www.example.com 이러한 귀찮음과 불편함을 해결하기 위해서, DNS가 생겨났고, DNS를 통해서 IP주소를 영문 주소로 매핑해서 사용할 수 있게 됩니다...
HTTP HTTP(Hyper Text Transfer Protocol)은 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜이며, 웹 브라우저와 웹 서버간의 통신을 위해 만들어졌습니다. HTTP1.1의 단점을 보완해서 나온 버전이 HTTP/2입니다. HTTP/2를 설명하기 이전에 HTTP 1.1과 HTTP/2.0의 차이점에 대해서 설명해보겠습니다. 우선 HTTP 1.1방식의 단점은 아래와 같습니다. 기본적으로 HTTP 1.1은 Connection당 하나의 요청을 처리하도록 설계되었습니다. 그리고 요청의 순서는 순차적으로(FCFS) 진행해줍니다. 하지만 이러한 방식은 순서가 명확하게 정해져 있기에, 문제점이 있었습니다. 처리하기 쉬운 오브젝트도 순서가 뒤로 밀려있으면, 자기 순서가 올 때까지..
📕Cookie 쿠키는 문자와 숫자의 조합으로 된 작은 파일이다. 서버는 쿠키를 통해서 클라이언트를 식별하고 이에 맞춰 다양한 서비스를 제공한다. 아마존 사이트에 들어가면 내가 보았던 상품 목록을 보여 주는 데, 이런 것들이 모든 쿠키를 이용하기 때문에 가능한 것이다. 사용자가 특성 사이트에 처음 접속하면 그 사이트 서버는 사용자에게 Cookie header라는 숫자를 부여해 준다. 브라우저는 부여받은 Cookie header와 사이트 이름을 조합하여 만들어진 쿠키 파일을 사용자의 컴퓨터에 저장한다. 이후 사용자가 그 사이트에 접속할 때 마다 해당 쿠키 파일을 보내주면 서버는 이를 통해서 사용자를 식별할 수 있다. 즉 웹 사이트와 클라이언트 브라우저는 쿠키를 사용하여 트랜잭션 간의 상태를 유지합니다 그러기..
📕웹과 HTTP 🔎웹 웹 페이지는 base HTML FILE + referenced object로 구성되어 있다. 이때 각 object들은 URL을 통해 addressable 된다. URL : Uniform Resource Locator의 약자이다. 오브젝트는 HTML file, JPEG, image, Java applet, audio file 등이 있다. https://jja2han.tistory.com/~~~ 위 주소는 제 블로그 주소입니다. 이 URL을 하나하나 뜯어보면 https:// (이 부분이 프로토콜입니다. 나는 https 프로토콜을 쓰고 있다~라는 뜻입니다) https는 http에 보안이 강화된 버전이라고 생각하시면 됩니다. 그 뒤에 jja2han.tistory.com 부분이 Host가 될..
문제 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로로 이동하려 한다. 최단경로는 맵에서 가장 적은 개수의 칸을 지나는 경로를 말하는데, 이때 시작하는 칸과 끝나는 칸도 포함해서 센다. 이동하지 않고 같은 칸에 머물러있는 경우도 가능하다. 이 경우도 방문한 칸의 개수가 하나 늘어나는 것으로 생각해야 한다. 이번 문제에서는 낮과 밤이 번갈아가면서 등장한다. 가장 처음에 이동할 때는 낮이고, 한 번 이동할 때마다 낮과 밤이 바뀌게 된다. 이동하지 않고 같은 칸에 머무르는 경우에도 낮과 밤이 바뀌게 된다. 만약에 이동하는 도중에 벽을 부수고 이동하는..
Application Layer는 프로토콜 스택에서 가장 상위 계층이다. Application layer는 eny system 들에게 여러 가지 서비스를 제공받거나 받는 부분을 책임진다. 즉, 이메일, 파일전송, 웹 서핑 등과 같은 서비스를 제공하고 제공받기 위해서 어떤 형식으로 메시지를 주고받아야 하는지의 프로토콜이 ㅁ여있는 계층이라고 생각하면 편합니다. Application Layer는 두가지 구조가 있습니다. Client - Server 구조와 P2P 구조가 있습니다. Client - Server 구조 컴퓨터와 컴퓨터가 통신하는 구조. 클라이언트가 요청하면 서버가 응답하는 방식. Client 서비스를 제공받는(요청하는) 호스트 ex) 데스크톱 , 스마트폰, 노트북, 태블릿 Server 서비스를 제공..
💡프로토콜이란? 통신에서 프로토콜은 기기 간에 데이터가 전달되기 위해 정한 규칙과 약속을 말합니다. 프로토콜은 데이터의 전송 형식, 전송 순서, 오류 검출 방법 등을 정의합니다. 인터넷에서 가장 많이 사용되는 프로토콜은 TCP/IP(인터넷에서 데이터를 안정적으로 전송하기 위한 규칙) HTTP(웹 브라우저와 웹 서버 간의 통신을 위한 규칙을 제공) 무작정 교환하는 것이 아닌, 서로 정한 약속을 지키면서 데이터가 전달됩니다. 프로토콜 stack은 5개의 layer로 이루어져 있습니다. 잘 알려진 OSI 5 계층이라고도 합니다. 📗OSI 5계층 📕Application Layer (응용 계층) 통신망으로 연결된 응용 프로세서들의 정보 교환이 이루어지는 곳 프로토콜을 정의하는 계층. 클라이언트의 메시지가 메일인지..
Circuit Switching의 가장 큰 장점은 유일한 회선 사용에 의한 빠른 데이터 전송이다. 무시할 수 없는 장점이지만, 점차 네트워크가 복잡해지고, 데이터의 양이 많아지면서 전송 속도가 떨어지는 문제점이 발생했다. 그리고 회선끼리 전환이 안되기에, 한 번 정해진 회선을 쭉 그것만 전송해야 하기에 , 낭비가 생기는 것과 같은 단점도 있다. 이를 해결하기 위해서 Packet Switching이 등장했다. Packet Switching은 Circuit Switching 보다 전송 용량을 더 잘 공유하고 Circuit Switching보다 구현이 간단하고 효율적이며, 구현 비용이 적다. Circuit Switching은 필요에 따라 링크 사용을 할당 즉 링크를 효율적으로 사용할 수 있다. Circuit ..
네트워크 구성 우리가 항상 사용하는 스마트폰과 PC는 네트워크와 연결되어 있어 다양한 일들을 할 수 있다. 막연히 그냥 서로 연결되어 있다고 생각하면 마음이 편하지만, 그래도 네트워크가 어떻게 구성되어 있는지 조금 더 자세히 살펴보겠습니다. 네트워크는 크게 3가지로 구성되어 있습니다. 네트워크 에지 액세스 네트워크 네트워크 코어 네트워크 에지(Network Edge) 빨간색 체크된 부분들이 Network Edge입니다. 각 네트워크의 가장 가장자리입니다. 여기에는 수많은 end system들이 존재합니다. endsystem이란 앞선 글에서 설명했는데, host라고 생각하면 됩니다. host는 클라이언트나 서버를 뜻합니다. 즉 end system은 사용자들이 사용하는 스마트폰입니다. 요약하자면 네트워크 에..