개발 공부/CS 공부

네트워크란 무엇인가? [네트워크, 인터넷, 분류(크기, 연결), 통신방식, 프로토콜]

YJzero 2022. 7. 12. 22:02
 

해당 유튜브 강의 내용을 쭉 따라가면서 네트워크에 대해 알아볼 것이다. 해당 강의 내용과 추가로 찾은 내용을 포함하여 정리할 예정!


네트워크란?

:노드들이 데이터를 공유할 수 있게 하는 디지털 전기통신망의 하나이다.

즉, 분산되어 있는 컴퓨터를 통신망으로 연결한 것이다.

인터넷이란?

:문서, 그림 영상과 같은 여러가지 데이터를 공유하도록 구성된 세상에서 가장 큰 전세계를 연결하는 네트워크

네트워크 안에 인터넷이 포함되어있는 것이다. 네트워크는 통신망이고 인터넷은 그 수많은 통신망 중 가장 큰 네트워크를 가리킨다.

-www는 인터넷이 아니다!

: www는 인터넷을 통해 웹과 관련된 데이터를 공유하는 것

→인터넷은 세상에서 가장 큰 통신망이고 그 통신망을 이용해서 웹 서비스를 이용하는 것

 

​네트워크의 분류

"크기에 따른 분류"

  • LAN: Local Area Network

-LAN은 가까운 지역을 하나로 묶은 네트워크 (하나의 네트워크 장비에 연결되어 있는 기기들)

-구성할 때 드는 비용과 전기세를 빼고는 유지보수비가 들지 않는다.

출처:  https://hongku.tistory.com/145
  • WAN: Wide Area Network

-멀리 떨어져있는 지역을 하나로 묶은 네트워크

-가까운 지역끼리 묶은 LAN과 LAN을 다시 하나로 묶은 것

-ISP(internet Service Provider/SK, KT, LG)가 제공하는 서비스에 의해 구축된 네트워크

출처:  https://hongku.tistory.com/145
  • MAN: Metropolitan Area Network
  • 기타: VLAN, CAN, PAN 등등

"연결 형태에 따른 분류"

:네트워크가 어떻게 연결되어 있는가?

  • Star형(성형): 중앙 장비에 모든 노드가 연결되어있는 형태

-하나의 장비에 여러 기기가 연결되어 있음

-만약 모든 기기가 연결되어 있는 중앙 네트워크 장비가 고장이 난다면? 이 장비에 연결되어 있는 기기들 모두 네트워크 통신이 불가해짐.

-보통 LAN 대역의 네트워크들을 서로 연결시킬 때 주로 사용

-가까운 경우 랜선으로 연결되는데 이러한 랜선은 길이당 가격이 달라짐! 멀수록 비싸진다. 따라서 가까운 지역만 랜선으로 연결하는게 이득

ex) 공유기

장점)

-고장 발견이 쉽고 유지 보수가 용이

-한 호스트의 고장이 전체 네트워크에 영향을 미지치 않음

-확장이 용이

단점)

-중앙 전송 제어 장치가 고장나면 네트워크 동직 불가능

-설치 시 케이블링 비용이 많이 듦

-통신량이 많은 경우 전송 지연이 발생

  • Mesh형(망형): 여러 노드들이 서로 그물처럼 연결된 형태

-여러 기기들이 중앙에 있는 장비에 연결되는 것이 아니라 서로 연결되어 있는 형태

-중간에 하나가 고장이나도 그 선으로 연결된 기기와 통신이 직접 안될 뿐이지 다른 기기와는 네트워크 통신이 가능하고 다른 네트워크 통신을 이용해서 돌아서 갈 수 있음.

-WAN 대역을 연결할 때 주로 사용하는 방식

장점)

-노드의 연결성이 높고, 많은 단말기로부터 많은 양의 통신을 필요로 하는 경우에 유리

-한 노드가 고장나도 다른 네트워크에 영향을 주지 않는다.

단점)

-구축 비용이 많이 든다.

-복잡한 형태로 관리가 어렵다.

  • Tree형: 마치 나무의 가지처럼 계층 구조로 연결된 형태
  • 기타: 링형, 버스형, 혼합형 등등

-혼합형: LAN과 WAN이 혼합되어 사용된다.

네트워크의 통신방식

"네트워크에서 데이터는 어떻게 주고 받는가?"

  • 유니캐스트: 특정 대상이랑만 1:1로 통신

-같은 네트워크 대역에(LAN)여러 사용자가 있다고 했을 때 특정한 한명의 사용자와만 통신하는 것

  • 멀티 캐스트: 특정 다수와 1:N으로 통신

-같은 네트워크 대역에(LAN)여러 사용자가 있다고 했을 때 특정한 다수 사용자와만 통신하는 것

  • 브로드 캐스트: 네트워크에 있는 모든 대상과 통신

-같은 네트워크 대역에(LAN)여러 사용자가 있다고 했을 때 모든 사용자와 통신하는 것

출처: https://taejin0527.github.io/%5Bobject%20Object%5D/Language-Python-20200120-PY-Broadcasting/
 

 

네트워크 프로토콜

"네트워크에서 데이터는 어떻게 주고 받는가?"

"네트워크에 있는 특정 사용자를 어떻게 찾아낼까?"

프로토콜이란?

: 일종의 약속, 양식으로

네트워크에서 노드와 노드가 통신할 때 어떤 노드어느 노드에게 어떤 데이터어떻게 보내는지 작성하기 위한 양식

ex) 택배양식, 전화번호 양식 등

  • 가까운 곳과 연락할 때 : Ethemet 프로토콜(MAC 주소)
  • 멀리 있는 곳과 연락할 때: ICMP, IPv4, ARP (ip 주소)
  • 여러가지 프로그램으로 연락할 때:TCP, UDP(포트 번호)

>패킷: 여러 프로토콜들을 캡슐화

Ethernet
IPv4
TCP
데이터

가까운 곳이랑 통신하고 싶다고 해서 이더넷만 쓰는 것은 아니다!

실제로는 보내고 싶은 데이터가 있고 그 데이터를 보내기 위해서 어느 프로그램이랑 통신할지(TCP) 얼마나 멀리 떨어져 있는 지역에 있는 컴퓨터일지(IPv4) 그 지역에서 특정 컴퓨터를 찾아가는(Ethernet) 과정이 필요.

그래서 이렇게 프로토콜이 합쳐진 모양을 캡슐화, 캡슐레이션이라고 부른다.

실습해보기!

  1. 구글과 나는 어떻게 연결되어 있는지 확인해보기 -구글의 서버와 나의 컴퓨터는 어떻게 연결되어 있는가?(LAN이 몇개... 등등)
  2. Wireshark 설치 - 프로토콜이 어떻게 생겼는지 직접 보기 위해 사용할 프로그램 설치
  3. 프로토콜 직접 확인해보기 - 설치한 wireshark를 이용해서 현재 컴퓨터에서 인터넷을 통해 주고받고 잇는 모든 내용을 직접 확인해보기

참고블로그

https://m.blog.naver.com/dltnals1401/100153294777

 

네트워크의 구성형태

네트워크 구조 : 컴퓨터, 단말기, 통신회성망의 기능 배분을 최적화하여 컴퓨터 통신망의 효율적인 구축을 ...

blog.naver.com