on
하드웨어와 네트워크 기초 지식
하드웨어와 네트워크 기초 지식
서버 장비
Docker를 사용한 인프라를 구성하기 위해 알아두어야 할 서버 장비 하드웨어의 중요 구성 요소들을 간단하게 정리했다.
CPU
CPU는 프로그램의 설계나 처리 등을 수행하는 전자회로 부품이다. 보통 CPU의 작동 주파수가 클수록 연산 능력이 높아진다.
CPU의 연산회로를 코어라고 하는데, 코어 수가 많으면 동시에 처리할 수 있는 연산의 수가 늘어난다. 서버에서 사용하는 CPU의 대부분은 코어를 여러 개 가지고 있는 ‘멀티코어’이다. 또한 CPU는 메모리와의 처리 속도차이를 완화하기 위한 요소로 캐시가 사용된다.
메모리
CPU가 직접 액세스할 수 있는 기억장치를 메모리(주 기억장치)라고 한다. 메모리는 기억 영역이므로 데이터 용량이 크거나 데이터의 전송 속도가 빠를수록 고성능이지만, 서버용으로 사용할 때는 전력 소모가 적고 오류 처리가 탑재되어 안정적인 것으로 선정한다.
스토리지
스토리지는 데이터베이스에 기록하는 데이터와 같은 영구적인 데이터를 저장하는 장치로 보조기억장치라고 한다. 스토리지의 용량, 읽기 속도나 쓰기 속도가 시스템 전체의 응답 간에 영향을 주는 경우가 많다.
스토리지의 종류로 흔히들 알고 있는 HDD, SSD 등이 있고, SAN 스토리지와 같은 기업 용도로 사용되는 Fiber Channel(FC) 하드디스크도 있다.
위의 3가지는 아주 기본적인 장치들이고 이 외에도 전원 트러블에 의한 순간적 차단을 막기 위한 UPS(무정전 전원장치)나 여러 대의 서버를 관리하기 위한 KVM 스위치 등을 사용하기도 한다.
서버 장비의 설치에 사용되는 서버 랙은 Maintenance, 유지보수하기 쉬운 것으로 선택한다. 서버 장비는 시스템의 이용 용도에 따라 다양한 제품이 존재하기 때문에 기능이나 예산에 맞춰서 갖추는 것이 기본이다.
네트워크 주소
네트워크 주소에서 알아야할 두 가지의 요소는 MAC 주소와 IP 주소이다.
MAC 주소
MAC 주소는 네트워크 인터페이스 카드나 무선 LAN 칩과 같은 네트워크 부품에 물리적으로 할당되는 48bit 주소이다. 앞의 24비트는 네트워크 부품의 제조업체를 식별하는 번호이고, 뒤의 24비트는 제조업체에서 중복되지 않도록 할당한다.
보통 16진수로 표기되며 앞에서부터 2바이트씩 구분하여 표기한다. OSI 모델의 2계층인 데이터 링크 계층에서 사용한다.
IP 주소
IP 주소는 인터넷이나 인트라넷과 같은 네트워크에 연결된 컴퓨터나 네트워크 장비에 할당되는 식별 번호이다. 가장 많이 보급되어 있는 ‘IPv4’는 8비트씩 4개로 구분된 32비트 주소로 0부터 255까지의 10진수를 4개 나열하여 표현한다.
IPv4의 경우 하나의 네트워크에 약 42억 대까지 연결할 수 있는데, 이처럼 한계가 존재하기 때문에 인터넷에서 이용할 수 있는 IP 주소 값의 고갈이 우려되었다. 이를 해결하기 위해서 업무 시스템에서 사용하는 사내 네트워크는 임의의 주소를 할당할 수 있는 프라이빗 주소를 사용하고 글로벌 주소와 프라이빗 주소를 변환(NAT)하는 장비를 설치하여 운용한다.
IPv6에서는 128비트의 IP주소를 사용하고 있다.
인터넷 상의 글로벌 주소 할당은 전 세계에서 중복되지 않도록 각 나라의 NIC(네트워크 정보 센터)가 처리하고 있다.
OSI 참조 모델과 통신 프로토콜
통신 프로토콜은 어떻게 통신을 할지를 정한 규약을 말한다. 통신을 할 때는 반드시 상대가 필요하며, 자신과 상대가 서로 이해할 수 있도록 말을 하기 위한 규칙이 있어야하기 때문이다.
OSI 참조 모델이란 국제표준화기구(ISO)가 책정한, 컴퓨터 통신 기능을 계층 구조로 나눈 개념 모델이다. OSI 참조 모델에서는 통신 프로토콜을 7개의 계층으로 나눠서 정의하고 있는 것이 특징으로, 1~4계층을 하위계층, 5~7계층을 상위 계층이라고 한다.
응용 계층 (레이어 7)
응용 계층은 웹의 HTTP나 메일을 전송하는 SMTP 등과 같은 애플리케이션에 특화된 프로토콜을 규정한다. 대표 프로토콜로 HTTP, DNS, SMTP, SSH가 있고 방화벽, 로드밸런스가 이 계층에 해당한다.
표현 계층 (레이어 6)
표현 계층은 데이터의 저장 형식이나 압축, 문자 인코딩과 같은 데이터의 표현 형식을 규정한다.
세션 계층 (레이어 5)
세션 게층은 커넥션 확립 타이밍이나 데이터 전송 타이밍을 규정한다. 세션(Session)은 애플리케이션 간에 일어나는 요청(request)과 응답(response)으로 구성된다.
전송 계층 (레이어 4)
전송 계층은 데이터 전송을 제어하는 계층으로 전송 오류의 검출이나 재전송을 규정한다. 대표적인 프로토콜로는 TCP와 UDP가 있다. 데이터를 통신 상대의 노드로 확실하게 보내는 역할을 하는 계층이다.
네트워크 계층 (레이어 3)
네트워크 계층은 서로 다른 네트워크 간에 통신을 하기 위한 계층이다. 서로 다른 네트워크에 데이터 패킷을 전송하는 것을 라우팅이라고 하는데, IP 주소를 바탕으로 네트워크 계층에서 작동하는 대표적인 통신 장비로 라우터와 레이어 3 스위치가 있다. 이 장비들은 패킷을 어디에서 어디로 전송할지에 대한 정보(라우팅 테이블)를 관리한다.
데이터 링크 계층 (레이어 2)
데이터 링크 계층은 동일한 네트워크 안(동일 세그먼트)에 있는 노드 간의 통신을 규정한다. 데이터 링크 계층에서는 MAC 주소로 데이터를 전송하며, 대표적인 장치로 레이어 2 스위치가 있다. 레이어 2 스위치는 통신하고 싶은 노드가 어떤 포트와 연결되어 있는지를 MAC 주소를 사용하여 판단하고 패킷을 전송한다.
물리 계층 (레이어 1)
물리 계층은 통신 장비의 물리적 전기적 틍징을 규정한다. 케이블이나 커넥터의 모양(RJ)이나 데이터를 어떻게 전압과 전류의 값으로 할당할지를 규정한다.
LAN 케이블로 사용되는 STP/UTP나 Ethernet 규격인 100BASE-T 등이 있으며, IEEE802.11 시리즈의 무선 통신 등이 이 계층에 해당한다.
Reference
Comments
CS 의 다른 글
-
HTTP 헤더 - 캐시와 조건부 요청 03 Jan 2022
-
HTTP 헤더 - 일반 헤더 26 Dec 2021
-
HTTP 상태코드 20 Dec 2021
-
HTTP 메서드 활용 17 Dec 2021
-
HTTP 메서드 12 Dec 2021
-
HTTP 기본 09 Dec 2021
-
URI와 웹 브라우저 요청 흐름 08 Dec 2021
-
인터넷 네트워크 06 Dec 2021
-
Single LinkedList 01 Oct 2021
-
ArrayList 24 Sep 2021
-
List Interface(리스트 인터페이스) 23 Sep 2021
-
자바 컬렉션 프레임워크 20 Sep 2021
-
면접 기초 질문 리스트 31 Aug 2021
-
인프라 기초 총정리 14 Aug 2021
-
하드웨어와 네트워크 기초 지식 03 Aug 2021
-
오버레이 네트워크(Overlay Network) 02 Aug 2021
-
이건 꼭 알고 가자! 면접 출제 빈도가 높은 질문들 19 May 2021
-
1분 자기소개 19 May 2021
-
백엔드 개발자 면접 / 학습내용 15 Feb 2021
-
너비 우선 탐색(breadth-first search, BFS) 22 Oct 2020
-
깊이 우선 탐색(depth-first search, DFS) 10 Oct 2020
-
크리티컬 섹션(Critical Section) 10 Sep 2020
-
삽입 정렬(Insertion Sort) 04 Sep 2020
-
선택 정렬(Selection Sort) 04 Sep 2020
-
거품 정렬(Bubble Sort) 04 Sep 2020
-
LRU 알고리즘 31 Aug 2020
-
Stack, Queue 29 Aug 2020
-
awk 명령어 사용법 24 Aug 2020
-
grep 명령어 사용법 23 Aug 2020
-
DNS의 이해 14 Aug 2020
-
대칭키와 공개키 10 Aug 2020
-
HTTP & HTTPS 10 Aug 2020