본 글은 아래의 [변계사 Sam] 블로그에서 개인적인 공부의 목적으로 허가를 받고 발췌하였음을 밝힙니다.
https://better-together.tistory.com/65?category=887984
컴퓨터와 컴퓨터가 네트워크에서 데이터를 주고 받는 통신을 하기 위해서는 스위치, 라우터 등 다양한 네트워크 하드웨어 장비가 필요하다.
전 세계 수많은 네트워크가 연결된 인터넷에서는 서로 다른 벤더(Vendor, 제공하는 기업 ) 이 공급하는 다양한 컴퓨터와 네트워크 장비들이 연결된다. 이때 서로 다른 제조업체가 만든 컴퓨터와 네트워크 장비들이 호환성을 갖고 서로 연결되어 인터넷이라는 거대한 네트워크를 형성하고 데이터를 전송하기 위해서는 Protocol ( 합의된 규칙 ) 이 필요하다.
Protocol?
네트워크에서 데이터를 주고 받기 위해 네트워크를 구성하는 컴퓨터와 네트워크 장비들이 지켜야할 규칙.
protocol은 데이터를 누구에게, 언제, 어떻게, 무엇을 등의 형식,순서,절차,방법 등을 규정한다.
프로토콜이 규정한 구체적인 내용을 사양이라고한다.
- 이더넷 프로토콜
전 세계 어디서든 랜 케이블과 랜포트를 연결하여 네트워크를 만들 수 있도록 표준화된 규격을 정한 것이 이더넷 프로토콜(Ethernet Potocol) 또는 이더넷 기술입니다. 따라서 랜포트를 이더넷 포트, 랜 케이블을 이더넷 케이블, 랜 케이블과 랜포트를 연결하여 만든 유선 네트워크를 이더넷 네트워크 줄여 이더넷이라 부르기도 합니다.
- IP 프로토콜
랜을 연결하는 각각의 컴퓨터와 네트워크 장비들이 이더넷 프로토콜에 따라 통신하는 것처럼, 인터 네트워킹을 하기 위해서 연결되는 각 네트워크들이 지켜야 할 약속, 즉 프로토콜이 있습니다. 현재 네트워크와 네트워크를 연결할 때는 대부분 IP(Internet protocol) 프로토콜(IP는 프로토콜의 의미가 포함된 약자이지만 보통 IP 프로토콜이라고 부릅니다)을 사용하고 있습니다.
- HTTP 프로토콜
웹브라우저를 설치한 여러 대의 컴퓨터가 동시에 웹서버에 접속하여 웹페이지를 볼 수 있도록 웹 브라우저와 웹 서버 간의 통신 규칙인 HTTP 프로토콜(HyperText Transfer Protocol, 을 만들었습니다. HTTP 프로토콜은 월드와이드웹에서 데이터를 주고받는 웹브라우저와 웹 서버 애플리케이션 간에 지켜야 할 약속입니다.
Network Architecture
추상화
복잡한 네트워크 시스템을 프로토콜의 조합으로 단순화 한것을 네트워크 아키텍쳐라고 한다. 이렇게 복잡한 시스템을 쉽게 이해할 수 있도록 핵심적인 기능들을 뽑아 단순화 시키는 방법을 추상화라고 한다.
모듈화와 계층화
복잡한 네트워크 시스템이 데이터를 전송하는 과정을 논리*적인 단계로 분할하여 각 단계마다 핵심적인 기능을 모듈화(Modularity)하고, 분할된 모듈을 계층적 구조로 배열하는 계층화(Layering)를 통해 네트워크를 추상화시킨 것이 네트워크 아키텍처이다.
복잡한 시스템을 기능에 따라 모듈이라는 작은 단위로 분할하여 설계하는 것을 모듈화라고 한다. 모듈은 다른 모듈과 상관없이 독립적으로 고유한 기능을 수행한다. 독립적으로 기능하는 모듈들이 인터페이스를 통해 유기적으로 연결되어 하나의 시스템으로서 동작하게 된다. 모듈화의 핵심은 분할보다는 연결에 있습니다. 레고 블록이 서로 연결되어야 의미 있는 무언가를 만들어내는 것처럼 모듈도 연결되어야 의미 있는 시스템이 되기 때문이다. 따라서 레고 블록이 서로 조립 가능한 것처럼 모듈들을 연결할 수 있는 표준화된 인터페이스가 있어야 한다.
모듈을 연결할 때 모듈 간에 시간적 개념을 부여하여 모듈들을 일정한 순서로 배열한 것이 계층화이다. 순서가 추가된 모듈인 계층(layer)을 사용함으로써 각 계층 간에 일정한 정보의 흐름이 있는 시스템을 설계할 수 있다.
모듈화 된 계층 구조의 장점
모듈화된 계층 구조가 사용된 네트워크 아키텍처에서는 데이터 통신을 계층이라는 단계로 나누어 각 단계의 기능마다 프로토콜을 정의하고, 데이터가 각 계층을 이동하는 순서에 따라 계층을 상위계층부터 하위계층으로 구조화시킨 후 인터페이스로 계층을 순차적으로 연결하여 데이터의 이동을 설명한다.
모듈화된 계층 구조의 가장 큰 특징은 각 계층마다 고유한 역할이 존재하고, 다른 계층과는 상관없이 독립된 형태로 각자 맡은 역할을 수행하는 것이다.
각 계층이 독립적이기 때문에 한 계층의 오류나 변경은 다른 계층에 영향을 주지 않는다. 따라서 어느 계층의 기능 오류를 수정하거나 향상시켜야 하는 경우 해당 계층만 변경하면 되기 떄문에. 독립적이며 이는 기술 발전 속도에 맞춰 각 계층을 자유롭고 편리하게 설계하고 변경할 수 있는 유연성과 개방성으로 이어진다. 기술 발전에 따라 어떤 기기의 사양이 변경되거나 신기술 개발에 따른 새로운 기기가 등장하면 그 기기가 하는 역할이 속한 계층의 프로토콜의 사양만 변경하면 되기 때문이다.
또한 계층을 연결하는 인터페이스 덕분에 다양한 네트워크 장비를 만드는 기술들 간의 상호 연결성이 확보된다. 예를 들면, 스마트폰으로 웹사이트에 접속할 때 LTE나 5G 같은 이동 통신사의 휴대전화망을 사용하든, 무선 랜을 사용하여 Wi-Fi로 연결하든 상관없이 웹 사이트에 접속하는 웹 브라우저가 똑같이 원하는 웹 사이트에 접속할 수 있는 것은 이러한 계층 구조 덕분이다. 계층 구조 덕분에 물리적으로 어떤 기술을 사용해서 네트워크에 접속하든 문제없이 데이터를 주고받을 수 있는 호환성을 갖게 되는 것이다.
이렇게 복잡한 네트워크를 이해하기 쉽게 논리적인 단계로 계층화하고, 계층 간에 표준화된 인터페이스를 제공하도록 구성하여 하나의 계층에서의 변경이 다른 계층에 영향을 미치지 않게 함으로써 유연성과 호환성을 제공하는 모듈화 된 계층 구조는 네트워크 기술 표준화의 기반이 되었다.
OSI 모델과 TCP/IP 모델
컴퓨터와 네트워크 장비를 만드는 업체마다 저마다 독자적인 네트워크 아키텍쳐를 사용하여 서로 다른 제조업체의 제품 간에는 통신을 할 수 없었다. 그래서 호환성을 확보하기 위한표준화 작업이 진행되었는데,
모듈화된 계층 구조를 사용하여 네트워크 기술의 표준화를 목표한 대표적인 시도가 OSI 모델과 TCP/IP 모델 이다.
OSI 모델은 1977년 국제표준화기구 에서 만든 모델로 데이터 전송 과정을 7개의 계층(Layer) 로 분류했다.
비록 상용화되지는 않았지만 네트워크 동신 과정을 개념적으로 설명하는 용도로 많이 쓰이고, 다른 모델에 많은 영향을 주었다.
현재는 네트워크상 데이터 전송 과정을 4개의 계층(Layer)로 단순화한 TCP/IP 모델이 일반적으로 사용되고, 이것이 인터넷 표준이 되었다.
결국 인터넷을 구성하는 전 세계의 다양한 컴퓨터와 네트워크 장비들이 TCP/IP 모델을 기반으로 설계되어 제조업체에 상관없이 상호 연결성이 확보되고 인터넷을 통한 데이터 통신이 가능하게 되었다.
'네트워크 > Network' 카테고리의 다른 글
[5] TCP/IP Layer 의 특징과 역할 및 프로토콜 | 복습 ∨ (0) | 2022.01.10 |
---|---|
TTL( Time-To-Live ) 이란? ICMP 이란?? (0) | 2022.01.10 |
[4] TCP/IP의 개요 | 복습 ∨ (0) | 2022.01.10 |
[2] Server , Client , Web Service | 복습 ∨ (0) | 2022.01.08 |
[1] LAN, WAN, Internet, ISP | 복습 ∨ (0) | 2022.01.05 |