OSI (Open Systems Interconnection)
: 네트워크 통신을 계층화해서 각 단계별로 역할을 나눠놓은 표준 모델
🔹 1계층 – 물리 계층 (Physical Layer)
- 0과 1의 비트 스트림을 전기적/광학적으로 전송
- 케이블, 허브 등 물리적 장비
- 장비: 허브, 리피터, 전선, 광케이블
🔹 2계층 – 데이터 링크 계층 (Data Link Layer)
- MAC 주소(랜카드에 박혀있는 주소) 기반으로 프레임 단위 전송
- 같은 네트워크 내 장비들 간 통신
- 오류 감지, 흐름 제어
- 장비: 스위치, 브리지
🔹 3계층 – 네트워크 계층 (Network Layer)
- IP 주소 기반으로 라우팅
- 목적지까지의 경로 설정
- 패킷 단위 전송
- 프로토콜: IP, ICMP, IGMP
- 장비: 라우터
🔹 4계층 – 전송 계층 (Transport Layer)
- 신뢰성 있는 데이터 전송 보장
- 세그먼트 단위로 데이터 처리
- TCP(신뢰성 有), UDP(속도 우선, 신뢰성 無)
- 포트 번호 사용: 예) 80(HTTP), 443(HTTPS)
🔹 5계층 – 세션 계층 (Session Layer)
- 통신을 위한 세션 생성, 유지, 종료 관리
- 데이터 교환 시 순서 제어, 동기화 역할
- 예시: NetBIOS, PPTP
🔹 6계층 – 표현 계층 (Presentation Layer)
- 데이터의 형식/인코딩/압축/암호화 담당
- 서로 다른 시스템 간 데이터 표현 형식을 맞춰줌
- 예시: SSL/TLS, JPEG, MP3
🔹 7계층 – 응용 계층 (Application Layer)
- 사용자와 가장 가까운 계층
- 웹, 이메일, 파일 전송 등 실제 애플리케이션들이 사용하는 통신 인터페이스 제공
- 프로토콜: HTTP, HTTPS, FTP, SMTP, DNS 등
< 7계층 시나리오 > -> 내가 크롬 브라우저를 켜고 www.ssafy.com 에 접속한다고 가정
step 1. Application Layer
- 내가 해당 주소를 입력하고 Enter 누름.
- HTTP 프로토콜이 사용됨
- 브라우저가 Get / index.html / HTTP/1.1 같은 요청을 만듬
step 2. Presentation Layer
- HTTP 요청 데이터를 문자 인코딩(UTF-8)
- 보안 연결이라면 SSL/TLS로 암호화
- 이 과정을 통해서 '서로 다른 시스템 간 표현 방식 차이' 해결
step 3. Session Layer
- 세션을 설정하고 브라우저 <-> SSAFY 서버 간 연결을 관리함
- 이 계층은 연결의 시작 / 유지 / 종료를 다룸
step 4. Transport Layer
- TCP 프로토콜 사용 (신뢰성 보장)
- 데이터를 segment로 나누고, 각 조각에 포트번호를 붙임
- ex) Segment 1 [srcPort: 57321, dstPort: 443]
step 5. Network Layer
- 각 segment에 IP 주소를 붙이고 packet 생성 ( 출발지 IP : 내 컴퓨터 IP, 목적지 IP : SSAFY 서버 IP)
- ex) Packet [srcIP: 192.168.0.2, dstIP: 203.255.112.5]
step 6. Data Link Layer
- IP 패킷에 MAC 주소를 붙이고, frame 생성
- 출발지 MAC : 내 랜카드 주소, 목적지 MAC : 게이트웨이(라우터)의 MAC 주소
- Frame [srcMAC: A1:B2:C3, dstMAC: G1:H2:I3]
step 7. Physical Layer
- 위 frame을 0과 1의 비트 신호로 바꿈
- 전기 / 광 신호로 케이블이나 와이파이를 통해 전송
예: 0100110010010110... ← 이런 식의 신호가 날아감
반대편 (SSAFY 서버)에서는?
다시 1계층 → 7계층으로 역순으로 처리
- 비트를 받아들여
- 프레임 → 패킷 → 세그먼트 → 암호 해제 → HTTP 요청 파싱
- 웹 서버가 HTML 페이지를 응답
- 같은 경로로 너에게 응답 메시지를 보내줌 (다시 위 순서로)
( 예상 질문 )
1. OSI 7계층이 무엇인가요? 각 계층의 역할을 설명해주세요.
2. TCP/IP 모델과 OSI 7계층 모델의 차이점은 무엇인가요?
3. HTTP 요청이 발생하면 OSI 7계층에서 어떤 순서로 처리가 되나요?
4. MAC 주소와 IP 주소의 차이는 무엇인가요?
5. TCP와 UDP의 차이를 설명해주세요.
1.
OSI 7계층은 서로 다른 시스템 간 통신이 가능하도록 국제표준화기구(ISO)에서 정의한 계층형 네트워크 통신 모델입니다.
각 계층은 특정 역할을 담당하여 기능을 분리하고, 설계와 디버깅을 쉽게 해줍니다.
- 7계층 – Application: 사용자와 직접 상호작용하는 계층 (예: HTTP, FTP)
- 6계층 – Presentation: 데이터 인코딩, 암호화, 압축 처리 (예: TLS)
- 5계층 – Session: 세션 생성, 유지, 종료 관리
- 4계층 – Transport: 신뢰성 있는 데이터 전송, 포트 관리 (예: TCP/UDP)
- 3계층 – Network: 논리 주소(IP) 기반의 라우팅 처리
- 2계층 – Data Link: 물리적 주소(MAC) 기반 프레임 전송, 오류 제어
- 1계층 – Physical: 전기적, 물리적 신호로 데이터 전송 (케이블, 비트 스트림)
이러한 계층화 덕분에 네트워크 시스템의 설계와 유지보수가 체계적으로 이루어집니다.
2.
TCP/IP 모델은 실제 인터넷 프로토콜을 기준으로 만들어진 4계층 구조이고,
OSI 모델은 이론적인 개념 정립을 위해 만들어진 7계층 구조입니다.
| Application | Application | 
| Presentation | (통합됨) | 
| Session | (통합됨) | 
| Transport | Transport | 
| Network | Internet | 
| Data Link | Network Access | 
| Physical | Network Access | 
주요 차이점은:
- OSI는 개념적이고 분리된 계층 구조 / TCP/IP는 실질적 구현 중심
- TCP/IP에서는 응용 계층이 통합적이고 단순화됨
- 실무에서는 TCP/IP 구조를 더 많이 따르지만, 이론 정립은 OSI 모델 기준으로 설명하는 경우가 많습니다.
3.
사용자가 브라우저에 www.example.com을 입력하고 Enter를 누르면,
데이터는 OSI 7계층을 위에서 아래로(송신), 서버는 아래에서 위로(수신) 처리하게 됩니다.
- Application 계층: HTTP 요청 생성 (GET /index.html)
- Presentation 계층: 데이터 인코딩, 암호화 (TLS 적용 시)
- Session 계층: SSL 핸드셰이크로 세션 생성
- Transport 계층: TCP로 세그먼트화, 포트 번호 지정 (예: 443)
- Network 계층: IP 주소 설정 → 패킷 생성
- Data Link 계층: MAC 주소 설정 → 프레임 생성
- Physical 계층: 전기적 신호로 변환 → 전송
서버 측에서는 이를 역순으로 처리하여 응답을 반환합니다.
4.
MAC 주소는 네트워크 장비(랜카드)에 물리적으로 부여된 고유 식별자이고,
IP 주소는 네트워크 상에서 장비를 식별하기 위한 논리적인 주소입니다.
| 부여 방식 | 하드웨어에 내장 | 네트워크에서 할당 (DHCP) | 
| 주소 구조 | 48비트 (16진수) | IPv4: 32비트, IPv6: 128비트 | 
| 역할 | 같은 네트워크 내 식별 | 전 세계 라우팅 및 식별 | 
| 변경 가능성 | 거의 없음 | 자주 변경 가능 | 
예를 들어, 내 노트북이 같은 와이파이에 있는 프린터로 출력할 때는 MAC 주소로 통신하고,
웹서버에 접속할 때는 IP 주소로 목적지를 찾습니다.
5.
TCP와 UDP는 전송 계층에서 사용되는 프로토콜이며,
신뢰성과 전송 속도 면에서 서로 다른 특성을 가집니다.
| 연결 방식 | 연결지향(Connection-oriented) | 비연결지향(Connectionless) | 
| 신뢰성 | 높음 (재전송, 순서 보장) | 낮음 (패킷 손실 허용) | 
| 속도 | 느림 | 빠름 | 
| 용도 | 파일 전송, 웹, 이메일 | 실시간 스트리밍, 게임, VoIP | 
| 예 | HTTP, HTTPS, FTP | DNS, DHCP, 영상통화 | 
TCP는 3-way 핸드셰이크를 통해 연결을 수립하고,
데이터의 순서 보장과 오류 제어를 제공합니다.
반면 UDP는 빠른 전송을 우선시해 실시간 서비스에 적합합니다.
'CS > Computer Network' 카테고리의 다른 글
| [매일매일 CS] HTTPS에 대해 (0) | 2025.09.16 | 
|---|---|
| [매일매일 CS] WAS와 웹 서버의 차이점은 무엇인가요? (0) | 2025.09.15 | 
| Nework Application Layer (4) | 2025.08.27 | 
| Network 기본 (2) | 2025.08.27 |