티스토리 뷰
프로토콜이란 간단하게 말하자면 규칙이다.
- 명확하게 송수신된 메시지와 이러한 메시지가 송수신될 때나 다른 상황이 발생했을 때 취하는 행동
- 둘 이상의 통신 개체 간에 교환되는 메시지 포맷과 순서 뿐만 아니라, 메시지의 송수신과 다른 이벤트에 따른 행동들을 정의
- 컴퓨터 네트워크에서 데이터를 송수신하기 위해 정해진 규칙과 절차의 집합
- 서로 다른 장치나 시스템이 효율적이고 신뢰성 있게 통신할 수 있도록 보장
다음은 프로토콜의 필요성을 알려주기 위한 예시이다. 왼쪽 그림은 전형적인 의사소통 과정을 나타낸다. 사람들은 의사소통을 하기 위해 먼저 인사를 한다. 안녕에 대한 일반적인 응답 역시 안녕이라는 메시지이다. 하지만 일반적이지 않은 경우도 존재한다. "귀찮게 하지마", "한국말 못해요" 등 상대방이 의사소통을 거부하거나 대화를 할 수 없을 경우가 그러하다.
컴퓨터도 마찬가지이다. 컴퓨터가 소통하려면 정해진 규칙이 필요하다. 즉, 어떤 일을 수행하려면 둘 이상의 통신 개체가 함께 인식하는 프로토콜이 필요하다.
예시1) 네트워크 접속 카드에서 하드웨어로 구현된 프로토콜 -> '선로상'의 비트 흐름을 제어
예시2) 웹 서버에 요청 -> URL을 이용해 서버에 GET 요청을 할 경우, 파일을 받는다.
대표적인 프로토콜
1. TCP/IP (Transmission Control Protocol/Internet Protocol)
- 인터넷의 핵심 프로토콜.
- TCP: 데이터의 신뢰성 보장(패킷 분할, 재조립, 오류 복구).
- IP: 데이터 전송 경로(라우팅) 지정.
2. HTTP/HTTPS (HyperText Transfer Protocol)
- 웹 브라우저와 서버 간 통신.
- HTTPS는 암호화된 안전한 통신 제공.
3. FTP (File Transfer Protocol)
- 파일 전송 프로토콜.
4. SMTP/IMAP/POP3
- 이메일 송수신 프로토콜.
- SMTP: 이메일 발송.
- IMAP/POP3: 이메일 수신.
5. DNS (Domain Name System)
- 도메인 이름(예: google.com)을 IP 주소로 변환.
6. ARP (Address Resolution Protocol)
- IP 주소를 MAC 주소로 변환.
7. DHCP (Dynamic Host Configuration Protocol)
- 네트워크 장치에 IP 주소 자동 할당.
구조 - OSI 7 Layer
1. 물리 계층
- 전기 신호, 케이블, 물리적 연결 등 데이터를 실제로 전송.
2. 데이터 링크 계층
- 데이터 프레임 전송, 오류 검출, MAC 주소 관리.
3. 네트워크 계층
- 데이터 라우팅 및 IP 주소 관리.
4. 전송 계층
- 데이터 신뢰성 보장(TCP) 및 빠른 전송(UDP).
5. 세션 계층
- 세션 설정, 유지, 종료.
6. 표현 계층
- 데이터 암호화, 압축, 변환.
7. 응용 계층
- 사용자와 가장 가까운 계층(HTTP, FTP, SMTP).
프로토콜은 계층별로 규칙이 정해져있다. 그렇다면 왜 굳이 계층별로 규칙을 정해야했을까?
다음 그림은 철수와 Olivia가 이야기를 하기 위해 필요한 것을 정리한 구조이다.
철수가 Olivia와 상호작용하기 위해서는 둘 다 영어나 한국어 둘 중 하나를 말할 수 있어야한다. 또한 이를 위해서는 말을 할 줄 알아야하고, 둘이 공기 중에 있어야한다. 이러한 조건들을 보면 특정 조건이 다른 조건에 의존하고 있다는 것을 알 수 있다. 즉, 공기중에 있지 않다면, 말을 할 수 없고, 말을 할 수 없다면, 영어로 대화를 할 수가 없다. 따라서, 프로토콜은 계층적 구조를 갖는다.
계층적 구조
: 존립이 의존적인 구조
: 이전 계층이 없으면 성립이 안되는 구조
'👩🏻💻개발공부 > 네트워크' 카테고리의 다른 글
네트워크 스터디 1주차 (3) | 2025.01.03 |
---|---|
네트워크가 데이터를 전송하는 방식 - 패킷 교환, 회선 교환 (0) | 2025.01.03 |
- Total
- Today
- Yesterday
- googleapis
- 혼공학습단
- 백준
- Signal
- AWS
- 공룡책
- 혼공단 9기
- MySQL
- 스페인 교환학생
- JS
- JavaScript
- 백엔드 개발
- 프로젝트
- 운영체제
- 해커톤
- 교환학생
- Linux
- nodejs
- C++
- 혼공단
- 깃 예제
- 혼공
- 스페인
- 개발일지
- 개발
- 리눅스
- 자바스크립트
- 혼공단 SQL
- Process
- SQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |