[네트워크] 네트워크의 개요

diveintoo·2024년 3월 9일
0

📑 본 글은 <그림으로 배우는 네트워크 프로토콜>을 읽고 정리한 글입니다.

1. 네트워크의 기초

네트워크(일반적 의미)

여러 사람 또는 사물을 그물 모양으로 연결한 상태 또는 연결된 것

컴퓨터 네트워크

컴퓨터와 네트워크 장치 등이 서로 연결되어 통신할 수 있는 상태나 시스템

네트워크(정보 통신 세계에서의 의미)

  • 컴퓨터끼리 연결하는 통신 경로
  • 단말기(클라이언트)컴퓨터(서버) 사이를 연결한다.
    • 클라이언트 서버 시스템

🤔 호스트 vs 노드 vs 단말기

호스트 : 네트워크 상의 IP 주소를 가진 컴퓨터
노드 : 호스트에 네트워크 장치를 추가한 것
단말기 : 네트워크 상의 어떤 장치(약간 모호한 개념)

네트워크를 구성하는 요소

  • 네트워크를 물리적으로 연결하는 케이블
  • 수많은 벤더에서 만든 컴퓨터, 라우터, 스위치 등의 장치
  • 프로토콜
    • 어떤 벤더의 장치나 환경에서도 다룰 수 있도록 표준화시킴

2. 네트워크의 역사

2-1. 네트워크의 시작: stand-alone

stand-alone

  • 한 대의 단말기가 독립적으로 존재
  • 작업자는 차례를 기다려 사용하는 형태 → 한 번에 한 사람만 사용 가능
  • 배치처리(일괄처리) 형식
  • 지금도 네트워크에 연결되지 않은 장치를 가리킨다.

2-2. TSS의 등장

TSS(Time Sharing System)

  • 한 대의 컴퓨터를 여러 사람이 공유해 사용하는 시스템
  • 작업자는 각자 전용 단말기를 준비해서 컴퓨터에 접속할 수 있다. → 로컬 단말기에서 원격으로 액세스 가능
  • TSS로 컴퓨터와 단말기를 연결하는 1:1 통신이 네트워크의 시작이 되었다.

2-3. 인터넷의 원조, ARPANET

1970년대 컴퓨터 성능 개선, 소형화, 가격 인하

→ 일반 기업에서 컴퓨터를 도입하기 시작함

→ 컴퓨터끼리 정보를 공유하면서 작업해야할 필요성 증가

→ 컴퓨터를 네트워크로 연결해 데이터를 교환하는 기술 개발

BUT! 처음에는 다른 벤더의 장치와 통신할 수 없었다. WHY? 통신 규칙이 달라서


이 때 등장한 것은 바로!

ARPANET(Advanced Research Projects Agency NETwork)

  • 알파넷!
  • 인터넷의 기원이 되는 네트워크
  • 미국의 4개 대학과 연구소를 연결하는 네트워크
  • 세계 최초의 패킷 교환 방식의 네트워크

2-4. 회선 교환과 패킷 교환

회선 교환 방식

  • 컴퓨터끼리 통신할 때, 먼저 통신 경로를 확보하고, 통신 종료까지 그 경로를 전용으로 사용하는 방식
  • 하나의 회선을 여러 컴퓨터가 동시에 사용할 수 없다.
  • like 전화선

패킷 교환 방식(Packet Switching)

  • 전송할 데이터를 패킷 단위로 작게 나누어 전송하고, 수신한 단말기에서 원래 데이터로 복원하는 방식
  • 각각의 패킷에 목적지 주소와 데이터에 관한 정보 등을 포함한 헤더를 붙여 전송한다.
  • 필요한 만큼만 회선을 이용할 수 있고, 여러 사람이 회선을 공유할 수 있다.

2-5. ARPANET에서 인터넷으로

당시 네트워크는 제조사마다 독자적인 기술을 사용했다.

→ 서로 다른 제조사의 장치 간 통신이 어려웠다.

TCP/IP 등장; 서로 다른 장치 간에도 정상적으로 통신할 수 있게 하는 통신 프로토콜


ARPANET에서 사용되던 프로토콜: NCP → TCP/IP

ARPANET이 연결된 곳: 4곳 → 점점 늘어남

NSFNET이라는 연구 네트워크에서 ARPANET 흡수

1990년대 전 세계의 TCP/IP 네트워크가 서로 연결됨

상업용 네트워크 연결 서비스를 제공하는 ISP(Internet Service Provider) 등장

ISP의 등장으로 기업이나 일반 가정의 컴퓨터도 네트워크에 연결할 수 있게 되었다.

‘The Internet’의 기원

원래는 TCP 프로토콜 사양을 정의한 RFC에서 inter-network를 줄인 말로 The Internet을 사용했다.
1980년대 후반에는 NSFNET을 가리키는 용어로 사용되었다.
결국 전 세계에 퍼져있는 네트워크 전체를 가리키는 말이 되었다.

3. 네트워크 프로토콜

3-1. 프로토콜이 뭘까?

프로토콜(protocol)

  • 컴퓨터가 서로 통신하는 절차나 표준을 규정한 것
  • 사양이나 약속
  • 통신할 때 미리 정해진 사양에 따라 데이터를 만들어 송수신한다.

프로토콜의 계층 구조

  • 프로토콜 스택 / 프로토콜 스위트
  • 네트워크 프로토콜은 역할과 목적에 따라 여러가지가 있다.
  • 이런 다양한 프로토콜을 모아 계층 구조로 만든 것
  • 대화나 통신할 때는 각 게층에서 필요한 프로토콜을 선택한다.
  • ex) OSI 참조 모델, TCP/IP 모델

3-2. OSI 참조 모델

OSI 참조 모델

  • OSI(Open Systems Interconnection) Reference Model
  • 특정 제조사나 장치에 의존하지 않는 표준화된 프로토콜 스택이 필요해서 만들어졌다.
  • 국제 표준 모델로서 만들어졌지만, 조금 먼저 나온 TCP/IP 모델이 실제 표준 사양으로 보급되었다.
  • OSI 참조 모델을 따르는 제품은 보급되지 않았다.
  • BUT! OSI 참조 모델을 기반으로 문제를 해결하는 경우도 많다. 꼭 알아두자!

OSI 7 Layers

~상위 계층~

제7층) 응용 계층(Application)

  • 각 어플리케이션이 어떻게 통신하는지 구체적으로 규정
  • HTTP, SMTP, SSH 등 애플리케이션의 통신 기능을 프로토콜로 정의한다.

제6층) 표현 계층(Presentation)

  • 암호화나 압축, 문자 코드나 파일 형식 등 데이터 형식을 규정
  • 다른 애플리케이션, 단말기 간에도 데이터를 올바르게 취급할 수 있도록 표준 형식으로 변환한다.

제5층) 세션 계층(Session)

  • 애플리케이션 간 통신의 시작, 유지, 종료 등을 규정
  • 각 애플리케이션의 통신이 섞이지 않도록 각각의 논리적 경로를 제어한다.

~하위 계층~

제4층) 전송 계층(Transport)

  • 노드 간의 통신 신뢰성을 확보하기 위한 기능을 규정
  • 상위 계층에 데이터를 전달하기 위한 포트 번호를 정의하고, 신뢰성을 확보하기 위한 메커니즘을 정의한다.

제3층) 네트워크 계층(Network)

  • 다수의 네트워크 간 엔드 투 엔드 통신을 실현하는 기능을 규정
  • 출발지에서 최종 목적지로 통신을 전달하기 위해 필요한 주소 체계나 라우팅 등을 정의한다.

제2층) 데이터링크 계층(Data Link)

  • 직접 연결된 노드 간 통신을 실현하는 기능을 규정
  • 물리적으로 연결된 장치 간에 통신을 하기 위한 주소 정의나 오류 검사 등을 한다.

제1층) 물리 계층(Physical)

  • 통신 데이터를 전기 신호나 광 신호로 변환하는 등 물리적인 수단을 규정
  • 데이터 링크 계층에서 받은 데이터를 전기 신호로 변환해 네트워크로 전송한다.

3-3. TCP/IP 모델

TCP/IP 모델

  • 실용성을 중시한 모델
  • 현재 사용되는 많은 제품과 대부분의 프로토콜이 TCP/IP 모델을 따른다.

제4층) 응용 계층(Application)

  • 각 어플리케이션이 어떻게 통신하는지 구체적으로 규정
  • OSI 참조 모델의 상위 계층과 거의 같은 기능을 제공한다.

제3층) 전송 계층(Transport)

  • 노드 간의 통신 신뢰성을 확보하기 위한 기능을 규정
  • OSI 참조 모델의 전송 계층과 거의 같은 기능을 제공한다.

제2층) 인터넷 계층(Internet)

  • 다수의 네트워크 간 엔드 투 엔드 통신을 실현하는 기능을 규정
  • OSI 참조 모델의 네트워크 계층과 거의 같은 기능을 제공한다.

제1층) 링크 계층(Link)

  • 통신 데이터를 전기 신호나 광 신호로 변환하는 등 물리적인 수단을 규정
  • OSI 참조 모델의 (물리 계층 + 데이터 링크 계층)과 거의 같은 기능을 제공한다.

4. 프로토콜과 데이터의 흐름

일반적인 컴퓨터와 네트워크 장치는 TCP/IP 프로토콜 스택을 지원한다.

TCP/IP에 따라 송수신할 때 데이터는 어떻게 흘러갈까?


프로토콜 계층 구조의 위에서부터 순서대로 처리한다.
  1. 응용 계층 프로토콜을 따른 데이터가 만들어진다.
  2. 전송 계층에서 출발지, 목적지 포트 번호와 같은 정보가 부가된다.
  3. 인터넷 계층에서 IP 주소 정보를 추가한다.
  4. 링크 계층에서 MAC 주소 정보를 추가하고, 데이터를 전기 신호로 변환하여 네트워크로 송출한다.

캡슐화

  • 데이터를 프로토콜 스택의 위에서 아래로 전달하면서 계층별로 필요한 데이터를 덧붙이는 것
  • 헤더
    • 각 계층에서 덧붙이는 데이터
  • 페이로드
    • 상위 계층에서 전달받은 상태의 데이터
  • PDU(Protocol Data Unit)
    • payload + header

비캡슐화

  • 데이터를 수신한 쪽에서 수행하는 캡슐화의 반대 작업
  • 전기 신호를 프레임으로 변환한 뒤, 링크 계층부터 응용 계층으로 올라간다.

5. 네트워크를 구성하는 장치

리피터(Repeater)

  • OSI 참조 모델의 물리 계층에서 동작하는 장치
  • LAN 케이블에 흐르는 전기 신호를 복구 및 증폭해 전송 거리를 연장
  • 리피터 허브(Repeater Hub)
    • 여러 개의 포트를 가진 리피터
    • 하나의 포트에서 수신한 전기 신호를 증폭해 다른 모든 포트로 전송한다.

L2 스위치(L2 Switch)

  • OSI 참조 모델의 데이터 링크 계층에서 동작하는 장치
  • 전달된 전기 신호를 데이터 링크 계층의 프레임으로 변환 → 프레임 헤더에 포함된 MAC 주소 정보로 목적지를 판단해 전송
  • 수신한 프레임에 포함된 출발지 MAC 주소를 이용해 MAC 주소 테이블을 작성하고 목적지 정보를 작성한다.
    • 스위칭(Switching) : MAC 주소 테이블에서 해당하는 대상을 찾아서 전송
  • 일반적으로 포트 많음 → 다수의 단말기 연결 가능
  • 브릿지(Bridge)
    • L2 스위치와 동일한 기능
    • BUT! 포트 수가 적음 → 사용 잘 안 함

라우터(Router)

  • OSI 참조 모델의 네트워크 계층에서 동작하는 장치
  • 여러 네트워크 연결 → 다른 네트워크에 있는 단말기와 통신 할 수 있도록 함(End-to-end 통신 수행)
  • 패킷의 IP 헤더를 확인하고, 목적지 IP 주소를 자신의 라우팅 테이블에서 검색한 후 목적지 네트워크를 판단해 전송한다.
    • 라우팅(Routing) : IP 주소를 기반으로 패킷을 전송하는 것 / 서로 다른 네트워크를 연결
  • 암호화, 필터링, NAT 등 다양한 기능 지원
  • ISP와 연결하는 데 필요한 기능 갖추고 있음 → WAN과 LAN을 연결할 때 사용함

L3 스위치(L3 Switch)

  • 라우터처럼 네트워크 계층에서 동작하고, 라우팅 기능도 있다.
  • BUT! L2 스위치처럼 인터페이스 수가 많고, WAN 기능이 없다.

방화벽(Firewall)

  • 네트워크의 경계에 설치해 허가되지 않은 내부 ↔ 외부 통신을 차단하는 보안 장치
  • 전송된 패킷의 출발지/목적지 IP 주소, 출발지/목적지 포트 번호를 확인하여 판단한다.

0개의 댓글