■ 네트워크
네트워크는 노드들이 데이터를 공유할 수 있게 하는 디지털 전기통신망(전기적 신호)의 하나이다. 분산되어 있는 컴퓨터를 통신망으로 연결하는 것을 말한다. 네트워크에서 여러 장치들은 노드 간 연결을 통해 서로에게 데이터를 교환한다.
* 노드 : 네트워크에 속한 컴퓨터 또는 통신 장비를 뜻한다.
■ 인터넷
인터넷이란 문서, 그림 영상과 같은 여러가지 데이터를 공유하도록 구성된 세상에서 가장 큰 전세계를 연결하는 네트워크를 말한다. 흔히 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계층까지 붙어 있는 경우는 프레임이라고 부른다.
'프로그래밍 > 네트워크' 카테고리의 다른 글
[네트워크] OSI 4계층 모델_TCP, UDP 프로토콜 (0) | 2024.06.24 |
---|---|
[네트워크] OSI 모델 3계층_IP 프로토콜 (0) | 2024.06.24 |
[네트워크] OSI 모델 3계층_ARP 프로토콜 (0) | 2024.06.24 |
[네트워크] OSI 모델 3계층_IP 주소 (0) | 2024.06.24 |
[네트워크] OSI 모델 2계층_이더넷 (0) | 2024.06.24 |