안녕하세요! 제이덥입니다. 이번 주부터 "혼자 공부하는 네트워크" 도서를 통해 네트워크에 대해 학습하고, 공부한 내용을 공유하려고 합니다. 각 주제별로 나누어 포스팅할 예정이며, 이번 섹션에서는 "프로토콜", "네트워크 참조 모델", "캡슐화/역캡슐화"에 대해서 간략하게 다룹니다.
*이 도서는 제가 직접 구매하여 작성한 글이며, 혼공단 12기 활동의 일환으로 학습 내용을 공유하고자 합니다. 도서와 활동에 대한 자세한 내용은 아래 Reference에서 확인하실 수 있습니다.
1️⃣ 프로토콜
프로토콜(Protocol)이란?
- 정의 : 네트워크 통신에서 노드 간에 정보를 올바르게 주고 받기 위해 합의된 규칙이나 방법
- Why?
- 호스트 간 패킷을 교환하는 방식으로 대부분 패킷 교환 방식을 사용하는데, 서로 다른 통신 장치들이 주고 받으려면 동일한 프로토콜을 사용해야 하기 때문!
- 💡 일반적으로 여러가지 프로토콜과 함께 사용!
- Why?
- 프로토콜은 목적에 따라 정의되어 있으므로 매우 여러가지 종류를 가지고 있음.
- 정의 : 네트워크 통신에서 노드 간에 정보를 올바르게 주고 받기 위해 합의된 규칙이나 방법
프로토콜 종류 | 설명 | 해석 |
IP | IP는 패킷을 수신지까지 전달하기 위해 사용되는 프로토콜이다. | IP라는 규칙을 통해 정보를 주고 받음으로써 패킷을 수신지까지 올바르게 전달하는 역할 |
ARP | ARP는 192.168.1.1과 같은 형태의 ‘IP 주소’를 A1:B2:C3:D4:E5:F6과 같은 형태의 ‘MAC 주소’로 대응하기 위해 사용되는 프로토콜이다. | IP주소를 MAC주소로 대응시키는 매핑시키는 역할 |
HTTP/HTTPS | HTTPS는 HTTP에 비해 보안상 더 안전한 프로토콜이다. | HTTP라는 규칙으로 정보를 주고받는 것보다 HTTPS라는 규칙으로 정보를 주고받는 것이 보안상 더 안전함. |
TCP/UDP | TCP는 UDP에 비해 일반적으로 느리지만 신뢰성이 높은 프로토콜이다.(TCP가 신뢰성 있는 정보를 송수신하기 위해 더 많은 정보(헤더)로 구성되어있기 때문) | TCP라는 규칙으로 정보를 주고 받는 것은 UDP보다 더 확실하게 데이터를 전송할 수 있음 |
2️⃣ 네트워크 참조 모델
네트워크 참조 모델(network reference model)이란?
- 정의 : 네트워크를 통해 정보를 주고받을 때는 정형화된 여러 단계를 거치는데, 이러한 통신이 일어나는 각 과정을 계층으로 나눈 구조. 네트워크 계층 모델이라고도 부름.
네트워크를 여러가지 계층으로 나눈 이유
- 네트워크 구성과 설계가 용이 : 계층의 목적에 맞게 프로토콜과 네트워크 장비를 계층 별로 구성할 수 있는데 이는 훌륭한 가이드라인 역할을 함. 단, 완벽하게 구분되지 않는 경우도 존재
- 네트워크 문제 진단과 해결이 용이 : 계층별로 진단하면 문제 발생 지점을 추측할 수 있어 문제 진단과 해결이 수월함.
OSI 모델
- 국제 표준화기구(ISO; International Organization for standardization)에서 만든 참조 모델
- 통신 단계는 총 7단계로 구성
- 물리계층(physical layer)
- 정의 : OSI 최하단에 있는 계층으로 근원적인 네트워크 통신이 이루어지는 계층을 말함
- 특징 :
- 1과 0으로 표현되는 비트 신호를 주고 받음
- 전기, 빛, 전파 등의 신호로 전달
- 데이터 링크 계층(data link layer)
- 정의: 네트워크 내 주변 장치 간의 정보를 올바르게 주고받기 위한 계층
- 특징 :
- 이더넷/ 많은 LAN 기술이 이곳에 해당
- 정보에 오류가 있는지 확인
- MAC 주소라는 주소 체계를 통해 네트워크 내 송수신지를 특정 가능
- 전송과정에서 발생할 수 있는 충돌 문제 해결
- 네트워크 “내”의 통신
- 네트워크 계층(Network layer)
- 정의 : 메시지를 다른 네트워크에 속한 수신지까지 전달하는 계층
- 특징 :
- 네트워크와 네트워크 간의 통신
- IP주소라는 주소체계를 통해 통신하고자 하는 수신지의 호스트 및 네트워크 식별
- 수신지까지 도달하기 위한 최적의 경로 결정
- 전송계층(transport layer) :
- 정의 : 신뢰성있고 안정성 있는 전송을 할 때 이용하는 계층
- 특징 :
- 패킷이 정상적으로 보내졌는지 점검
- 중간에 유실된 정보는 없는지 점검
- 여러개의 패킷을 보낼 때 순서가 뒤 바뀐 것이 없는 지 점검
- 패킷의 흐름을 제어하거나 전송 오류를 점검해 신뢰성있고 안정적인 전송이 이루어지도록 함
- 포트라는 정보를 통해 실행중인 응용 프로그램 식별
- 세션 계층(session layer)
- 정의 : ‘세션’을 관리하기 위해 존재하는 계층
- 세션(session) : 일반적으로 통신을 주고 받는호스트의 응용 프로그램 간의 연결상태
- 특징 :
- 연결 상태를 생성 및 유지, 종료 시 끊어주는 역할
- 표현 계층(presentation layer) :
- 번역가와 같은 역할
- 사람이 이해할 수 있는 언어인 문자 컴퓨터가 이해할 수 있는 코드로 변환/압축/암호화 같은 작업이 표현 계층에서 이루어짐
- 응용 계층(application layer) :
- 정의 : OSI 참조 모델의 최 상단에 있는 계층으로 실질적인 네트워크 서비스가 제공되는 계층
- 특징 :
- 다양한 서비스가 제공될 수 있는 만큼 다른 계층에 비해 응용 계층에 속한 프로토콜이 많음
- 사용자/ 사용자가 이용하는 응용프로그램과 밀접히 맞닿아 있음
- 예) 웹 브라우저 프로그램에 웹페이지를 제공, 클라이언트 프로그램에 송수신된 이메일 제공 등
- 물리계층(physical layer)
TCP/IP 모델
- OSI 모델이 주로 네트워크를 이론적으로 기술하고 이해할 때 사용(이상적 설계)
- ⇒ TCP/IP 모델 이론은 이론보다 구현에 중점을 둔 네트워크 모델(실용적 구현)
- TCP/IP 4계층, 인터넷 프로토콜 스위트(internet protocal suite), TCP/IP 프로토콜 스택(protocol stack) : 다양한 프로토콜이 묶여서 함께 사용되어 이와 같은 이름으로도 불림
- 프로토콜 스위트(internet protocal suite), 프로토콜 스택(protocol stack) : 프로토콜 집합을 말함.
- IP → Internet protocol의 약자
- TCP/IP 이름이 붙은 이유 → 네트워크 구현의 핵십!
- 통신단계는 총 4단계로 구성
- 네트워크 액세스 계층(network access layer)
- OSI 모델의 데이터 링크 계층과 유사함
- 링크 계층(link layer) 또는 네트워크 인터페이스 계층(network interface layer)라고도 부름
- TCP/IP에 해당하는 물리 계층이 없다고 보는 견해가 있어 물리 계층을 포함함, 5개의 확장 모델을
- 인터넷 계층(internet layer)
- OSI의 네트워크 계층과 유사
- 전송 계층(transport layer)
- OSI의 전송계층과 유사
- 응용 계층(application layer)
- OSI모델의 세션 계층/ 표현 계층/ 응용 계층을 합친것과 유사
- 네트워크 액세스 계층(network access layer)
- 정리 :
3️⃣ 캡슐화/ 역캡슐화
- 네트워크 참조 모델에서의 송수신 :
- 패킷은 송신지 입장에서는 가장 높은 계층에서 가장 낮은 계층으로 이동하고, 수신지 입장에서 가장 낮은 계층에서 높은 계층으로 전달
캡슐화
- 송신과정에서 이루어짐
- 상위 계층으로 내려받은 패킷을 페이로드로 삼아, 프로토콜에 걸맞는 헤더/트레일러를 붙여 하위 계층으로 전달
- 이렇게 헤더 및 트레일러를 추가해나가는 과정을 캡슐화(incapsulation) 또는 인캡슐레이션이라고 부름
역캡슐화
- 수신 과정에서 이루어짐
- 캡슐화 과정에서 붙였던 헤더 및 트레일러를 각 계층에서 확인하고 제거하는 과정을 역캡슐화(decapsulation) 또는 디캡슐레이션이라고 부름
PDU(Protocol Data Unit)
- 각 계층에서 송수신되는 메시지의 단위를 말함
- 주로 전송 계층 이하의 메시지를 구분
OSI 계층 PDU 응용 계층 데이터(data) 표현 계층 데이터(data) 세션 계층 데이터(data) 전송 계층 세그먼트(segment), 데이터 그램(datagram) 네트워크 계층 패킷(packet) 데이터 링크 계층 프레임(frame) 물리 계층 비트(bit)
- 정리
- 💡OSI 7계층, TCP/IP 계층은 반드시 지켜야하는 것은 아니다! 가이드라인일 뿐
- 엄격한 규칙이 아닌, 부드러운 가이드라인 → 참조 모델의 의미처럼 참조하기위해 만들어짐
- 새로운 프로토콜, 장비 → 완벽하게 대응 되지 않는 경우가 많음. 여러 계층을 포괄하는 프토토콜 네트워크 장비가 존재
- 또한 네트워크 참조 모델에서 속한 대상이 주체이지, 모델이 주체는 아님
- OSI는 이론적 설계를 위해 참고하는 모델, TCP/IP는 실용적 구현을 위한 참조
- 💡네트워크 성능 지표
트래픽(traffic)
: 네트워크의 정보량을 의미과부하(overhead)
: 노드가 특정 시간 동안 처리해야할 정보가 많음 → 성능 저하 유발 가능- 이러한 성능을 체크해주는 지표가 여럿 존재
처리율(throughput)
:- 단위 시간당 네트워크를 통해 실제로 전달되는 정보량
- 단위 : bps, Mbps, Gbps, pps emd 등 사용
- 실시간성이 강조된 지표 → 특정 노드가 얼마 만큼 트래픽을 처리 중인지 판단
- 평균값 혹은 변화된 값을 그래프로 표현
대역푝(bandwith)
:- 단위 시간 당 통신매체를 통해 송수신 할 수 있는 최대 정보량을 말함
- 신호처리영역의 대역폭(주파수)와 다른 의미
- 단위 시간 당 통신매체를 통해 송수신 할 수 있는 최대 정보량을 말함
- 💡패킷 손실
패킷 손실(packet loss)
: 송수신되는 패킷이 손실된 상황을 의미- 단위 : 전체 패킷 중 유실된 패킷을 백분위로 표현
- cmd 명령어 ping으로 확인 가능
Reference :
'혼공 학습단 > 혼자 공부하는 네트워크' 카테고리의 다른 글
[혼자 공부하는 네트워크] NIC와 케이블 (0) | 2024.07.14 |
---|---|
[혼자 공부하는 네트워크] 이더넷 (0) | 2024.07.14 |
[혼공단 12기] 혼자 공부하는 네트워크 1주차 과제 (0) | 2024.07.07 |
[혼자 공부하는 네트워크] 네트워크 Overview (Feat. 거시적 관점) (0) | 2024.07.03 |
[혼자 공부하는 네트워크] 네트워크, 인터넷, 그리고 개발자 (0) | 2024.07.02 |