230425 TIL #68 OSI 7계층

김춘복·2023년 4월 25일
0

TIL : Today I Learned

목록 보기
68/571

230425 Today I Learned

실전 프로젝트 4주차. 검색기능 구현을 마무리하고 더미 공연데이터를 만들었다. 오늘의 TIL에는 로드밸런서를 공부하면서 나왔던 개념인 OSI 7계층에 대해 정리해보려 한다.


참고 사이트
참고 사이트2

OSI 7계층

: 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것

1계층 - 물리 계층(Physical Layer)

  • OSI 모델의 제일 밑 계층으로, 네트워크 데이터가 전송되는 물리적인 매체.
    이 계층의 통신 단위는 비트로 0과 1의 on,off 전기적 신호상태로 이루어져 있다.
    디지털 데이터를 아날로그로 바꿔(인코딩) 케이블로 보내고 아날로그를 디지털로 바꿔(디코딩) 받는다.
    데이터를 전달하기만 할 뿐 데이터의 내용과 에러에는 전혀 신경 x
    통신케이블, 리피터, 허브, 모뎀 등의 하드웨어 장비가 이 계층에 속한다.
    OSI 모델에서 가장 복잡한 계층으로 간주된다.
  • 물리계층으로 송수신되는 정보를 확인하고 오류없는 통신을 위해 여러 역할을 수행.
    이 계층에서 전송되는 단위는 프레임이라하고 MAC 주소를 가지고 통신을 한다.
    직접 연결된 서로 다른 2개의 네트워킹 장치간의 데이터 통신을 담당한다.
    프레임에 MAC 주소를 부여하고 에러검출, 재전송, 흐름 제어를 진행한다.
    하드웨어와 소프트웨어 특성을 둘 다 가진다.
    브릿지, 스위치 등이 여기에 속한다.

  • MAC주소: Media Access Control. 컴퓨터간 데이터를 전송하기 위해 있는 컴퓨터의 물리적 주소.
    기계의 고유 식별번호. IP는 변해도 MAC 주소는 변하지 않는다.

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

  • 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능(라우팅)을 담당.
    IP주소를 이용해 이동할 경로를 찾고 자신의 다음 라우터에 데이터를 넘겨주면서 경로를 따라 패킷을 전달한다.
    데이터 단위는 패킷(Packet)이고 라우터가 이 계층에 속한다.

4계층 - 전송 계층(Transport Layer)

  • 두 호스트 시스템으로부터 발생하는 데이터의 흐름을 제공한다.
    하위 계층에 신뢰할 수 있는 데이터 전송 서비스를 제공하는 것이 주 목적이다.
    TCP와 UDP 프로토콜을 통해 통신을 활성화한다.
    Port 번호를 이용해 도착지 컴퓨터의 최종 도착지인 프로세스까지 데이터가 도달할 수 있게 한다.
    데이터의 단위는 세그먼트(Segment)다.
    운영체제의 커널에 소프트웨어적으로 구현되어 있다.(3계층도 일부 여기에 구현)

  • Port : 하나의 컴퓨터에서 동시에 실행되고 있는 프로세스들이 서로 겹치지않게 가지는 정수 값

  • TCP : 신뢰성, 연결지향적 / UDP : 비신뢰성, 비연결성, 실시간.

5계층 - 세션 계층(Session Layer)

  • 통신 시스템 사용자 간의 연결을 유지하고 설정한다.
    데이터가 통신하기 위한 논리적 연결을 담당한다.
    세션 설정, 유지, 종료, 전송 중단시 복구 등의 기능이 있다.
    TCP/IP 세션을 만들고 없에는 책임을 진다.

6계층 - 표현 계층(Presentation Layer)

  • 세션 계층간의 주고받는 인터페이스를 일관성 있게 제공한다.
    데이터 표현이 상이한 응용 프로세스의 독립성을 제공하고 암호화한다.
    응용 계층으로 부터 전달받은 데이터를 읽을 수 있는 형식으로 변환해준다.
    인코딩과 디코딩이 이 계층에서 이루어 진다.
    ex) UTF-8 -> ASCII 로 변환

7계층 - 응용 계층(Application Layer)

  • 최종 목적지로서 응용 프로세스와 직접 관계되어 응용 서비스를 수행한다.
    유저 인터페이스, db관리, 이메일 등의 서비스를 수행한다.
    사용자와 가장 가까운 계층이다.
    HTTP, FTP, SMTP, POP3, IMAP, Telnet 등과 같은 프로토콜이 있다.
profile
Backend Dev / Data Engineer

0개의 댓글