인터넷과 프로토콜
인터넷의 동작 = 프로토콜
인터넷이란?
( Inter - connected - networks ) => Internet
인터넷의 정의는 네트워크들을 상호 연결한 네트워크.
>> 인터넷도 네트워크고, 인터넷을 구성하는 여러 개의 네트워크가 존재함.
인터넷을 구성하는 네트워크를 "subnet" 이라고 함.
그렇다면 네트워크란 무엇인가?
다양한 유형의 호스트와 스위치(Switch)들을 통신 링크(Link)로 연결한 분산 시스템
> 호스트, 스위치, 링크의 개념을 알면 네트워크가 무엇인지 알 수 있다.
간단한 정리
- 호스트: 네트워크 이용자
- 스위치: 통신을 도와주는 중간 장치
- 링크: 데이터의 이동 통로
호스트란?
인터넷은 네트워크의 끝에 존재하여 사용자에게 통신서비스를 제공하고, 인터넷의 끝에는 사용자의 장치들이 연결되는데 이 장치를 호스트라고 함.
: 인터넷의 끝에 연결된 종단 창치(End-system)
이 장치들은 사용자에게 통신서비스를 제공하기 위한 프로그램을 실행하는 역할을 한다.
ex) PC, 스마트폰, 테블릿, IoT장치, 서버
링크(Link)란?
통신 장치들 간에 정보 전달 단위인 패킷(packet)을 전달하는 유/무선 매체(매개체)
ex) 구리선, 광케이블, Wifi, 모바일 통신 채널, 위성 채널 등
무선 통신의 경우 각자 주파수가 다르다.
스마트폰을 무선공유기(Access point)에 와이파이로 연결했다. = 와이파이 링크로 연결했다.
링크 전송속도(Transmission rate)
- 초당 전송가능한 비트수(bit per second = bps)
- 통신링크의 품질에 따라 전송하능한 데이터의 양이 달라진다.
- 단위: bps, Kbps, Mbps, Gbps, Tbps 등
스위치(Switch)란?
여러 개의 통신 장치를 통신 링크로 연결하는 장치 > 중간 연결 지점
입력 링크로 수신된 패킷을 출력 링크로 전달하는 장치
> 패킷 안에 있는 목적지 정보를 보고 다음 스위치를 정해줌 = Switching = Forwarding = 교환
크게 L2 스위치와, 라우터로 나뉜다.
L2 스위치
네트워크 구조 상 계층2(Layer 2 = 데이터 링크)에서 동작하는 스위치
: 일반적으로 접속 네트워크(Accsess networks)에서 사용 = 종단 장치(End point, 호스트)와 연결된 네트워크에서 사용
라우터
일반적으로 코어 네트워크(Core network)에서 사용,
코어 네트워크는 접속 네트워크 사이를 연결해준다.
접속 네트워크(Access network)와 코어(Core network)에 대한 추가 설명
인터넷의 구성을 인터넷의 위치와 크기로 구분하면 접속 네트워크와 코어 네트워크로 나눌 수 있다.
접속 네트워크: 호스트들을 접속시키기 위한 네트워크
ex) LAN / 광케이블 / Wifi / 4G / 5G 등
> 이런 것들을 통해서 인터넷에 접속함
코어 네트워크: 접속 네트워크를 상호 연결해주는 네트워크
: 서울A건물 네트워크와 부산B건물 네트워크를 직접 연결하는 네트워크를 구축하고 운영하기는 어렵다.
> 이 때 코어 네트워크가 두 접속 네트워크 사이에서 데이터를 전송하는 다리 역할을 함
> 이 코어 네트워크 다리는 우리나라 곳곳에 있어서 우리나라 곳곳에 흩어져있는 접속네트워크들은 이 다리를 통해 서로 연결된다.
> 예시는 우리나라로 들었지만 각 나라들과 나라들 사이에도 코어 네트워크가 존재하여 나라끼리도 연결되어있음.
인터넷을 운영조직에 따라 구분
Enterprise Network: 기관이 운영하는 네트워크
ex) 한국기술교육대학교에 깔려있는 LAN
Home Network: 가정에서 사용하는 네트워크 > 보통 일반 가정은 네트워크를 구축할 능력이 없기 때문에 인터넷 서비스를 제공하는 회사(SKT, LG, KT 인터넷)에 위탁해서 인터넷을 사용함.
> 이렇게 네트워크를 연결하는 서비스를 제공하는 조직과 그 조직이 운영하는 네트워크 = ISP = Internet Service Provider
한국기술대학교의 내부 네트워크를 운영하는 조직은 한국기술교육대학교이다
> 한국기술교육대학교가 인터넷 서비스를 제공하는 조직의 역할을 함
>> 한기대도 ISP라고 할 수 있음.
Moblie Network: 휴대용 기기에서 사용하는 네트워크
> 일종의 ISP라고 할 수 있다.
ISP의 관점에서 인터넷 = 수 많은 ISP 네트워크들이 서로 연결된 네트워크이다.
Tier 1 ISP: 가장 상위레벨 ISP = 국가와 국가간의 연결로 인터넷을 제공하는 ISP
> Regional ISP를 연결함
Regional ISP: 하나의 국가 내부에서 또는 몇몇 지역을 커버하는 인터넷을 제공하는 ISP
> Access ISP를 연결함
Access ISP: ISP의 가장 끝단에서 인터넷을 제공하는 ISP
> 사용자 Host가 이 곳을 통해 인터넷을 사용함.
ex) 가정용, 회사 자체적인 ISP 등
구글처럼 큰 회사는 자체적으로 Tier 1 ISP를 구축하여 운영하기도 함.
프로토콜
- 인터넷을 구성하는 장치들 간에 정보 교환을 제어하는 규칙(규정, 틀, 양식)
- 통신 장치: 하나 또는 다수의 프로토콜을 구현한 시스템
인터넷에서 가장 많이 사용되는 프로토콜 = TCP/IP
프로토콜 표준
- IETF에서 표준을 제정함
- 이 때 제정한 표준의 문서는 "RFC + 번호"의 이름으로 공개함
컴퓨터간의 통신에서는 필요한 정보를 정해진 규칙을 엄격하게 지켜야만 문제없이 통신이 가능하다.
네트워크 프로토콜은 무엇을 정의할까? 어떤 규칙이 들어있을까?
- 통신 장치간에 교환될 정보(메시지)의 형식 / 형태 / 포맷 (Syntax)
> ex) 암호 방식: 데이터를 주고 받는 서로 합의된 암호화 방식을 사용할 수 있도록 규칙으로 정해둔다.
- 메시지 교환 순서 정의(Timing)
: 언제 어떤 메시지를 교환할(보낼) 것인가를 정의함.
ex)
처음엔 메시지를 받을 준비가 됐는지 확인하는 메시지를 보냄
두 번째로 암호방식을 정의하는 메시지를 보냄
세 번째로 정의한 암호방식으로 암호화한 메시지를 보냄
...
이러한 행위의 순서를 정함
- 메시지를 교환할 때 수행해야할 행위를 정의함(Semantics)
: 메시지를 교환할 때 어떤 행위를 해야하는지 정의함
ex) 메시지를 받으면 어디에 저장했다가 어느 위치에서 암호화하고, 어디에서 메시지를 보내고 등등
이 3가지를 프로토콜의 3대 요소(3원칙) 이라고 함.
프로토콜의 종류
HTTP / TCP / IP / UDP / WiFi / 등