본문 바로가기

IT 기본지식37

TCP 3Handshake는 어떻게 진행되는가? TCP(Transmission Control Protocol) Connection-oriented protocol Reliable transport protocol → The requires the flow and error control. 전송 제어 프로토콜로 신뢰할수 있는 방식으로 데이터의 전송을 제어하기 위한 것을 나타낸다. 데이터를 보내기 위해서 두 TCP(클라이언트-서버) 사이에서 가상의 연결을 만든다. TCP는 flow, error control mechanisms을 transport level에서 사용한다. TCP는 IP 패킷(IP 데이터그램) 이라고 불리는 작은 조각을 통해 데이터를 전송한다. TCP는 Segment라는 단위로 데이터 스트림을 잘게 나누고, IP패킷이라 불리는 봉투에 담아 .. 2022. 7. 24.
TLS Handshake는 어떻게 진행되는가? | Session Key TLS(Transport Layer Security)란? 인터넷 상의 커뮤니케이션에서 개인 정보와 데이터 보안을 위해 설계되어 널리 채택된 보안 프로토콜이다. 주요 사용 사례는 웹 브라우저(웹 응용 프로그램)와 서버 간의 통신 데이터를 암호화하는 것이다. 그 외에도 이메일, 메시지, 보이스오버 IP(VoIP)등 여러 통신 데이터를 암호화한다. TLS는 Netscape가 개발한 SSL(Secure Sockets Layer)이라는 이전의 암호화 프로토콜에서 발전한 것이다. HTTPS는 HTTP 프로토콜 상위에서 TLS 암호화를 구현한 것이다. HTTPS를 사용하는 웹 사이트는 TLS 암호화를 사용한다. *참고 TLS : 4계층 Transport Layer 아래 포스팅에 TLS 내용을 보고 오시면 아래 Han.. 2022. 7. 23.
웹 브라우저에 URL을 입력하고 사용자에게 보여주기까지 과정 웹 브라우저에 URL을 입력하면 어떤 일이 생기는가? (SW 엔지니어 인터뷰에서 나오는 단골 질문으로 웹 브라우저, PC의 운영 체제, 인터넷 서비스 제공업체, 웹 사이트를 호스팅하는 서버, 해당 서버에서 실행되는 서비스에 대한 지식 등이 필요, 실제 문제가 발생할 수 있는 위치와 성능 문제를 찾을 수 있는 위치를 파악해야 한다.) * 웹 브라우저에서 https://sunrise-min.tistory.com 과 같은 URL을 입력하면 브라우저는 인터넷에서 사이트를 호스팅하는 서버를 파악하는데, 이때 sunrise-min.tistory.com 도메인을 검색해서 주소를 찾는다. sunrise-min.tistory.com 또한 고유한 IP주소를 가진다. 하지만 숫자보다 도메인이 기억하기 쉽다. DNS는 휴대폰.. 2022. 7. 22.
RAID(레이드) 란 무엇인가? RAID 0/1/5/6/1+0 RAID(Redundant Array of Independent Disk) 여러 개의 하드 디스크에 일부 중복된 데이터를 나눠서 저장하는 기술 -> 소용량의 저장장치를 여러 대로 묶어서 대용량 저장장치를 만들어서 사용하는 기술 RAID는 여러 개의 작은 디스크들을 배열 구조로 연결하고 하나의 unit으로 패키지 함으로써 액세스 속도를 크게 향상시켰고 신뢰도 또한 높였다. RAID는 최근 대규모 저장 용량을 필요로 하는 중대형급 컴퓨터 시스템에서 널리 사용되고 있다. 출현 배경 디스크는 컴퓨터의 프로그램 실행 속도에 직접적으로 영향을 주는 온라인 보조저장장치이기 때문에 액세스 속도와 신뢰도 향상또한 용량의 증가만큼 중요하게 생각된다. 디스크의 속도를 향상시키기 위해서는 액세스 시간을 줄이고 데이터 전송 속.. 2022. 2. 19.
OOP 객체 지향 프로그래밍의 특징 객체 지향 프로그래밍 Object Oriented Programming(OOP) 란? 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다. 장점은? OOP는 복잡한 것을 단순하고 재사용 가능한 구조로 모델링한다. 재사용한 가능한 OOP object는 여러 프로그램에서 사용할 수 있다. 다형성(Polymorphism)을 통해 클래스별 동작을 허용한다. 캡슐화를 통해 정보를 안전하게 보호할 수 있다. 원칙 추상화(Abstraction) : 객체에 액세스하기 위한 상위 수준의 public method만 노출한다. 사용자가 객체의 선택된 특성 및 method와만 상호작용하는 것을 의미한다. - 복잡성을 표현하기 .. 2022. 2. 19.
HTTPS란 무엇인가? / TLS(=SSL) 공개키 암호화 HTTPS is HTTP with encryption. HTTPS는 암호화 기능이 있는 HTTP 두 프로토콜의 차이점은 HTTPS가 TLS(SSL)를 사용하여 일반 HTTP 요청과 응답을 암호화 한다는 것이다. 따라서 HTTPS가 HTTP보다 훨씬 더 안전하다. HTTP란? HTTP는 Hypertext Transfer Protocol의 약자로 네트워크를 통해 데이터를 전송하는 데 사용되는 프로토콜 또는 정보를 표시하는데 사용되는 규정된 순서와 구문이다..? 쉽게 말해서 서로 다른 시스템들 사이에서 통신을 주고받게 해주는 가장 기초적인 프로토콜이다. 웹사이트 콘텐츠와 API call을 포함하여 인터넷을 통해 전송되는 대부분의 정보는 HTTP 프로토콜을 사용한다. HTTP 메시지에는 요청과 응답의 두 가지 .. 2022. 2. 19.
반응형