ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 네트워크
    공부/ML 모의 인터뷰 스터디 2024. 1. 27. 12:32
    728x90
    • OSI 7계층의 각 계층을 설명해주세요.
      1. 물리 계층(Physical Layer)
      물리적 매체를 통해 데이터를 전송하는 계층
      전기적 신호, 광 신호 또는 무선 신호로 표현가능
      ex)이더넷 케이블, 광섬유 케이블, 무선 주파수 등
      2. 데이터 링크 계층(Data Link Layer)
      물리계층에서 전송된 비트 스트림을 논리적인 프레임 단위로 나누어 네트워크 장치 간의 직접 통신을 제공
      MAC주소를 사용하여 네트워크 장치를 식별하고 오류 검출 및 수정을 수행
      ex)이더넷, Wifi, PPP 등
      3. 네트워크 계층(Network Layer)
      데이터 패킷을 전송하는 데 사용
      최적의 경로를 선택하고 패킷의 전송 및 라우팅 관리, IP주소를 사용하여 목적지를 식별하고 라우터가 패킷을 목적지까지 전달
      ex)IP, ICMP, ARP프로토콜 등
      4. 전송 계층(Transport Layer)
      데이터의 신뢰성있는 전송을 보장하며, 데이터를 세그먼트로 분할하고, 흐름 제어, 오류 복구, 순서화 등을 수행
      ex)TCP, UDP 프로토콜 등
      5. 세션 계층(Session Layer)
      양 끝단 간의 통신 세션을 설정, 관리 및 종료
      통신 파트너 간의 대화 제어와 동기화를 담당
      6. 표현 계층(Presentation Layer)
      데이터의 형식을 변환하거나, 암호화, 압축, 해독 등의 데이터를 표현하는 방식을 관리
      호스트 간의 데이터 형식 차이를 해결하고 보안 강화
      7. 응용 계층(Application Layer)
      최종 사용자에게 제공되는 네트워크 서비스를 위한 인터페이스를 제공
      사용자 응용 프로그램과 직접 상호 작용
      ex)HTTP, FTP, SMTP, DNS 등의 프로토콜
      *TCP/IP 4계층은?
      1. 네트워크 접속 계층(Network Access Layer/Link Layer)
      물리적인 매체와의 인터페이스를 제공하고 데이터 링크 프레임을 생성하고 해석하는 역할
      ex) 이더넷, wifi, PPP 등
      2. 인터넷 계층(Internet Layer)
      IP프로토콜을 사용하여 데이터 패킷의 라우팅과 전달을 관리, IP주소와 ICMP프로토콜이 여기서 사용됨
      3. 전송 계층(Transport Layer)
      데이터의 신뢰성 있는 전송을 담당, TCP, UDP프로토콜이 여기서 사용됨
      4. 응용 계층(Application Layer)
      최종 사용자에게 제공되는 서비스와 인터페이스를 제공, HTTP, FTP, SMTP, DNS 등의 프로토콜 사용
    • OSI 7계층와 TCP/IP 계층의 차이를 설명해주세요.
      공통점 : 네트워크 통신을 설명하기 위한 모델
      차이점 :
      1. 계층의 수 및 이름
      2. 세분화된 계층(OSI:데이터링크, 네트워크/TCP,IP:네트워크접속+인터넷=하나의 계층)
      3. 프로토콜의 포함(OSI모델은 다양한 프로토콜을 각 계층에 할당/TCP,IP는 ARPANET의 개발을 위해 만들어졌음)
      4. 실제 채택과 사용(OSI는 이제 표준/TCP,IP는 네트워크 설계 및 구현에 사용)
    • Frame, Packet, Segment, Datagram을 비교해주세요.
      Frame : 데이터 링크 계층에서 사용되는 언어, 네트워크를 통해 전송되는 데이터의 단위
      Packet : 네트워크 계층에서 사용되는 언어, 데이터를 전송하기 위한 단위
      Segment : 전송 계층에서 사용되는 언어, 데이터 전송의 단위
      Datagram : 네트워크에서 독립적으로 전송되는 데이터 패킷, UDP프로토콜에서 주로 사용됨
    • TCP와 UDP의 차이를 설명해주세요.
      공통점 : 인터넷 프로토콜의 일부로 네트워크 통신을 위해 사용되는 프로토콜
      차이점
      TCP : 연결 지향적, 신뢰성 높음, 흐름제어, 혼잡 제어, 헤더 크기가 큰 편, 신뢰성이 중요한 웹 브라우징, 이메일, 파일 전송 등에 사용
      UDP : 비연결성, 신뢰성 낮음, 흐름제어 및 혼잡제어 제공하지 않음, 헤더 크기 작은 편, 신속한 데이터 전송이 중요한 실시간 응용 프로그램에 자주 사용됨, 예시로는 음성 통화, 영상 스트리밍, 온라인 게임 등
    • TCP와 UDP의 헤더를 비교해주세요.
      헤더 크기 : TCP는 20바이트 이상의 크기 가능/UDP는 고정된 크기로 8바이트 가짐
      필드의 종류와 의미 : TCP는 시퀀스번호, 확인 응답번호, 윈도우 크기, 플래그 등이 포함=>연결 설정, 순서제어,흐름제어를 위한 정보/
      UDP는 송신지 포트, 수신지 포트, 길이, 체크섬 등이 포함=>연결 설정이나 순서 제어를 위한 정보는 미포함
      신뢰성 및 흐름 제어 : TCP는 연결지향적, 오류복구와 흐름제어 제공/UDP는 비연결적이며, 신뢰성이나 흐름제어 기능 미포함
      옵션 필드 : TCP는 옵션 필드 포함가능/UDP는 옵션 필드 없음
      위가 TCP 예시, 아래가 UDP 예시
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |          Source Port          |       Destination Port        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                        Sequence Number                        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                    Acknowledgment Number                      |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  Data  |  |C|E|U|A|P|R|S|F|                                   |
    | Offset|  |W|C|R|C|S|S|Y|I|            Reserved               |
    |       |  |R|E|G|K|Y|Y|N|N|                                   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |          Window Size          |      Checksum      | Urgent Ptr|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                    Options                    |    Padding    |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |          Source Port          |       Destination Port        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |           Length              |           Checksum            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    • TCP의 3-way-handshake와 4-way-handshake를 비교 설명해주세요.
      TCP연결을 설정하고 종료하는 데 사용되는 과정
      TCP 3-way-handshake(연결설정)
      1. 클라이언트가 서버에게 연결 요청(SYN)
      2. 서버가 연결 요청을 수락하고 응답(SYN-ACK)
      3. 클라이언트가 서버에게 응답(ACK)
      TCP 4-way-handshake(연결해제)
      1. 클라이언트가 서버에게 연결종료 요청(FIN)
      2. 서버가 연결 종료 요청을 확인하고 응답(ACK)
      3. 서버가 클라이언트에게 연결 종료 요청(FIN)
      4. 클라이언트가 연결종료 요청을 확인하고 응답(ACK)
    • TCP의 연결 설정 과정(3단계)과 연결 종료 과정(4단계)이 단계가 차이나는 이유가 무엇인가요?
      연결 설정 과정에서는 초기의 연결을 설정하는 것이 주요 목적이며, 양측이 서로를 인식하고 초기 설정을 마치면 데이터 전송이 가능한 상태로 넘어가기 때문에 간단한 관계로도 연결을 설정가능
    • 만약 Server에서 FIN 플래그를 전송하기 전에 전송한 패킷이 Routing 지연이나 패킷 유실로 인한 재전송 등으로 인해 FIN 패킷보다 늦게 도착하는 상황이 발생하면 어떻게 될까요?
    • 초기 Sequence Number인 ISN을 0부터 시작하지 않고 난수를 생성해서 설정하는 이유가 무엇인가요?
    • HTTP와 HTTPS에 대해서 설명하고 차이점에 대해 설명해주세요.
    • HTTP 요청/응답 헤더의 구조를 설명해주세요.
    • HTTP와 HTTPS 동작 과정을 비교해주세요.
    • CORS가 무엇인가요?
    • HTTP GET과 POST 메서드를 비교/설명해주세요.
    • 쿠키(Cookie)와 세션(Session)을 설명해주세요.
    • DNS가 무엇인가요?
    • REST와 RESTful의 개념을 설명하고 차이를 말해주세요.
    • 소켓(Socket)이 무엇인가요? 자신 있는 언어로 간단히 소켓 생성 예시를 보여주세요.
    • Socket.io와 WebSocket의 차이를 설명해주세요.
    • IPv4와 IPv6 차이를 설명해주세요.
    • MAC Address가 무엇인가요?
    • 라우터와 스위치, 허브의 차이를 설명해주세요.
    • SMTP가 무엇인가요?
    • 노트북으로 www.google.com에 접속을 했습니다. 요청을 보내고 받기까지의 과정을 자세히 설명해주세요.
    • 여러 네트워크 topology에 대해 간단히 소개해주세요.
    • subnet mask에 대해서 설명해주세요.
    • data encapsulation이 무엇인가요?
    • DHCP를 설명해주세요.
    • routing protocol을 몇 가지 설명해주세요. (ex. link state, distance vector)
    • 이더넷(ethernet)이 무엇인가요?
    • client와 server의 차이점을 설명해주세요.
    • delay, timing(jitter), throughput 차이를 설명해주세요.

     

    '공부 > ML 모의 인터뷰 스터디' 카테고리의 다른 글

    파이썬  (0) 2024.01.26
    딥러닝  (0) 2024.01.25
    머신러닝  (2) 2024.01.24
    통계/수학  (0) 2024.01.22

    댓글

Designed by Tistory.