OSI model (by layer)
초기 네트워크는 중요한 부분은 하드웨어로, 소프트웨어는 보충적으로 사용하도록 설계되었다고 한다.
하지만 표준이 없는 설계는 서로 호환이 안되기 마련. 통신마다 규칙을 설계하는 것도 일일 것이다.
현재는 OSI model이 전 세계 표준으로 사용되고 있어, 이 모델 규칙에 맞게 통신하면 컴퓨터 간 네트워크 통신을 쉽게 할 수 있다.
OSI(Open Systems Interconnection Reference Model)은 프로토콜 디자인과 통신을 계층별로 나누어 설명한 것이다.
각 계층은 하위 계층의 기능만을 이용하고 상위 계층에게 기능을 제공한다. 계층화를 함으로써 각 기능별로 모듈화를 하여 독립적으로 유지 관리가 가능하다.
Layer | Protocol data unit (PDU) |
Function(기능) | TCP/IP 프로토콜 | |
7 | Application | Data | 자원 공유 또는 원격 파일 접속(ftp) 또는 HTTP 같은 높은 레벨 프로토콜 | HTTP HTTPS FTP SMTP |
6 | Presentation | 네트워크 서비스와 앱 사이에서의 데이터 송신; 인코딩, 데이터 압축, 암호화/복호화를 포함한다 | SSL/TLS XDR MIME | |
5 | Session | 세션 통신 관리 | Sockets(TCP/RTP/PPTP에서 생성된 세션) | |
4 | Transport | Segment(TCP), Datagram(UDP) |
네트워크의 점들 사이에서 신뢰할 수 있는 데이터 세그먼트 전송이다. segmantation(패킷 분할), acknowledgement(받았음을알리다), multiplexing을 포함한다. | TCP UDP SCTP QUIC DCCP |
3 | Network | Packet | 라우팅, addressing등을 포함하여 여러 노드 네트워크를 조직화하고 관리한다 | IP IPsec ICMP IGMP OSPF RIP |
2 | Data link | Frame | 물리 계층으로 연결된 두 노드 사이의 데이터 프레임의 전송 | PPP SBTV SLIP |
1 | Physical | Bit, Symbol | 물리적 수단을 통해 원시 bit 전송과 수신 |
- 왜 layer는 OSI layer로 구분하고 프로토콜은 TCP/IP프로토콜을 사용하냐?
OSI layer로 구분하면 OSI protocol을 사용하고, TCP/IP layer로 구분하면 TCP/IP protocol을 사용하여야 하지 않는가? OSI layer과 OSI protocol은 ISO가 개발한 제한사항에 근거하고 있고, TCP/IP layer과 TCP/IP protocol은 Cerf와 Kahn에서 처음으로 정의되었다.
OSI protocol이 가지는 문제점은 1. 시간적 오류 2. 기술적 오류 3. 구현적 오류 4. 정책적 오류이다.
TCP/IP layer가 가지는 문제점은 1. 서비스, 인터페이스 및 프로토콜 각각의 개념을 명확하게 구분하지 않는다 2. 일반적인 모델이 아닐 뿐더러 TCP/IP가 아닌 다른 프로토콜 스택을 묘사하는데 적당하지 않다 3. 링크 계층은 계층화된 프로토콜들의 문맥에서 사용되는 일반적 의미의 계층은 아니다 4. TCP/IP 모델은 물리 계층과 데이터 링크 계층을 구분하지 않는다
결론적으로, 세션과 표현 계층을 제외한 OSI 모델은 컴퓨터 네트워크를 논하는데 매우 유용하다는 것이다. 반대로 OSI 프로토콜은 대중화되지 못했다. 그러나 TCP/IP는 반대의 상황이다. 모델은 실제로 존재하지 않고 프로토콜들만 폭넓게 사용되고 있다.