1계층(physical layer) : 물리적으로 연결된 두 대의 컴퓨터과 0과 1의 나열을 주고받을 수 있게 해주는 모듈 (인코딩과 디코딩 활용) → 1계층 만으로 여러 컴퓨터 통신 불가
1) 0과 1의 나열을 아날로그 신호로 바꾸어 전선으로 흘려보내기(인코딩)
2) 아날로그 신호가 들어오면 0과 1의 나열로 해석(디코딩)
3) 1계층 모듈은 하드웨어적으로 구현되어 있음.
2계층(Data Link Layer) : 같은 네트워크에 있는 여러 컴퓨터들이 데이터를 주고받기 위해 필요한 모듈
1) 프레이밍 : 원본 데이터를 감싸는 행위 (데이터 시작 비트, 종료비트로 감싸서 데이터 구분)
2) 2계층 모듈도 하드웨어적으로 구현(랜카드 등)
3계층(Network Layer) : 목적지 컴퓨터로 데이터를 전송하기 위해 IP 주소를 이용해서 길을 찾고 자신의 길을 찾고(routing) 자신 다음의 라우터에게 데이터를 넘겨주는 것(forwoarding)
-> 패킷 : 목적지 IP 주소 + 전송 데이터를 붙여 네트워크 계층 간 주고받는 데이터
-> 운영체제 커널에 SW로 구현되어 있음
4계층(Transport Layer) : 포트번호를 사용하여 도착지 컴퓨터의 최종 도착지인 프로세스까지 데이터가 도달하게 하는 모듈
-> 포트번호 : 하나의 컴퓨터에서 동시에 실행되고 있는 프로세스들이 서로 겹치지 않게 가져야 하는 정수 값
-> 송신자는 데이터를 보낼 때 데이터를 받을 수신자 컴퓨터에 있는 프로세스의 포트 번호를 붙여서 보내야 함
-> 운영체제 커널에 SW로 구현되어 있음
5~7계층의 합(Application Layer) : 응용프로그램 간 데이터 송수신 제공
-> TCP/IP 소켓 프로그래밍(네트워크 프로그래밍) : 운영체제의 전송 계층에서 제공하는 API를 활용해서 통신 가능한 프로그램을 만드는 것
-> 자신만의 Application Layer 인코더 및 디코더 생성 가능
->(세션, 표현, 응용 계층 합해서 응용 계층으로 설명 → 현대는 TCP/IP 모델을 따르는데 TCP/IP모델에서는 5~7 계층을 합해서 애플리케이션 계층으로 활용하기에 영상에서는 하나로 설명)
-> 영상에서는 HTTP로 문서 전송 예시를 보여줌