
OSI 7계층
| 계층이름 | 데이터 | 상위/하위 | TCP/IP 모델 |
---|
7계층 | 애플리케이션 계층 | Data | | |
6계층 | 프레젠테이션 계층 | Data | | |
5계층 | 세션 계층 | Data | ⬆상위계층(애플리케이션) | ⬆애플리케이션 모델 |
4계층 | 트랜트포트 계층 | Segments | ⬇하위계층(데이터플로) | 트랜스포트 계층 |
3계층 | 네트워크 계층 | Packets | | 인터넷 |
2계층 | 데이터링크 계층 | Frames | | ⬇네트워크 엑세스 |
1계층 | 피지컬계층 | Bits | | |
OSI 7계층과 데이터, 상위/하위계층 그리고 TCP/IP 모델별로 구분한 표이다.
각 계층별 기능과 역할을 알아보자.
1계층(피지컬 계층)
- 주요장비: 허브, 리피터, cable, connector, tranceiver, TAB
- 목적: 들어온 전기신호를 그대로 잘 전달 하는것.
- 특징: 1계층 장비는 주소의 개념이 없다. 모든 포트에 같은 전기신호 보냄
2계층(데이터링크 계층)
- 전기신호를 모아 알아볼 수 있는 데이터 형태로 처리
- 전기신호를 정확히 전달하기 보단 주소 정보를 정의하고 정확한 주소로 통신이 되는 것에 초점을 맞춤 (검사 후 데이터 처리)
- 2계층은 여러통신이 한꺼번에 이루어지는 것을 구분하기 위한 기능이 정의됨
- 이더넷 기반 2계층은 에러를 탐지하는 역할만 수행(이 역할을 플로컨트롤이라고 칭함)
- 네트워크 구성요소: 인터페이스 카드, 스위치
- MAC 주소체계
- 스위치는 단말이 어떤 MAC주소인지 어느 포트인지 주소습득 과정에서 이해
3계층(네트워크 계층)
- IP주소같은 논리적 주소 정의
- 사용되는 주소는 2계층의 MAC, 3계층의 IP주소
- 3계층 동장 장비는 라우터 => 정의한 IP주소 이해
- 라우터는 IP주소를 이용해 최적의 경로를 찾아주고 해당 경로로 패킷을 전송하는 역할
4계층(트랜스포트 계층)
- 1,2,3 계층과 좀 다름
- 역할: 해당 데이터들이 정상적으로 잘 보내지도록 확인하는 것
- 패킷이 유실되거나 순서가 바뀌었을때 바로잡아주는 역할
- 시퀀스 번호: "패킷에"보내는 "순서를 명시한것"
ACK 번호: "패킷에" 받는 "순서를 명시한것"
- 장비: 로드밸런서, 방화벽
5계층(세션 계층)
- 역할: 양 끝단의 응용 프로세스가 연결을 성립하도록 도와주고 연결이 안정적으로 유지되도록 관리하고 작업 환료 후에는 이 연결을 끊는 역할
- 세션계층은 TCP/IP 세션을 만들고 없애는 책임을 짊
- 에러로 중단된 통신에 대한 에러 복구와 재전송도 수행
6계층(프레젠테이션 계층)
- 표현 방식이 다른 애플리케이션이나 시스템간의 통신을 돕기 위해 하나의 통일된 구문 형식으로 변환시키는 기능 수행
- 6계층 예시: MIME 인코딩이나 암호화, 압축, 코드변환
7계층(애플리케이션 계층)
- 애플리케이션 프로세스를 정의하고 애플리케이션 서비스 수행
- 네트워크 소프트웨어의 UI 부분이나 사용자 입,출력 부분을 정의
- 대표적 프로토콜: FTP, SMTP, HTTP, TELNET

인캡슐레이션과 디캡슐레이션
TCP/IP
IP
IP(인터넷 프로토콜)는 데이터가 무사히 전달되기 위해 만들어진 규칙
이러한 IP는 컴퓨터레 주소를 부여하여 이를 이용해 통신하게 된다.
그리고 IP는 지정한 IP주소에 패킷이라는 통신단위로 데이터 전달을 한다.

IP패킷은 우체국 송장처럼 전송 데이터를 무사히 전송하기 위해 출발지, 목적지 , IP와 같은 정보가 포함되어 있다.
이를 통해 복잡한 인터넷 망 사이에서도 정확한 목적지로 패킷을 전송할 수 있다. 응답또한 마찬가지.
IP의 한계
-
비연결성
만약 패킷을 받을 대상이 없거나 서비스 불능 상태여도 클라이언트는 서버의 상태를 파악할 방법이 없기 때문에 패킷을 그대로 전송하게 된다
-
비신뢰성
중간에 있는 서버가 데이터를 전달하던 중 장애가 생겨 패킷이 중간에 소실되더라도 클라이언트는 이를 파악할 방법이 없다.
TCP
위에 있는 사진같이 OSI 7계층으로도 나뉘어 지지만 그전부터 TCP 4계층이 존재했다.

TCP 세그먼트에는 IP 패킷의 출발지 IP와 목적지 IP 정보를 보완할 수 있는 출발지 PORT, 목적지 PORT, 전송 제어, 순서, 검증 정보 등을 포함한다.
특징
- 연결지향 - TCP 3way handshake
- 데이터 전달 보증
- 순서보장
- 신뢰할 수 있는 프로토콜
UDP
특징
- 하얀도화지 같은 프로토콜
- 비 연결지향 (핸드쉐이크 그런거 없음)
- 데이터 전달 보증X
- 순서보장 X
- 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
- 신뢰성보다는 연속성이 중요한 서비스(e.g.실시간 스트리밍)에 자주 사용됨.
- 빠른 속도와 단순한 프로토콜 형식으로 커스터마이징이 가능

소켓이란?
네트워크 환경에서 클라이언트와 서버가 서로 연결할 수 있게 만들어진 연결부

소켓은 포트 번호에 바인딩되어 전송계층에서 데이터를 주고 받는 어플리케이션을 식별할 수 있게 한다.
소켓안에 포함된 정보
- 프로토콜
- 호스트 IP주소
- 호스트 port 번호
- 목적지 IP 주소
- 목적지 port 번호