위로 아래

OSI

Open Systems Interconnection

  1. 컴퓨터 네트워크에서 데이터 통신을 위한 표준화된 계층 구조 모델
  2. 상위 계층은 하위 계층의 서비스를 이용하여 데이터를 전송한다
  3. 하위 계층은 상위 계층으로부터 받은 데이터를 처리하여 다음 계층으로 전달한다
  4. 네트워크의 기능을 모듈
  5. 계층 간의 독립성과 유연성을 제공

 

 

 

 


전송 방식

인캡슐레이션 (Encapsulation)

  1. 송신부에서 데이터를 보내는 과정
  2. 전송하기에 적절한 패킷으로 데이터를 분할
  3. 수신부에서 적절하게 수용하기 위한 헤더 정보를 추가 (각 계층마다)

 

디캡슐레이션 (Decapsulation)

  1. 수신부에서 데이터를 받는 과정
  2. 헤더에 포함된 정보를 읽어 패킷을 올바른 곳으로 보내고 헤더 정보 삭제

 

 

헤더 정보

2계층 : MAC 주소 정보

3계층 : IP 주소

4계층 : 시퀀스 번호, ACK 번호

 

상위 프로토콜 지시자

디캡슐레이션 과정에서 상위 계층의 프로토콜이나 프로세스를 정확히 찾아가기 위한 정보

2계층 : 이더 타입

3계층 : 프로토콜 넘버

4계층 : 포트 번호

 

 

 


OSI 7계층

1계층 물리계층 (Physical Layer)

  1. 데이터 전송을 위한 물리적인 매체
  2. 전기 신호로 비트를 전송.
  3. 기기 : 케이블, 허브
  4. 허브 : 전송 받은 데이터를 포트에 연결된 모든 기기에 전송. 

 

2계층 데이터링크 계층 (Data Link Layer)

  1. 물리 계층을 통해 안정적인 데이터 전송을 위한 프레임 단위의 전송을 처리
  2. 1계층과 달리 주소를 확인하고 정확하게 해당 단말에 데이터를 전송한다.
  3. MAC 주소와 같은 물리적인 주소를 사용
  4. flow control 플로 컨트롤 : 데이터를 받는 단말이 현재 데이터를 받을 수 있는지 확인하는 작업
  5. 오류 검출과 복구, 흐름제어를 담당
  6. 기기 : NIC, Switch, 브릿지

 

3계층 네트워크 계층 (Network Layer)

  1. 여러 네트워크를 거쳐 데이터를 목적지까지 전달하는 역할.
  2. IP주소와 라우팅을 사용하여 최적의 경로를 선택하고, 패킷 단위로 데이터를 전송.
  3. IP 주소와 같은 논리적인 주소를 사용
  4. 기기 : 라우터, L3 스위치
  5. 라우터 : IP 주소를 사용해 최적의 경로를 찾아주고 해당 경로로 패킷을 전송하는 역할

 

 

4계층 전송 계층 (Transport Layer)

  1. 송신 호스트와 수신 호스트 간의 신뢰성 있는 데이터 전송을 담당.
  2. 1,2,3 계층이 데이터 송신을 위한 거였다면, 4 계층은 신뢰성을 위한 것.
  3. 데이터를 분할해 패킷에 실어서 전송하다보니, 패킷이 유실되거나 순서가 바뀌는 경우가 있다. 이때 4계층이 이를 잡아준다. (4계층에서 패킷을 분할할 때 패킷 헤더에 보내는 순서와 받는 순서를 적어서 통신한다)
  4. TCP와 UDP 프로토콜이 이 계층에 해당
  5. 기기 : 로드 밸런서, 방화벽

 

시퀀스 번호 (Sequence Number, seq) : 패킷에 보내는 순서를 명시한 것

ACK 번호 (Acknowledgement Number)  : 패킷에 받는 순서를 명시한 것

포트 번호 (Port Number) : 장치 내의 많은 애플리케이션을 구분할 수 있도록 명시한 것

 

 

5계층 세션 계층 (Session Layer)

  1. 양 끝단의 응용 프로세스가 서로 연결되도록 돕고, 연결을 안정적으로 유지하도록 관리하고, 작업 완료 후에 연결을 끊는 역할.
  2. 세션을 만들고 없애는 책임을 진다.
  3. 에러로 중단된 통신에 대해 에러 복구와 재전송도 수행한다.
  4. 세션의 생성, 유지, 종료를 관리

 

 

6계층 표현 계층 (Presentation Layer)

  1. 데이터의 표현 형식을 정의하고, 암호화, 압축, 형식 변환 등의 기능을 제공.
  2. 표현 방식이 다른 애플리케이션이나 시스템 간의 통신을 돕기 위해 하나의 통일된 구문 형식으로 변환시키는 기능 (번역기)
  3. 서로 다른 데이터 형식 사이의 변환을 수행하여 상호 운용성을 지원.
  4. MIME 인코딩, 암호화, 압축, 코드 변환 같은 동작이 이루어진다.

 

 

7계층 응용 계층 (Application Layer)

  1. 최종 사용자에게 서비스를 제공하는 계층.
  2. 다양한 응용 프로그램과 서비스를 포함하며, HTTP, FTP, SMTP 등의 프로토콜이 이 계층에 해당
  3. 애플리케이션 프로세스를 정의하고 애플리케이션 서비스를 수행.
  4. 네트워크 소프트웨어의 UI 부분이나 사용자의 입출력을 정의하는 역할