-
기술면접 자료 정리 - 네트워크 (1)old/면접 2020. 5. 10. 19:19728x90
네트워크를 준비하면서
나는 학부때 네트워크 관련 수업만되면 그렇게 도망을 갔다. 하하;; 이제 벌을 받는중
질문 & 정리(Mostly links that I used)
1. 이더넷과 맥주소: 내가 참고한 자료가 설명이 굉장히 간략하고 좋다
- 이더넷: 컴퓨터간 네트워크를 구축하는 한 방법, 이더넷은 맥주소를 사용해서 통신을 하게 해준다
- 맥주소: 기기의 랜카드에 부여되는 고유한 값이다(이건 전세계에 하나밖에 없다), OSI 7 계층 중, 제 2계층인 데이터링크 계층에서 사용된다.
2. TCP와 UDP: https://djvaspirit.tistory.com/23?category=666385
- TCP: 연결지향적이고 신뢰성있음
- UDP: 비연결 지향적이고 데이터 손실 발생이 가능함
데이터 손실이 발생해도 되는 VoIP(인터넷 전화) 그런데 사용된다. 게임의 서버-클라이언트도 UDP이다. 즉, 빨리빨리 실시간이 보장되야하는건 UDP로 한다. (TCP가 좀 더 느리다.)
* 신뢰성이 있다 -> 재전송 가능(손실 된것을 파악할 수 있음), 재전송할때 시퀀스 넘버와 ack넘버를 확인한다고 함
3. 3way-handshaking(연결 만들때)과 4way-handshaking(연결 끊을때):https://djvaspirit.tistory.com/23?category=666385
- 3way-handshaking: TCP/IP프로토콜을 쓸때 세션을 만들때 쓰는 방법이다.
- 4way-handshaking: 세션을 종료할 때 쓰는 방법이다.
그런데 서버에서 fin을 전송하기 전에 클라이언트로 보낸 패킷이 fin보다 늦게 도착해서, 클라이언트가 먼저 종료를 해버리면, 패킷이 drop되고 데이터가 유실되는 문제가 생긴다. 이것 떄문에 클라이언트는 TIME_WAIT 라는 것을 하는데, 이것은 세션을 남겨놓고 잉여패킷을 기다리는 과정을 말한다.
TCP에 대해서 여기서 잘 정리해둠
4. Get방식 vs Post 방식:https://djvaspirit.tistory.com/23?category=666385
- Get: 주소에 서버에서 사용될 키워드 같은게 포함이 된상태로 전송한다. 그래서 보안이 떨어진다.
- Post: 클라이언트와 서버간의 통신에서 값이 인코딩되어 헤더를 통해 서버로 전송되고, 디코딩된다. 전송데이터 양이 커도 되고(get은 URI에 포함이 되니 길이가 제한이 있다), 데이터베이스에 새로운 데이터를 삽입/갱신 할때 사용된다. 속도는 Get방식보다는 느리지만 보안성이 좋다.
5. 방화벽이란? 네트워크 방화벽 / 웹 방화벽이 있다. https://djvaspirit.tistory.com/23?category=666385
- 신뢰 수준이 다른 네트워크 구간사이에 낮은 수준에서 오는 트래픽을 신뢰수준이 높은 네트워크로 못오게 벽을 세우는 것이다.
- 네트워크 방화벽은 OSI 3계층(네트워크, IP), 4계층(전송, TCP)에서 동작하여 패킷이 정상적이고 올바른건지 확인한다. 비정상적인 사용자의 접근을 막고, 불필요한 접근을 최소화하고, 네트워크 비용을 줄인다.
- 웹 방화벽은 OSI 7계층(어플리케이션 계층)에서 URL이 정상적인지 확인한ㄷ. 이걸로 손쉬운 세션과 로그관리를 할 수 있고, 개발자의 프로그램 상의 취약점을 보완하고 웹서버의 부하를 줄여준다.
6. DNS(Domain Name System)이란? https://djvaspirit.tistory.com/23?category=666385
IP 주소를 사람이 기억하기 편한 네이밍을 할 수 있게 해주는 것.
호스트 도메인 이름 -> 네트워크 주소
네트워크 주소 -> 호스트 도메인 이름
이 두 작업을 한다.
7. 패킷이란? https://djvaspirit.tistory.com/25?category=666385
데이터의 묶음 단위로 한번에 전송할 데이터의 크기
8. 트래픽이란? https://djvaspirit.tistory.com/25?category=666385
웹사이트에 방문하는 사람들이 주고받은 데이터의 양
9. 쿠키 vs 세션: https://djvaspirit.tistory.com/25?category=666385
- 쿠키: 서버측에서 클라이언트측의 상태 정보를 저장하고 추출할 수 있는 매커니즘, 클라이언트가 서버에 요청할때마다 웹브라우저로부터 서버로 전송되서 정보가 유지되게 한다, 그리고 클라이언트의 하드에 저장된다.
- 세션: 클라이언트와 웹서버 간에 계속 연결이 유지되고있는걸로, 각각의 클라이언트마다 고유의 ID를 부여. 세션 객체가 서버에 있고, 그걸 이용해서 각 클라이언트에 맞는 서비스를 제공함. 그리고 서버에서 처리하기때문에 보안성이 더 좋은데, 좀 더 느림
- 둘의 차이: 저장되는 곳이 다름 - 쿠키(하드), 세션(서버),
10. 목적지가 같은 네트워크 인경우 패킷이 목적지 까지 도착하는 법? https://djvaspirit.tistory.com/25?category=666385
목적지가 같은 네크워크면 브로드 캐스팅을 해서 목적지의 MAC주소를 알아온후, 2계층(데이터링크 계층)의 목적지 주소로 캡슐화한 후 패킷을 전송함
11. 목적지가 다른 네트워크 인경우 패킷이 목적지 까지 도착하는 법? https://djvaspirit.tistory.com/25?category=666385
목적지가 다른 네트워크에 위치한 경우 패킷을 전송하기 위해 해당 네트워크 게이트 웨이 장비의 MAC주소를 알아온후, 거기로 패킷을 전송한다.
12. 서브네팅과 서브넷 마스크: https://limkydev.tistory.com/166
- 서브네팅: 주소를 네트워크 부분과 호스트 부분으로 나누는것
- 서브넷 마스크: 어떤 부분이 네트워크 부분인지 알수있게 표시하는거
C클래스면 255.255.255로 앞에 부분어디까지가 네트워크 주소인지 AND연산으로 구할 수 있다.
13. VPN vs 프록시 서버? https://djvaspirit.tistory.com/25?category=666385
- VPN: 인터넷 네트워크를 이용해 특정 집단만 사용 가능한 작은 네트워크를 구축하는 기술이다. 인터넷 회선을 암호 화된 규격을 통해 개인 전용선처럼 끌어다 쓴다. (프록시 서버보다 강력한 익명성으로 IP우회가 가능해진다.)
- 잘 모르겠는데 그렇단다.
https://dany-it.tistory.com/115
14. 스위치와 라우터의 차이점?
스위치는 그냥 맥 주소대로 보내주는거고(2계층 데이터 링크 층을 위한 장비), 라우터는 3계층 네트워크 층을 위한 장비로 수신한 패킷을 보고 경로를 설정하여 패킷을 전송하는 역할을 함
15. 나머지: https://91ms.tistory.com/5
여기에 넘 정리 잘되있다.
16. 여기에는 IP, TCP 에 대한 정보가 정리 되어있다.
https://eastroot1590.tistory.com/entry/socket-TCPIP%EB%9E%80
'old > 면접' 카테고리의 다른 글
카카오 2021 공채 코딩테스트 후기 (0) 2020.09.12 CJ 올리브 네트웍스 테스트 전형 후기 (4) 2020.07.05 기술면접 자료정리 - 네트워크(0) (0) 2020.05.10 기술면접 자료정리 - 네트워크(2) (0) 2020.05.10 기술면접 자료정리 1 - AWS 제품 훑기 (0) 2020.05.09