August 08, 2022
OSI는 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것입니다. 각 계층은 하위계층의 기능만 이용하고 상위 계층에게 기능을 제공합니다. 또한 일반적으로 하위계층에는 하드웨어, 상위계층에는 소프트웨어로 구현됩니다.
bit단위로 전송하며 하드웨어 전송기술을 이룹니다.
frame단위로 전송하며 point to point간 신뢰성 있는 전송을 보장하기 위한 계층으로 CRC기반의 오류제어와 흐름제어가 필요합니다. frmae에 MAC 주소를 부여합니다.
Packet단위로 전송하며 경로를 찾아주는 역할을 하는 계층으로 서비스 품질을 제공하기 위한 기능적, 절차적 수단을 제공합니다. 라우팅, 흐름제어, 세그멘테이션, 오류제어, 인터네트워킹 등을 수행합니다.
Segment단위로 전송하며 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해줍니다. 시퀀스 넘버 기반의 오류제어 방식을 사용합니다. TCP 통신을 시도하면 3-way handshake를 거쳐 연결을 시도하고 통신합니다. 오류검출 및 흐름제어, 중복검사 등을 수행합니다.
통신을 관리하기 위한 방법을 제공하여 통신하는 사용자들을 동기화합니다. duplex, half-duplex, full-duplex의 통신과 함께 체크포인팅, 유휴, 종료와 다시시작 과정 등을 수행합니다. TCP/IP 세션을 만들고 없애는 책임을 집니다.
컴퓨터의 데이터와 사람의 언어간의 통역을 제공합니다. 인코딩이나 암호화 등의 동작을 합니다.
응용 프로그램과 통신 프로그램간의 인터페이스를 제공합니다.
TCP 전송에서 정확한 전송을 보장하기 위해 3-way handshaking이 필요하며, 정확한 종료를 보장할 때에는 4-way handshaking이 필요합니다.