너무너무 멋져 눈이눈이 부셔
컴퓨터 네트워크란? 네트워크를 알아야 하는 이유 본문
2.1 네트워크의 기초
네트워크란 : 장치가 마치 그물처럼 서로 연결되어 정보를 주고 받을 수 있는 통신 망(그래프 형태)
- Net + Work 의 합성어로써 컴퓨터들이 통신 기술을 이용하여 그물망처럼 연결된 통신 이용 형태를 의미.
: 쉽게 -> 두개 이상의 컴퓨터 및 장치들이 연결되어 데이터를 주고 받을 수 있는 시스템 또는 구조.(연결만 되어있으면 되는 게 아니라 데이터를 주고 받을 수 있어야 함)
- 노드 : 서버, 라우터, 스위치 등 네트워크 장치 - 링크(엣지) : 유선 또는 무선과 같은 연결매체 (와이파이나 LAN) |
인터넷 : 네트워크의 네트워크. 여러 네트워크를 연결한 것.
-> 내부에서도 통신하고, 네트워크 간에서도 통신
네트워크의 기본 구조.
그래프 구조. : 노드와 간선(유무선)으로 이루어진 자료 구조.
호스트
-네트워크의 가장자리 노드. (최초 송신, 혹은 최종적으로 수신하는 장치)
역할에 따른 구분
- 클라이언트 : 요청을 보내는 호스트
- 서버 : 요청에 대한 응답을 하는 호스트
네트워크 장비
- 중간 노드 (이더넷 허브, 스위치, 라우터, 공유기 등)
- 주고 받는 정보가 수신까지 안정적으로 갈 수 있도록...
-> 호스트, 네트워크, 서버, 클라이언트는 각각 배타적인 개념이 아님!
호스트<-> 네트워크 장비 역할 수행 가능. 서버<-> 클라이언트 역할 수행 가능.
통신 매체(간선)
- 유선
- 무선
-> 성능과 관련 있어서 개발자도 알아둬야 함. 뒷받침하는 간선이 케이블, 무선 매체의 성능을 모른다면 무쓸모.
메세지
노드가 주고 받는 정보.
- 웹페이지, 파일, 메일 등.
네트워크의 분류
범위에 따른 분류
- LAN :소규모, 가까운 지역 (가정집, 사무실 등)
CAN(학교나 회사 등), MAN(도시 등 대단위)
- WAN : 광범위. 다른 LAN에 속한 호스트와 통신해야할 떄 필요,
(누가 구축할까요? ISP :KT, SK, LG유플러스)
사용자에게 인터넷같은 WAN에 연결 가능한 회선을 임대하는 등 WAN과 관련된 다양한 서비스 제공.
메세지 교환 방식에 따른 분류
- 회선 교환 네트워크
- 패킷 교환 네트워크(오늘날 주로)
회선 교환 방식
- 메세지 주고받기 전, 회선(메세지 전송로)을 설정하고, 그 회선으로 메세지를 주고받는다. (두 호스트를 연결할 전송로를 확보하기)
- 회선 스위치: 호스트 사이에 일대일 전송로를 확보
장점 : 전송로를 미리 확보 -> 주어진 시간 동안 전송되는 정보의 양이 일정함. (이 회선으로 전송하니까 일정)
단점: 회선 이용 효율이 낮아짐.(메시지를 주고 받지 않으면서 회선을 점유할 수 있기 때문, 가능한 모든 회선에 끊임없이 메세지가 흘러야 효율적.) 도로 딲아 놨는데 아무도 안씀.
패킷 교환 방식
- 매시지를 패킷이라는 단위로 쪼개어 전송.(각기 다른 수신로를 사용할 수 있고, 각기 다른 순서로 도착할 수 있음)
- 쪼갠게 수신지에서 재조립됨.
-전송로 이용 효율이 높아서 회선 교환 방식의 문제점 해결.
큰 파일을 패킷이라는 단위로 쪼갰다가-> 재조립해서 수신.
패킷
패킷 스위치
- 패킷의 송수신지를 식별, 패킷이 이동할 최적의 경로를 결정
-라우터, 스위치 등.
패킷의 구조
- 페이로드 : 전송하려는 데이터 (like 택배 물건)
- 헤더, 트레일러 : 부가 정보 또는 제어 정보(like 택배 송장), 트레일러는 없을 수도 있다.
주소
헤더에 담기는 대표적 정보.
- 송수신지를 특정하는 정보(IP주소, MAC주소 등)
- 주소가 있으면 누구에게 전송할지 지정할 수 있음.(특정 기기 하나, 같은 네트워크 내 모든 기기, 같은 그룹... 등으로 지정)
유형
유니캐스트
- 하나의 수신지에 메세지를 전송
- 1:1(가장 일반적)
브로드 캐스트
- 네트워크 상 모든 호스트
- 브로드캐스트 도메인 : 브로드캐스트가 전송되는 범위 (LAN의 범위 == 브로드캐스트 도메인이 닿는 거리)
멀티 캐스트
- 네트워크 내 동일 그룹에 속한 호스트에게만 전송
애니 캐스트
- 네트워크 내 동일그룹에 속한 호스트 중 가장 가까운 호스트에게 전
* 다른 책에서 말하는 설명
LAN | 근거리 영역 네트워크 (공유기, 허브 또는 스위치에 연결되어있는 네트워크) |
WAN | 지역, 국가 등 광역 네트워크. LAN을 연결한 들 |
라우터 | - 데이터가 목적지에 원활하게 도착할 수 있도록 적절한 통신 경로를 안내하는 장치. - 여러 네트워크를 연결하고, 패킷을 받아 최적의 경로를 선택하여 다른 네트워크로 전달 |
호스트 | 네트워크에 연결되어 데이터 통신이 가능한 장치. PC, 서버, 스마트폰 등등... |
패킷 | 정보를 보낼 때 특정 형태를 맞추어 보내 컴퓨터 간에 데이터를 주고 받을 떄 네트워크를 통해 전송되는 데이터 조각 |
허브 | 데이터를 자신에게 연결된 모든 기기에게 전달하는 연결장비. - 한 번에 하나의 장비만 데이터를 보낼 수 있어서 성능 저하 문제가 있음. -> 브로드 캐스팅 방식 |
스위치 | 네트워크 장치 연결, 네트워크 트래픽 교환하고 전달. - 해당 데이터를 요청한 기기가 누구인지 파악하고 정확한 목적지로 전달. -> 출발, 목적지가 하나만 있는 유니캐스트 방식. |
네트워크에서 패킷을 어떻게 주고 받을까?
-페이로드를 택배 상자에 넣고
- 헤더(주소와 송장)를 작성하고 첨부
- 네트워크 장비(택배 기사)를 통해 발송
-> 나, 수신자, 택배기사가 이해하는 언어가 통해야 한다.
네트워크 세상의 언어, 프로트콜(일상 속 언어와는 달리, 프로토콜은 통신 과정에서 여러개를 함꼐 사용)
프로토콜 : 노드 간에 정보를 올바르게 주고받기 위해 합의된 규칙이나 방법.
- 프로토콜을 이해하기 위해서는 목적과 특징을 알아야 한다.(특정 목적을 위해서 만들어진 헤더를 주고받는다)
2.1.1 처리량과 지연 시간
네트워크를 구출할 때는 좋은 네트워크로 만드는 것이 중요하다.
좋은 네트워크의 조건
- 많은 처리량(링크를 통해 전달되는 시간당 데이터의 양)을 처리할 수 있다. : 많은 트래픽을 처리한다 = 많은 처리량을 가진다
- 단위로는 bps(bits per second)를 쓴다. 초당 전송 또는 수신되는 비트 수라는 의미이다.
- 트래픽, 네트워크 장치 간의 대역폭, 네트워크 중간에 발생하는 에러, 하드웨어 스펙에 영향을 받는다.
트래픽 : 특정 시점에 링크 내에 흐르는 데이터의 양. <처리량과의 차이> - 트래픽이 많아짐 = 흐르는 데이터가 많아짐 - 처리량이 많아짐 = 처리되는 트래픽이 많아짐 |
- 대역폭 : 주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 비트 수
(그럼 대역폭이 커지면 많이 처리하고 트래픽을 많이 다룰 수 있겠네?) 도로 넓이에 비유할 수 있겠다.
2. 지연시간이 짧다.
- 지연시간(latency)이란 요청이 처리되는 시간, 메시지가 두 장치 사이를 왕복하는데 걸리는 시간을 의미한다.
- 매체타입(무선, 유선), 패킷의 크기, 라우터의 패킷 처리 시간에 영향을 받는다.
- RTT(Round Trip Time : 왕복 지연시간)는 신호를 전송하고 해당 신호의 수신확인에 걸린
시간을 더한 값이자 어떤 메시지가 두 장치 사이를 왕복하는 데 걸린 시간
- 장애 빈도가 적다.
- 좋은 보안을 가지고 있다.
2.1.2 네트워크 토폴로지와 병목 현상
네트워크 토폴로지
네트워크 토폴로지(network topology)는 노드와 링크가 어떻게 배치되어 있는지에 대한 연결 형태, 방식을 의미한다.
- 트리 토폴로지(tree topology)
- 계층형 토폴로지라고 하며 트리형태로 배치한 네트워크 구성을 의미한다.
- 양방향으로 모든 노드에 데이터 전송.
- 노드의 확장과 관리가 쉽지만 상위 노드에 문제가 생기면 하위 노드에 영향을 끼칠 수 있다.
- 버스 토폴로지(bus topology)
- 중앙 통신 회선 하나에 여러 노드가 연결돼 공유하는 네트워크 구성을 의미한다.
- 근거리 통신망(LAN)에서 사용한다.
- 설치 비용이 적고 신뢰성이 우수하고 중앙에 노드를 추가하기가 쉽지만 스푸핑이 가능한 단점이 있다.
- 높은 대역폭을 지니지만, 노드를 추가하면 대역폭이 낭비되므로 데이터 전송 속도를 늦추기 때문에 소규모에 알맞다.
스푸핑 : LAN 상에서 송신부의 패킷을 관련 없는 호스트에 가지 않도록 하는 `스위칭 기능을 마비`시키거나 `속여서` 악의적으로 특정 노드(혹은 악의적인 노드)에 해당 패킷이 갈 수 있게 처리하는 것 |
- 스타 토폴로지(star topology)
- 중앙에 있는 노드(허브)에 모두 연결된 네트워크 구성을 의미한다.
- 노드 추가나 에러 탐지가 쉽고 패킷의 충돌 발생 가능성이 적다.
- 중앙 노드에서 장애가 발생하지 않는 이상 다른 노드에 영향을 끼치는것이 적다.
- 중앙노드에서 장애가 발생하면 전체 네트워크를 사용할 수 없다. 설치 비용이 비쌈
- 링형 토폴로지(ring topology)
- 각각의 노드가 양 옆의 두 노드와 연결되어 전체적으로 고리처럼 하나의 연속된 길을 통해 통신을 하는 망 구성을 의미한다.
- 노드 수가 증가되어도 네트워크상의 손실이 거의 없고 충돌 가능성 적으며 에러를 쉽게 찾을 수 있다.
- 네트워크 구성 변경이 어렵고 회선에 장애가 발생하면 전체 네트워크에 영향을 끼친다.
- 메시 토폴로지(mesh topology)
- 망형 토폴로지라고도 하며 그물망처럼 연결되어 있는 구조를 의미한다.
- 한 단말 장치에 장애가 발생해도 여러개의 경로가 있어 계속 사용할 수 있다.
- 트래픽 분산 처리가 가능하다.
- 노드의 추가가 어렵고 구축비용과 운용 비용이 비싸다.
병목현상
병목현상은 전체 시스템의 성능이나 용량이 하나의 구성요소로 인해 제한을 받는 현상을 말한다.
`토폴로지가 중요한 이유는 병목 현상을 찾을 때 중요한 기준이` 되고 어떠한 경로로 이루어져 있는지를 알아야 병목 현상을 올바르게 해결할 수 있기 때문
어떤 경로로 이루어져 있는지 알아야 병목 현상을 올바르게 해결할 수 있다.
- 병목현상은 전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한을 받는 현상이다. ex) 병의 목이 좁아서 물이 상대적으로 천천히 쏟아지는 것. 할인 서비스를 했을 때 대규모 사람들이 접속하면서 트래픽이 많이 발생하고 병목현상이 생긴다
추가 공부 및 참고 자료
https://land-turtler.tistory.com/154
[CS면접 질문 정리] : 네트워크
📌 웹 통신의 큰 흐름: https://www.google.com/ 을 접속할 때 일어나는 일 1) Host가 google.com을 검색하면 OS에서 NIC(network Interface Card, 이거 하나 당 IP하나씩 받을 수 있음)를 통해 요청을 보내야 한다. Host
land-turtler.tistory.com
https://hongong.hanbit.co.kr/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/
[한빛미디어] 혼자 공부하는 네트워크
컴퓨터 네트워크는 백엔드, 프런트엔드, 앱 개발 등 현재 국내 대다수 개발 분야와 직·간접적으로 연관되어 있습니다. 너무 쉽거나 어렵지 않도록 다수의 네트워크 전공 서적들을 면밀히 분석
hongong.hanbit.co.kr
'천재적인 CS > 네트워크' 카테고리의 다른 글
네트워크 TCP와 UDP (1) | 2024.09.23 |
---|---|
네트워크 전송 계층이란 (0) | 2024.09.23 |
네트워크 HTTP, HTTPS (1) | 2023.12.16 |
CS 네트워크 기기 (0) | 2023.12.14 |
네트워크 분류 (0) | 2023.11.29 |