[CS] 컴퓨터 네트워크

두두·2023년 5월 6일
0

CS

목록 보기
3/14

네트워크란?

전송 매체를 매개로 서로 연결되어 데이터를 교환하는 시스템의 모음
▶️ 시스템과 전송 매체의 연결 지점에 대한 규격이 존재함
시스템이 교환할 때는 임의의 통신 규칙이 존재!


노드 vs 호스트

노드

  • 네트워크에 연결된 주소가 있는 물리적인 장치
  • 데이터를 보내는 송신지 또는 데이터를 받는 수신지 역할
  • MAC 주소라는 고유한 물리 주소를 갖고 있는 컴퓨터와 라우터가 네트워크의 대표적인 노드

MAC 주소
랜카드에 할당된 식별 번호

  • MAC 주소는 랜카드를 제조하는 제조업체(Vendor)가 제조 단계에서 붙임
    이 번호는 사람의 주민등록번호처럼 전 세계에서 유일한 번호임
  • 한 번 만들면 변경할 수 없는 주소이기 때문에 '물리 주소'나 '하드웨어 주소'로도 불림

    랜카드 (NIC)
    네트워크 인터페이스 카드(Network Interface Card)
    컴퓨터와 전송 매체의 경계에서 둘을 물리적으로 연결하는 역할

  • '0과 1'로 이루어진 디지털 데이터를 전기 신호로 변환하고, 전기 신호를 다시 디지털 데이터로 변환한다.

호스트

  • 노드 중에서 애플리케이션을 실행할 수 있는 컴퓨팅 시스템을 갖춘 기기
    (호스트는 노드에 속하는 일부분)
  • 사용자가 애플리케이션을 실행해서 네트워크에 접속할 수 있는 창구 역할
  • "IP로 식별되는 노드" 라고 표현하기도 함!

클라이언트 vs 서버

클라이언트

서비스를 요청하고 사용하는 호스트

서버

호스트 사이에 제공되는 서비스를 기준으로 호스트를 다시 세분화하여 서비스를 제공하는 호스트


➡️ 호스트는 다양한 서비스를 서로 주고받기 때문에 임의의 호스트가 클라이언트나 서버로 고정되지 않고 이용하는 서비스의 종류에 따라 클라이언트가 될 수도 있고, 서버가 될 수 있음



네트워크 토폴로지


네트워크 포톨로지란

네트워크를 배치하는 방식!
링크와 노드들이 어떤 식으로 배치되어 서로 연결되는지를 물리적으로 혹은 논리적으로 설명함

토폴로지를 알아야 하는 이유

네트워크 배치는 네트워크가 어떻게 또 얼마나 잘 기능하느냐는 문제에서 핵심적 역할을 함

네트워크의 배치 방식에 따라 네트워크의 기능성, 연결성이 살아나기도 하고 혹은 망쳐지기도 한다.

✅ 또한, 병목 현상을 찾을 때 중요한 기준이 된다!

병목현상

전체 시스템의 성능이나 용량이 하나의 구성 요소로 인하여 제한 받는 현상

병의 목 부분은 넓은 몸통 부분에 비해 좁아 물이 상대적으로 천천히 쏟아지는 것처럼 하나의 요소 때문에 무언가 느려지거나 접속할 수 없는 현상을 이른다.

병목 현상의 주된 원인

  • 네트워크 대역폭
  • 네트워크 토폴로지
  • 서버 CPU, 메모리 사용량
  • 비효율적인 네트워크 구성

네트워크 포톨로지의 종류

스타 토폴로지

중앙에 있는 노드에 모두 연결

노드 장애를 알아채기 쉬우나, 중앙 노드가 장애라면 전체 네트워크가 마비된다.


버스 토폴로지

= 선형 토폴로지 = 백본 토폴로지
네트워크상의 모든 장치가 하나의 케이블로 연결

낮은 설치비용, 우수한 신뢰성, 중앙 통신 회선에 노드 추가/삭제 용이
하지만, 스푸핑 가능

스푸핑
LAN상에서 송신부의 패킷을 송신과 관련 없는 다른 호스트에 가지 않도록 하는 스위칭 기능을 (악의적으로) 마비 또는 속여 특정 노드에 관련 없는 패킷이 오도록 처리되는 것


링 토폴로지

노드들이 원 또는 고리 모양으로 배열

데이터가 원 모양의 네트워크를 따라 한 방향 또는 양방향으로 흐르며
각각의 장치 양옆에는 두 개의 이웃 노드가 꼭 존재한다

노드 수의 증가에 따른 네트워크상 손실이 거의 없고 충돌 가능성이 적음
하지만, 네트워크 구성 변경이 어렵고 회선에 장애가 발생하면 전체 네트워크에 영향


트리 토폴로지

노드들이 부모-자식 계층 구조로 연결

노드의 추가/삭제 용이
스타 토폴로지처럼 네트워크의 안정성이 중앙 노드에 달려 있음


메시 토폴로지

노드들을 점 대 점으로 상호 연결한 구조

경로가 다양해 한 단말 장치에 장애가 발생해도 정상 작동
하지만 노드 추가가 어렵고 높은 구축/운용 비용



네트워크 성능 분석 명령어

ping

네트워크 상태를 확인하기 위해 대상 네트워크로 일정 크기의 패킷을 전송하는 명령어

TCP/IP 프로토콜 중 ICMP 프로토콜을 통해 동작함
따라서 ICMP를 지원하지 않는 기기를 대상으로는 테스트 불가

 ping www.google.com -n 12

netstat

접속되어 있는 서비스들의 네트워크 상태 표시
(네트워크 접속, 라우팅 테이블, 네트워크 프로토콜 등)


nslookup

DNS에 관련된 내용을 확인하기 위함

특정 도메인에 매핑된 IP를 확인하기 위해 사용함


tracert / traceroute

tracert - 윈도우 / traceroute - 리눅스
목적지 노드까지 네트워크 경로를 확인할 때 사용

어느 구간에서 속도가 느려지는지 확인 가능



Reference

컴퓨터 네트워크 1장 - 네트워크 관련 기초 용어 -
[네트워크(network)] 면접 예상 질문과 답변
[CS] 네트워크
비교하면 쉽다 IT 용어 비교 정리 - 노드, 호스트, 서버와 클라이언트
네트워크 토폴로지 정의: 5가지 유형 길라잡이!
면접을 위한 CS 전공지식 노트

profile
멋쟁이가 될테야

0개의 댓글