728x90
반응형

CS 20

[네트워크] TLS/SSL HandShake

TLS / SSL 이란? SSL(Secure Sockets Layer)은 보안 프로토콜로서, 개인정보 보호, 인증, 무결성 을 인터넷 통신에 제공한다. SSL/TLS를 사용하는 웹사이트의 URL에는 "HTTP" 대신 "HTTPS" 가 있다. SSL 이란 명칭은 TLS(Transport Layer Security)로 발전했다. 최근 명칭: TLS(Transport Layer Security) 과거 명칭: SSL(Secure Sockets Layer) SSL의 인지도가 크기 때문에 TLS을 SSL로 부르며 사용한다. Certificate Authority(CA)라 불리는 서드 파티로부터 서버와 클라이언트의 인증을 하는데 사용된다. 주로 전송계층과 응용계층 사이에서 보안조치를 하는데 사용하게 된다. SSL (..

CS/Network 2023.06.28

[네트워크] HTTP와 HTTPS의 차이점

HTTP는 암호화가 추가되지 않았기 때문에 보안에 취약한 반면 HTTPS는 안전하게 데이터를 주고 받을 수 있습니다. 다만, HTTPS는 암호화/복호화 과정이 필요하기 때문에 요즘은 거의 큰 차이를 못느끼지만 HTTP보다 속도가 느리고 인증서를 발급하고 유지하기 위한 추가비용이 발생할 수 있습니다. HTTP (Hyper Text Transfer Protocol) 인터넷 상에서 클라이언트와 서버가 자원을 주고 받을 때 쓰는 통신 규약이다. 즉, 서버/클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜이다. 서로 다른 시스템들 사이에 통신을 주고 받게 해주는 가장 기본적인 프로토콜이다. 인터넷에서 하이퍼텍스트를 교환하기위한 통신규약이다. 요청(Request)과 응답(Response)으로 구성되어 있으며..

CS/Network 2023.06.27

[네트워크] 대칭키와 공개키

대칭키 암호화 방식은 암복호화에 사용하는 키가 동일한 암호화 방식을 말한다. 공개키 암호화 방식은 암복호화에 사용하는 키가 서로 다른 암호화 방식을 말한다. (비대칭키 암호화라고도 한다.) 대칭키(Symmetric Key) 암호화와 복호화에 같은 암호키(대칭키)를 사용하는 알고리즘 하나의 키를 양쪽(client & server)가 같이 사용한다. 대칭키는 암복호화키가 동일하므로 해당 키를 아는 사람이 문서를 복호화할 수 있게 된다. 장점 동일한 키를 주고받기 때문에 공개키 암호화 방식에 비해 암호화 및 복호화 속도가 빠르다. 비교적 간편하다. 단점 암호화 통신을 하는 사용자끼리 같은 대칭키를 공유해야만 한다. (키를 교환해야 하는 문제가 발생) 이게 왜 단점? 물리적으로 직접 만나서 전달하지 않는 한, ..

CS/Network 2023.06.26

[개발상식] 프로그래밍 패러다임

프로그래밍 패러다임(programming paradigm)이란? 특정 관점과 접근 방식에 따른 개발자의 코딩방식 프로그래밍(Programming) 이란? 하나 이상의 관련된 추상 알고리즘을 특정한 프로그래밍 언어를 이용해 구체적인 컴퓨터 프로그램으로 구현하는 기술을 의미한다. 패러다임(Paradigm) 이란? 어떤 한 시대 사람들의 견해나 사고를 근본적으로 규정하고 있는 테두리로서의 인식의 체계, 또는 사물에 대한 이론적인 틀이나 체계를 의미하는 개념을 의미한다. 프로그래밍 + 패러다임(Programming Paradigm)이란? 개발자가 프로그래밍을 위해 어떠한 '관점'을 가지고 개발을 할지에 대해서 결정을 하는데 도움을 주는 것을 의미한다. 프로그래밍 패러다임의 변화 '프로그래밍 패러다임'이라 하면 ..

CS/개발상식 2023.06.25

[개발상식] 프레임워크와 라이브러리의 차이점

프레임워크(Framework)란? 컴퓨터 프로그래밍에서, 소프트웨어 프레임워크(software framework)는 복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조이다. 간단히 뼈대, 골조(骨組), 프레임워크(framework)라고도 한다. - 위키백과 - 프레임워크는 애플리케이션 개발 시 필수적인 코드, 알고리즘, DB 커넥션 등의 기능들을 위해 뼈대(구조)를 제공한다. 개발자는 이러한 뼈대 위에서 코드를 작성해 원하는 애플리케이션을 개발할 수 있다. 프레임워크는 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 상호 협력하는 클래스와 인터페이스의 집합이라고 할 수 있다. 쉽게 말해 프레임워크는 개발자가 개발을 쉽게 할 수 있도록 뼈대를 제공해준다고 생각하면 된다. ..

CS/개발상식 2023.06.25

[네트워크] UDP

UDP 통신이란? User Datagram Protocol의 약자로 데이터를 데이터그램 단위로 처리하는 프로토콜이다. 비연결형, 신뢰성 없는 전송 프로토콜이다. 데이터그램 단위로 쪼개면서 전송을 해야하기 때문에 전송 계층이다. Transport layer에서 사용하는 프로토콜이다. TCP와 UDP는 왜 나오게 됐는가? IP의 역할은 Host to Host (장치 to 장치)만을 지원한다. 장치에서 장치로 이동은 IP로 해결되지만, 하나의 장비안에서 수많은 프로그램들이 통신을 할 경우에는 IP만으로는 한계가 있다. 또한, IP에서 오류가 발생한다면 ICMP에서 알려준다. 하지만 ICMP는 알려주기만 할 뿐 대처를 못하기 때문에 IP보다 위에서 처리를 해줘야 한다. 1번을 해결하기 위하여 포트 번호가 나오게..

CS/Network 2023.06.23

[네트워크] TCP/IP (흐름 제어, 혼잡 제어)

TCP / IP 란? 데이터가 의도된 목적지에 닿을 수 있도록 보장해주는 통신 규약이다. TCP와 IP 두 가지의 프로토콜로 이루어져 있다. TCP (Transmission Control Protocol) 두 호스트가 교환하는 데이터와 승인 메세지의 형식을 정의하여, 서버와 클라이언트간의 데이터를 신뢰성있게 전달하기 위해 만들어진 규약이다. 데이터 패킷에 일련의 번호를 부여함으로써, 데이터 손실을 찾아내서 교정하고, 순서를 재조합하여 클라이언트에게 전달할 수 있게 해준다. IP (Internet Protocol) TCP와는 달리 데이터의 재조합이나 손실여부 확인이 불가능하며, 단지 데이터를 전달하는 역할만을 담당한다. IP주소는 하드웨어 고유의 식별번호인 MAC주소와 다르게 임시적으로 다른 주체(통신사)..

CS/Network 2023.06.23

[네트워크] TCP의 3 way handshake & 4 way handshake

TCP (Transmission Control Protocol) 란? TCP는 네트워크 계층 중 전송 계층에서 사용하는 프로토콜이다. TCP는 애플리케이션에게 신뢰적이고 연결지향성 서비스를 제공한다. TCP는 연결형 서비스로, 신뢰적인 전송을 보장하기에 hanshaking하고 데이터의 흐름제어와 혼잡제어를 수행한다. 하지만 이러한 기능으로 인해 TCP의 속도는 느리다. 인터넷상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용한다. IP는 배달을, TCP는 패킷의 추적 및 관리를 하게 된다. TCP의 3 way handshake & 4 way handshake 란? 연결을 성립하고 해제하는 과정을 말한다. 3-Way Handshake 는 TCP의 접속, 4-Way Handshake는 TCP의 접..

CS/Network 2023.06.23

[네트워크] TCP/IP 4계층

OSI 7계층 vs TCP/IP 4계층 TCP/IP 계층은 OSI 7계층을 더 단순화 시켜서 4개의 계층(Layer)로 분류하여 사용한다. OSI 7계층이 네트워크 전송의 데이터 표준을 정립했다면, TCP/IP 4계층은 이를 실제로 사용하는 인터넷 표준인 셈이다. 실제 사용되는 TCP/IP는 OSI 참조 모델을 기반으로 상업적이고 실무적으로 이용될 수 있도록 단순화된 모형이다. TCP / IP의 개념 현재의 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 통신규약(프로토콜)의 모음이다. TCP와 IP 두 가지의 프로토콜로 이루어져 있다. (2개의 계층으로 구분한다.) TCP(상위계층) 전송 데이터를 일정 단위로 나누고 포장하는 것에 관한 규약 메세지나 파일을 작은 패킷으로 나누거나 재조립하여 송수신에..

CS/Network 2023.06.23

[네트워크] OSI 7계층

OSI 7계층이란? 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것이다. 국제 표준화 기구(ISO)에서 정의한 네트워크 표준 모델이다. 네트워크 간의 호환을 위해 모든 시스템들의 상호 연결에 있어 문제없도록 표준을 정한 것이다. OSI 7계층은 왜 나눌까? 통신이 일어나는 과정을 단계별로 알 수 있고, 특정한 곳에 이상이 생기면 그 단계만 수정할 수 있기 때문이다. OSI 7계층 구조 1) 물리계층 (Physical Layer) 리피터, 케이블, 허브 등 주로 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송하는 물리적인 장비이다. 단지 데이터 전기적인 신호로 변환해서 주고받는 기능을 진행하는 공간이다. 즉, 알고리즘, 오류제어 기능이 없이 데이터를 전송하는 역할을 한다. 데이..

CS/Network 2023.06.20
728x90
반응형