앞 글에서 네트워크와 연결 형태에 대해서 정리했는데,
그러면 연결된 네트워크끼리 데이터를 어떻게 주고 받을까?
1. 네트워크 통신 방식
(1) 유니캐스트
컴퓨터 네트워크에서 유니캐스트(unicast) 전송이란 고유 주소로 식별된 하나의 네트워크 목적지에 1:1로 ( one-to-one) 트래픽 또는 메시지를 전송하는 방식을 말한다.
- 특정 대상과 1:1로 통신
- 내가 통신하고 싶은 특정 대상과만 통신하는 형태
- 같은 네트워크 대역의 여러개의 사용자가 있다면 특정한 한 사용자랑만 통신을 함
(2) 멀티캐스트
컴퓨터 네트워크에서 멀티캐스트(multicast)란 한 번의 송신으로 메시지나 정보를 목표한 여러 컴퓨터에 동시에 전송하는 것을 말한다.
- 특정 다수와 1:N으로 통신
- 같은 네트워크 대역에서 여러명의 사용자가 있었을 때 특정한 다수와만 통신하는 형태
(3) 브로드캐스트
브로드캐스팅(broadcasting)은 송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식을 의미한다.
- 네트워크에 있는 모든 대상과 통신
- 같은 네트워크 대역에 있는 모든 사용자와 통신하는 형태
2. 네트워크 프로토콜
(1) 프로토콜이란 ?
프로토콜
네트워크에서 노드와 노드가 통신할 때 어떤 노드가 어떤 노드에게 어떤 데이터를 어떻게 보내는지 작성하기 위한 양식
프로토콜은 일종의 양식, 약속이다.
네트워크에서 노드와 노드간에 통신할 때,
어떤 노드가 어떤 노드에게 어떤 데이터를 어떻게 보내는지 작성하기 위한 양식 또는 약속이다.
위 사진처럼 택배는 택배만의 양식으로, 편지는 평지만의 양식으로, 전화는 전화만의 양식으로 통하듯 각 프로토콜은 프로토콜만의 양식으로 통신한다.
(2) 여러가지 프로토콜
여러 상황에 따라, 하고 싶은 통신 방식에 따라 사용하는 프로토콜이 다르며,
데이터를 보내기 위해서 어떤 프로그램으로 통신할 지 얼마나 멀리 떨어져 있는지 등을 고려하여 여러개의 프로토콜을 함께 사용한다. 이 때 프로토콜이 하나씩 합쳐진 모양을 캡슐화 라고 부른다.
- 가까운 곳과 연락할 때(링크 계층)
- 링크 계층
- 컴퓨터 네트워킹에서 링크 계층(link layer)은 인터넷의 네트워킹 아키텍처인 인터넷 프로토콜 스위트 가운데 가장 낮은 계층이다. 링크 계층은 호스트가 물리적으로 연결되는 링크 상에서만 운용되는 메소드, 통신 프로토콜이 모여있다.
- Ethernet 프로토콜
- 이더넷(영어: Ethernet)은 컴퓨터 네트워크 기술의 하나로, 일반적으로 LAN, MAN 및 WAN에서 가장 많이 활용되는 기술 규격이다. 이더넷은 네트워크에 연결된 각 기기들이 48비트 길이의 고유의 MAC 주소를 가지고 이 주소를 이용해 상호간에 데이터를 주고 받을 수 있도록 만들어졌다.MAC 주소(Media Access Control Address)는 네트워크 세그먼트의 데이터 링크 계층에서 통신을 위한 네트워크 인터페이스에 할당된 고유 식별자이다.
- 멀리 있는 곳과 연락할 때(인터넷 계층)
- 인터넷 계층
- 인터넷 계층(Internet layer)은 인터넷 프로토콜 스위트에서 인터네트워킹 메소드, 프로토콜, 사양을 모아둔 것으로, 네트워크 경계를 거쳐 호스트로부터 기원한 네트워크 패킷을 필요하면 IP 주소로 지정된 목적지 호스트로 전송하기 위해 사용된다. 인터넷 계층은 게이트웨이를 통하여 서로 여러 네트워크를 연결하는 개념인 인터네트워킹을 용이하게 하는 기능으로부터 이름을 따온 것이다.
- IP(IPv4, IPv6)
- 인터넷 프로토콜(IP, Internet Protocol)은 송신 호스트와 수신 호스트가 패킷 교환 네트워크(패킷 스위칭 네트워크, Packet Switching Network)에서 정보를 주고받는 데 사용하는 정보 위주의 규약(프로토콜, Protocol)이며, OSI 네트워크 계층에서 호스트의 주소지정과 패킷 분할 및 조립 기능을 담당한다. 줄여서 아이피(IP)라고도 한다.
- ICMP
- ICMP는 모든 IP 구현의 필수 부분입니다. ICMP는 오류를 처리하고 IP 메시지를 제어합니다.
- ARP
- 주소 결정 프로토콜(Address Resolution Protocol, ARP)은 네트워크 상에서 IP 주소를 물리적 네트워크 주소로 대응(bind)시키기 위해 사용되는 프로토콜이다. 여기서 물리적 네트워크 주소는 이더넷 또는 토큰링의 48 비트 네트워크 카드 주소를 뜻한다.
이를테면, IP 호스트 A가 IP 호스트 B에게 IP 패킷을 전송하려고 할 때 IP 호스트 B의 물리적 네트워크 주소를 모른다면, ARP 프로토콜을 사용하여 목적지 IP 주소 B와 브로드캐스팅 물리적 네트워크 주소 FFFFFFFFFFFF를 가지는 ARP 패킷을 네트워크 상에 전송한다. IP 호스트 B는 자신의 IP 주소가 목적지에 있는 ARP 패킷을 수신하면 자신의 물리적 네트워크 주소를 A에게 응답한다.
- 주소 결정 프로토콜(Address Resolution Protocol, ARP)은 네트워크 상에서 IP 주소를 물리적 네트워크 주소로 대응(bind)시키기 위해 사용되는 프로토콜이다. 여기서 물리적 네트워크 주소는 이더넷 또는 토큰링의 48 비트 네트워크 카드 주소를 뜻한다.
- 여러개의 프로그램으로 연락할 때(전송 계층)
- 전송 계층
- 컴퓨터 처리와 전자 통신에서 전송 계층(Transport layer)은 계층 구조의 네트워크 구성요소와 프로토콜 내에서 송신자와 수신자를 연결하는 통신 서비스를 제공한다. 전송 프로토콜 중 가장 잘 알려진 것은 연결 지향 전송 방식을 사용하는 전송 제어 프로토콜 (TCP)이다. 보다 단순한 전송에 사용되는 사용자 데이터그램 프로토콜 (UDP)도 있다.
- TCP
- TCP는 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥텟을 안정적으로, 순서대로, 에러없이 교환할 수 있게 한다. TCP는 전송 계층에 위치한다.
- UDP
- TCP와 함께 데이터그램으로 알려진 단문 메시지를 교환하기 위해서 사용된다.
- 응용 계층
- FTP, TFTP, DNS ...
[참고]
https://www.youtube.com/watch?v=Av9UFzl_wis
'CS 백엔드 > 네트워크' 카테고리의 다른 글
[네트워크] 네트워크 통신 이해를 위한 예제 (traceroute) (0) | 2023.01.08 |
---|---|
[네트워크] 네트워크란 무엇인가? (0) | 2023.01.08 |
[네트워크] Cache (0) | 2022.11.09 |
Forward Proxy, Reverse Proxy (0) | 2022.10.25 |
HTTP/0.9, 1.0, HTTP/1.1, HTTP/2, 그리고 QUIC (0) | 2022.10.24 |