EnjoyCSStudy / CS-Knowledge-Source

0 stars 0 forks source link

231213 Network Interview Question #3

Open skydreamer21 opened 9 months ago

skydreamer21 commented 9 months ago

네트워크에 관련한 면접 질문 달아주세요! (~12/11)

skydreamer21 commented 9 months ago

www.google.com을 치면 어떤 일이 일어나 웹페이지가 보이게 될까요?

BaeYoungSuk commented 9 months ago

HTTP 프로토콜에 대해 설명해주세요.

rt3310 commented 9 months ago

GSLB에 대해 설명해주세요

soun997 commented 9 months ago

Big Endian과 Little Endian에 대해 설명해주세요.

skydreamer21 commented 9 months ago

HTTP 프로토콜에 대해 설명해주세요.

[주현] 요청 응답 HTTP 메세지 [영석] HTTp 프로토콜 서버 클라 따르는 커넥션리스 stateless [소윤] TCP 프토콜 위에서 작동 [원호] 약자! -> HyperText Transfer Protocol 80번 포트가 기번 보안 적용 443 널리 쓰이는 것은 1.1 2015 2.0

GSLB에 대해 설명해주세요.

[소윤] DNS 기반의 로드밸런싱 서비스 전역 서버 부하 분산 재해에 대해서 어떻게 대처 재난 복구, 부하 분산, 성능 사용자 트래픽을 잘 처리해 줄 수 있는 ... 로드밸런싱

[원호] 전 세계 걸쳐서 부하 분산 향상된 안정성, 대기시간 감소 재해복구, 로드 밸런싱, 위치 기반, 레이턴시 기반 실패한 서버는 응답에서 제외 트래픽이 높은 서버는 정교한 로드밸런싱이 필요해서 라운드 로빈은 부적절 레이턴시가 작은 서버 선택 GSLB 통해 전세계적으로 로드밸런싱

[영석] DNS 기반으로 인접지역으로 네트워크 트래픽 분산 헬스체크 접근가능 서버 가장 적합한 서버 반환 (라운드 로빈(DNS) X)

Big Endian과 Little Endian에 대해 설명해주세요.

[영석] 바이트에 저장 순서 결정 빅 -> 낮 높 (네트) -> 틀? (by 원호) 리틀 -> 높 높 (인텔 cpu) 대부분 cpu, 안드 한문자당 1바이트 (8빗)

[소윤] 빅 : 사람이 읽을 수 있는 방식으로 배열 사람이 디버깅하기 쉬움

BaeYoungSuk commented 9 months ago

www.google.com을 치면 어떤 일이 일어나 웹페이지가 보이게 될까요?

먼저 브라우저가 DNS를 통해 IP를 가져오는 과정을 거치게 됩니다. 그 다음 IP주소와 기본 포트인 80포트로 소켓을 연결하게 됩니다. HTTP 프로토콜을 통해서 데이터를 요청하고, 응답을 받은 뒤 해당 데이터를 화면에 보여주게 됩니다.

HTTP 프로토콜에 대해 설명해주세요.

데이터를 주고 받기 위한 서버/클라이언트 모델을 따르는 프로토콜입니다. TCP 프로토콜 위에서 동작하며, connectionless와 stateless라는 특성을 가지고 있어 요청과 응답이 독립적으로 처리되고, 상태를 기억하지 않습니다.

GSLB에 대해 설명해주세요

GSLB는 DNS 기반으로 인접 지역으로 네트워크 트래픽을 자동 분산합니다. Healthcheck을 통해 접근 가능한 서버를 반환하고, Round Robin 방식이 아닌 유저 지역 정보, latency 등의 정보를 이용하여 가장 적합한 서버를 반환한다는 특징을 가지고 있습니다.

Big Endian과 Little Endian에 대해 설명해주세요.

바이트의 저장 순서를 결정하는 방식으로, 빅 엔디안은 낮은 주소에 높은 바이트를 저장하며 리틀 엔디안은 높은 주소에 높은 바이트를 저장합니다. 대부분의 CPU에서는 리틀 엔디안 방식을 사용하며, 네트워크에서는 빅 엔디안 방식을 사용합니다.

soun997 commented 9 months ago

www.google.com을 치면 어떤 일이 일어나 웹페이지가 보이게 될까요?

먼저 브라우저는 URL의 호스트명을 추출하여 DNS를 이용해 이를 IP 주소로 변환합니다. 그 이후 포트 번호를 추출하는데, 명시되어 있지 않으므로 HTTP의 기본 포트인 80 포트를 사용합니다. Google 웹 서버와 handshake를 통해 TCP 연결을 성립하고, HTTP 프로토콜을 통해 요청과 응답을 주고 받아 결과적으로는 브라우저에 Google의 메인 페이지가 렌더링됩니다.


HTTP 프로토콜에 대해 설명해주세요.

HTTP는 인터넷상에서 데이터를 주고받기 위한 서버/클라이언트 모델 프로토콜입니다. 연결이 성립되어도 응답이 제대로 도착하면 바로 연결을 끊어버리는 Connectionless한 특징이 있습니다. 또한 TCP/IP 프로토콜 위에서 작동합니다.


GSLB에 대해 설명해주세요

GSLB는 DNS를 기반으로 하는 네트워크 분산기술입니다. 재난 복구, 부하 분산, 성능 향상을 위한 목적으로 사용되며, Health Check를 통해 접근 가능한 서버를 찾아 그 중 가장 적합한 서버로 트래픽을 분산시킵니다. (사용자의 지역 정보나 latency 등의 정보를 이용)


Big Endian과 Little Endian에 대해 설명해주세요

Big Endian과 Little Endian은 바이트 저장 순서를 결정하는 방식입니다. Little Endian은 데이터의 최하위 비트부터 저장하는 방식으로, 대부분의 CPU는 Little Endian 방식을 사용합니다. Big Endian은 데이터의 최상위 비트부터 저자하는 방식으로, 네트워크 표준은 Big Endian 방식입니다.

skydreamer21 commented 9 months ago

www.google.com을 치면 어떤 일이 일어나 웹페이지가 보이게 될까요?

먼저 DNS 서버에 요청해 해당 URL에 맞는 IP를 찾습니다. 그 후 3-way Handshake를 통한 TCP/IP 연결을 수립하고 Http 프로토콜에 따라 요청메세지에 따른 응답 메세지를 받습니다. 이때 응답메세지에는 요청한 페이지의 리소스가 담겨 있습니다. 이 후 4-way Handshake를 통해 연결을 해제하고 브라우저 상에서 응답으로 받은 리소스를 렌더링해 화면에 보여지게 됩니다.


HTTP 프로토콜에 대해 설명해주세요.

웹에서 사용되는 대중적이고 대표적인 통신 프로토콜입니다. 서버 클라이언트 구조로, 클라이언트의 요청에 따른 서버의 응답으로 이루어집니다. 이 때 stateless와 conectionless의 특징을 지니고 있어 연결 상대의 상태나 정보를 기억하지 않아 scale-out에 자유롭습니다.


GSLB에 대해 설명해주세요

GSLB란 전 세계에 분산된 여러 서버 간의 트래픽을 효과적으로 분산하고 관리하기 위한 기술입니다. DNS와 비슷한 방식으로 동작하며 health check와 active/backup 지정 기능을 통해 재해 복구, 지역적인 부하분산 등의 효과를 제공해줍니다.

서버(장비)의 상태에 상관없이 등록된 IP를 배포하던 전통적인 DNS서비스를 발전시킨 형태로, 서버(장비)의 상태정보를 확인 후 IP 정보를 배포함으로써, 최적의 서버(장비)로 연결시키는 기능을 제공합니다. 이를 통해 서버의 부하분산, DR(Disaster Recovery) 구축, 클라우드 서비스를 기존 Legacy system의 백업센터로의 이용 등 다양한 활용이 가능합니다.

📝 참고

https://skstp35.tistory.com/294

https://www.aromit.com/portal/ktcloudportal.epc.productintro.gslb.html


Big Endian과 Little Endian에 대해 설명해주세요

메모리에 데이터를 저장하는 순서에 따른 분류입니다. 메모리의 낮은 주소에 데이터의 큰 주소를 먼저 저장하는 것이 빅 엔디안, 낮은 주소에 데이터 낮은 주소를 저장하는 것을 리틀엔디안이라고 합니다.

네트워크 전송은 빅엔디안 방식을 채택하고 있고 인텔 기반의 윈도우에서는 리틀 엔디안 방식을 사용하고 있습니다.

📝 참고

https://tcpschool.com/c/c_refer_endian