여름의 서재
[네트워크] OSI 7계층 & TCP/IP 본문
💡 프로토콜
: 통신 시스템이 데이터를 교환하기 위해 사용하는 통신 규약
- 물리적 측면 : 데이터 전송 매체, 신호 규약, 회선 규격 등. 이더넷이 널리 쓰임.
- 논리적 측면 : 장치들끼리 통신하기 위한 프로토콜 규격. TCP/IP가 널리 쓰임.
📌 TCP/IP 프로토콜 스택
- 물리 계층, 데이터 링크 계층 : 이더넷
- 네트워크 계층: ICMP, IP, ARP
- 전송 계층 : TCP, UDP
- 응용 계층 : FTP, SSH, TELNET, DNS, SNMP
💡 OSI 7계층과 TCP/IP
1. OSI 7계층
- 1 ~ 4계층 : 데이터 플로 계층 / 하위 계층 -> 데이터를 상대방에게 잘 전달하는데 초점
- 5 ~ 7계층 : 애플리케이션 계층 / 상위 계층 -> 데이터를 표현하는데(만드는데) 초점
2. TCP/IP 프로토콜 스택
: 애플리케이션 개발자가 고려해야할 부분과 서버 엔지니어나 네트워크 엔지니어가 고려해야 할 부분을 잘 구분해놓은 형태.
💡 OSI 7계층별 이해하기
: OSI7계층은 네트워크 통신을 구성하는 요소들 7개의 계층으로 표준화 한 것입니다. 이렇게 표준화하는 것의 장점은 흐름을 한눈에 알아보기 쉽고, 사람들이 이해하기 쉽고, 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들이지 않고도 이상이 생긴 단계만 고칠 수 있기 때문이다.
1) 1계층 (물리 계층)
: 물리적 연결과 관련된 정보를 정의. 주로 전기 신호를 전달하는 데 초점을 둠. 들어온 전기 신호를 잘 전달하는 것이 목적. 주소의 개념이 없어서 들어온 포트를 제외하고 모든 포트에 전기 신호를 전송함.
- 1계층 장비
- 허브, 리피터 : 네트워크 통신을 중재하는 네트워크 장비
- 케이블, 커넥터 : 케이블 본체를 구성하는 요소
- 트랜시버: 컴퓨터의 랜카드와 케이블을 연결하는 장비
- 탭: 네트워크 모니터링과 패킷 분석을 위해 전기 신호를 다른 장비로 복제해 줌.
2) 2계층 (데이터 링크 계층)
: 전기 신호를 모아 우리가 알아볼 수 잇는 데이터 형태로 처리. 주소 정보를 정의하고 정확한 주소로 통신이 되도록 하는 데 초점이 맞추어져 있음. 출발지와 도착지 주소를 확인하고 내게 보낸 것이 맞는지 검사 후 처리 수행.
- 네트워크 구성 요소
- 인터페이스 카드 : 고유 MAC 주소가 있음. 전시 신호를 데이터 형태로 만들고 도착지 MAC 주소를 확인한 후 자신에게 들어오는 전기신호가 맞는지 확인.
- 스위치 : MAC 주소를 보고 통신해야 할 포트를 지정해 내보냄. (필터링, 포워딩)
📌 MAC 주소
: 물리적 주소
3) 3계층 (네트워크 계층)
: IP 주소와 같은 논리적인 주소가 정의됨. 이 계층에서 가장 중요한 기능은 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능(라우팅)이다.
- 3계층 장비
- 라우터: IP 주소를 사용해 최적의 경로를 찾아주고 해당 경로로 패킷을 전송하는 역할.
4) 4 계층 (전송 계층)
: 실제로 해당 데이터들이 정상적으로 잘 보내지도록 확인하는 역할. 패킷을 분할할 때 패킷 헤더에 보내는 순서와 받는 순서를 적어 통신하므로 패킷이 유실되면 재전송을 요청할 수 있고 순서가 뒤바뀌더라도 바로잡을 수 있음.
📌 시퀀스 번호 & ACK 번호
- 시퀀스 번호 : 패킷에 보내는 순서를 명시한 것
- ACK 번호 : 받는 순서를 명시한 것
- 4계층 장비
- 로드 밸런서
- 방화벽
5) 5 계층 (세션 계층)
: 양 끝단의 응용 프로세스가 연결을 성립하도록 도와주고 연결이 안정적으로 유지되도록 관리하고 작업 완료 후에는 이 연결을 끊는 역할. TCP/IP 세션을 만들고 없애는 책임을 가짐. 에러로 중단된 통신에 대한 에러 복구와 재전송 수행.
6) 6 계층 (표현 계층)
: 표현 방식이 다른 애플리케이션이나 시스템 간의 통신을 돕기 위해 하나의 통일된 구문 형식으로 변환시키는 기능을 수행.
ex) MIME 인코딩, 암호화, 압축, 코드 변환
7) 7 계층 (응용 계층)
: 애플리케이션 프로세스를 정의하고 애플리케이션 서비스를 수행.
💡 인캡슐레이션 & 디캡슐레이션
- 인캡슐레이션
: 애플리케이션에서 데이터를 데이터 플로 계층으로 내려보내면서 패킷에 데이터를 넣을 수 있도록 분할 하는 과정.
- 디캡슐레이션
: 받는 쪽에서 하위 계층에서 상위 계층으로 데이터를 보내는 과정.
'CS > 네트워크' 카테고리의 다른 글
[네트워크] HTTP & HTTPS (0) | 2022.02.08 |
---|---|
[네트워크] TCP & UDP (0) | 2022.02.05 |
[네트워크] HTTP & HTTPS / GET & POST / TCP & UDP (0) | 2022.01.15 |
[네트워크] RESTful API (0) | 2022.01.12 |