Post

네트워크 - 개요

1. 컴퓨터 네트워크란?

img.png

컴퓨터 네트워크는 통신 및 데이터 교환을 용이하게 하기 위해 함께 연결된 컴퓨터, 서버, 라우터, 스위치 및 기타 네트워킹 장비와 같은 상호 연결된 장치의 모음이다. 데이터 통신이 필요한 네트워크의 종단 시스템을 호스트(host) 라고 하며 호스트 사이의 원활한 통신을 위해 종단 시스템을 연결하는 부분을 네트워크 코어라고 한다. 네트워크 코어는 스위치, 라우터 등으로 구성되어 있다.

위의 이미지에서 여러 호스트들과 직접 연결되는 장비(사각형 안에 X)는 스위치, 호스트와 호스트 사이의 경로에 있는 장비(원 안에 X)는 라우터, 그리고 장비와 장비 사이의 연결은 링크라고 한다.


2. 데이터 전송 방식

호스트와 호스트가 네트워크 코어를 통해 데이터를 이동시키는 방식에는 크게 회선 교환(Circuit Switching)과 패킷 교환(Packet Switching) 두 가지 방식이 있다.

회선 교환 네트워크

img_2.png

패킷 전송 방식과 가장 큰 차이는 호스트 사이 경로 상에 필요한 자원은 통신할 동안에 예약된다는 점이다. 하나의 링크에는 여러 개의 회선을 가질 수 있는데 한 회선은 하나의 통신 세션만 사용할 수 있다.

이 회선 교환 네트워크는 한번 연결이 성공하면 다른 트래픽에 영향을 받지 않고 쾌적하게 전송할 수 있다. 하지만 한 사용자가 데이터를 전송하지 않을 때도 회선을 독점하여 유연성이 떨어지고 회선을 독점하기 위한 추가적인 과정이 필요하다.

패킷 교환 네트워크

img_1.png

전송할 데이터를 패킷이라는 단위로 분리하여 전송한다. 이 때 링크를 회선으로 나누어 독점하는 대신 라우터와 같은 네트워크 장비는 여러 호스트에서 보낸 패킷을 전송한다.

회선 교환 vs 패킷 교환

회선 교환에 비해 패킷 교환은 유연하게 처리할 수 있는 장점이 있다. 식당을 운영하는 방식으로 회선 교환과 패킷 교환을 비교할 수 있다.

10개의 테이블이 있는 식당을 두 시간동안 운영한다고 하자. 회선 교환은 10개의 테이블을 두 시간 예약제로 운영하는 방식과 비슷하다. 손님은 편안하게 식사할 수 있지만 두 시간 내내 식사하지는 않는다. 하지만 예약제이므로 두 시간동안 10개 팀만 이용하고 다른 팀은 이용할 수 없다.

패킷 교환은 예약받지 않고 들어오는 순서로 안내해주는 방식과 비슷하다. 손님이 많을 때는 기다려야 할 수도 있지만 30분 정도 식사하고 나간다면 10개 팀보다 더 많은 팀을 받을 수 있다.

이와 같은 차이를 만들어내는 요소는 회선의 독점과 활성 시간(Active Time)이다. 회선 교환은 데이터를 보내지 않을 때에도 회선을 점유하므로 낭비된다. 하지만 패킷 교환은 한 호스트가 패킷을 보내지 않는 만큼 다른 호스트가 패킷을 더 보낼 수 있으므로 효율적이다.

  • 링크는 1 Gbps 대역폭을 가짐
  • 한 사용자는 사용할 때 100 Mbps 속도로 데이터 전송
  • 한 사용자가 데이터를 전송하는 시간(활성 시간)은 전체 시간의 10%

이 조건에서 회선 교환은 10개의 호스트(1 Gbps / 100 Mbps)밖에 사용할 수 없지만 패킷 전송의 경우 35개의 호스트가 사용해도 대부분 지연 없이 링크를 통과할 수 있다. 35명 중 10명 이상이 동시에 사용할 확률은 0.04% 밖에 안되기 때문이다.


3. 프로토콜

컴퓨터 네트워크에서 프로토콜은 네트워크 내 장치들 사이 데이터를 원활하게 주고 받기 위한 통신 규약이다. 프로토콜은 둘 이상의 통신 개체 간에 교환되는 메세지 포맷과 순서뿐만 아니라 메세지의 송수신과 다른 이벤트에 따른 행동들을 정의한다.

TCP 예시

예를 들어 TCP 프로토콜은 간단하게 보면 다음과 같은 연결 과정을 거친다.

  1. 클라이언트가 서버에게 TCP 연결 요청을 보낸다.
  2. 서버가 클라이언트에게 TCP 연결 응답을 보낸다.
  3. 클라이언트는 서버에게 GET URL로 URL의 데이터를 요청한다.
  4. 서버는 클라이언트에게 URL에 해당하는 데이터를 보낸다.

이렇듯 TCP 프로토콜은 데이터를 주고 받기 위해 필요한 행동은 무엇인지, 어떻게 데이터를 요청하는지, 이 때의 데이터 형식과 같은 규칙을 정의한다. 컴퓨터 네트워크에서는 서버에게 데이터를 요청하고 받는 규칙, 이메일을 주고 받을 때 규칙 등 여러 상황에 대한 프로토콜이 존재한다.

  • HTTP: www에서 하이퍼텍스트 문서를 주고 받기 위한 규칙
  • FTP: 네트워크에서 파일을 주고 받기 위한 규칙
  • SMTP: 네트워크에서 이메일을 주고 받을 때 규칙
  • TCP: 네트워크에서 호스트 사이 안정적인 전송을 위해 필요한 규칙

Reference

https://velog.io/@mingle-mongle/%EC%BB%B4%ED%93%A8%ED%84%B0-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC

James F. Kurose,Keith W. Ross 편저, 최종원 외 7인 옮김, 컴퓨터 네트워킹 하향식 접근 8판, 퍼스트북

This post is licensed under CC BY 4.0 by the author.

© . Some rights reserved.

Using the Chirpy theme for Jekyll.