표준구조 : 7계층 모델 / Open Systems Interconnection (OSI) Architecture
OSI 7계층은 네트워크 통신이 일어나는 과정을 7개의 계층으로 구분한 모델이다. 가장 상위 계층인 응용 계층부터 표현, 세션, 전송, 네트워크, 데이터 링크 그리고 가장 하위 계층인 물리 계층으로 이루어져 있다. 각 계층이 본연의 역할을 하는 프로토콜을 두고 통신함으로서 네트워크 과정에 문제가 생겼을 때 빠르고 정확하게 해결할 수 있다는 장점이 있다.
7계층: 응용(Application) — Message
사용자가 네트워크 자원에 접근하는 방법을 제공하고, 사용자가 실행하는 응용 프로그램들이다. 이 계층에는 HTTP, DNS (도메인 변환), SMTP (이메일) 등이 여기에 해당된다.
6계층: 표현(Presentation) — Message
전달받은 데이터를 읽을 수 있는 형식으로 변환한다. 유니코드 인코딩/디코딩, JPEG 압축, 암호화 등이 표현 계층에 포함된다.
5계층: 세션(Session) — Message
포트(Port) 간의 TCP/IP 연결을 생성하여 세션(Session)을 만드는 작업을 수행하는 계층이다. Socket이 5계층에 해당한다.
4계층: 전송(Transport) — Segments
3계층에서 사용하는 IP는 데이터가 소실되어도 책임지지 않는다. 결국, 신뢰성을 보장하지 않는다. 따라서 4계층에서는 신뢰성을 보장하기 위한 노력을 한다. 4계층에는 TCP와 UDP가 이 계층에 해당한다.
:: TCP — 연결지향 프로토콜
TCP는 연결지향 프로토콜로, 두 호스트 사이에서 패킷(Packet)들을 보내기 위해 미리 연결 구성을 한다. 높은 신뢰성을 보장한다. 흐름(Flow)제어, 혼잡(Congestion) 제어 같은 신뢰성을 위한 기능들을 지원하지만 상대적으로 전송 속도는 더 느리다.
::UDP — 비연결 프로토콜
각 패킷을 독립적으로 전송한다. 패킷이 아닌 데이터그램 방식으로 IP 체크섬을 이용한 최소한의 오류 검출만 수행한다. UDP는 신뢰성을 보장하기 위한 여러 장치들이 없기에 신뢰성이 낮다. 속도가 빨라서 실시간 서비스에 적합하다.
3계층: 네트워크(Network) — Packets
멀리 떨어진 노드에 여러 번 거쳐서(2HOP 이상) 전송하기 위한 계층이다. 일반적으로 데이터그램 형식의 IP를 사용하지만, 가상회선 형식의 ATM도 있다. 그리고 3계층에는 라우터가 포함된다.
:: 라우터(Router) — 중계자, 공유기
근처의 IP-MAC 주소를 알고 있어서(라우팅 테이블) 목적지 IP 주소 방향으로 패킷을 중계해줄 수 있다. 우리가 흔히 공유기라고 부르는 것이 라우터의 일종 (NAT 라우터)
2계층: 데이터(DataLink) — Frames
하나의 링크로 직접 연결된 노드 사이의 비트묶음(프레임)을 교환하는 계층이다.
:: MAC(매체 접근 제어)
동시에 여러 장치에서 한 링크에 신호를 보내게 되면, 간섭(충돌)이 생겨서 신호가 망가진다. ⇒ 2계층에서 공평하게, 효율적으로 충돌 안생기도록 관리한다. 전송하기 전에 회선이 idle한지 확인 후 전송한다(CSMA)
:: MAC 주소(Physical Address)
하나의 링크에서 여러 장치가 동시에 전송하려면 주소가 필요하다. 앞에서 나온 MAC(매체 접근 제어)를 위한 주소이다. NIC(네트워크 어뎁터)마다 부여된 주소로, 장치를 변경하지 않는 이상 이 MAC 주소는 Unique하다.
1계층: 물리(Physical) — Bits
2계층의 Frames는 1계층에서 비트로 변환되어, 물리적 매체를 통해 전송된다. 1계층에서는 전기신호를 전송한다.