CS

[컴퓨터과학개론] 컴퓨터 네트워크

Grace 2023. 12. 5. 00:33

컴퓨터 네트워크의 개요

  • 데이터 통신을 위해 개발된 컴퓨터 네트워크는 계속적인 발전을 통해 서비스의 공유 및 컴퓨팅 자원의 공유를 위한 가장 효율적인 도구가 되었음
  • 컴퓨터 네트워크는 기본적으로 사람, 컴퓨터, 기타 장비들 간의 정보 교류를 위한 통신망
  • 컴퓨터 네트워크는 1980년대부터 개인 통신을 중심으로 성장하여 1990년대와 2000년대를 거치면서 급격하게 팽창하여 현재에 이르고 있음
  • 무선 통신인 와이파이와 스마트폰 통신 서비스의 중심이 되는 이동 인터넷의 급격한 보급으로 집이나 직장에서 뿐만 아니라 상시로 통신 서비스에 접속되어 있는 상황에 이르게 됨

컴퓨터 네트워크의 발전 역사

  • 1940년대 중반부터 시작된 컴퓨터 네트워크는 1990년대부터 시작된 다양한 형태의 인터넷 서비스를 통해 일반인에게도 가깝게 다가왔음
  • 컴퓨터 간의 통신 수단은 1960년대부터 American Airlines의 예약 수속 자동화를 위한 SABRE 시스템과 같은 상용 목적으로 사용되기 시작함
  • 1960년대, ARPANet
    • 미국 국방 고등 연구 기획국의 주도로 MIT를 중심으로 패킷 교환 네트워크로 현재의 인터넷의 시작임
    • 최초의 서비스가 1969년에 시작되었고, 1973년에는 현재 인터넷의 주요 프로토콜인 TCP/IP가 개발되어 적용됨
  • 1970년대, Ethernet
    • 미국 제록스 파크 연구소는 컴퓨터 간의 하드웨어 수준의 연결을 가능하게 해주는 인터페이스 장치로 개발함
    • 개발 초기 이더넷은 미국 하와이 섬들을 연결하기 위해 개발된 ALOHANet의 영향을 받았음
  • 1980년대, BITNET
    • 1981년대 미국 대학들을 연결하기 위해 개발된 컴퓨터 네트워크
    • 인터넷으로 대체되기 전까지 교육기관을 중심으로 널리 사용됨
    • 전송 시 이메일이나 파일 단위로 서버에서 서버로 전송되는 특이한 방식을 채택
  • 1980년대, NSFNET
    • 미국 국립과학재단이 대학 연구 교류를 위해 대학 연구 교류를 위해 컴퓨터 통신을 위해 구축된 네트워크로 ARPANET의 TCP/IP 프로토콜을 기반으로 개발
    • 1989년 최초의 상용 이메일 네트워크인 MCI Mail과 연결되고, 다른 상업용 네트워크와 연결이 되면서 인터넷의 기반을 갖추게 됨
  • 1980년대, PC 통신
    • 1970년대 말에 등장해서 게시판 시스템(BBS, Bulletin Board System)으로도 많이 알려져 있으며, 1980년대 개인용 컴퓨터의 빠른 보급과 함께 급속한 성장
    • 개인적으로 운영하는 소규모 BBS부터 상용 통신회사에서 운영하는 대규모 시스템까지 다양한 형태로 서비스를 제공
    • 주로 모뎀(modem)을 사용해 전화선을 통해 BBS에 접속하는 방식을 사용
  • 1990년대, 웹과 인터넷
    • 웹(WWW, World-Wide Web)은 1989년에 유럽 핵 연구소인 CERIN에서 개발되어 1991년에 공표
    • 1993년에 최초로 널리 보급된 웹 브라우저인 Mosaic의 등장과 함께 인터넷의 전성기를 열었음
    • 이전까지 텍스트 중심의 통신에서 이미지, 텍스트, 오디오 등의 멀티미디어 통신이 시작됨
  • 2000년대
    • 웹 기반의 동적인 멀티미디어 데이터가 중심이 되는 컴퓨터 통신 서비스가 본격적으로 시작됨
    • 웹 이외에도 멀티유저 게임, 인터넷 채팅 등의 여러 가지 인터넷을 응용하는 서비스가 널리 사용됨
    • 무선 통신인 WiFi도 2000년대 들어서 널리 보급됨
    • CDMA를 기반으로 하는 이동 통신 서비스 시작
    • 스마트폰에서 사용 할 수 있는 4세대 이동통신인 LTE기술을 기반으로 하는 이동 통신이 다양한 통신 서비스를 제공
    • 이동 통신이 상업 서비스의 기본 도구가 됨
    • 스마트폰은 가장 중요항 통신 수단

컴퓨터 네트워크의 기본 개념

컴퓨터 네트워크 기술은 컴퓨터와 컴퓨터, 컴퓨터와 네트워크, 네트워크와 네트워크 간의 접속과 정보 교환을 위한 규약을 제공함

채널(channel)

  • 모든 통신은 전선, 전화선, 광케이블, 무선 링크 등 통신 매체를 통해서 통신 신호가 전달됨
  • 통신 신호가 실제로 전달되는 통로를 채널이라고 함

주파수(frequency)

  • 통신채널을 통해 전달되는 통신 신호(디지털/아날로그 신호)는 모두 주기성을 가지는 파형의 모습을 가지고 있음
  • 통신 신호가 초당 몇 번 진동하는가를 계산한 것이 주파수임
  • 주파수의 단위는 헤르츠(Hz)라고 함

대역폭(bandwidth)

  • 통신 채널의 최대 주파수에서 최소 주파수 사이의 주파수 대역을 의미함
  • 최대 주파수가 높을수록 같은 단위 시간에 더욱 많은 정보를 전송할 수 있음

노드(node)

  • 네트워크에 연결된 컴퓨터나 관련 장비를 노드라고 함
  • 노드는 일반 범용 컴퓨터가 될 수도 있고, 라우터(router)와 같은 전용 네트워크 장비가 될 수도 있음

네트워크 인터페이스(network interface)

  • 컴퓨터와 네트워크를 연결해주는 장치
  • 컴퓨터 내부의 신호를 물리적/전기적 신호로 변환해 줌
  • 네트워크 인터페이스는 컴퓨터 내부에 추가되거나 주변장치로 존재함
  • 이더넷 카드나 USB 와이파이 스틱 등이 있음

프로토콜(protocol)

  • 통신 프로토콜은 컴퓨터 통신을 위해 통신을 하는 노드 간의 합의된 통신 약속을 말함
  • 컴퓨터 통신을 위해 통신 프로토콜은 명확하게 규정되어 있어야 함
  • 통신 프로토콜은 통신하는 양쪽 노드가 메시지를 보낼 때, 통신 데이터의 구조나 문법이나 메시지를 주고받는 순서 등을 명확하게 명시함
  • 네트워크 인터페이스 수준의 이더넷 프로토콜, 인터넷 통신을 위한 TCP/IP, 웹서비스의 기반이 되는 HTTP(hypertext transfer protocol) 등이 대표적인 예에 해당됨

컴퓨터 네트워크의 구성

통신을 하는 컴퓨터 두 대는 서로 직접적으로 연결되어 있거나 여러 경로를 통해 간접적으로 연결되어 있음

컴퓨터 네트워크의 크기

같은 컴퓨터 네트워크 안의 노드 간의 최대 거리가 분류의 기준이 됨

  • 근거리통신 네트워크(Local Area Network, LAN): 방, 빌딩, 캠퍼스
  • 도시권통신 네트워크(Metropolitan Area Network, MAN): 도시
  • 광역통신 네트워크(Wide Area Network): 국가, 대륙

네트워크의 연결 형태

  • 버스형 컴퓨터 네트워크
    • 컴퓨터들이 하나의 버스(기본적으로 대역폭이 넓은 채널)를 공유하면서 메시지를 송신할 때, 버스에 방송하듯 버스에 연결된 모든 컴퓨터에 메시지를 보냄(브로드캐스트)
    • 메시지의 수신자만이 주소를 보고 선택적으로 수신하게 됨
    • 예) 이더넷
  • **성(star)형 컴퓨터 네트워크**
    • 중앙에 있는 컴퓨터가 모든 메시지의 중계자 역할을 하게 됨
    • 모든 메시지는 먼저 중앙의 컴퓨터로 보내지고, 중앙의 컴퓨터가 수신한 메시지를 다양한 목적지 컴퓨터에 전달
    • 예) 와이파이 액세스 포인트(WiFi access point(AP))
  • 원(ring)형 컴퓨터 네트워크
    • 메시지가 원형 네트워크를 돌면서 차례로 다음 컴퓨터로 전달되어 최종 수신 컴퓨터에 도달할 때까지 계속 전달
    • 예) 토큰 링(token ring) 네트워크

메시지 교환 방식

송신 컴퓨터에서 수신 컴퓨터까지 정보가 어떤 식으로 전달되는지에 따라 분류

  • 메시지 교환(message switching)
    • 송신하려는 메시지 전체를 한 단계식 목적지 방향으로 스위치(또는 컴퓨터, 라우터 등)를 거쳐서 전송하는 방식
    • 한 번에 메시지가 몰려와서 처리하기 곤란한 경우를 대비해서 대기행렬(queue)을 두어서 저장했다가 수신한 순서대로 전달함
  • 패킷 교환(packet switching)
    • 메시지를 패킷이라는 작은 단위로 나누어 패킷 별로 보냄
    • 메시지 교환방식과 마찬가지로 대기행렬 사용
  • 회선 교환(circuit switching)
    • 메시지의 송신 컴퓨터에서 수신 컴퓨터까지 여러 개의 스위치를 통해 물리적으로 연결된 임시 전용 회선을 동적으로 구성한 후, 임시적으로 설정된 회선을 통해 메시지를 주고받는 방식
    • 전화선을 통하는 모뎀을 사용한 네트워크의 경우 실제 물리적인 연결을 위해 전화 선로를 사용한 회선 교환 방식이 사용

네트워크와 네크워크 간의 연결

여러 개의 네트워크가 모여서 확장된 네트워크를 구성하거나 인터넷처럼 서로 다른 종류의 네트워크끼리 연결하여 확장함

  • 버스형 네트워크를 이용해서 같은 종류의 네트워크를 연결
    • 리피터(repeater): 두 개의 버스에 동시에 연결된 장비
    • 브릿지(bridge): 리피터와 거의 비슷하지만 목적지에 해당하는 버스 방향으로만 전달함
    • 스위치(switch): 브리지와 비슷하지만 두 개 이상의 버스에 연결됨
  • 인터넷
    • 각각의 네트워크는 여러 대의 호스트 컴퓨터로 이루어져 있음
    • 게이트웨이 호스트는 다른 네트워크로 향하거나 다른 네트워크에서 들어오는 데이터를 전달함
    • 게이트웨이 호스트는 라우터라는 특별한 종류의 컴퓨터 장비에 연결되어 있고 이 라우터들이 스위치와 같은 역할을 함
    • 라우터들은 다른 라우터들과 연결된 망을 형성함

컴퓨터 네트워크의 계층적 구조

  • 컴퓨터 네트워크의 연결 방법들은 하드웨어 수준에서 물리적으로 이루어짐
  • 모든 신호는 전기 신호로 변형되어 전달됨
  • 인터넷과 같은 복잡한 기능을 지원하려면 전기 신호 수준을 넘어서, 추상적인 수준에서 네트워크 시스템의 기능과 통신 규칙 등에 대한 명확한 정의가 필요함

OSI 참조 모델

가장 초기의 네트워크 표준이지만, 인터넷의 표준으로 정립된 TCP/IP로 인해 의미가 퇴색

  • 물리 계층
    • 물리적으로 연결된 채널을 통해 비트 단위로 전송이 되는 계층임
    • 이더넷의 연결 잭, 케이블의 전기적 특성 등이 물리 계층 수준에서 정의됨
  • 데이터링크 계층
    • 직접 연결된 두 컴퓨터나 장비 간의 프레임(frame; 블록 단위의 정보) 단위로 전송하는 계층임
    • 데이터링크 계층에서는 전송을 위해 프레임의 시작과 끝, 수신자 주소 등이 추가되고, 오류의 발견/수정하는 기능, 흐름 제어의 기능도 담당함
    • 예) 이더넷, 와이파이 등
  • 네트워크 계층
    • 패킷 단위의 전송이 이루어지며, 계층적인 주소 지정 방식을 사용함
    • 패킷을 어떤 경로를 통해 송신 컴퓨터에서 수신 컴퓨터까지 전달할지 결정하는 라우팅이 일어남
    • 패킷들이 몰릴 경우에 혼잡 제어를 수행
    • 네트워크 계층에서 인터넷의 IP(internet protocol)가 정의됨
  • 전송 계층
    • 세그먼트 또는 데이터그램 단위의 메시지가 송신 컴퓨터에서 수신 컴퓨터까지 신뢰성을 보장하며 전달하는 계층임
    • 메시지를 패킷 단위로 자라서 네트워크 계층에게 전송
    • 중간에 사라지거나 순서가 바뀐 패킷을 오류없이 다시 구성해서 전송해주는 역할을 함
    • 인터넷의 TCP(transport control protocol)가 이 수준에서 정의
  • 세션 계층: 통신 컴퓨터간 연결의 접속/차단과 데이터 통신 방식을 결정
  • 표현 계층
    • 응용 계층에서의 데이터 사용 방식과 무관하게 잘 작동할 수 있도록 해주는 것
    • 인터넷에서는 표현 계층이 따로 없이 개별 응용 프로그램 수준에서 바이트 순서 문제를 처리
  • 응용 계층: 웹에서 사용하는 HTTP, 파일 전송을 위한 FTP, 이메일 전송을 위한 SMTP 등과 같은 응용 프로토콜의 기능을 지원하는 것

인터넷 계층(TCP/IP)

  • 네트워크 인터페이스(이더넷 등): 물리 계층, 데이터링크 계층
  • IP: 네트워크 계층
  • TCP: 전송 계층
  • 응용 프로그램(브라우저): 세션 계층, 표현 계층, 응용 계층