[CS 면접] 네트워크 레이어와 프로토콜

MOOOOOOOON·2024년 1월 11일
0

컴퓨터 네트워크는 무엇인가요?

서로 연결된 여러 컴퓨터 및 기기들 간에 데이터를 주고받을 수 있게 하는 구조

정보를 공유하고 통신하는 데에 사용되며, 전 세계적으로 인터넷을 통해 긴 거리에 걸친 네트워크를 형성합니다. 간단히 말해, 컴퓨터 네트워크는 컴퓨터와 기기들 간의 상호 연결된 체계를 의미합니다.

컴퓨터 네트워크에서 데이터를 전송하는 방식에 대해 설명해주세요.

회선 교환 방식과 패킷 전송 방식이 있습니다.
회선 교환 방식은 송수신을 연결하는 전용선을 설정하고 전송하는 것이 핵심이며, 전송하는 동안 다른 통신이 불가능하고, 전송 중에 문제가 발생하면 재전송이 필요합니다.

패킷 전송 방식은 패킷교환은 회선교환과 다르게 전용선의 개념이 없고 데이터를 작은 조각인 패킷으로 나누어 전송하는 방법입니다. 각 패킷은 독립적으로 전송되며, 목적지에 도착하면 다시 합쳐져 원래의 데이터로 재조립됩니다.

회선 교환 (Circuit Switching) 방식

  • 이 방식은 통신 경로를 전용으로 예약하고 데이터를 순차적으로 전송하는 방법입니다.
  • 전화 통화에서 사용되는 전통적인 방식으로, 연결을 설정하고 유지한 후 데이터를 전송합니다.
  • 전송하는 동안 다른 통신이 불가능하며, 전송 중에 문제가 발생하면 재전송이 필요합니다.

패킷교환(Packet switching) 방식

  • 이 방식은 데이터를 작은 조각인 패킷으로 나누어 전송하는 방법입니다.
  • 각 패킷은 독립적으로 전송되며, 목적지에 도착하면 다시 합쳐져 원래의 데이터로 재조립됩니다.
  • 인터넷에서 주로 사용되는 방식으로, 네트워크 상황에 따라 유연하게 데이터를 전송할 수 있습니다.
  • 대부분의 현대 네트워크는 패킷 전송 방식을 사용하여 데이터를 효율적으로 전송하고 있습니다. 이 방식은 주로 인터넷이나 기업 네트워크에서 사용되며, 데이터의 안정적인 전송과 효율적인 대역폭 활용을 가능케 합니다.

네트워크의 종류

가장 작은 규모의 네트워크인 PAN, 근거리 영역 네트워크인 LAN, 대도시 영역 네트워크인 MAN, 광대역 네트워크인 WAN이 있습니다.

  • WAN(Wide Area Network) : 광대역 네트워크
    지역 간 또는 대륙간의 넓은 지역의 컴퓨터를 연결. 인터넷은 전 세계 수십억 대의 컴퓨터를 연결하는 가장 큰 WAN입니다.

  • MAN(Metropolitan Area Network) : 대도시 영역 네트워크
    일반적으로 도시 및 정부기관이 소유하고 관리합니다.

  • LAN(Local Area Network) : 근거리 영역 네트워크
    상대적으로 짧은 거리에 있는 컴퓨터를 연결합니다. 예를 들어 사무실이나 학원, 병원 정도의 모든 컴퓨터 연결 가능합니다.

  • PAN(Personal Area Network) : 가장 작은 규모의 네트워크, 개인 네트워크
    약 5m 전후의 인접한 통신이 가능합니다. 예를 들어 아이폰과 맥에서 정보를 공유하는 형태가 있습니다.

네트워크의 회선구성 방식

포인트 투 포인트(Point-To-Point): 한 두 지점을 직접 연결하여 통신하는 방식으로, 전화기와 전화기가 직접 통신하는 것과 유사합니다.

멀티 드롭(Multi-Drop): 한 지점에서 여러 지점으로 연결되는 방식으로, 한 곳에서 다수의 지점과 통신할 수 있습니다. 마치 라디오 방송처럼 한 지역에서 여러 지역으로 송출되는 것을 예로 들 수 있습니다.

회선 다중 방식: 여러 개의 회선을 동시에 사용하는 방식으로, 여러 명이 동시에 통화할 수 있는 전화 교환 시스템과 유사합니다.

회선 교환 방식: 연결하기 전에 상대방과 연결 여부를 확인하고 통화하는 방식으로, 전화 걸기 전에 상대방이 전화를 받을 수 있는지 확인하는 것과 유사합니다.

공간 분할 교환 방식: 전체 통신 공간을 시간에 따라 나누어 여러 통신이 동시에 이루어지는 방식으로, 무전기나 대화식 라디오 방송처럼 다수의 사용자가 동시에 송신할 수 있는 방식입니다.

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

프로토콜은 규칙과 규약의 집합으로, 서로 다른 시스템이나 프로그램이 효과적으로 상호 작용할 수 있도록 정의합니다.

  1. HTTP (Hypertext Transfer Protocol):
  • 용도: 웹 브라우저와 웹 서버 간의 통신을 위한 프로토콜.
  • 동작: 웹 브라우저가 웹 서버에게 웹 페이지를 요청하면, HTTP를 사용하여 요청과 응답이 이루어집니다. 이를 통해 웹 페이지의 데이터가 전송되고 화면에 표시됩니다.
  1. HTTPS (Hypertext Transfer Protocol Secure):
  • 용도: HTTP의 보안 강화 버전. 웹 페이지의 데이터를 안전하게 전송하기 위해 사용됨.
  • 동작: HTTPS는 데이터를 암호화하여 전송하므로, 중간에 누군가가 데이터를 가로채어도 해독하기 어렵습니다. 웹 브라우징 시에는 민감한 정보 전송에 주로 사용됩니다.
  1. SMTP (Simple Mail Transfer Protocol):
  • 용도: 이메일을 보내는 데 사용되는 프로토콜.
  • 동작: 이메일 클라이언트가 이메일 서버에게 이메일을 전송할 때, SMTP를 사용하여 전송이 이루어집니다.
  1. POP3 (Post Office Protocol version 3):
  • 용도: 이메일을 사용자의 컴퓨터에 가져오는 데 사용되는 프로토콜.
  • 동작: 사용자가 이메일 클라이언트를 통해 이메일을 확인하면, POP3를 사용하여 서버에서 이메일을 사용자의 디바이스로 가져옵니다.
  1. FTP (File Transfer Protocol):
  • 용도: 파일을 서버와 클라이언트 간에 전송하는 데 사용되는 프로토콜.
  • 동작: 파일을 업로드하거나 다운로드할 때, FTP를 사용하여 파일 전송이 이루어집니다.
  1. DNS (Domain Name System):
  • 용도: 도메인 이름을 IP 주소로 변환하거나 그 반대로 IP 주소를 도메인 이름으로 변환하는 데 사용되는 프로토콜.
  • 동작: 사용자가 도메인 이름을 입력하면, DNS를 통해 해당 도메인의 IP 주소가 반환되어 실제 서버에 접속할 수 있습니다.

OSI 7 Layer에 대해서 설명해주세요.

OSI 7 Layer은 네트워크 프로토콜을 일곱 개의 계층으로 나눈 것입니다. 각 계층은 특정한 역할을 수행하며, 계층 간의 통신은 서로 독립적으로 이루어집니다.

  1. 물리 계층 (Physical Layer):
  • 역할: 데이터를 전기 신호로 변환하고 전송하는 역할.
  • 예시: 이더넷 케이블, 광섬유 케이블 등 물리적인 매체들.
  1. 데이터 링크 계층 (Data Link Layer):
  • 역할: 물리 계층에서 전송된 데이터의 오류를 검출하고 수정하며, 프레임 단위로 데이터를 관리.
  • 예시: 이더넷 프레임, MAC 주소 등.
  1. 네트워크 계층 (Network Layer):
  • 역할: 다른 네트워크로 데이터를 전송하기 위한 경로 선택 및 라우팅 수행.
  • 예시: IP 주소, 라우터 등.
  1. 전송 계층 (Transport Layer):
  • 역할: 종단 간 통신을 제어하며, 데이터를 신뢰성 있게 전송.
  • 예시: TCP(Transmission Control Protocol), UDP(User Datagram Protocol) 등.
  1. 세션 계층 (Session Layer):
  • 역할: 데이터 교환의 세션을 관리하고 동기화를 유지.
  • 예시: API(Application Programming Interface) 등.
  1. 표현 계층 (Presentation Layer):
  • 역할: 데이터를 응용 계층에서 이해할 수 있는 형식으로 변환하고, 암호화 및 압축 수행.
  • 예시: JPEG, GIF 등 이미지 포맷, 암호화 알고리즘 등.
  1. 응용 계층 (Application Layer):
  • 역할: 최종 사용자와 직접 상호 작용하며, 응용 프로그램과 사용자 인터페이스를 제공.
  • 예시: HTTP, FTP, SMTP 등 응용 프로그램과 직접 관련된 프로토콜.

TCP/IP에 대해서 설명해주세요.

TCP/IP(Transmission Control Protocol/Internet Protocol)는 컴퓨터 네트워크에서 데이터를 안정적으로 전송하고, 서로 다른 컴퓨터들이 효과적으로 통신할 수 있도록 하는 프로토콜입니다.

  1. TCP (Transmission Control Protocol):
  • 역할: 데이터의 신뢰성을 담당합니다.
  • 특징:
    • 데이터를 패킷으로 나누어 전송하고, 목적지에서 이를 재조립합니다.
    • 전송 중 손실된 데이터를 재전송하므로, 안정적이고 신뢰성 있는 통신이 가능합니다.
    • 연결 지향적인 특성을 가지며, 세션을 설정하고 해제함으로써 양쪽 간의 신뢰성 있는 통신을 보장합니다.
  1. IP (Internet Protocol):
  • 역할: 데이터의 주소 지정과 라우팅을 담당합니다.
  • 특징:
    • 각각의 컴퓨터와 장치에 IP 주소를 할당하여, 데이터가 어디로 전송되어야 하는지를 식별합니다.
    • 다양한 네트워크 간의 통신을 가능케 하며, 패킷이 목적지에 도달하는 경로를 결정하는 역할을 합니다.
    • IPv4와 IPv6 등 여러 버전이 존재합니다.

OSI 7 Layer, TCP/IP 처럼 프로토콜을 계층화하는 이유가 뭘까요?

통신이 일어나는 과정에서 데이터의 흐름을 한눈에 파악하기 쉽고 통신 과정 중 문제 발생시 다른 단계의 장비 및 소프트웨어를 건드리지 않고 통신 장애를 일으킨 단계에서 해결할 수 있기 때문입니다.

컴퓨터 네트워크에서 캡슐화와 비캡슐화에 대해서 설명해주세요.

캡슐화 (Encapsulation) 는 데이터를 전송하기 위해 데이터에 헤더(Header)와 트레일러(Trailer)를 추가하는 과정입니다. 네트워크 상위 계층에서 낮은 계층으로 데이터를 전달할 때, 각 계층에서 해당하는 헤더와 트레일러가 추가됩니다. 이를 통해 각 계층에서 필요한 정보가 데이터에 덧붙여지고, 상위 계층의 데이터가 하위 계층에서 사용할 수 있게 됩니다.

비캡슐화 (Decapsulation) 는 반대로, 데이터를 수신하는 측이 데이터의 헤더와 트레일러를 제거하는 과정입니다. 데이터를 전송하는 측의 캡슐화 과정의 역순으로 이루어지며, 각 계층에서 수신된 데이터를 해석하고 상위 계층으로 전달하는 역할을 합니다.

  1. 캡슐화 (Encapsulation):
  • 캡슐화는 데이터를 전송하기 위해 데이터에 헤더(Header)와 트레일러(Trailer)를 추가하는 과정입니다.
  • 네트워크 상위 계층에서 낮은 계층으로 데이터를 전달할 때, 각 계층에서 해당하는 헤더와 트레일러가 추가됩니다. 이를 통해 각 계층에서 필요한 정보가 데이터에 덧붙여지고, 상위 계층의 데이터가 하위 계층에서 사용할 수 있게 됩니다.
  • 데이터의 캡슐화는 계층화된 모델에서의 특정 계층 간에 통신이 이루어질 때마다 발생합니다. 가령, TCP/IP 모델에서는 상위 계층에서 하위 계층으로 이동할 때마다 헤더와 트레일러가 추가됩니다.
  1. 비캡슐화 (Decapsulation):
  • 비캡슐화는 반대로, 데이터를 수신하는 측이 데이터의 헤더와 트레일러를 제거하는 과정입니다.
  • 데이터가 수신되면, 각 계층에서 해당하는 헤더와 트레일러가 제거되고, 남은 데이터가 상위 계층에서 사용됩니다.
  • 비캡슐화는 데이터를 전송하는 측의 캡슐화 과정의 역순으로 이루어지며, 각 계층에서 수신된 데이터를 해석하고 상위 계층으로 전달하는 역할을 합니다.

NIC, 리피터, 리피터 허브에 대해서 설명해주세요.

NIC는 컴퓨터가 네트워크에 연결되기 위한 하드웨어입니다. 무선 라우터와 통신하여 인터넷에 접속하거나, 유선 NIC를 통해 이더넷 케이블을 사용하여 인터넷에 연결할 수도 있습니다.

리피터는 라우터에서 수신한 신호를 증폭하여 부엌까지 확장된 범위에서 안정적인 Wi-Fi 연결을 제공합니다.

리피터 허브는 리피터와 허브의 결합으로, 각 컴퓨터 간에 데이터를 중계하고 증폭하는 역할을 합니다.

브리지에 대해서 설명해주세요.

브리지(bridge)는 가령, 하나는 1층에 위치한 "A 네트워크"이고, 다른 하나는 2층에 위치한 "B 네트워크"있다고 가정한다면, 두 네트워크 사이에 위치하여 데이터가 왔다갔다할 수 있도록 합니다. 이렇게 데이터를 효과적으로 교환하고, 전체 네트워크의 성능을 향상시키는데 사용됩니다.

L2 스위치에 대해서 설명해주세요.

L2스위치는 네트워크에서 데이터 링크 계층에서 동작하며, 이더넷 프레임을 기반으로 동작하는 네트워크 장비입니다. L2 스위치는 각 포트에 연결된 장치들의 MAC 주소를 기반으로 스위칭 결정을 내리고, 네트워크 트래픽을 효율적으로 관리합니다

  • 이더넷 프레임 : 이더넷 기반의 네트워크에서 데이터를 전송할 때 사용되는 기본 단위
  • MAC주소를 찾아서 전달해준다는 의미입니다. 허브처럼 모두한테 다 보내는 것이 아니고 내부에서 특정한 MAC주소에 해당하는 정보를 전달해주는 개념입니다.

  • MAC주소는 OSI계층 중 2계층에 해당하기 때문에, Layer 2 스위치 = L2스위치라고도 합니다.

라우터에 대해서 설명해주세요.

라우터는 네트워크에서 서로 다른 네트워크 간의 통신을 중계하고 관리하는 장치입니다. 라우터는 주로 네트워크 계층에서 동작하며, IP 주소를 기반으로 데이터를 전송하고 경로를 선택합니다.

L3 스위치에 대해서 설명해주세요.

L3 스위치는 네트워크에서 데이터 링크 계층과 네트워크 계층 간의 기능을 결합한 장비로, IP 주소를 이용하여 패킷을 전달하고 라우팅 결정을 내립니다.

L7 스위치에 대해서 설명해주세요.

L7 스위치는 OSI 모델의 최상위 계층인 응용 계층에서 동작하는 스위치로, 어플리케이션 수준에서의 기능을 수행합니다. L7 스위치는 특정 어플리케이션의 프로토콜을 이해하고, 트래픽을 분석하여 응용 계층에서의 통제 및 관리를 제공합니다.

LAN과 WAN에 대해서 설명해주세요.

LAN은 상대적으로 짧은 거리에 있는 컴퓨터를 연결합니다. 예를 들어 사무실이나 학원, 병원 정도의 모든 컴퓨터 연결 가능합니다.

WAN은 지역 간 또는 대륙간의 넓은 지역의 컴퓨터를 연결합니다. 전 세계 수십억 대의 컴퓨터를 연결하는 가장 큰 WAN입니다.

참고자료


https://youngq.tistory.com/72
https://coding-factory.tistory.com/340
https://shlee0882.tistory.com/110
https://land-turtler.tistory.com/154
https://brunch.co.kr/@artprogrammer64/24

profile
A부터 Z까지

0개의 댓글

관련 채용 정보