OSI 7계층과 TCP IP 4계층
네트워크가 어려운 이유
컴퓨터 네트워크와 통신 공부가 어려운 이유는 눈에 보이지 않기 때문이다. 우리에게 익숙한 코딩 공부의 경우에는 이론으로 배운 내용을 손으로 따라하면서 실제로 적용되는 모습을 경험할 수 있다. 특히 배경 지식이 없다 하더라도 쉽게 코드를 짤 수 있는 직관적인 언어가 존재한다. 그래서 진입 장벽이 낮고 혼자서도 배우기 좋다.
네트워크는 다르다. 가장 간단한 통신 프로그램을 구현하기 위해서 제법 많은 프로그래밍 지식이 필요하다. 더욱 곤란한 것은, 그렇게 만든 프로그램을 실행시킨다 하더라도 이것이 잘 동작한다는 것 외에는 알 수 없다. 수많은 선배 개발자들의 지성이 담겨있는 핵심의 통신 로직은 운영체제가 알아서 수행해주기 때문이다.
네트워크를 처음 접하는 이들은 책에 나와있는 OSI 모델 관련 내용 대부분을 이해하기 어렵다. 역설적이게도, 그렇기 때문에 OSI 모델이 중요하다. OSI 모델은 통신이라는 방대한 작업이 어떤 절차를 거쳐 수행되는지 명확하게 설명한다. OSI 모델은 내 컴퓨터에 있던 데이터가 다른 컴퓨터로 이동하는 여정을 그린다.
OSI와 TCP/IP 모델의 계층 구조
OSI 7계층 TCP/IP 4계층
---------------------------------
응용 계층
표현 계층 → 응용 계층
세션 계층
---------------------------------
전송 계층 → 전송 계층
---------------------------------
네트워크 계층 → 인터넷 계층
---------------------------------
데이터링크 계층
물리 계층 → 네트워크 접근 계층
실제로는 TCP/IP로 구현한다
일반적으로 OSI 7계층을 먼저 외우고 TCP/IP 4계층 구조를 배운다. 그런데 이 순서대로 공부하고 나면 종종 오해를 한다. OSI 7계층이 먼저 정립되고 TCP/IP 계층이 그 이후에 실용적인 목적에 맞추어 개발된 것이라고 생각한다. 이는 실제와 다르다.
1960년대 이미 TCP/IP 모델 개발이 시작되었다. 그리고 80년대에 들어 공식 프로토콜로 채택되었다. 1970년대에 네트워크의 포괄적인 이론적 정립을 위해 OSI 모델 개발이 시작되었고, 80년대에 발표되었다. 그래서 TCP/IP 모델이 실제 구현에 가까우며 OSI 7계층은 참조 모델이라 불린다.
OSI 7 계층
L7 - 응용 계층 (Application)
- 사용자와 가장 가까운 계층
- 주요 프로토콜: HTTP, FTP, SMTP, DNS
L6 - 표현 계층 (Presentation)
- 암호화, 압축, 인코딩
- ASCII, JPEG, MPEG
L5 - 세션 계층 (Session)
- 통신 세션 관리 : 연결 성립, 유지, 종료
- NetBIOS, RPC
L4 - 전송 계층 (Transport)
- 신뢰성 있는 데이터 전송
- 주요 프로토콜: TCP, UDP
L3 - 네트워크 계층 (Network)
- 라우팅, 경로 설정
- 주요 프로토콜: IP, ICMP
L2 - 데이터링크 계층 (Data Link)
- MAC 주소 사용
- 브릿지, 스위치
L1 - 물리 계층 (Physical)
- 비트 단위 데이터 전송
- 허브, 리피터
데이터 단위 (PDU)
계층별 데이터 단위
계층 |
데이터 단위 |
|---|---|
응용 계층 |
데이터 (Data) |
전송 계층 |
세그먼트 (Segment) |
네트워크 계층 |
패킷 (Packet) |
데이터링크 계층 |
프레임 (Frame) |
물리 계층 |
비트 (Bit) |