네트워크
- 컴퓨터나 기타 기기들이 리소스를 공유하거나 데이터를 주고 받기 위해 유선 혹은 무선으로 연결된 통신 체계
-- 애플리케이션 목적에 맞는 통신 방법 제공
-- 신뢰할 수 있는 데이터 전송 방법 제공
-- 네트워크 간의 최적의 통신 경로 결정
-- 목적지로 데이터 전송
-- 노드 사이의 데이터 전송
---> 통신 기능이 제대로 동작하기 위해서는 참여자들 사이에서 약속된 통신 방법이 있어야 한다.
네트워크 프로토콜
- 네트워크 통신을 하기 위해 통신에 참여하는 주체들이 따라야 하는 형식, 절차, 규약
네트워크의 모든 기능들을 단 하나의 프로토콜로 구현할 수는 없다. => 모듈화 => layered architecture(계층 구조)
OSI model (7 layer) : 범용적인 네트워크 구조를 모델링
TCP/IP stack (4 layer) : 인터넷에 특화된 네트워크 구조
OSI 7 layer
application layer - L7 : 애플리케이션 목적에 맞는 통신 방법 제공. HTTP, DNS, SMTP, FTP
presentation layer - L6 : 애플리케이션 간의 통신에서 메시지 포맷 관리. 인코딩 <-> 디코딩, 암호화 <-> 복호화, 압축 <-> 압축 풀기
session layer - L5 : 애플리케이션 간의 통신에서 세션을 관리. RPC(remote procedure call)
transport layer - L4 : 애플리케이션 간의 통신 담당, 목적지 애플리케이션으로 데이터 전송. TCP(안정적이고 신뢰할 수 있는 데이터 전송 보장), UDP(필수 기능만 제공)
network layer - L3 : 호스트 간의 통신 담당(IP), 목적지 호스트로 데이터 전송, 네트워크 간의 최적의 경로 결정
data link layer - L2 : 직접 연결된 노드 간의 통신 담당. MAC 주소 기반 통신(ARP)
physical layer - L1 : bits 단위로 데이터 전송
- 각 레이어에 맞게 프로토콜이 세분화되어서 구현
- 각 레이어의 프로토콜은 하위 레이어의 프로토콜이 제공하는 기능을 사용하여 동작
- application layer + presentation layer + session layer => application layer
- encapsulation & decapsulation
'공부 기록 > 영상 후기' 카테고리의 다른 글
[10분 테코톡] 잉, 페퍼의Spring Data JPA 삽질일지 (0) | 2023.04.02 |
---|---|
불변 객체(immutable object)는 안정적인 개발에 아주 도움이 됩니다! 불변 객체의 개념과 장점, 구현 방법을 자바 예제를 통해 배워보아요~! (0) | 2023.04.02 |
셸 스크립팅 에센스 E01 - 셸. 커널. 터미널. (shell. kernel. terminal) (0) | 2023.03.29 |
[Talk&Talk] 누구나 쉽게 이해할수 있는 마이크로서비스 아키텍처(MSA) (0) | 2023.03.27 |
도커 한방에 정리 (모든 개발자들이 배워보고 싶어 하는 툴!) + 실습 (0) | 2023.03.27 |