그림으로 공부하는 IT인프라 구조 - 5

2021. 10. 1. 08:37이론 공부

이번에도 책 "그림으로 공부하는 IT인프라 구조" 를 이어서 정리 해보도록 하겠습니다.

 

네트워크

- 서로 다른 장비가 데이터를 교환할 때 기본적으로는 네트워크를 경유해서 데이터를 송수신할 필요가 있다.

- 시스템이 한 대만으로 구성되는 경우는 드물기 때문에 '반드시' 라고 할 수 있을 만큼 데이터는 네트워크를 경유해서 전달됌

 

계층 구조

- 계층 구조는 역할 분담을 위해 필요하며, 데이터나 기능 호출 흐름에 따라 계층 간 역할이 나누어진다.

- 각 계층은 상호 간에 어떤 기능을 가지고 있는지만 알고 있다 ( 구체적으로 어떤 방식으로 처리하는지는 알 수 없다 )

- 계층 구조로 나눔으로써 계층 간에 서로 영향을 주지 않고 독립적으로 동작한다.

- 작업 효율이 떨어질 수 있다 ( 하나의 일을 여러명이 하는 경우를 생각해보자 )

 

OSI (Open System Interconnection) 7계층 모델

- 계층 모델의 대표적인 예 이다.

- OSI 참조 모델로써, 이를 참조해 모든 통신장치를 만들게 된다.

- 이는 서로 다른 서버가 통신하기 위해 서로 알아 들을 수 있도록 만든 규칙이다.

- OSI 는 시스템 간의 상호연결성을 부여하는 표준이다.

 

1. 물리 계층

- 물리매체를 통해 bit 흐름 전송

- 물리적 장치와 인터페이스가 전송을 위해 필요한 기능과 처리절차 규정

 

2. 데이터 링크 계층

- 노드와 노드 사이의 데이터 전달

- LLC, MAC 두 개의 서브레이어로 구성

- 흐름제어 및 오류제어 기능

 

3. 네트워크 계층

- 송신 측에서 최종목적지까지 패킷을 전달

- 논리주소 지정 및 패킷의 경로를 지정하는 라우팅 기능

- 데이터 링크의 물리주소는 패킷이 시스템으로 이동할 때마다 변경되지만, 네트워크 주소는 목적지까지 변하지 않음

 

4. 전송 계층

- 패킷을 종단 내에서 최종 수신 프로세스로의 전달

- 분할/재조립 , 연결/흐름제어 , 오류제어 를 담당

 

5. 세션 계층

- 통신하는 프로세스 사이의 대화제어 및 동기화를 담당

 

6. 프레젠테이션 계층

- 데이터의 변환, 압축, 암호화를 담당

 

7. 애플리케이션 계층

- 사용자에게 서비스를 제공하는 역할

 

프로토콜

- 컴퓨터가 서로 소통하기 위해 정한 규약

- 계층 구조를 함께 생각하면 프로토콜은 같은 계층 간의 '약속' 이라고 할 수 있다

- 어떤 장비라도 서로 통신을 하기 위해서는 프로토콜이 필요하다.

ex) 마우스를 PC에 연결할 때 사용하는 USB 가 있다. 이것도 USB 프로토콜이 존재한다.

 

※ 현재 네트워크를 지탱하는 것은 TCP/IP 및 관련 프로토콜이다. 이들 프로토콜 집합을 모아서 TCP/IP 프로토콜 슈트 라고 한다.

 

TCP/IP 계층 구조

- TCP 와 IP의 두 가지 프로토콜을 주축으로 한 프로토콜 집합이다.

- IP 는 패킷 전달 여부를 보증하지 않고, 패킷을 보낸 순서와 받는 순서가 다를 수 있다.

- TCP 는 IP 위에서 동작하는 프로토콜로, 데이터의 전달을 보증하고 보낸 순서대로 받게 해준다.

 

※ IP : 패킷 통신 방식의 인터넷 프로토콜 

※ TCP : 전송 조절 프로토콜

 

더보기

HTTP , FTP , SMTP 등 TCP를 기반으로 한 많은 수의 애플리케이션 프로토콜들이 IP 위에서 동작하기 때문에, 묶어서 TCP/IP 라고 부르기도 한다.

 

- 출처 : 위키백과 -

 

HTTP

- 애플리케이션 계층의 프로토콜 이다.

- URL을 입력하면, HTTP 를 통해 데이터를 요청하게 되고, 요청 내용이 해석되어 응답하게 된다.

- HTTP는 화면 하나를 표시하기 위해 몇 번이고 왕복한다.

- 클라이언트와 웹 서버는 HTTP를 통해서 몇 번이고 요청과 응답을 주고 받는다.

 

더보기

※ 요청 : 서버에 던지는 명령 ( 서버에 대한 요구 명령, 대상 데이터 지정 )

※ 응답 : 요청에 대한 결과 와 그에 대한 상태 정보

 

TCP

- 애플리케이션이 보낸 데이터를 그 형태 그대로 상대방에게 확실하게 전달하는 것.

- 단, 가능한 한 주변에는 민폐를 끼치지 않는다

- 전송한 데이터를 그 형태 그대로 전달 하기 위해서는 IP 기능만으로 어렵기 때문에 TCP 를 같이 사용한다.

 

더보기

※ 중요 기능

· 포트 번호를 이용해서 데이터 전송

· 연결 생성

· 데이터 보증과 재전송 제어

· 흐름 제어와 폭주 제어

TCP/IP 3-way handshaking

1. 통신을 시작하고 싶은 프로세스(사용자)는 커널에게 통신 개시를 의뢰한 후 , 이 커널은 통신 상대인 서버 측 OS에게 가상 경로를 열도록 의뢰한다

 

2. 서버 측에서는 리슨하고 있는 포트 번호로 통신 요구가 오며, 문제가 없으면 열어도 된다는 응답을 한다

 

3. 사용자 측도 확인했다는 메시지를 보내며, 이 때 처음으로 통신용 가상 경로가 열린다

 

- 위의 1~3 을 TCP/IP 의 3-way handshaking 이라고 한다.

 

IP

- 지정한 대상 서버까지 전달받은 데이터를 전해주는 것

- 단, 반드시 전달된다는 것을 보장하지 않는다.

 

더보기

※ 중요한 기능

· IP 주소를 이용해서 최종 목적지에 데이터 전송

· 라우팅

 

라우팅

- IP 패킷의 헤더에서 목적지를 확인해서 어디로 보내야 할지 확인

- 외부와 접속하는 네트워크는 보통 "기본 게이트웨이" 라는 라우터가 설치되어 있음

 

이더넷

- 링크 계층에서 사용되는 대표적인 프로토콜

- 동일 네트워크 내의 네트워크 장비까지 전달받은 데이터를 운반한다

 

VLAN

- 물리 구성에 의존하지 않고 가상적인 네트워크를 나누는 구조 ( VLAN ID 로 불리는 숫자로 관리 )

- VLAN ID 에 '태그' 를 붙여서 하나의 물리 링크 내에서도 복수의 네트워크 이더넷 프레임을 처리할 수 있는 구조