CS/Network 10

[모두의 네트워크] 9장 무선 랜 이해하기

Lesson 35. 무선 랜의 구조 무선 랜이란? 무선 랜은 케이블을 사용하지 않고 전파를 이용하여 기기들을 연결합니다. 무선 랜은 케이블에 제약을 받지 않는다는 장점이 있으나, 전파가 약하면 연결이 불안정하고, 보안이 취약하다는 단점이 존재합니다. 따라서 암호화 및 인증 설정이 필수적입니다. 무선 랜은 무선 액세스 포인트(Wireless Access Point, WAP)와 무선 클라이언트(컴퓨터, 스마트폰)로 구성되어 있습니다. 무선 클라이언트가 무선 액세스 포인트와 통신하려면 무선 랜 칩과 무선 랜 어댑터가 필요하고 요즘에는 이를 내장하고 있기 때문에 고려하지 않아도 됩니다. 인프라스트럭처 방식과 애드혹 방식이란? 무선랜을 연결하는 방식에는 크게 두 가지로 나뉘어집니다. 인프라스트럭처 방식 : 무선 ..

CS/Network 2024.01.08

[모두의 네트워크] 8장 네트워크의 전체 흐름 살펴보기

Lesson 32. 랜 카드에서의 데이터 전달과 처리 네트워크의 구성 이제 앞서 다룬 OSI 7계층에서 웹 사이트 접속 시 담당하는 일들을 살펴보겠습니다. 응용 계층 : 애플리케이션 등에서 사용하는 데이터 송수신 전송 계층 : 목적지에 데이터를 정확하게 전달 네트워크 계층 : 다른 네트워크에 있는 목적지에 데이터를 전달 데이터 링크 계층 : 랜에서 데이터를 송수신 물리 계층 : 데이터를 전기 신호로 변환 예를 들어 아래와 같이 컴퓨터, 스위치, 라우터, 웹 서버로 구성된 네트워크가 있다고 가정하여 웹 사이트의 접속 과정을 설명해보겠습니다. 컴퓨터의 웹 사이트 전송을 위한 요청 데이터는 아래와 같이 흘러가 웹 서버에 도착하게 될 것입니다. 컴퓨터의 데이터가 전기 신호로 변환되는 과정 가장 먼저 컴퓨터에서 ..

CS/Network 2024.01.04

[모두의 네트워크] 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

[모두의 네트워크] 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

포트번호? 8080:8080 그게 뭐지??

도커 컴포즈 파일이나 도커를 작성할 때, 또는 흔히들 포트번호를 입력하여 통신을 한다. 나는 이걸 그냥 감으로만 캐치하여 사용하고 있었고, 본질적으로 포트번호 충돌이 일어나도, 대충 숫자만 바꾸는 식으로 진행했다. 그런데, 이번에 docker compose를 작성하면서, 포트번호에 대한 의문점이 생겼고 어떻게 사용하는지에 대해서 멘토(?)에게 자문해봤다. 그리고 이 글은, 그렇게 간단하게나마 포트번호에 대한 개념을 최소한의 데이터 통신의 지식으로 이해할 수 있도록 쓰였다. 우선 우리는 많은 서비스에서 API로 요청을 하거나, DB를 설정할 때, 프론트와 백의 소통에서 포트번호를 일치해줘야한다는 것을 알고 있다. 막상 쓸 때는 '숫자만 대충 맞으면 되지'라는 식으로 진행했지만, 직접 작성하려고 하니, 무슨..

CS/Network 2023.08.30