은학의 코딩 일기장
OSI 계층과 TCP/IP 계층, 실무에서 어떻게 활용될까? 본문
네트워크를 공부하다 보면 가장 먼저 접하게 되는 개념이 OSI 7계층과 TCP/IP 계층 모델이다.
개념 자체는 오래전부터 존재하지만, 요즘 들어 다시 중요해지는 이유는 명확하다.
클라우드 환경, 마이크로서비스 아키텍처, 트래픽 증가로 인해 문제 발생 지점을 빠르게 좁히는 능력이 점점 더 중요해졌기 때문이다.
이 글은 다음과 같은 사람에게 도움이 된다.
- 네트워크 개념을 이론으로만 알고 있는 개발자
- 장애 대응이나 로그 분석 시 네트워크 계층이 헷갈리는 경우
- OSI와 TCP/IP를 “외우는 개념”이 아니라 “써먹는 기준”으로 이해하고 싶은 사람
OSI 7계층 모델 다시 정리
OSI(Open Systems Interconnection) 모델은 네트워크 통신 과정을 7단계로 나눈 개념적 모델이다.
실제 구현 모델이라기보다는 문제 원인 분석과 역할 구분을 위한 기준에 가깝다.
핵심은 “통신을 단계별로 쪼개서 생각하자”는 데 있다.
OSI 7계층 구조
- 물리 계층 (Physical)
- 데이터 링크 계층 (Data Link)
- 네트워크 계층 (Network)
- 전송 계층 (Transport)
- 세션 계층 (Session)
- 표현 계층 (Presentation)
- 응용 계층 (Application)
[이미지: OSI 7계층 구조 다이어그램]
OSI 계층별 실제 응용 사례
이론 설명만으로는 감이 잘 오지 않기 때문에, 실무에서 자주 겪는 상황 위주로 정리해본다.
1️⃣ 물리 / 데이터 링크 계층
- 랜선 불량, 포트 연결 오류
- 동일 네트워크인데 통신이 안 되는 경우
실제로 써보면, 이 단계 문제는 개발자가 직접 해결하기보다는 인프라 쪽 이슈인 경우가 많다.
다만 “핑이 아예 안 간다”면 이 계층부터 의심해볼 수 있다.
2️⃣ 네트워크 계층 (IP, 라우팅)
- 서로 다른 네트워크 간 통신
- 서브넷, 라우팅 테이블 문제
예를 들어, 서버 A에서 서버 B로 요청을 보내는데 같은 포트, 같은 서비스인데도 연결이 안 된다면,
IP 대역이나 라우팅 설정을 이 계층에서 확인하게 된다.
3️⃣ 전송 계층 (TCP / UDP)
- 포트 번호
- 연결 지향 / 비연결 지향
HTTP API 호출 시 타임아웃이 발생한다면,
“서버가 안 떠 있나?”보다 먼저 포트가 열려 있는지, TCP 연결이 정상인지를 확인하는 게 일반적이다.
4️⃣ 세션 / 표현 / 응용 계층
OSI 상으로는 나뉘어 있지만, 실무에서는 묶어서 생각하는 경우가 많다.
- 인증 세션 유지
- 데이터 인코딩(JSON, UTF-8)
- HTTP, FTP, SMTP 같은 애플리케이션 프로토콜
로그인은 되는데 특정 API만 실패한다면, 이 계층에서 문제를 찾게 된다.
TCP/IP 계층 모델은 왜 따로 볼까?
TCP/IP 모델은 실제 인터넷에서 사용하는 표준 모델이다.
OSI보다 단순하고, 구현 중심적이다.
TCP/IP 4계층 구조
- 네트워크 인터페이스 계층
- 인터넷 계층
- 전송 계층
- 응용 계층
[이미지: TCP/IP 4계층 구조 다이어그램]
OSI와 TCP/IP를 비교하면 다음처럼 대응된다.
OSI 계층TCP/IP 계층
| 1~2계층 | 네트워크 인터페이스 |
| 3계층 | 인터넷 |
| 4계층 | 전송 |
| 5~7계층 | 응용 |
TCP/IP 기준으로 보는 실무 응용
실무에서는 보통 TCP/IP 기준으로 사고한다.
HTTP API 장애 예시
- 응용 계층
- URL, 헤더, 인증 토큰 확인
- 전송 계층
- 포트, TCP 연결 여부
- 인터넷 계층
- IP 접근 가능 여부
- 네트워크 인터페이스
- 서버 NIC, 방화벽
실제로 장애 대응 시에는
“이게 OSI 몇 계층 문제인가?”보다는
TCP/IP 기준으로 위에서 아래로 내려가며 확인하는 경우가 많다.
OSI vs TCP/IP, 어떻게 활용하면 좋을까?
개념 정리는 OSI, 실제 문제 해결은 TCP/IP
- OSI 계층
- 면접 대비
- 개념 설명
- 원인 분류 기준
- TCP/IP 계층
- 로그 분석
- 장애 대응
- 실제 네트워크 설계
⚠️ OSI 계층을 그대로 코드나 설정에 적용하려고 하면 오히려 헷갈릴 수 있다.
개념용과 실무용을 구분해서 쓰는 게 좋다.
정리하며
OSI와 TCP/IP 계층 모델은
외워야 할 이론이라기보다 문제를 나누어 생각하기 위한 프레임에 가깝다.
- 네트워크 흐름을 이해하고 싶다면 OSI
- 실제 장애를 처리해야 한다면 TCP/IP
이런 기준으로 접근하면,
네트워크 관련 이슈를 만났을 때 훨씬 덜 막막해진다.
'cs' 카테고리의 다른 글
| [컴퓨터 네트워크] 라우팅 (0) | 2024.09.12 |
|---|---|
| [컴퓨터 네트워크] IP 프로토콜 (0) | 2024.09.12 |
| [컴퓨터 네트워크] TCP / UDP (0) | 2024.09.02 |
| [컴퓨터 네트워크] L4/ L7 로드밸런서 (0) | 2024.08.28 |
| [컴퓨터 네트워크] 웹캐시 (0) | 2024.08.28 |