전체 글 205

[모두의 네트워크] 7장 응용 계층 : 애플리케이션에 데이터 전송하기

Lesson 28. 응용 계층의 역할 응용 계층의 역할 응용 계층에서는 클라이언트의 요청을 전달하기 위해 서버가 이해할 수 있는 데이터로 변환하고 전송 계층으로 전달하는 역할을 합니다. 여기서 설명하는 응용 계층은 OSI 7계층 모델에서 세션 계층과 표현 계층을 포함하는 것으로 설명합니다. 응용 계층에서는 애플리케이션이 동작하는 계층입니다. 애플리케이션은 서비스를 요청(사용자)하는 측인 클라이언트, 서비스를 제공하는 측인 서버로 나눌 수 있습니다. 클라이언트 측의 애플리케이션과 서버 측의 애플리케이션이 통신하기 위해서는 프로토콜이 필요한데, 여러가지 프로토콜이 있지만 주요한 프로토콜 몇가지만 짚고 넘어갑니다. HTTP : 웹 사이트를 볼 때 사용 FTP : 파일을 전송할 때 사용 SMTP : 메일을 전송..

CS/Network 2024.01.04

[모두의 네트워크] 6장 전송 계층 : 신뢰할 수 있는 데이터 전송하기

Lesson 23. 전송 계층의 역할 전송 계층의 두 가지 역할 전송 계층에서는 두 가지 역할을 합니다. 오류를 점검하여 재전송을 요청하는 기능 전송하는 데이터의 목적지가 어떤 애플리케이션에 해당하는지 식별하는 기능 연결형 통신과 비연결형 통신 전송 계층에서의 특징은 신뢰성/정확성과 효율성으로 구분할 수 있습니다. 연결형 통신 연결형 통신은 신뢰할 수 있고 정확한 데이터를 전달하는 통신을 의미합니다. 따라서 연결형 통신은 데이터를 주고받을 때 여러번 확인하고 보내는 과정을 거칩니다. 연결형 통신에는 TCP 프로토콜이 사용됩니다. 비연결형 통신 비연결형 통신은 효율적으로 빠르게 데이터를 전달하는 통신을 의미합니다. 따라서 비연결형 통신은 데이터를 주고받을 때 확인하는 과정이 없이 일방적으로 데이터를 송신하..

CS/Network 2024.01.03

[모두의 네트워크] 5장 네트워크 계층 : 목적지에 데이터 전달하기

Lesson 17. 네트워크 계층의 역할 네트워크 간의 연결 구조 지난 글에서 다룬 데이터 링크 계층에서의 데이터 전송은 다른 네트워크로 데이터를 전송하는 데에 어려움이 존재합니다. 데이터 링크 계층에서는 데이터를 전송하기 위해 '스위치'를 이용했었는데, 스위치를 이용한 데이터 통신은 같은 네트워크에서의 통신에 사용되기 때문이죠. 따라서 이번 글에서 다룰 네트워크 계층에서는 네트워크 간의 통신을 가능하게 하는 것이 주된 역할이라고 볼 수 있습니다. 라우터 네트워크 계층에서 네트워크 간의 통신을 위해서는 라우터를 사용합니다. 라우터는 데이터의 목적지가 정해지게 되면 해당 목적지까지 어떤 경로로 가는 것이 좋은 지를 결정하는 기능을 합니다. 우리는 데이터 링크 계층에서 서로 통신을 하기 위해서는 MAC 주소..

CS/Network 2024.01.02

[라즈베리파이] 초기세팅부터 무선으로 원격접속까지 for Mac

안녕하세요! 오늘은 라즈베리파이를 초기 세팅부터 무선으로 노트북에서 ssh에 접속하는 것까지의 과정을 알아보겠습니다. 0. 준비물 라즈베리파이, 라즈베리파이 SD카드, 노트북(여기서는 Mac), 핫스팟이 가능한 기기, Mac과 SD 카드를 연결해줄 허브 위 4개로 라즈베리파이를 실행하고 ssh로 접근할 수 있습니다. 1. Raspberry Pi Imager 설치 하단의 링크에서 본인의 사양에 맞는 Raspberry pi Imager를 설치해줍시다. https://www.raspberrypi.com/software/ Raspberry Pi OS – Raspberry Pi From industries large and small, to the kitchen table tinkerer, to the class..

기타 2024.01.02

[모두의 네트워크] 4장 데이터 링크 계층 : 랜에서 데이터 전송하기

Lesson 12. 데이터 링크 계층의 역할과 이더넷 이더넷이란? OSI 모델에서 데이터 링크 계층은 네트워크 장비 간에 신호를 주고받는 규칙을 정하는 계층이라고 하였습니다. 이러한 규칙 중에서 통상적으로 쓰이는 규칙이 바로 이더넷(Ethernet)입니다. 우리가 자주 쓰는 Internet과는 다른 용어이니 혼용하지 않도록 주의합시다. 이더넷 이더넷은 허브와 같은 장비에 연결된 컴퓨터와 데이터를 주고받을 때 사용하는 규칙입니다. 우리는 3장에서 허브의 단점에 대해서 배웠습니다. 허브는 송신 컴퓨터를 제외한 모든 포트에 데이터를 전송한다는 단점이 있는데 이더넷 규칙을 사용함으로써 이를 해결할 수 있습니다. 이더넷 규칙에서는 허브에 데이터를 전송할 때, 목적지 정보를 데이터에 추가합니다. 그 후, 허브에서 ..

CS/Network 2023.12.28

[모두의 네트워크] 3장 물리 계층 : 데이터를 전기 신호로 변환하기

Lesson 9. 물리 계층의 역할과 랜 카드의 구조 전기 신호란? 2장에서 다룬 OSI 계층에서의 물리 계층을 떠올려봅시다. 물리 계층에서는 0과 1로 이루어진 비트열을 전기 신호로 변환하여 데이터를 전송하고 수신 측에서는 전기 신호를 비트 문자열로 변경하여 데이터를 수신합니다. 이러한 전기 신호에는 아날로그 신호와 디지털 신호가 있습니다. 각 신호의 파형은 아래와 같습니다.(참고용) 이렇게 전기 신호를 비트 문자로 변환하고, 비트열을 전기 신호로 변환하는 것은 랜 카드가 담당합니다. Lesson 10. 케이블의 종류와 구조 트위스트 페어 케이블이란? 데이터가 흐르는 물리적인 선로를 전송 매체라고 합니다. 네트워크의 전송 매체는 유선과 무선으로 나뉘어져 있습니다. 유선으로는 트위스트 페어 케이블, 광케..

CS/Network 2023.12.27

[모두의 네트워크] 2장 네트워크의 기본 규칙

Lesson 6. 네트워크의 규칙 프로토콜이란? 프로토콜은 컴퓨터 내부에서, 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계를 의미합니다. 이렇게 통신을 하기 위해서는 데이터를 상대방에게 보내고, 이를 상대방이 받을 때까지 지켜야하는 여러가지 독립적인 규칙을 준수해야합니다. Lesson 7. OSI 모델과 TCP/IP 모델 OSI 모델이란? 서로 다른 기기끼리의 통신을 위해서는 표준 규격이 필요합니다. OSI 모델이란 ISO(International Organization for Stadardization) 국제 표준화 기구에서 제정한 표준 규격을 의미합니다. OSI 모델은 네트워크 기술의 기본이 되는 모델이며 일곱 개의 계층을 통해서 컴퓨터끼리의 데이터 송수신이 가능합니다. 각 계층마다의..

CS/Network 2023.12.27

[모두의 네트워크] 1장 네트워크 첫걸음

Lesson 1. 네트워크 구조 컴퓨터 네트워크란? 우선 네트워크란 다양한 기기들이 연결되어 있는 상태를 의미합니다. 하지만 네트워크의 대상은 기기뿐만 아니라 사람이 될 수도 있습니다. 그러니까 컴퓨터와 사람의 네트워크, 컴퓨터와 컴퓨터의 네트워크, 사람과 사람의 네트워크라는 용어를 모두 사용 가능합니다. 그 중에서, 컴퓨터와 컴퓨터의 연결을 컴퓨터 네트워크라고 합니다. 또한 인터넷은 전 세계의 작고 큰 네트워크를 연결하는 거대한 네트워크를 의미합니다. 그러므로 우리는 인터넷을 통해서 해외 사이트에 접속할 수 있는 것입니다. 패킷이란? 패킷이란 네트워크를 통해 전송되는 데이터의 작은 조각을 의미합니다. 데이터를 있는 그대로 전송하면 되지만 굳이 작은 데이터로 쪼개 전송하는 이유는 네트워크에는 데이터를 전..

CS/Network 2023.12.25

[운영체제] 스케줄링 알고리즘 : SPN, SRTF

오늘은 이전 글에 이어서 스케줄링 알고리즘 중 SPN, SRTF에 대해서 알아봅시다. 이전 글을 보고 오시지 않았다면 읽고 오시는 것을 추천드립니다! 2023.12.10 - [Computer Science/운영체제] - [운영체제] 스케줄링 알고리즘 Shortest Process Next(SPN) 프로세스가 ready의 프로세스 목록 중 service Time이 가장 짧은 것부터 실행하는 방법을 의미합니다. 이전 글의 예시와 같이 진행해봅시다. 아래와 같은 루틴을 갖게 될 것입니다. 9초까지는 동일하지만, SPN은 9초에서 다르게 작동합니다. 9초에 B의 작업을 모두 마치고 스케줄링 과정을 진행해야합니다. 현재 메모리에는 C, D, E가 로드되어 있고 우리는 이 중에서 어떤 것을 실행할 지 정해야합니다...

CS/OS 2023.12.10

[운영체제] 스케줄링 알고리즘 : Priority, FCFS, RR

오늘은 스케줄링 알고리즘 Priority, FIFO, RR에 대해서 알아보겠습니다. 개요 지난 글에서 다룬 Scheduling의 종류 중에서 Short-Term Scheduling은 어떤 방법이 효율적이라고 할 수 있을까요?? 사용자의 관점에서 본다면 response time. 즉, 내가 프로그램을 실행했을 때 실행되는 반응 속도가 빨라야할 것입니다. 하지만 시스템 적으로 바라본다면 CPU utilization. 즉, CPU를 얼마나 효율적으로 사용하는 지가 관건일 것입니다. 스케줄링 판단 기준 그렇다면 스케쥴링을 판단하기 위한 몇가지 기준과 용어에 대해서 다뤄보겠습니다. CPU utilization : CPU가 user의 프로세스들을 실행하기 위해 차지하는 시간의 비율 Throughput : 단위 시간..

CS/OS 2023.12.10