OSI 7계층와 TCP/IP 계층
- OSI 7계층?
전통적인 네트워크 주요 레퍼런스 모델로 활용되고 있었음. (현재는 TCP/IP 프로토콜 스택 기반)
과거 다양한 통신 규약을 하나로 합치자! 고 노력하여 나온 산물이 바로 OSI 7계층

1~4계층 : 데이터 플로(Data Flow Layer) / 하위 계층(Lower Layer)
> 데이터를 전달하는데 초점, (서버/네트워크 엔지니어)
5~7계층 : 애플리케이션 (Application) / 상위 계층(Upper Layer)
> 데이터를 표현하는데 초점(개발자 등)
- TCP/IP 프로토콜 스택?
현대 네트워크는 TCP/IP + 이더넷으로 이루어짐(인터넷의 유행 때문).
TCP/IP는 이론보다 실용성에 중점을 둔 프로토콜

4계층으로 이루어짐 -> 마찬가지로 상위계층, 하위계층으로 구분
- OSI 상위 3개 계층(애플리케이션, 표현, 세션 계층) -> TCP/IP 애플리케이션 계층
- 하위 1, 2계층(데이터링크, 물리적 계층) -> TCP/IP 네트워크 계층
- OSI 7계층 (계층별 간단 분석)
1. 1계층(피지컬 계층)
- 물리 계층으로 물리적 연결과 관련된 정보를 정의. 주로 전기신호를 전달하는데 초점
- 장비 주소 개념이 없어서 전기 신호가 들어온 포트 외 모든 포트에 같은 전기 신호 전송
- 대표장비 : 허브, 리피터, 케이블, 커넥터, 트랜시버(NIC-케이블 연결 장비), 탭(네트워크 모니터링과 패킷 분석용)
2. 2계층(데이터 링크 계층)
- 전기 신호를 우리가 알아볼 수 있는 데이터 형태로 처리
- 주소 정보(MAC 주소)를 정의하고 출발지/도착지를 확인한 뒤 제대로 왔는지 검사까지 수행
- 흐름 제어(Flow Control) : 무작정 데이터를 던지는 것이 아닌 제대로 받을 수 있는지 확인하는 작업. 추후 자세한 설명
- 과거에는 에러를 탐지하고 재전송까지 했으나, 요즘은 에러 탐지 역할만 수행
- 대표장비 : NIC, 스위치
허브 vs 스위치
허브는 1계층 장비로 한 포트에서 전기신호가 들어오면 전체 포트에 신호를 전달
여러 장비에 보내려면 대역폭을 나누어야 함.
(500Mbps 일 때, 장비가 5대 연결되어 있으면 각각 100Mbps로 나누어서 전송 -> 성능 하락)
스위치는 MAC주소별 포트가 결정되어 있어, 주소습득(Address Learning) 과정을 통해
필터링과 포워딩으로 네트워크 효율성이 크게 증가함
3. 3계층(네트워크 계층)
- IP 주소와 같은 논리적 주소가 정의됨 (네트워크 통신 시 MAC주소 + IP주소로 통신)
- > MAC주소는 고정이지만, IP주소는 변경 가능함
- > IP 주소는 네트워크 주소/호스트 주소 로 구분됨(자세한 건 나중에)
- >> ex. 192.31.0.1 -> 192.31: 네트워크 주소 / 0.1 : 호스트 주소
- 대표장비 : 라우터(IP주소를 통해 최적의 경로를 찾고, 해당 경로로 패킷을 전송)
4. 4계층(트랜스포트 계층)
- 실제 데이터가 잘 보내졌는지 확인하는 역할
- 패킷에 시퀀스 번호(seq), ACK 번호를 활용하고 장비의 포트 번호를 통해 상위 애플리케이션을 구분
- 대표장비 : 로드 밸런서(부하 분산), 방화벽(보안 정책을 통해 패킷을 통과/차단 기능)
5. 5계층(세션 계층)
- 양 끝단의 응용 프로레스가 연결이 유지되도록 돕고, 작업 완료 후에는 이 연결을 끊음
- TCP/IP 세션을 만들고 없앰. 애러 중단 시 복구와 재전송 수행
6. 6계층(프레젠테이션 계층)
- 표현 방식이 다른 애플리케이션/시스템 간 통신을 위해 하나의 통일된 구문으로 변환하는 역할
- MIME 인코딩, 암호화, 압축, 코드 변환 등
7. 7계층(애플리케이션 계층)
- 최상위 계층으로 애플리케이션 프로세스를 정의하고 서비스를 수행
- UI 부분이나 사용자 I/O를 정의
- 다양한 프로토콜 존재; FTP, SMTP, HTTP, TELNET 등