2022. 3. 8. 18:29ㆍ강의 내용 정리/컴퓨터 네트워크
컴퓨터 네트워크 서론
1. 컴퓨터 네트워크
1) 컴퓨터 네트워크란?
컴퓨터들이 연결된 것을 지칭하는 말로
최근에는 컴퓨터를 연결하는 작업 자체를 중시해 컴퓨터 네트워킹이라는 용어를 사용한다.
WHY?
- 과거에는 컴퓨터나 서버를 연결하는 것이 중요했기에 단순히 정해진 기능을 하는 전용 장치를 연결하는 것에 초점을 맞췄다.
- 반면 최근에는 하드웨어를 연결하는 것도 중요하지만 각 컴퓨터들의 소프트웨어들 간의 유연한 기능적인 연결이 중요하게 되었기에 컴퓨터 네트워킹이 강조되었다.
2) 컴퓨터의 종류
- 데스크탑 컴퓨터 (전통적)
- 서버 컴퓨터 (전통적)
- 테블릿 컴퓨터
- 스마트폰
- 스마트 워치
- IoT
점차 컴퓨터 디바이스가 확장되고 있고 다양해진 컴퓨터들 간의 네트워킹을 앞으로 공부할 예정이다.
3) 4차 산업혁명
- 1차 산업혁명: 기계
- 2차 산업혁명: 전기, 대량 생산
- 3차 산업혁명: 로봇, 글로벌한 생산
- 4차 산업혁명: 로봇들 간에 동기화되어서 거시적인 차원에서 유기적으로 연결되어있기에 한쪽에서의 동적인 변화가 다른 로봇에게도 영향을 미친다.
2. OSI 7 Layer
1) OSI 7 Layer란?
OSI 모형(Open Systems Interconnection Reference Model)은 국제 표준화 기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 7개의 계층으로 나누어 설명한 것이다.
즉, 시스템을 개방적으로 열어서 장치가 달라도 연결하고자 하는 모델로서 현재는 각 계층의 의미만 남아있다. 하지만 아직까지 중요한 의미를 가지기에 이를 공부하는 것은 중요하다. 높은 계층일수록 사용자에 가깝고, 보내는 쪽의 경우 높은 계층에서 아래 계층으로, 받는 쪽의 경우 낮은 계층에서 높은 계층으로 이동한다.
각각의 동일한 계층의 layer는 떨어져있는 것끼리 logical connection이 있기에 peer 통신을 한다. 이를 peer layer이라 한다.
2) OSI 7 Layer의 계층
(1) Transport Service(Lower Layers)
- Physical Layer(1계층): 왼쪽의 장치와 오른쪽의 장치를 무/유선으로 연결해 0과 1의 조합을 보내는 역할을 한다.
- Data Link Layer(2계층): 왼쪽 장치와 오른쪽 장치에서 0과 1을 보낼 때 에러가 발생하는 것을 검출하고 속도차이로 발생하는 flow 컨트롤하는 역할을 한다. (801?)
- Network Layer(3계층): 어디에 보낼 지를 정하는 routing의 역할과 switching 역할, 네트워크 장치에 대한 이름을 붙이는 network address의 역할을 한다.
- Transport Layer(4계층): 웹 브라우저, 웹 서버 등에서 Data Link Layer에서 검출되지 않는 에러를 검출하는 역할을 한다.
cf) TCP/IP: End to end error/network error 검출을 하는 유명한 소프트웨어
* 1, 2계층은 묶어서 얘기하는 경우도 많음
(2) Upper Layers
- Session Layers(5계증): 하나의 서비스에 대해 여러 개의 통신 데이터를 주고받을 때의 Authentication, Permissions, Session restoration와 같은 동작하는 역할을 한다.
- Presentation Layer(6계층): 음성, 음악, 영상 등을 어떤 식으로 저장하고 모양을 만들지 정하는 역할을 한다.
- Application Layer(7계층): 사용자가 접하는 최종 접경으로의 역할을 한다.
ex) Session layer 예시
* Authentication: 돈을 냈는지 안냈는지 확인
* Permissions: 돈을 얼마나 냈는지에 따른 지원 범위를 다르게 허가
* Session restoration: 세션 내에서 문제가 발생했을 때 조정
(3) TCP/IP Protocol Suite
Transport Layer 위에 바로 Application만 있는 경우에는 OSI 7 계층에서의 7, 6, 5 계층이 하나로 이루어진 것으로 생각하면 된다.
cf) 레이어간의 통신
- interlayer간의 통신: 위 아래의 통신을 의미하며 큰 의미가 없음
* PDU: 위에서 아래로 내려갈 때
* SDU: 위에서 내려온 내용을 아래에서 받을 때
3. Open Source hardwares
1) 아두이노
공학을 하지 않는 사람들이 할 수 있도록 만든 간단하고 값이 싸면서 범용으로 사용할 수 있는 프로세스
아두이노는 2003년에 대학원생들이 만든 프로젝트로 시작했다. 아두이노는 오픈소스 하드웨어라는 특징을 가지고 있다. 이에 따라 누구나 소스를 보고 공부할 수 있게 되었다. 이에 따라 꾸준한 개선 및 발전이 가능하다는 장점이 있다.
아두이노는 다양한 요구에 따라 개발된 오피셜 보드가 많아지고 있는 상황이고, 덕분에 개개인은 본인이 만들고자하는 하드웨어를 쉽게 구현할 수 있게 되었다. 더 나아가 실드를 만드는 기업들이 생기면서 특정 목적에 대한 하드웨어의 활용이 가능해지고 있다.
전세계의 많은 개발자 및 기업들이 아두이노 프로젝트 허브를 통해 본인이 만든 것을 공유하고 이를 사업에 활용하기도 한다. 따라서 아두이노를 활용하면 굉장히 저렴한 비용으로 하드웨어를 만들 수 있기에 가난한 국가에서도 잘 사용할 수 있다는 장점이 있다.
2) 기업에서의 오픈소스 하드웨어 활용
(1) 페이스북의 오픈소스 하드웨어 활용
- OCP(Open Compute Project): 데이터 센터를 만드는 기술을 페이스북에서 공개했다. 덕분에 오픈소스 하드웨어를 활용해 만들 수 있는 범위가 늘어났다.
- OCP TIP(Open Source Telecom): 5세대 이동통신과 같은 장치도 오픈소스 하드웨어에서 사용하고자 했다. 이는 이동통신 회사들과 함께 진행하고 있다.
(2) 구글
- 구글은 기성제품을 가져오는 것보단 직접 만드는 것이 수익성 측면에서 유리할 수 있다고 판단해 구글에 맞춰 포픈소스 하드웨어를 구축했다.
- ACM SIGCOMM: 구글에 맞는 하드웨어, 통신기술 등을 구글에 맞춰 직접 구축한다.
4. Single Board Computer (SBC)
1) 라즈베리파이
영국에서 교육을 위해 모두에게 컴퓨터를 제공하기 위해 만든 컴퓨터이다.
라즈베리 파이에서는 리눅스가 돌아가기에 리눅스를 사용할 줄 안다면 간단하게 무언가를 제작할 수 있다. 사용할 수 있는 운영체제로는 RasPBIAN(리눅스), 우분투(리눅스), 등등 많은 운영체제가 돌아간다.
2) 그 외의 싱글보드 컴퓨터
(1) BeagleBone: 미국에서 만듦
(2) INTEL NUC: 인텔이 만듦(램이나 디스크는 x, 운영체제 x)
(3) Google Coral: 범용 컴퓨터가 아닌 텐서플로 프로세서가 포함된 인공지능 컴퓨터
(4) NVIDIA jetson: 인공지능과 관련된 컴퓨터 만듦
5. Linux
리눅스는 무료로 사용할 수 있다. 현재 아마존이나 구글과 같이 전세계에서 가장 유명한 파운데이션은 리눅스를 사용하고 있고, 모바일 네트워킹, 자동차 등에서도 자주 사용한다. 리눅스는 단순히 운영체제의 범위를 벗어나 딥러닝, 가상화폐 등 매우 많은 범위를 포괄하고 있다. 리눅스의 일종으로 안드로이드를 꼽을 수 있는데 이와 비슷한 것이 480여가지가 있을 정도로 범용적이며 많은 사람들이 활용한다. 일례로 전세계에 있는 모든 슈퍼컴퓨터도 리눅스를 활용한다고 한다.
'강의 내용 정리 > 컴퓨터 네트워크' 카테고리의 다른 글
컴퓨터 네트워크 (5), Network Layer 1 (0) | 2022.04.28 |
---|---|
컴퓨터 네트워크 (4), MAC/DLC (0) | 2022.04.28 |
컴퓨터 네트워크(3), DLC Layer (0) | 2022.04.28 |
컴퓨터 네트워크(2-2), MAC Layer (0) | 2022.04.14 |
컴퓨터 네트워크(2-1), Basic Terminologies (0) | 2022.04.14 |