본문 바로가기
프로그래밍/네트워크

[네트워크] 네트워크란?

by 준보틱스 2024. 6. 24.

네트워크

네트워크는 노드들이 데이터를 공유할 수 있게 하는 디지털 전기통신망(전기적 신호)의 하나이다. 분산되어 있는 컴퓨터를 통신망으로 연결하는 것을 말한다. 네트워크에서 여러 장치들은 노드 간 연결을 통해 서로에게 데이터를 교환한다.

 

* 노드 : 네트워크에 속한 컴퓨터 또는 통신 장비를 뜻한다.

인터넷

인터넷이란 문서, 그림 영상과 같은 여러가지 데이터를 공유하도록 구성된 세상에서 가장 큰 전세계를 연결하는 네트워크를 말한다. 흔히 www를 인터넷으로 착각하는 경우가 많은데 www는 인터넷을 통해 웹과 관련된 데이터를 공유하는 것이다.

네트워크 분류

(1) 크기에 따른 분류

  • LAN(Local Area Network) : LAN은 가까운 지역을 하나로 묶은 네트워크(근거리통신망)
  • WAN(Wide Area Network) : WAN은 멀리 있는 지역을 한데 묶은 네트워크, 가까운 지역끼리 묶인 LAN과 LAN을 다시 하나로 묶은 것
  • MAN(Metropolitan Area Network)
  • 기타 : VLAN, CAN, PAN 등

(2) 연결형태에 따른 분류

  • Star형 : 중앙 장비에 모든 노드가 연결된 형태, LAN 대역의 장비들을 연결시키는 경우 많이 사용함
  • Mesh형 : 여러 노드가 서로 그물처럼 연결된 형태, WAN 대역의 장비들을 연결시키는 경우 많이 사용함
  • Tree형 : 마치 나무의 가지처럼 계층구조로 연결된 형태
  • 혼합형 : 실제 인터넷은 여러 형태를 혼합한 형태

네트워크 통신 방식

  • 유니캐스트 : 특정 대상이랑만 1:1로 통신하는 방식
  • 멀티캐스트 : 특정 다수와 1:N으로 통신하는 방식
  • 브로드캐스트 : 네트워크에 있는 모든 대상과 통신하는 방식

네트워크 프로토콜

프로토콜

프로토콜은 일종의 약속 또는 양식을 말하는데, 네트워크에서 노드와 노드가 통신할 때 어떤 노드가 어느 노드에게 어떤 데이터를 어떻게 보내는지 작성하기 위한 양식을 말한다.

- Ethernet 프로토콜(MAC 주소) : 가까운 곳과 연락할 때

- ICMP, IPv4, ARP(IP 주소) : 멀리 있는 곳과 연락할 때

- TCP, UDP(포트 번호) : 여러가지 프로그램으로 연락할 때

실제로는 여러 프로토콜을 같이 함께 사용하는데, 여러 프로토콜들로 캡슐화 된 것을 패킷이라고 한다.​

네트워크 모델

(1) TCP/IP 모델 : 현재의 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 프로토콜의 모음으로 4계층으로 구성되어 있다.

1계층 네트워크 인터페이스
2계층 네트워크
3계층 전송
4계층 응용

 

(2) OSI 7계층 모델 : ISO에서 표준으로 지정한 모델로 7계층으로 구성되어 있다.

7계층 응용 HTTP, SMTP, IMAP, POP, SNMP, FTP, TELNET, SSH
6계층 표현 SMB, AFP, XDR
5계층 세션 NetBIOS
4계층 전송 TCP, UDP, SPX
3계층 네트워크 IP, ICMP, IGMP, X.25, CLNP, ARP, RARP, BGP, OSPF, RIP, IPX, DDP
2계층 데이터 링크 이더넷, 토큰링, PPP, HDLC, 프레임 릴레이, ISDN, ATM, 무선랜, FDDI
1계층 물리 전선, 전파, 광섬유, 동축케이블, 도파관, PSTN, 리피터, DSU, CSU, 모뎀

 

TCP/IP 모델 vs OSI 모델

  • 공통점 : 계층적 네트워크 모델, 계층간 역할 정의
  • 차이점 : 계층의 수, OSI는 역할 기반, TCP/IP는 프로토콜 기반, OSI는 통신 전반에 대한 표준, TCP/IP는 데이터 전송기술 특화

패킷

패킷이란 네트워크 상에서 전달되는 데이터를 통칭하는 말로 네트워크에서 전달하는 데이터의 형식화된 블록이다. 패킷은 제어 정보와 사용자 데이터로 이루어지며 사용자 데이터는 페이로드라고도 한다.

● 패킷 구성

- 헤더 - 페이로드 - 풋터

- 페이로드는 실질적으로 보내려는 데이터

- 풋터는 대부분 사용하지 않고 헤더만 사용하는 경우가 많음

예를 들어,

캡슐화(인캡슐레이션)

HTTP 프로토콜을 페이로드로 해서 TCP라는 헤더를 붙이고, HTTP+TCP 프로토콜을 페이로드로 해서 IPv4라는 헤더를 붙이고, HTTP+TCP+IPv4 프로토콜을 페이로드로 해서 Ethernet이라는 헤더를 붙이고.. 이런 방식으로 통신한다.이런식으로 페이로드에 헤더를 붙이는 과정을 캡슐화(인캡슐레이션)이라고 하고 내가 누군가에게 패킷을 보낼 때 사용한다. 즉, 캡슐화는 패킷을 이용한 통신과정이다. 그런데 여기서 주의할 점은 헤더는 프로토콜보다 계층이 높을 수 없다. 헤더는 프로토콜의 하위계층이 붙어야 한다.

디캡슐화(디캡슐레이션)

디캡슐화(디캡슐레이션)은 데이터를 받았을 때 하위 프로토콜부터 하나씩 확인해보면서 무슨 데이터를 어떻게 보냈는지 하나씩 확인하는 과정을 말한다. 캡슐화의 반대 과정이다.

● PDU(Protocol Data Unit)

계층별 패킷의 이름으로, 데이터에 4계층까지 붙어 있는 경우 세그먼트라고 부르고 3계층까지 붙어 있는 경우는 패킷이라고 부르고, 2계층까지 붙어 있는 경우는 프레임이라고 부른다.