Written by
Poogle
on
on
Network 키워드 1 - Protocol, OSI 7 & TCP/IP 4 Layers, Port
Protocol
- 네트워크에서 통신할 때 쓰는 규칙(약속)
- ex. 한국인과 프랑스인이 서로의 언어를 못 쓴다면? -> 영어로 대화한다는 규칙을 정해서 대화하기
- ex. 편지가 전달되는 과정 (편지 쓰기 -> 우체통에 넣기 -> … -> 편지를 우편함에서 꺼내기 -> 편지 읽기)에서 주소를 적지 않거나 우표를 붙이지 않은 채로 보내면?
편지를 쓰는 규칙
,편지를 보내는 규칙
,우체국의 규칙
등 여러 규칙이 있음, 그리고 서로 영향을 주지 않는다는 특징
- ❓
http://www.cyber.co.kr
의www
는 World Wide Web 이라는 프로토콜이다?- ❌ : www는 웹 서버에 붙인 이름, World Wide Web은 웹을 설계한 사람이 최초로 만든 브라우저 겸 HTML 편집기에 붙인 이름
- 인터넷: 네트워크들의 네트워크
- www ≠ 인터넷, www ⊂ 인터넷
- www은 포트 80과 HTTP 프로토콜을 쓰는 인터넷 기반 서비스 중 하나
- ❓ 브라우저를 비롯한 네트워크 애플리케이션은 네트워크를 제어하는 기능이 없다?
- ✅ : 애플리케이션은 자체에서 네트워크를 제어하는 것이 아니라 OS에 의뢰하여 네트워크를 제어
OSI 7계층 & TCP/IP 4계층
- 공통으로 사용할 수 있는 표준 규격 → who? ISO 국제 표준화기구가 OSI 모델이라는 표준 규격을 제정
- 데이터의 송수신이 이루어질 때 컴퓨터 내부에서 하는 일을 계층(레이어)으로 나눈 것
- 보내는 쪽은 상 → 하위 계층으로
- 캡슐화: 계층마다 필요한 정보(헤더)를 붙여서 다음 계층으로 보냄
- 데이터 링크 계층에서는 트레일러(데이터를 전달할 때 데이터에 마지막에 추가하는 정보)도 추가
- 받는 쪽은 하 → 상위 계층으로
- 역캡슐화: 받는 쪽에서 헤더를 하나씩 제거
- TCP/IP 프로토콜이 OSI 모델보다 먼저 개발
- TCP/IP는 인터넷 개발 이후 계속 표준화되어 신뢰성이 높음, 실질적 통신 관련 / OSI 계층은 장비 개발과 통신 표준을 위해 사용됨
OSI 7계층
- 7계층: 응용 계층 (Application Layer, 어플리케이션 계층)
- 이메일, 파일 전송, 웹사이트 조회 등 어플리케이션에 대한 서비스 제공
- 전송 단위: message
- 6계층: 표현 계층 (Presentation Layer, 프레젠테이션 계층)
- 송, 수신자가 공통으로 이해할 수 있도록 데이터 표현 방식을 바꾸는 기능을 담당
- 응용 계층으로부터 받은 데이터의 보안과 효율적인 전송을 위해 문자코드, 압축, 암호화 등으로 데이터를 변환해 세션 계층으로 내려보냄
- 전송 단위: message
- 5계층: 세션 계층 (Session Layer)
- 세션 체결, 통신 방식을 결정
- 전송 단위: message
- 4계층: 전송 계층 (Transport Layer, 트랜스포트 계층)
- 신뢰할 수 있는 통신을 구현
- 전체 메세지 발신지 대 목적지(end-to-end) 제어와 에러 관리
- 전송 단위: segment, 주소: port
- 3계층: 네트워크 계층(Network Layer)
- 다른 네트워크와 통신하기 위한 경로 설정 및 논리 주소를 결정
- 전송 단위: packet, 주소: IP
- 2계층: 데이터 링크 계층(Data Link Layer)
- 네트워크 기기 간의 데이터 전송 및 물리 주소를 결정
- 네트워크 계층에서 정보를 받아 주소와 제어 정보를 헤더와 테일에 추가
- 전송 단위: frame, 주소: MAC
- 1계층: 물리 계층(Physical Layer)
- 시스템 간의 물리적인 연결과 전기 신호를 변환 및 제어
- 랜 카드로 0과 1의 정보가 전송되고 랜 카드는 이를 전기 신호로 변환
- 전송 단위: bit
캡슐화 / 역캡슐화
- 송신 측에서는 헤더를 붙여가며 캡슐화, 수신 측에서는 헤더를 제거하며 역캡슐화
- 응용
- 데이터
- 전송
- 전송 계층 헤더 + 데이터
- 네트워크
- 네트워크 계층 헤더 + 헤더 + 데이터
- 데이터 링크
- 데이터 링크 계층 헤더 + 헤더 + 데이터 + 트레일러
- 물리
- 헤더 + 헤더 + 헤더 + 데이터 + 트레일러
TCP/IP 모델 (4계층)
- 범용적으로 사용하는 TCP 프로토콜과 IP 프로토콜을 OSI 7계층 형식에 맞춰 더 추상화(간략화) 시킨 모델
- 4계층: 응용 계층
- OSI에서 세션, 표현, 응용 계층에 해당
-
주요 프로토콜
프로토콜 설명 HTTP TCP 기반 프로토콜, 포트번호 80번 사용 DNS 도메인명에 대한 호스트 정보 제공 FTP 파일 전송 프로토콜 SMTP 메일 송신 프로토콜 POP3 메일 수신 프로토콜 SNMP 네트워크 구성관리, 성능관리, 장비관리, 보안관리를 위하여 UDP상에 정의된 응용 계층 표준 프로토콜 Telnet 원격 터미널 접속할 때 사용하는 프로토콜, 포트번호 23번 사용
- 3계층: 전송 계층
- OSI에서 전송 계층 해당
- 통신 노드 간의 연결을 제어하고 신뢰성 있는 데이터 전송 담당
-
주요 프로토콜
프로토콜 설명 TCP 정확한 패킷의 전송을 보장 UDP 정확한 전송보다 빠른 속도의 전송이 필요한 멀티미디어 통신에서 사용
- 2계층: 인터넷 계층
- OSI에서 네트워크 계층 해당
- 통신 노드 간의 IP 패킷을 전송하는 기능과 라우팅 기능 담당
-
주요 프로토콜
프로토콜 설명 IP 비신뢰성, 비연결성 프로토콜 ARP IP 주소로 MAC 주소를 알아오는 프로토콜 RARP MAC 주소에 해당하는 IP 주소 알아오는 프로토콜 GARP 송, 수신 IP가 동일한 ARP 요청 ICMP TCP/IP에서 IP 패킷 처리할 때 발생되는 문제를 알려주는 프로토콜
- 1계층: 네트워크 접속 계층
- OSI에서 물리, 데이터 링크 계층에 해당
- 물리적인 주소로 MAC을 사용하고 LAN, 패킷망 등에 사용
- 이더넷: 랜에서 적용되는 규칙, 허브와 같은 장비에 연결된 데이터를 주고받을 때 사용
Port, well-known port
- 전송된 데이터의 목적지가 어떤 애플리케이션(웹, 메일…)인지 잘 구분할 수 있도록 TCP 헤더의 출발지 포트 번호와 목적지 포트 번호가 필요
-
포트 번호는 0 ~ 65335번 사용 가능
-
잘 알려진 포트(well-known prots): 0 ~ 1023번 포트는 주요 프로토콜이 사용
번호 애플리케이션 20 FTP(data) 21 FTP(제어) 22 SSH 23 Telnet 25 SMTP 53 DNS 80 HTTP 110 POP3 443 HTTPS - 등록된 포트: 1024 ~ 49151번
- 1024번은 예약되어있지만 사용 X
- 강제로 지정된 포트는 아니므로 다른 용도로 사용 가능
번호 애플리케이션 1433 MSSQL 3306 MySQL 3389 윈도우 원격접속 8080 HTTP 대체 - 웹 브라우저로 접속할 때 웹 브라우저에는 임의의 포트가 자동으로 할당됨
- 서버 측은 포트 번호를 정해둬야 하지만 클라이언트 측은 정하지 않아도 괜찮음
참고
책 - 모두의 네트워크
강의 - 부스트코스 - 웹 백엔드