티스토리 뷰

개발/일상

네트워크 면접 공부자료

clucle 2019. 11. 18. 23:38

Ethernet : 
네트워크 기술 중 하나, OSI 1~2 계층 CSMA/CD 방식 사용

CSMA/CD : 
 - CSMA (carrier sense multiple access) 자신의 신호를 carrier에 보내기 전 항상 확인
 - CD (collision detecting) : 유선 LAN에서 주로 사용하며, 자신이 보낸 신호가 충돌이 일어나면 충돌 신호를 보낸후, 재전송

--

IP : TCP/IP 를 사용하는 장비들을 구별하기 위한 주소
DNS : ip주소를 문자로 변경해 주는 시스템
서브넷 마스크 : 네트워크 부분(1), 호스트 부분(0)을 구분
 - 네트워크 주소 : 라우터를 거치지 않고 내부적으로 통신이 가능한 영역
 - 호스트 주소 : 특정한 내트워크 내에서 서로 구분하기 위한 주소
게이트웨이 : 외부 네트워크로 나가는 출구

--

허브(L1, bit) : 포트를 늘려주는 기능
스위치(L2, frame) : MAC 주소 테이블로 연결된 포트로 전송
라우터(L3, packet) : 네트워크간의 최적 경로를 설정

--

OSI
2계층 : 노드 대 노드 전달 감독
3계층 : 패킷의 시작점에서 목적지까지 전달 (라우팅)
4계층 : 제어와 에러 관리

--

synchronous blocking IO : syscall 이 완료될 때 까지 기다림
synchronous non-blocking IO : blocking 이 될 상황에서 EWOULDBLOCK 반환 (에러 처리 필요)
asynchronous blocking IO : IO는 non-blocking 이지만, 알림을 blocking 함 (select)
asynchronous non-blocking IO : IO를 background 에서 실행 callback 으로 처리

--

Overlapped I/O : asynchronous non-blocking의 응용 모델
같은 시간에 데이터가 중첩되는 구간이 생김 (asynchronous non-blocking 때문)
Device에서 유저 버퍼로 데이터를 바로 복사 (커널 버퍼를 거치지 않음)
Device가 완료 되었는지 확인해야함.

IOCP : Overlapped I/O 의 처리를 전담하는 방법
IO Completion Port - IO 완료된 걸 port를 통해서 이동
할일 없는 쓰레드가 IOCP의 완료된 내용을 꺼내 받을 수 있음
IOCompletion Queue, WatingThreadQueue, ReleaseThreadList, PauseThreadList

--

socket descriptor vs file dscriptor
함수 set과 초기화가 다름

--

TCP / UDP
TCP 연결형, 1:1통신, byte stream, 에러 복구 o, 재전송 o 
UDP 비연결형, 1:N통신, Datagram, 에러 복구 x, 재전송 x
TCP, UDP 헤더
https://ko.wikipedia.org/wiki/%EC%A0%84%EC%86%A1_%EC%A0%9C%EC%96%B4_%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C

--

브라우저에 url 입력 후 일어나는 일 (Work Flow)

URL -> dns server -> IP
ARP - 주소 결정 프로토콜 (MAC 주소 확인)
tcp 소켓 연결
tls handshake (https)
http 프로토콜 요청

--

Reliable UDP
데이터의 변함이 없음, 데이터의 손실이 없음, 데이터가 순차적으로 도착함
연결지향적으로 만듬
패킷의 고유넘버
에러 검출
heart beat 패킷 추가

--

CDN
https://www.netmanias.com/ko/post/blog/5350/cdn/the-advantage-of-the-cdn-content-delivery-network

--

ARQ, go back n, selective repeat
https://jwprogramming.tistory.com/37

--

DHCP
Dynamic Host Configuration Protocol
호스트의 IP 주소와, TCP/IP 설정을 자동으로 제공
장점 : 충돌 회피
단점 : DHCP 서버에 의존적

--

HTTP의 단점 : 세션 관리가 안됨

HTTP 2.0 과 HTTP 1.1 의 차이 

Multiplexed Streams : 한 커넥션에서 여러 메세지를 동시에 주고 받을 수 있음
Stream Prioritization : 요청 리소스간 의존관계를 설정
Server Push : 리소스를 클라이언트 요청 없이 보내 줄 수 있음
Header Compression : Header 정보를 압축전송

댓글