본문 바로가기

분류 전체보기

(26)
[네트워크] 네트워크 면접 질문 모음 CS 면접을 대비해서 네트워크 관련 질문들을 모아 정리해봤습니다! 앞쪽에 나오는 질문은 지금까지 포스팅했던 내용이며, 뒤쪽에 나오는 질문은 새로운 주제에 대한 질문입니다! OSI 7계층을 설명하세요. - 컴퓨터 사이에서 통신할 때 표준 프로토콜을 사용할 수 있도록 ISO에서 개발한 모델입니다. 물리, 데이터링크, 네트워크, 전송, 세션, 표현, 응용 계층으로 구성되어 있습니다. 7계층으로 나눈 이유는 통신이 일어나는 과정을 단계별로 알 수 있고, 이상이 생기면 해당 계층만 수정할 수 있기 때문입니다. 라우팅 알고리즘에 대해 설명하세요. - 라우팅 알고리즘이란 통신할 때 최적의 경로를 찾아 데이터를 전송하는 알고리즘입니다. 이를 위해 능동적으로 라우팅을 수행하는 장비인 라우터가 사용됩니다. 대표적인 라우팅..
[스터디1] 자바 스트림 스트림 - 정의 스트림이란 순차 및 병렬적인 집계연산을 지원하는 연속된 요소입니다. 쉽게 말하면 스트림은 어떠한 데이터의 흐름이라고 생각하면 될 것 같습니다! 자바에서는 이러한 스트림에 함수형 스타일의 연산을 지원합니다. - 구성 (1) 생성 Collection, 배열, 파일 등을 이용하여 만들 수 있습니다. (2) 가공 중간 연산자를 통해서 새로운 스트림을 만들어내는 과정입니다. 중간 연산을 하는 과정에서 lazy evaluation을 하는데, 스트림에서 lazy evaluation이란 최종 연산이 들어오기 전까지 중간 연산은 실제로 실행되지 않음을 의미합니다. 이를 통해 루프 퓨전과 쇼트 서킷을 활용할 수 있습니다. 루프 퓨전이란 모든 요소가 한 단계씩 거치는 것이 아니라 하나의 요소가 순차적으로 모..
[네트워크] TCP/IP 4계층 & 웹 이전 시간까지 10번에 걸쳐 OSI 7계층에 관해 알아봤습니다. 오늘은 TCP/IP 4계층과 웹에 대해 알아보겠습니다. TCP/IP 4계층 - TCP/IP 4계층 이전 시간까지 OSI 7계층에 대해 알아보았지만 OSI 7계층을 보면서 복잡하다는 생각이 들지 않으셨나요?? 사실 OSI 7계층은 실무에서 쓰이기에는 복잡한 모델입니다. 실제로 사용할 수 있도록 OSI 7계층을 기반으로 단순화한 모델이 TCP/IP 4계층로, 현재 대부분의 통신 프로토콜이 TCP/IP 4계층을 사용하고 있습니다. 아래 그림은 OSI 7계층과 TCP/IP 4계층을 비교한 그림으로 TCP/IP 4계층이 훨씬 단순화되어있는 것을 확인할 수 있습니다. - 4계층 TCP/IP 4계층은 OSI 7계층을 단순화시킨 모델이기 때문에 각 계층별..
[네트워크] OSI 7계층(HTTP 2편 & HTTPS) 이전 시간에 HTTP 프로토콜에 대해 알아보았습니다. HTTP 프로토콜이 중요한 만큼 내용도 많은데요! 오늘도 HTTP 프로토콜에 대해 알아보도록 하겠습니다! 혹시 HTTP 1편을 보고 싶으시다면 아래 포스팅을 확인해주세요! [네트워크] OSI 7계층(HTTP 1편) 이전 시간에는 응용 계층과 DNS 프로토콜에 대해 알아보았습니다. 오늘은 응용 계층의 또 다른 프로토콜인 HTTP 프로토콜에 대해 알아보겠습니다. HTTP HTTP(HyperText Transfer Protocol) 프로토콜은 약자 soso-yw.tistory.com HTTP - Stateless 이전 시간에 언급했던 Connectionless의 특징 때문에 요청에 대한 응답이 끝나면 웹 서버와 웹 브라우저의 연결도 끊기고 웹 서버가 웹 브..
[네트워크] OSI 7계층(HTTP 1편) 이전 시간에는 응용 계층과 DNS 프로토콜에 대해 알아보았습니다. 오늘은 응용 계층의 또 다른 프로토콜인 HTTP 프로토콜에 대해 알아보겠습니다. HTTP HTTP(HyperText Transfer Protocol) 프로토콜은 약자 그대로 해석을 하면 하이퍼 텍스트 문서를 전송하기 위해 사용되는 프로토콜입니다. 구체적으로 설명하면 하이퍼 텍스트인 HTML 문서를 전송하는 것으로 웹 브라우저와 웹 서버 사이의 통신에 관한 절차를 규정한 프로토콜입니다. 웹 브라우저와 웹 서버 사이에서 통신할 때는, 웹 브라우저가 웹 서버에 웹 페이지를 요청(Request)하는 것과 웹 서버가 웹 브라우저에게 응답(Response)하는 것이 있습니다. 중요한 특징 중 하나는 HTTP 통신은 반드시 웹 브라우저의 요청(Requ..
[네트워크] OSI 7계층(응용계층, DNS) 이전 시간에는 세션 계층과 표현 계층에 대해 알아봤습니다. 오늘은 드디어 OSI의 마지막 계층인 응용 계층과 응용 계층의 프로토콜에 대해 알아보겠습니다. 응용 계층 응용 계층은 사용자와 가장 밀접한 계층으로, 사용자와 컴퓨터 사이의 인터페이스의 역할을 담당합니다. - 데이터 전송 과정 응용 계층의 송신 측은 사용자로부터 데이터를 입력받으면 표현 계층으로 넘겨주고, 수신 측의 응용 계층은 표현 계층으로부터 받은 데이터를 사용자에게 보여줍니다. 응용 계층에는 웹 브라우저, 메일 프로그램 등 다양한 응용 프로그램들이 존재합니다. 웹 사이트를 볼 때는 HTTP, 메일을 보낼 때는 SMTP, 메일을 받을 때는 POP3 프로토콜을 사용합니다. 또한 URL을 IP주소로 변환해주는 DNS 프로토콜 덕분에 우리는 웹사이..
[네트워크] OSI 7계층(세션 계층, 표현 계층) 저번 시간에는 전송 계층의 TCP 프로토콜에 대해 알아봤습니다. 오늘은 5계층인 세션 계층과 6계층인 표현 계층에 대해 알아보겠습니다. 세션 계층 세션 계층은 통신하려는 두 컴퓨터 내의 프로세스를 연결하기 위해 세션을 생성하고 이를 유지, 해제하는 계층으로, 세션은 두 컴퓨터 사이의 대화의 장이라고 생각하면 됩니다. - 데이터 전송 과정 송신 측의 세션 계층은 표현 계층에서 데이터를 받아 데이터 사이에 동기점(syn)을 삽입한 뒤 전송계층에 전달합니다. 데이터에 동기점을 삽입하는 이유는 오류가 발생할 때 효율적으로 에러를 복구하기 위함입니다. 데이터 전송 중 오류가 발생했을 때, 전체 데이터를 다시 보내는 것은 시간도 오래 걸리고 비효율적입니다. 동기점을 이용하여 오류가 발생한 지점의 동기점부터 재전송한..
[네트워크] OSI 7계층(TCP) 이전 시간에는 전송 계층과 전송 계층의 프로토콜 중 하나인 UDP에 대해 알아봤습니다. 그럼 오늘은 전송 계층의 또 다른 프로토콜인 TCP에 대해 알아보겠습니다! TCP TCP는 연결형 프로토콜로 송신 측과 수신 측이 서로 연결을 확인 한 뒤 데이터를 전송합니다. 또한 신뢰성/정확성이 보장되는데 이는 데이터가 목적지에 안전하게 전달되는 것을 의미합니다. 신뢰성과 정확성을 보장하기 위해 UDP보다 헤더가 훨씬 복잡하며, 연결하거나 연결을 끊기 위해서 3-way handshaking, 4-way handshaking 방법을 사용합니다. - 세그먼트 위의 그림은 TCP헤더를 상세히 나타낸 그림입니다. 아래 표는 각 영역의 역할을 정리한 것입니다. 밑줄 친 부분을 중점으로 보시면 됩니다. 필드 역할 송신 측 포..