일단 OSI 7계층에 대하여 한번 복습!
POINT 1.
OSI 7 계층이란?
( Open Systems Interconnection Reference Model)의 약자로
컴퓨터 네트워크의 통신을 계층으로 나누어 설명한 것!
쉽게 풀어 설명하자면 네트워크에서 통신이 발생할 때 일어나는 모든 과정을 7단계로 분할한 것을 의미한다!
POINT 2.
그렇다면 왜 개발자는 OSI7계층을 알아야 하는가?
왜 알아야 하는가? 에 대한 대답은 일단 네트워크 통신 과정을 왜 7계층으로 나누어야 했는지를 이해해야한다.
통신이 일어나는 과정을 단계별로 알 수 있고, 7 단계 중 특정한 곳에 이상이 생기게 되면 다른 단계와 독립적으로
그 단계만 수정이 가능하기 때문이다!!
따라서 개발자들은 이러한 7 계층의 자세한 이해가 필요하고 이상현상이 생기면 어느 계층에서 일어난 문제인지 빠르게 확인하여 수정할 수 있어야 하기 때문에 OSI 7계층을 알아야한다.
POINT 3.
전송계층.
전송 계층(Transport Layer)은 OSI 7계층 중 4계층으로,
데이터의 전송을 관리하고 신뢰성을 보장하며, 애플리케이션 간 데이터 전달을 책임진다.
주로 포트 번호를 사용하여 데이터의 송신자와 수신자를 구분하고, 연결을 설정하거나 데이터를 분할 및 재조립하는 역할을 한다.
쉽게 예를 들어서 설명을 한다면
EX)
- 1. 두 대의 컴퓨터가 서로 데이터를 주고 받고 있다고 가정을 해보자!
- 2. 전송 계층에서는 포트 번호를 사용해 어떤 프로그램으로 데이터를 전달할지 결정한다.
---- 여기서 포트 번호란?
포트 번호는 컴퓨터 내에서 실행 중인 여러 프로세스를 구분하기 위해 사용된다. .
-주요 특징-
1. 16비트 숫자로 표현된다 (0~65535 범위).
2. 특정 프로토콜에 대해 예약된 포트가 존재한다 (예: HTTP는 80번 포트).
3. 송신 측에서는 포트 번호를 포함한 헤더를 추가하여 데이터를 전달한다.
---- 주요 프로토콜
TCP(Transmission Control Protocol)
- 연결 지향적: 데이터 전송 전에 연결을 설정한다.
- 신뢰성 보장: 데이터 손실, 중복, 순서 변경 등을 방지.
- 흐름 제어 및 혼잡 제어를 통해 네트워크 안정성 유지.
UDP(User Datagram Protocol)
- 비연결성: 연결 설정 없이 데이터 전송.
- 빠른 전송 속도: 신뢰성보다 속도에 중점.
- 실시간 스트리밍, 게임 등에서 사용.
- 3. 데이터는 작은 단위(세그먼트)로 나뉘어져 전송된다!
---- 여기서 세그먼트란?
세그먼트는 전송 계층에서 데이터가 나뉘어진 작은 조각이다.
전송 계층에서는 각 세그먼트에 헤더를 추가하여 데이터를 효율적으로 전송하고, 수신 측에서는 이를 재조립한다.
헤더에 포함된 정보:
- 송신 및 수신 포트 번호.
- 세그먼트 번호(데이터 순서를 파악).
- 오류 검출을 위한 체크섬.
4. 전송 계층의 주요 기능
- 데이터 분할 및 재조립: 데이터를 세그먼트로 나누고 다시 조합.
- 오류 검출 및 복구: 데이터 손실 또는 오류 시 재전송 요청.
- 흐름 제어: 송신 속도와 수신 속도 조정.
- 혼잡 제어: 네트워크 과부하 방지.
이러한 과정으로 네트워크 간의 연결에 관련된 일은 모두 네트워크 계층에서 일어나ㅏ게 된다!
여기에서 데이터 패킷이 취할 경로를 설정하는 일, 다른 네트워크의 서버가 가동 중인지 확인하는 일, IP 패킷에
주소를 붙이고, 다른 네트워크로부터 IP 패킷을 수신하는 일 등이 포함되게 된다.
POINT 4.
데이터의 흐름을 요약해보자!
- 데이터는 상위 계층(5~7계층)을 거쳐 전송 계층에 도달한다.
- 전송 계층에서는 데이터를 세그먼트로 변환한다.
- 각 세그먼트는 포트 번호를 포함한 헤더가 추가되어 송신된다.
- 세그먼트는 네트워크 계층(3계층)으로 전달되어 목적지로 전송된다.
- 수신 측에서 전송 계층은 세그먼트를 재조립하여 상위 계층으로 전달한다.
'내일배움캠프 TIL' 카테고리의 다른 글
뉴스 피드 프로젝트 진행과정 본캠프 12/24 (0) | 2024.12.24 |
---|---|
뉴스 피드 프로젝트 SA작성 본캠프 12/23 (0) | 2024.12.23 |
웹소켓 게임 만들기 트러블 슈팅TIL 본캠프 12/19 (0) | 2024.12.19 |
웹소켓이란? 본캠프 12/13 (0) | 2024.12.13 |
트랜잭션이란? 본캠프 12/12 (0) | 2024.12.12 |