1계층 물리계층 physical 레이어
모든 파일과 프로그램은 0과 1의 나열이고 결국 0과 1만 주고받을 수 있으면 된다.
0과 1의 나열을 아날로그 신호로 바꿔서 전선으로 흘려 보내고(인코딩) 아날로그 신호가 들어오면 0과 1의 나열로 해석해서 (디코딩) 물리적으로 연결된 두 컴퓨터가 0과 1의 나열을 주고받을 수 있게 해주는 모듈이다.
2계층 데이터 링크 레이어
같은 네트워크에 있는 여러 대의 컴퓨터들이 데이터를 주고받기 위해서 필요한 모듈이다.
데이터 링크 레이어는 랜카드에 구현되어있다.
3계층 네트워크 레이어
수많은 네트워크들의 연결로 이루어지는 인터넷 네트워크 속에서 어딘가에 있는 목적지 컴퓨터로 데이터를 전송하기 위해 IP주소를 이용해서 길을 찾고 자신 다음의 라우터에게 데이터를 넘겨주는 것이다.
4계층 트랜스포트 레이어
포트 번호를 사용하여 도착지 컴퓨터의 최종 도착지인 프로세스에까지 데이터가 도달하게 하는 모듈이다.
운영체제의 커널에 소프트웨어적으로 구현되어 있다.
5,6,7계층들은 현재 인터넷 시작이 osi모델을 사용하는 것이 아닌, tcp/ip 모델을 사용하게 되면서 어플리케이션 레이어로 통합되게 되었다. 대표적인 어플리케이션 레이어 프로토콜으론 HTTP 가 있다.
TCP/IP 소켓 프로그래밍
운영체제의 트랜스포트 레이어에서 제공하는 api를 활용해서 통신 가능한 프로그램을 만드는 것을 icp/ip 소켓 프로그래밍, 또는 네트워크 프로그래밍이라고 한다.
소켓 프로그래밍 만으로도 클라이언트 서버 프로그램을 따로따로 만들어서 동작시킬 수 있다.