OSI(Open Systems Interconnection) 모델은, 네트워크 기능을 7계층으로 나누는 개념적 프레임워크입니다.
다양한 소프트웨어와 기기는 일관된 통신으로 동작되어야 하기 때문에 네트워크를 통한 통신은 쉬운 작업이 아닙니다.
OSI 모델은 네트워킹을 위한 범용 언어를 제공하여 다양한 기기끼리의 통신을 비교적 쉽게 하도록 돕습니다.
1970년대 많은 제조사와 통신사가 생겨났고, 호환성과 연동에 문제가 생기게 됩니다. 즉 표준화의 필요성을 느끼게 되었습니다.
안정적인 통신을 위해 표준화가 필요하다는 것을 느끼게 되었고, ISO에서 OSI 모델을 개발하였습니다. OSI 모델은 통신 Protocol의 국제 표준으로 채택되어 공식적인 표준이 되었습니다.

각 계층은 독립적이며, 상위 및 하위 계층과 통신하기 위한 인터페이스만 인식합니다.

웹 브라우저, email 등이 통신을 위해 Application Layer에 의지합니다. 하지만 웹 브라우저, email등의 소프트웨어가 Application Layer 의 일부는 아닙니다.
소프트웨어가 사용자에게 의미있는 데이터를 전달하기 위해 의존하는 protocol과 데이터를 조작하는 역할을 합니다.
ex) HTTP, SMTP…etc

Application Layer가 데이터를 사용할 수 있도록 Presentation하는 역할을 수행하는 Layer입니다.
데이터의 변환, 압축, 암호화를 수행합니다.
ex) SSL, TLS, ASCII, GIF…etc
두 기기 사이의 통신을 시작하고 종료하는 역할을 수행하는 Layer입니다.
데이터의 전송을 체크포인트와 연동하는 기능을 합니다. 예를들어 100MB의 파일을 전송하는 경우 5MB단위로 체크포인트를 설정할 수 있습니다. 52MB를 전송하였을 때 문제가 발생할 경우, 마지막 체크포인트에서 세션을 재개하는게 가능합니다. 즉, 100MB가 아닌 50MB만 추가로 전송하면 됩니다.
ex) RICP, RPC, ASP…etc

두 기기 간의 종단간 통신을 담당하는 Layer입니다.
Session Layer의 Data를 Segment로 분할하여 Network Layer로 전달한다. 혹은 수신기기에서는 반대의 역할을 수행합니다.
흐름 제어를 통해 최적의 속도를 결정합니다.
오류 제어 기능을 통해 수신된 데이터가 완료되었는지 확인하는 기능도 수행합니다.
ex) TCP, UDP…etc

“두 네트워크간” 데이터 전송을 용이하게 돕는 Layer입니다.
Transport Layer의 Segment를 Packet이라는 더 작은 단위로 세분화합니다. 수신기기에서는 반대로 Packet을 조립합니다.
데이터가 표적에 도달하기 위한 최적의 물리적 경로를 찾습니다. 이를 Routing이라고 합니다.
ex) IP, ICMP, IPsec

Network Layer와 유사하지만 Data Link Layer는 동일한 네트워크에 있는 두 장치간 전송을 용이하게 돕는 Layer입니다.
Network Layer의 Packet을 Frame이라는 조각으로 세분화합니다.
흐름 제어 및 오류 제어 기능도 수행합니다.

cable, switch 등 데이터전송과 관련된 장비가 포함됩니다.
1 과 0의 문자열인 비트스트림으로 변환 되는 Layer입니다.
두 장치의 물리적 계층은 신호규칙에 동의해서, 두 장치의 1과 0을 구별할 수 있어야합니다.

범용적으로 사용하는 TCP, IP Protocol을 OSI 모델에 맞게 더욱 추상화한 모델입니다.
참고 링크
https://www.cloudflare.com/ko-kr/learning/ddos/glossary/open-systems-interconnection-model-osi/
https://aws.amazon.com/ko/what-is/osi-model/
https://westahn.com/osi%EB%AA%A8%EB%8D%B8/
https://medium.com/harrythegreat/osi%EA%B3%84%EC%B8%B5-tcp-ip-%EB%AA%A8%EB%8D%B8-%EC%89%BD%EA%B2%8C-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0-f308b1115359