작심 365
[CS 스터디] 1주차 본문
1. 네트워크란?
네트워크는 분산되어 있는 노드(컴퓨터)들이 통신망을 통해서 데이터를 공유하고 통신하기 위해 연결된 구조를 말한다.
여기서 말하는 노드는 컴퓨터 뿐만 아니라 스마트폰, 프린터, 라우터 등 인터넷에 연결할 수 있는 모든 기기들을 말한다.
네트워크는 데이터를 전송하고 자원을 공유하기 위해 다양한 유형의 장비와 프로토콜을 사용한다.
네트워크는 크게 무선과 유선으로 나뉜다.
유선의 경우는 케이블을 사용하여 데이터를 전송하는데 대표적인 예로 이더넷(Ethernet)과 광섬유 케이블이 있다.
무선의 경우는 전파를 이용하여 데이터를 전송한다. 대표적인 예로 Wi-Fi, 블루투스 등이 있다.
네트워크는 다양한 구성 요소로 이루어져 있다. 대표적으로 노드, 라우터, 스위치가 있다.
1. 노드 (Node) : 위에서 언급한것 처럼 네트워크에 연결된 장치를 의미한다. 즉, 데이터를 주고 받을수 있는 단말 장치를 의미한다.
2. 라우터(Router) : 여러 네트워크 간의 데이터 전송을 관리하고 조정하는 장치이다. 라우터는 패킷을 받아서 최적의 경로로 전달하며, 인터넷과 같은 대규모 네트워크에서 핵심적인 역할을 한다. IP 주소를 사용하여 데이터 패킷을 전달한다.
3. 스위치(Switch) : 네트워크에서 데이터의 전송을 제어하고 여러 장치 간의 통신을 관리하는 장치이다. 보통 로컬 네트워크 (LAN)에서 데이터를 전송하고 관리한다. 맥 주소를 사용하여 데이터 프레임을 전송하고 포트 간의 통신을 제어한다.
2. 네트워크가 데이터를 전송하는 방식
네트워크에서 데이터를 전송하는 방식에는 점대점(Point-to-Point) 방식과 브로드캐스팅(Broadcasting) 방식이 있다.
1. 점대점(Point-to-Point) 방식
점대점 방식은 데이터를 특정한 목적지 노드로 전송하는 방식이다. 통신은 두 개의 노드 사이에서 이루어진다. 발신자 <-> 수신자
전화 통화가 점대점 방식의 통신이다. 전화 통화는 수신자와 발신자 사이에서만 통신이 이루어지기 때문이다.
2. 브로드캐스팅(Broadcasting) 방식
브로드캐스팅 방식은 데이터를 네트워크에 연결된 모든 노드에 전송하는 방식이다. 한 번에 하나의 송신자가 데이터를 전송하면, 이 데이터는 모든 노드에게 전달된다.
3. 프로토콜이란?
프로토콜은 규칙 또는 약속을 의미한다. 네트워크에서 프로토콜은 컴퓨터 네트워크에서 데이터 통신을 수행하기 위한 규칙이다.
데이터 형식, 전송 방법, 오류 처리 방법 등을 정의하여 서로 다른 장치 또는 시스템간에 효과적인 통신을 할수 있도록 한다.
대표적인 네트워크 프로토콜 스택은 TCP/IP 모델이나 OSI 모델이 기반한다.
4. OSI 7 Layer
네트워크 통신을 7개의 계층으로 나누어 설명하는 참조 모델이다. (계층구조)
각 계층은 특정한 역할을 수행하고, 상위 계층에 서비스를 제공하며, 하위 계층의 서비스를 사용한다.
각 계층에 대해서 간단히 설명하면
1. 물리계층 (Physical Layer)
- 물리 계층은 데이터를 전기적, 광학적 또는 전파로 변환하여 네트워크 매체를 통해 전송한다.
- 비트를 전송하고 수신하기 위해 물리적인 연결을 관리한다.
- ex) Ethernet 케이블, 광섬유 케이블, 무선 주파수 등
2. 데이터 링크 계층 (Data Link Layer)
- 데이터 링크 계층은 물리적 매체를 통해 안정하고 오류 없이 데이터를 전달한다.
- 프레임 생성, 에러 검출 및 수정, 흐름 제어, 엑세스 제어 등을 수행한다.
- ex) Ethernet Switch, MAC 주소, PPP(Point-to-Point) 등
3. 네트워크 계층 (Network Layer)
- 네트워크 계층은 여러 네트워크 간의 경로 선택과 패킷 전달을 관리한다.
- 라우팅, 패킷 전달, 주소 지정 등을 수행한다.
- ex) 라우터, IP주소, ICMP(Internet Control Message Protocol) 등
4. 전송 계층 (Transport Layer)
- 전송 계층은 종단 간의 데이터 전송을 관리하고 오류 복구 및 흐름 제어를 제공한다.
- 주요 기능으로는 데이터의 전송 신뢰성 보장, 순서 제어 등을 수행한다.
- ex) TCP, UDP 등
5. 세션 계층 (Session Layer)
- 세션 계층은 통신 세션을 설정, 관리 및 종료한다. 데이터 교환 중에 발생하는 동기화와 오류 복구를 처리한다.
- 세션 설정, 유지, 종료 등을 수행한다.
- ex) API, RPC 등
6. 표현 계층 (Presentation Layer)
- 표현 계층은 데이터의 형식을 변환하고 코드화하며, 암호화 및 복호화를 수행한다.
- 데이터 압축, 암호화, 형식 변환 등을 수행한다.
- ex) JPEG, MPEG, SSL 등
7. 응용 계층 (Application Layer)
- 응용 계층은 사용자 인터페이스 및 응용 프로그램과 네트워크 서비스 사이의 상호 작용을 관리한다.
- 사용자 인터페이스 지원, 데이터 전송 및 네트워크 서비스에 대한 접근을 제공한다.
- ex) HTTP, FTP, SMTP, DNS 등
'CS > 네트워크' 카테고리의 다른 글
[CS 스터디] 5주차 (4) | 2024.04.04 |
---|---|
[CS 스터디] 3주차 (1) | 2024.03.21 |
[CS 스터디] 2주차 (0) | 2024.03.12 |