- 계층구조는 크고 복잡한 시스템의 잘 정의된 특정 부분을 논의할 수 있게 해준다. 이러한 단순화는 매우 중요하다.
- 시스템이 계층구조를 가질 때, 그 계층이 제공하는 서비스의 구현을 변경하는 것도 매우 쉽다. 최적화를 위해 바꿀 수 있다.
- 어떤 한 계층이 구현이 변하더라도 시스템의 나머지 부분은 변하지 않는다. (서비스 구현의 변화와 서비스자체의 변화와는 다르다)
네트워크 프로토콜의 설계 구조를 제공하기 위해, 네트워크 설계자는 프로토콜(프로토콜을 구현하는 네트워크 하드웨어와 소프트웨어)을 계층(layer)으로 조직한다.
즉, 각각의 프로토콜은 한 계층에 속하며, 프로토콜 계층은 소프트웨어, 하드웨어 또는 둘의 통합으로 구현할 수 있다.
- 한 계층은 상위 계층에 제공하는 서비스(service)에 관심을 갖고, 이것을 계층의 서비스 모델(service model)이라고 한다. 각 계층은 그 계층 내부에서 어떤 동작을 수행하거나, 직접 하위 계층의 서비스를 사용한다.
- 다양한 계층의 프로토콜을 합하여 프로토콜 스택(protocol stack)이라고 한다.
애플리케이션(Application) 계층
네트워크 애플리케이션과 애플리케이션 계층 프로토콜이 있는 곳이다.
- 도메인 네임 서버(domain name server, DNS)는 이 애플리케이션 계층에 존재한다.
- 애플리케이션 계층 프로토콜은 여러 종단 시스템에 분산되어 있어서 한 종단 시스템에 있는 애플리케이션이 다른 종단 시스템에 있는 애플리케이션과 정보 패킷(메시지, message)을 교환하는 데 이 프로토콜을 사용한다.
트랜스포트(Transport) 계층
클라이언트와 서버 간에 애플리케이션 계층 메시지를 전송하는 서비스를 제공한다.
- 트랜스포트 프로토콜의 TCP와 UDP는 애플리케이션 계층 메시지를 전달한다.
- 트랜스포트 계층 패킷 = 세그먼트(segment)
한 호스트에서 다른 호스트로 데이터그램(datagram)을 라우팅하는 책임을 진다.
출발지와 목적지 간 일련의 패킷 스위치를 통해 데이터그램을 라우트한다.
- 출발지 호스트에서 인터넷 트랜스포트 계층 프로토콜(TCP 또는 UDP)은 트랜스포트 계층 세그먼트와 목적지 주소를 네트워크 계층으로 전달한다.
- 네트워크 계층은 목적지 호스트의 트랜스포트 계층으로 세그먼트를 운반하는 서비스를 제공한다.
네트워크 계층은 두가지 주요오소를 가짐.
IP 데이터그램의 필드를 정의 -> 종단 시스템과 라우터가 이 필드에서 어떻게 동작하는지를 정의하는 프로토콜을 가짐->IP 프로토콜
오직 하나의 IP프로토콜이 있고 네트워크 계층을 가진 모든 인터넷 요소는 IP프로토콜을 수행해야 한다. 네트워크 계층은 출발지와 목적지 사이에서 데이터그램이 이동하는 경로를 결정하는 라우팅 프로토콜도 포함되어야 한다.
링크(Link) 계층
네트워크 계층은 출발지와 목적지 간 일련의 패킷 스위치(라우터)를 통해 데이터그램을 라우트 한다. 경로상 한 노드에서 다른 노드로 이동하기위해 네트워크 계층은 링크 계층 서비스에 의존한다.
각 노드에서 네트워크 계층은 데이터그램을 아래 링크 계층으로 보내고 링크 계층은 경로상의 다음 노드에 전달한다. 다음 노드의 링크 계층은 다시 상위 네트워크 계층으로 보낸다.
프레임 내부의 각 비트를 한 노드에서 다음 노드로 이동시킨다.
이 계층의 프로토콜들은 링크에 의존하고, 더 나아가 링크의 실제 전송 매체(꼬임쌍선, 단일 모드 광케이블 등)에 의존한다.
그 외에..
- Session Layer: 응용프로세스가 통신을 관리하는 방법을 제공
- Presentation Layer: 코드간 번역을 담당... 데이터를 표현하는 계층
- 송신 종단 시스템의 프로토콜 스택 아래로 데이터를 보낸다.
- 중간의 링크 계층 스위치와 라우터의 프로토콜 스택을 위아래로 거친다
- 수신 종단 시스템의 프로토콜 스택 상위로 보낸다
라우터와 링크 계층 스위치는 모두 패킷 교환기이다.
종단시스템(End system)과 비슷하게 라우터와 링크 계층 스위치는 네트워킹 하드웨어와 소프트웨어를 계층으로 구성한다.
그러나 모든 계층 구현 X -> 일반적으로 하위 계층 구현
캡슐화 과정
1.송신 호스트에서 애플리케이션 계층 메시지(application-layer message, 위 그림에서의 M)는 트랜스포트 계층으로 보내진다.
2.가장 간단한 경우, 트랜스포트 계층은 메시지에 수신 측 트랜스포트 계층에서 사용될 추가 정보인 트랜스포트 계층 헤더 정보(Ht)를 더한다.
트랜스포트 계층 세그먼트(transport-layer segment) = 애플리케이션 계층 메시지 + 트랜스포트 계층 헤더 정보
- 트랜스포트 계층 세그먼트는 애플리케이션 계층 메시지를 캡슐화한다.
- 트랜스포트 계층 헤더 정보가 포함하는 내용은 다음과 같다.
- 수신 측의 트랜스포트 계층이 그 메시지를 적절한 애플리케이션으로 보내도록 하는 정보들
- 메시지의 비트들이 변경되었는지 아닌지를 수신자가 결정하게 하는 오류 검출 비트
3. 트랜스포트 계층은 세그먼트를 네트워크 계층으로 보낸다.
4. 네트워크 계층은 출발지와 목적지 종단 시스템 주소와 동일한 헤더 정보를 추가하여 네트워그 계층 데이터그램을 만든다.
5. 데이터그램은 링크 계층으로 전달된다
6.링크 계층도 자신의 헤더 정보를 추가하여 링크 계층 프레임을 만든다.
'컴퓨터 네트워크' 카테고리의 다른 글
컴퓨터 네트워크 2장 - 네트워크 애플리케이션의 원리 (2) | 2024.04.12 |
---|---|
컴퓨터 네트워크 1장 - 공격받는 네트워크 (0) | 2024.04.10 |
컴퓨터 네트워크 1장 - 패킷 교환 네트워크의 loss,delay,throughtput (0) | 2024.04.10 |
컴퓨터 네트워크 1장 - 네트워크의 코어 (0) | 2024.04.10 |
컴퓨터 네트워크 1장 - 네트워크의 가장자리 (1) | 2024.04.10 |