네트워크 거시적으로 보기
이번에는 컴퓨터 공학 중 중요한 개념인 네트워크에 대해서 배웠다.
네트워크의 구조, 프로토콜 개념 등 기본적인 내용을 학습하였다.
컴퓨터 네트워크
컴퓨터를 이용하여 웹사이트에 접속하거나 여러 프로그램을 실행해본 경험이 있다면 네트워크에 대한 것도 많이 들어봤을것이다. 기본적으로 네트워크를 통해 채팅을 하고 사진을 보며 여러 정보들을 주고 받을 수 있다.
네트워크란, 여러 장치들(host)이 서로 정보를 주고받을 수 있는 통신망이다.
인터넷
그렇다면 인터넷은 무엇일가? 인터넷을 통해 우리가 뉴스를 보고 쇼핑몰에서 주문도 한다.
인터넷은 LAN으로 이루어진 네트워크를 ISP를 통해 WAN으로 접속하여 WAN에 접속만 한다면 전세계 언제 어디서든 정보를 주고 받을 수 있다.
컴퓨터 네트워크 구성 요소
컴퓨터 네트워크는 아래 이미지와 같이 그래프 자료구조처럼 연결되어 있다.
노드들이 있고 그 노드들을 이어주고 있는 간선이 있다. 이 간선을 통하여 노드들은 메세지를 주고 받는다.
노드, 메세지, 간선(통신 링크)가 네트워크 구성 요소이다.
노드
- 종단 시스템, 호스트라고 불리는 노드는 메세지를 최초로 송신하거나 생성하는 대상이다.
- 호스트는 Network를 통해서 전달 받은 정보를 최종적으로 받아들이는 것이라고 생각하면 된다.
- 그렇다면 내 핸드폰이 어떤 메세지를 받을지 어떻게 결정할 수 있을까? 주소를 통해서 알 수 있다. 주소를 통해서 아래 방법들로 통신할 수 있다.
- 유니캐스트
- 1:1 통신
- 멀티캐스트
- 현재 네트워크에 속한 모든 대상에게 전달(예시: 공지사항)
- 멀티캐스트
- 특정 그룹에게 전달
- 유니캐스트
서버와 클라이언트
웹개발이나 모바일 개발을 하다보면 서버와 클라이언트에 대해 들어봤을 것이다.
내가 글을 작성하여 올리는 것도 다른 사람의 글을 볼 수 있는 것도 서버와 클라이언트간의 요청과 응답에 의해 볼 수 있는 것이다.
- 클라이언트
- 요청을 보내는 호스트
- 서버
- 응답을 보내는 호스트
추가로 오해하는 부분이 있는데 서버 컴퓨터라고 서버의 역할만 할 수 있는 것이 아니다.
핸드폰, 컴퓨터처럼 주로 클라이언트의 역할을 하는 장치도 서버의 역할을 할 수 있고 우리가 알고 있는 서버 컴퓨터들도 클라이언트의 역할을 할 수 있다.
중간 노드
- 라우터, 스위치, 공유기 등 네트워크 장비등을 의미한다.
간선(통신 링크)
- 유선 케이블
- 트위스티트 페어 케이블(랜선)
- 광 케이블(해저 케이블)
- 무선
- 와이파이
- 주파수
메세지
- 주고 받는 정보를 메세지라고 한다.
- 웹 페이지, 사진, 동영상 등 다양한 데이터들을 의미한다.
LAN
- 근거리를 연결한 네트워크를 의미한다.
- 사무실이나 집에서 스위치를 통해서 이루어져 있기에 LAN이라고 생각하면 된다.
- 무선공유기를 사용하는 것도 LAN을 의미한다.
WAN
- 원거리를 연결한 네트워크
- ISP(Internet Service Provider)회선에 의해서 WAN에 접속이 가능하다.
프로토콜과 캡슐화
패킷 교환 네트워크
컴퓨터 네트워크가 무엇인지 알아봤으니 이제 어떻게 데이터가 네트워크에서 전달이 되는지 알아보자.
패킷 교환 네트워크란, 주고 받는 정보를 패킷 단위로 주고받는 네트워크이다.
패킷이란 패킷 교환 네트워크에서 주고 받는 데이터 단위이다
이때 여러 스위치를 통해서 패킷 교환 작업이 가능하다.
이게 무슨 말이냐면 아래 이미지를 보면 패킷 스위치를 통해서 패킷을 송수신하는것을 볼 수 있는데 이 때 고정된 스위치가 아닌 다른 스위치들을 통해서도 교환이 가능한 것이다.
그래서 다른 노드(host)간의 통신이 가능하다.
회선 교환 네트워크
정해진 회선으로만 통신하는 네트워크를 의미한다.
사전에 연결 수립 작업이 되어 있어야 한다.
다른 호스트는 도중에 끼어들 수 없다.
장점으로 신뢰 높은 전송률을 보장한다.
단점으로 회선 이용률이 저하된다.
패킷 구성 요소
- 헤더: 패킷에 붙일 부가 정보를 의미한다.
- 페이로드: 패킷에 보낼 정보를 의미한다.
- 트레일러: 패킷뒤에 붙일 부가정보를 의미한다.
프로토콜(protocol)
네트워크에서 중요한 개념이다.
- 장비 간 정보를 주고받을 규칙이나 방법을 의미한다.
- 호스트간의 합의된 의사소통 방식, 노드간의 언어라고 생각해도 된다.
- 웹 브라우저간의 연결 방식이 통일된 프로토콜을 사용하여 다른 web을 볼 수 있다.
아래 이미지처럼 헤더의 내용은 프로토콜의 영향을 받는다. 예를 들어, 왼쪽은 TCP 프르토콜의 헤더이고 오른쪽은 UDP 프로토콜의 헤더이다.
네트워크 참조 모델
- 송수신 과정에서의 정형화된 관계를 의미하고 계층적인 구조를 갖고 있다.
- 예를 들어, 어떠한 메세지를 송신하거나 수신할 때 계층적인 구조를 통과하여 데이터를 송수신 하는 것 이다.
- 송신 과정은 높은 계층에서 낮은 계층 순으로 수신 과정은 반대인 낮은 계층에서 높은 계층 순으로
OSI 모델
물리 계층이 제일 낮은 계층이고 응용 계층이 제일 높은 계층이다.
이론적인 네트워크 참조 모델이다.(예시: 자동차의 설계도)
- 물리 계층
- 하드웨어 송수신등
- 데이터 링크 계층
- 오류제어, MAC 주소 식별 등
- 네트워크 계층
- 인터넷, WAN LAN과 LAN간의 통신을 한다.
- 전송 계층
- port 번호 등
- 세션 계층
- 세션관계 연결 등
- 표현 계층
- 압축, 인코딩 과정 등
- 응용 계층
- 네트워크 통신 HTTP 등
TCP / IP 모델
실전에서 구현되는 목적인 네트워크 참조 모델이다.
- 네트워크 엑세스 계층
- 데이터링크, 물리 계층과 유사함
- 인터넷 계층
- 네트워크 계층과 유사함
- 전송 계층
- 전송 계층과 유사함
- 응용 계층
- 응용, 표현 계층과 유사함.
캡슐화
- 상위 계층으로부터 내렵다은 패킷을 페이로드 삼아, 상위 계층으로부터 받은 정보 + 프로토콜에 맞는 헤더(or 트레일러)를 덧붙이는 것을 캡슐화라고 한다.
- 아래 이미지를 보면 페이로드 + 계층에 맞는 헤더를 붙여 다른 계층에 넘어가면 페이로드가 되는 것이다.
역캡슐화
- 캡슐화 과정에서 붙인 헤더(or 트레일러)를 각 계층에서 제거하는 과정을 역캡슐화라고 한다.
네트워크의 성능
트래픽
- 특정 시간 동안 네트워크 내 정보 흐름을 트래픽이라고 한다.
- 한 노드를 얼마나 많은 패킷이 한순간에 몰리는 것을 의미한다.
- 트래픽이 몰린다 라는 뜻은 과부하, 오버헤드가 발생한다 라는 것.
전송속도
- 네트워크 장비나 케이블에서 주로 확인할 수 있으며 기대 가능한 속도를 의미한다.
- bps(b/s, bits per second)
- Mbps(Mb/s, Megabits per second)
- Gbps(Gb/s, Gigabits per second)
처리율
- bps(b/s, bits per second)
- Mbps(Mb/s, Megabits per second)
- Gbps(Gb/s, Gigabits per second)
- 특정 시간 동안 얼마나 많은 데이터가 전송되는 지 실제 처리되는 데이터의 양을 의미한다.
대역폭(bandwidth)
- 네트워크 트래픽을 수용할 수 있는 용량을 의미한다.
- 송수신 가능한 최대 데이터 양을 의미한다.
패킷 손실(packet loss)
- 얼마나 많은 패킷이 송수신 과정에서 손실되었는지를 의미한다.
- 보통 백분율로 표기를 한다.
- 터미널에서 아래 명령어를 입력하면 패킷 손실률을 볼 수 있다.
결론
네트워크는 현대 컴퓨터 시스템의 핵심 요소로, 여러 장치들이 서로 정보를 주고받을 수 있게 하는 통신망이다. 네트워크는 노드, 메시지, 통신 링크라는 기본 구성 요소로 이루어져 있으며, OSI 7계층과 TCP/IP 모델이라는 참조 모델을 통해 체계적으로 구조화되어 있다. 데이터 전송 과정에서는 캡슐화와 역캡슐화를 통해 각 계층별로 필요한 정보를 추가하거나 제거하며, 이를 통해 안전하고 효율적인 데이터 전송이 가능하다. 네트워크의 성능은 트래픽, 전송속도, 처리율, 대역폭, 패킷 손실 등 다양한 지표를 통해 측정되며, 이러한 요소들을 최적화하는 것이 효율적인 네트워크 운영의 핵심이다.
'Computer Science > Network' 카테고리의 다른 글
[Computer Science] [네트워크] 전송 계층 (0) | 2025.01.27 |
---|