CS/Network (Network) IP와 Subnet 에 대해서 2022. 1. 30. 19:22 IP 주소란? 컴퓨터 간의 통신을 하기 위해서는 각각의 위치 값을 알아야 한다. 각각의 기기에 대한 위치 값을 IP 주소라고 지칭한다. (IPV4) IPV4 주소 표기 방법 IPV4는 4개의 숫자를 가지며 각각은.(dot)으로 구분된다. 각각의 숫자는 옥텟이라고 일컬어진다. 아래 이미지와 같이 각각의 옥텟은 8비트 단위의 숫자이다. 즉 세상에 존재할 수 있는 IP의 개수는 2^32 개 (약 43억)가 된다. (각각의 비트는 0, 1이 올 수 있기 때문) IP주소는 약 43억 개 (2^16)의 주소를 대표할 수 있다. 약 43억 개의 IP 주소를 어떻게 하면 효율적으로 사용할 수 있을까? IP를 특정 단위로 쪼개어서 사용자들에게 부여하면 되겠다. 여기서 말하는 특정 단위가 클래스이다. 각각의 클래스는 첫 .. (Network) Domain Name System에 대해서 2020. 6. 7. 16:51 두대의 컴퓨터가 통신을 하기 위해서는 IP주소가 필수적으로 있어야 한다. 각각의 인터넷에 연결된 장치들을 Host라고 부른다. (네트워크에 연결되어있는 장치) 하지만 이러한 방식으로 IP 주소를 일일이 기억해서 접속하는 방식은 너무 비효율적이다. 이름으로 특정 Host에 접근하는 방법은 없을까? 모든 운영체제에는 옆과 같은 hosts 파일이 존재하고 해당 파일에 IP에 주소를 맵핑이 가능하다. 하지만 해커가 우리가 쓰고 있는 운영체제를 해킹해서 hosts 파일에 접근해서 조작을 한다면 해킹을 당할 위험이 커진다. ex) 신한은행 사이트와 비슷하게 만든 사이트를 만들어서 ip 조작 후 신한은행 도메인을 바라보게끔 만들어 버리면 우리는 눈뜨고 코베이는 격으로 돈을 갖다 바치게 된다. 93.184.216.34.. (Network) 3way handshaking & 4way handshaking 2020. 5. 10. 18:24 https://jwdeveloper.tistory.com/232 (Infra) SSL 인증서 인증서의 역할 클라이언트가 접속한 서버가 신뢰할 수 있는 서버임을 보장 SSL 통신에 사용할 공개키를 클라이언트에게 제공 CA 인증서의 역할은 클라이언트가 접속한 서버가 클라이언트가 의도한 서버가 맞는지.. jwdeveloper.tistory.com https://jwdeveloper.tistory.com/218?category=860421 (Infra) HTTP/1.1 VS HTTP/2 HTTP/1.1 HTTP/1.1 이란? 1996년 이후 가장 많이 사용하던 통신 프로토콜 연결 당 하나의 요청과 응답으로 처리하기 때문에 동시 전송 시 다수의 요청을 처리하는데 속도와 성능 이슈가 존재한다. 요청 jwdevelo.. (Network) TCP vs UDP 2020. 5. 10. 17:36 TCP/IP란? Transfer Control protocol / Internet protocol 인터넷 표준 프로토콜로서 컴퓨터 간의 데이터 송수신 중 에러가 발생하지 않도록 알맞게 나누어 전송하고 수신 시 이를 기존 정보로 변환하는 것을 약속해 놓은 것을 의미 데이터 흐름 관리 정확성 확인 패킷의 목적지 보장 데이터의 정확성 관리는 TCP , 패킷 관련 관리는 IP가 담당 TCP/IP 4 계층은 OSI 7 계층과는 다르며 4개의 계층은 응용계층 전송계층 인터넷 계층 네트워크 인터페이스 계층 으로 나뉘어있다. 전송 계층은 IP에 의해 전달되는 패킷의 오류를 검사하고 재 전송을 요구한다. 이곳에서 TCP UDP라는 두 종류의 프로토콜이 사용된다. 패킷 이란? 데이터를 보내기 위한 경로 설정을 효율적으로 .. (Network) SSL 인증서 2020. 4. 28. 18:34 인증서의 역할 클라이언트가 접속한 서버가 신뢰할 수 있는 서버임을 보장 SSL 통신에 사용할 공개키를 클라이언트에게 제공 CA 인증서의 역할은 클라이언트가 접속한 서버가 클라이언트가 의도한 서버가 맞는지를 보장하는 역할 이러한 역할을 보장하는 조직 : CA (Certificate Authority) - 상당히 신뢰할 수 있는 기관 사설 인증기관 사적인 서비스를 이용하면 굳이 CA를 통해 비용을 지불하지 않더라도 개인적으로 인증과정을 거칠 수 있다. SSL 인증서의 내용 서비스의 정보 (인증서를 발급한 CA, 서비스의 도메인 등등) 서버 측 공개키 (공개키의 내용, 공개키의 암호화 방법) 브라우저는 CA에 대해 알고 있다. 브라우저는 인증기관에 대한 정보를 가지고 있다. - 루트 인증기관에 대한 정보를 알.. (Network) HTTPS와 SSL 인증서(2) - 공개키 2020. 4. 28. 17:53 공개키 방식은 키가 두 가지가 존재한다. 대칭키 방식은 이전 포스팅에서 언급하였듯이 하나의 키를 사용하기 때문에 멀리서 통신하는 상황이라면 도중에 intercept 할 수 있다고 하였다. 공개키 방식은 두 개의 키를 갖기 때문에 A키로 암호화를 하면 B키로 복호화할 수 있고 B키로 암호화하면 a키로 복호화할 수 있는 방식이다. 두 개의 키 중 하나를 비공개 키로 하고 나머지는 공개 키로 지정한다. 비 공개키는 전송시키지 않는다는 점이 중요하다. 이때 공개키는 누구에게나 제공이 가능하다. 이렇게 하면 키를 전송하는 일이 발생하지 않기 때문에 멀리 통신하는 상황이라도 도중에 가로챌 수 없다. 공개키를 가진 사람이 암호화를 해서 비 공개키를 가지고 있는 사람에게 전송하는 경우 비밀키를 가진 사람이 암호화를 해.. (Network) HTTPS와 SSL 인증서(1) - 대칭키 2020. 4. 28. 13:01 HTTPS VS HTTP HTTP는 Hypertext Transfe Protocol의 약자이다. 이때 Hypertext는 문서와 문서가 링크로 연결되어있는 문서 체계이다. 이때 가장 중요한 문서 양식은 Html이다. 이 Html을 전 송하기 위한 전송 규약이 HTTP이다. HTTP나 HTTPS는 html을 전 송하기 위한 전송방식이라는 것은 동일하다. HTTPS의 S는 Over Secure Socket Layer의 약자로서 HTTP 보다 보안이 강화된 점을 볼 수 있다. HTTP는 암호화하지 않은 방법으로 데이터를 전송하기 때문에 서버와 클라이언트가 주고받는 메시지를 intercept 하는 것이 가능하다. HTTPS와 SSL HTTPS와 SSL은 같은 의미일까? 이것은 반은 맞고 반은 틀렸다. HTTPS.. (Network) HTTP/1.0 VS HTTP/1.1 2020. 4. 19. 17:11 HTTP/1.0과 HTTP/1.1의 가장 큰 차이는 지속 가능한 연결(keep-alive)을 명시적으로 선언해야 하는가에 있다. 이에 대한 내용을 차근차근히 살펴보자! 웹 초창기에는 다수의 TCP 연결에 대한 고려가 필요 없었다. 사이트에 콘텐츠 수가 그리 많지 않았기 때문이다. 하지만 기술력이 발전하면서 사이트에 콘텐츠 수가 증가하게 되었고 클라이언트와 서버 간의 요청과 응답이 어떻게 하면 빠르게 이루어질 수 있을까에 대한 연구가 진행되었다. HTTP/1.0과 HTTP/1.1 사이의 Keep-Alive HTTP/1.0 이후에 클라이언트와 서버 간의 요청과 응답을 어떻게 하면 빠르게 할 수 있을까에 대한 연구가 진행되었다. 대표적으로 아래의 두 가지 기법이 존재한다. keep-Alive Pipelinin.. (Network) HTTP/1.1 VS HTTP/2 2020. 4. 12. 22:50 HTTP/1.1 HTTP/1.1 이란? 1996년 이후 가장 많이 사용하던 통신 프로토콜 연결 당 하나의 요청과 응답으로 처리하기 때문에 동시 전송 시 다수의 요청을 처리하는데 속도와 성능 이슈가 존재한다. 요청과 응답이 순차적으로 처리한다. - HTTP 본문에 포함된 다수의 리소스를 처리할 요청을 처리하기 위해선 Latency가 길어지게 된다. Head Of Line Blocking - 특정 응답의 지연 HTTP/1.1는 하나의 연결당 하나의 요청을 처리하기 때문에 위와 같은 여러 단점들이 존재한다. 이러한 단점을 개선하기 위한 방법이 PIPELINING이다. PIPELINING 이란 하나의 연결에서 다수의 응답/요청을 할 수 있는 기법이다. 하지만 이 또한 문제점이 존재한다. 예를 들어 하나의 연결에.. 이전 1 다음