티스토리 뷰

Chapter 01 컴퓨터 네트워크 시작하기

 

01-1 컴퓨터 네트워크를 알아야 하는 이유

네트워크

여러 장치가 서로 연결돼서 서로 정보를 주고 받을 수 있는 통신망

인터넷

여러 네트워크가 연결된 네트워크, 네트워크의 네트워크

 

네트워크를 왜 알아야 하나?

대부분의 프로그램들은 네트워크를 이용

개발자는 프로그램을 만듦

따라서 개발작 만드는 프로그램들은 대부분 네트워크를 이용한다!

 

개발자 업무에서 네트워크 지식은 언제 사용될까?

개발자 업무는 크게 2가지로 볼 수 있음

1. (새) 프로그램을 만드는 업무

2. 이미 만들어진 프로그램을 유지 보수하는 업무

네트워크 지식은 이 두 업무 모두에서 활용된다!

 


 

01-2 네트워크 거시적으로 살펴보기

네트워크 기본 구조 - 그래프 형태

그래프 형태: 노드간선의 연결로 표현되는 자료 구조 형태

(자료구조: 자료를 어떠한 형태(구조)로 표현할지 정하는 방법)

노드는 네트워크 기기, 간선은 기기들끼리 연결하는 유무선 통신매체로 볼 수 있음

 

호스트(가장자리 노드): 네트워크에서 정보를 최초로 만들어서 보내고(송신) 혹은 수신

예) 서버, 클라이언트

 

네트워크 장비(중간 노드):  호스트들의 정보가 목적지까지 안전하게 송수신될 수 있도록 도움

예) 공유기, 라우터 등

 

간선: 호스트와 네트워크 장비들을 연결시켜주는 매체, 유선 매체(케이블 등), 무선 매체(와이파이 등)

 

메시지: 통신 매체로 연결된 노드들이 주고 받는 정보

예) 웹 페이지, 파일, 메일 등

 

네트워크 = 호스트 + 네트워크 장비 + 통신 매체 + 메시지

 

네트워크의 분류

1. 범위에 따른 분류

LAN:

가까운 거리를 연결하는 근거리 통신망(학교, 가정 등)

 

WAN:

먼 거리를 연결하는 광역 통신망

WAN을 통해 LAN끼리 통신 가능

ISP에서 구축하고 관리 - 국내는 KT 등

 

2. 메시지 교환 방식에 따른 분류

회산 교환 

호스트 간에 메시지를 주고 받기 전, 메시지 전송로(회선)를 설정한 뒤 해당 전송로를 통해서만 메시지를 주고받는 네트워크 

예) 전화망

회선의 이용 효율이 낮아질 수 있음

전송로에는 메시지가 계속 흐르고 있어야 효율이 높아지는데 설정만 하고 메시지를 주고 받지 않으면 낭비! (=효율 낮음)

그래서 오늘날 인터넷 환경에서는 잘 쓰지 않음

 

패킷 교환

메시지를 패킷 단위로 쪼개어 송수신하는 네트워크

전송로의 이용 효율이 높을 수 있음 (왜냐면 두 호스트가 같은 전송로를 점유하지 않기 때문에)

오늘날 인터넷 환경에서 많이 사용

 

패킷 = 헤더 + 페이로드 (+ 존재할 경우 트레일러)

헤더: 받는 사람, 보내는 사람의 정보, 부가 정보, 제어 정보

페이로드: 패킷을 통해서 주고 받고자 하는 실질적인 데이터

 

 

* 주소와 송수신지 유형에 따른 전송 방식

유니캐스트:

하나의 수신지에 메싲를 전송하는 방식

송신자와 수신자가 1:1로 메시지를 주고 받는 겨우

 

브로드캐스트:

자신을 제외한 네트워크상의 모든 호스트에게 전송하는 방식

브로드캐스트가 전송되는 범위를 브로드캐스트 도메인이라 함

 


 

 

01-3 미시적으로 살펴보기

두 대의 기기가 서로 정보를 주고 받는 상황에서 어떤 일이 일어나는걸까?

 

프로토콜

네트워크 세상의 언어 (통신 과정에서는 일반적으로 여러 프로토콜을 같이 사용함)

노드 간에 정보를 올바르게 주고 받기 위해 합의된 규칙이나 방법

네트워크를 통해서 정보를 주고받기 위해서는 서로 간의 프로토콜이 동일해야 함

예) HTTPS, HTTP, FTP 

 

프로토콜에는 저마다 목적과 특징이 다름

따라서 프로토콜에는 목적과 특징에 맞는 정보(헤더)를 포함 -> 프로토콜마다 헤더가 다를 수 있음

 

네트워크 참조 모델

패킷을 주고받는 과정에 정형화된 단계가 있음 = 네트워크 계층 모델 이라고도 함

예) OSI 7계층, TCP/IP 4계층

네트워크 구성과 설계 용이

네트워크 문제 진단과 해결 용이

위의 계층으로 올라갈수록 응용 프로그램과 맞닿아있음 (웹브라우저, 게임 등)

아래 계층으로 내려갈수록 네트워크 하드웨어와 가까워짐 

 

어떤 프로토콜은 특정 계층에 속해 있을 수 있음 

예를 들어, 응용 계층의 목적에 부합하는 프로토콜이 응용 계층에 포함되어 있을 수 있음

 

캡슐화와 역캡슐화

캡슐화:

계층을 지나면서 그 계층에 속해 있는 프로토콜의 헤더들이 추가됨 

한 단계 아래 계층은 위에 계층에서 받은 부분(헤더+페이로드)을 페이로드로 삼는다

송신 과정

 

역캡슐화:

캡슐화되는 과정에서 붙는 헤더를 제거해나가는 과정

수신 과정

 

PDU: 각 계층에서 송수신되는 메시지의 단위

 


 

트래픽과 네트워크 성능 지표

트래픽:

네트워크 내의 정보량

일반적으로 트래픽은 노드에서 특정하므로 특정 노드를 경유하는 정보량

한 노드가 처리 가능한 트래픽의 양은 노드마다 정해져 있음

한 노드가 처리하기 어려울 정도의 과도한 트래픽을 받게 되면 과부하로 인한 성능 저하 발생 가능

 

성능 지표:

  • 처리율: 단위 시간 당 네트워크를 통해 실제로 전송되는 정보량(실시간 처리), 단위는 bps, mbps 등으로 표시
  • 대역폭: 통신 매체를 통해 송수신할 수 있는 최대 정보량, 단위는 bps, mbps 등으로 표시, 도로의 너비가 넓으면 자동차가 많이 오갈 수 있음!
  • 패킷 손실: 네트워크를 주고 받는 과정에서 몇 개의 패킷이 손실되었는지를 나타내는 지표

 

 

https://youtu.be/b_V79kE9hhA?si=darzdyyJu3NVezb0

 

 

 

 

최근에 올라온 글