Physical Layer 1계층
- 0과 1의 나열을 아날로그 신호로 바꾸어 전선으로 흘려 보낸다. (Encoding)
- 아날로그 신호가 들어오면 0과 1의 나열로 해석하여 (Decoding)
- 물리적으로 연결된 두대의 컴퓨터가 0과 1의 나열을 주고받을 수 있게 해주는 모듈(Module)
- PHY칩 1세대 하드웨어 회로로써 컴퓨터와 컴퓨터에게 물리계층으로 아날로그 신호를 보낸다.
Data Link Layer 2계층
스위치와 라우터(공유기)를 이용해서 네트워크를 가능하게 함.
전세계 컴퓨터들이 계층구조로 연결되어있는걸 인터넷이라고 한다.
- 같은 네트워크에 있는 여러대의 컴퓨터들이 데이터를 주고받기 위해서 필요한 모듈
- Framing
- Data-Link layer기술은 어디에 구현되어 있을까? 정답 : 랜카드 (하드웨어)
Network Layer 3계층
상대방의 IP주소를 알아야만 메시지를 보낼 수 있다.
데이터를 주소값을 담아 포장하여 보내는 작업을 "패킷"이라고 한다.
IP주소를 도메인으로 변환 -> DNS
- 운영체제의 커널에 소프트웨어 적으로 구현되어있다.
Transport Layer 4계층
Port번호를 사용하여, 도착지 컴퓨터의 최종 도착지인 "프로세스"에 까지 데이터가 도착하게 하는 모듈
- 운영체제의 커널에 소프트웨어 적으로 구현되어있다.
Application Layer 7계층
현대의 인터넷 : TCP/IP모델
TCP/IP Model
- Application Layer = 5,6,7계층
- Transport Layer = 4계층
- Internet Layer = 3계층
- Network Interface = 1,2계층
OSI Layer 7 Model
- Application Layer 7계층
- Presentation Layer 6계층
- Session Layer 5계층
- Transport Layer 4계층
- Network Layer 3계층
- Data Link Layer 2계층
- Physical Layer 1계층
Application Layer
TCP/IP 소켓프로그래밍
- 운영체제의 Transport Layer에서 제공하는 API를 활용해서, 통신 가능한 프로그램을 만드는 것을 TCP/IP소켓 프로그래밍 이라고 한다. 또는 네트워크 프로그래밍이라고 한다.
- 소켓 프로그래밍 만으로도 클라이언트, 서버 프로그램을 따로따로 만들어서 동작 시킬 수 있다.(인코더와 디코더) -> 누구든 자신만의 Application Layer 프로토콜을 만들어서 사용할 수 있다.
대표적인 Application Layer -> HTTP
클라이언트 & 서버 패러다임.
MVC패턴.
Layered Architecture = 네트워크 시스템
네트워크 시스템은 하나의 커다란 소프트웨어이다.
OSI 7 Layer은 이 거대한 네트워크 소프트웨어의 구조를 설명하는 것이다.