3.1 트랜스포트 계층 서비스 및 개요

 

애플리케이션 프로세스로부터 수신받은 메시지를 세그먼트로 변환한다.

세그먼트는 네트워크 계층으로 넘겨줄 때 패킷으로 변환된다.

 

 

1) 트랜스포트 계층과 네트워크 계층 사이의 관계

트랜스포트 계층 프로토콜은 애플리케이션 계층과 네트워크 계층간에 메시지를 운반할 뿐이다. 각 계층은 하위 계층에서 무슨 작업을 하는지 신경 쓸 필요가 없다.

 

 

2) 인터넷 트랜스포트 계층의 개요

트랜스포트 계층은 TCP와 UDP 두 가지의 프로토콜이 있다.

두 프로토콜의 기본적인 기능은 IP 전달 서비스를 Host-to-Host에서 Process-to-Process로 확장하는 것이다. (다중화와 역다중화)

TCP는 UDP와 다르게 신뢰적 데이터 전달과 혼잡제어를 제공한다.

 

 

3.2 다중화와 역다중화

 

메시지를 알맞는 목적지 프로세스에 전달해주는 작업이다.

UDP와 TCP 모두 지원하는 개념이지만 작동 원리가 조금 다르다.

 

  • 다중화 : 세그먼트들을 네트워크 계층으로 전달하는 작업. 애플리케이션 계층에서 트랜스포트 계층으로 소켓을 통해 메시지가 전달될 때, 하나의 세그먼트로 캡슐화 하여 네트워크 계층으로 전달하는 과정이다.
  • 역다중화 : 세그먼트들을 애플리케이션 계층의 올바른 소켓으로 전달하는 작업. 세그먼트의 헤더 정보를 읽어서 올바른 소켓을 판단한다.

 

UDP의 Connectionless 역다중화

UDP는 TCP와 다르게 소켓과 소켓이 1:1 매핑 되지 않는다. (connectionless)

그래서 헤더 정보의 목적지 포트번호만을 보고 전달된다.

 

TCP의 Connection-oriented 역다중화

TCP는 목적지 포트가 모두 80인데도 불구하고 서로 다른 소켓으로 간다.

그 이유는 "TCP 소켓은 고유의 포트번호가 아닌 고유의 ID(집합)를 가지기 때문"이다.

집합은 출발지의 IP주소/포트번호, 목적지의 IP주소/포트번호 4개 요소로 이루어진다.

4개 요소중 하나라도 다르면 다른 소켓으로 인식하기 때문에 포트번호가 같더라도 역다중화를 통해 올바른 소켓으로 전달된다.

 

 

3.3 비연결형 트랜스포트: UDP

 

UDP 세그먼트 헤더

UDP가 비연결, 비신뢰성이라고 하더라도 간단한 오류 검출 기능은 가지고 있다.

데이터가 유실될지언정 잘못된 데이터가 전달되지는 않는다.

에러가 없으면 세그먼트를 바로 목적지 포트 소켓으로 넘겨준다. 매우 단순한 구조이다.

단순한 구조인 만큼 오버헤드가 적다.

 

 

3.4 신뢰성 있는 데이터 전송의 원리

 

신뢰성 있는 데이터 전송은 TCP의 중요한 개념중 하나이다.

TCP는 트랜스포트 계층의 애플리케이션 계층에 대한 데이터의 신뢰성을 보장한다. 하지만 하위 계층에서는 데이터의 신뢰성을 보장할 수 없다.

 

 

1) 신뢰적인 데이터 전달 프로토콜의 구축

비신뢰적인 데이터 전달이라 함은 데이터의 에러 또는 유실 둘 중 하나가 발생할 수 있다는 의미이다.

 

◾ 완벽하게 신뢰적인 채널 상에서의 데이터 전송: rdt1.0 (reliable data transfer)
하위 채널이 완전히 신뢰적이라고 가정한다. 이 경우에는 각 레이어가 송수신을 바로 진행시키면 된다. 완전히 신뢰적인 채널에서는 수신 측이 송신 측에게 어떠한 피드백도 제공할 필요가 없고 '천천히' 라는것도 요청할 필요가 없다.

 

rdt1.0의 유한 상태 머신(FSM)

 

 비트 오류가 있는 채널 상에서의 신뢰적 데이터 전송: rdt2.0
패킷 안의 비트들이 하위 채널에서 손상될 수 있지만 송신 순서대로 수신된다고 가정한다. 전화통화의 예를 생각해보면 된다.
상대방의 말을 잘 들었다면 확인 응답을 해준다(수신자 피드백, ACK). 상대방의 말이 잘 안들리면(에러 검출) 다시 말해달라고 요청하고(수신자 피드백, NAK) 상대방은 같은 말을 다시 해준다(재전송). 이 세가지가 자동 재전송 요구(ARQ) 프로토콜에 요구된다.

송신자 프로토콜은 수신자의 피드백을 받아야 다음 행동을 결정할 수 있으므로 ACK/NAK 패킷을 기다려야 한다.

 

rdt2.0의 FSM. 전송-후-대기 프로토콜 이라고도 한다

단, rdt2.0은 피드백 패킷이 손상되어 송신측으로 들어오는 치명적인 문제가 발생할 수 있다.

피드백 패킷이 손상되어 송신자가 ACK/NAK를 판별하지 못할 때, 재전송을 한다면 수신자는 패킷의 중복 수신이 발생하므로 패킷에 순서번호(sequence number)를 추가해서 수신자가 중복 수신을 처리하게 한다. 순서번호는 최소 1비트면 충분하다. 이 개선사항을 rdt2.1이라고 하자. 순서번호 비트인 0, 1을 처리하기 위해 기존의 상태보다 2배 많은 상태를 가지게된다.

 

개선된 rdt2.1 송신자 FSM

 

개선된 rdt2.1 수신자 FSM

여기서 한발 더 나아가서 오류검출 및 중복 수신을 송신자 측에서도 같이 처리한다면 NAK 없이 ACK 처리만으로 구현이 된다. (rdt2.2: NAK-free protocol)

수신자에서 오류 검출시 NAK가 아닌 ACK와 함께 마지막으로 수신된 순서번호를 함께 송신자에게 보낸다.

송수신자의 순서번호가 다르면 재전송을 하게 된다.

 

NAK가 사라진 rdt2.2 송신자 FSM

 

NAK가 사라진 rdt2.2 수신자 FSM

 

 비트 오류와 손실 있는 채널 상에서의 신뢰적 데이터 전송: rdt3.0
손실은 수신자에게 가는 메시지가 유실되거나 송신자에게 돌아오는 피드백이 유실되는 두 가지 경우가 존재한다.

어떤 경우간에 송신자 입장에서는 같은 현상이다. 이 때 시간 제한(timeout)을 걸어서 재전송을 하면 손실은 해결할 수 있다.

 

 

rdt3.0 송신자 FSM

 

rdt1.0 : 모든 채널이 완벽하게 신뢰적일 때. 호출 받는대로 바로 송수신이 이루어진다.

rdt2.0 : 채널에서 비트 오류가 발생할때. 오류 검출, 수신자 피드백, 재전송이 포함된 ARQ 프로토콜에 의해 송수신이 이루어진다.

rdt2.1 : 피드백이 손상될 때. 송신자가 순서번호를 추가하여 수신자에서 중복 패킷을 처리한다.

rdt2.2 : 피드백에 순서번호를 포함시켜서 송수신자 양쪽에서 판별한다. ACK 피드백만 존재한다.

rdt3.0 : 손실이 발생할 때. 송신자 rdt 2.2에 타이머를 추가하여 타임아웃시 재전송한다.

 

rdt3.0의 상황별 sender-receiver

(d)는 유실이 발생하지는 않았지만 피드백이 지연이 생겨서 늦게 도착하는 바람에 타임아웃이 발생한 경우이다.

 

rdt3.0까지 구축하며 기능적으로 정확한 신뢰적 데이터 전송 프로토콜을 완성시켰지만 성능에는 만족하기 어렵다.

전송 후 대기 방식이기 때문에 속도가 너무나도 느리다.

 

 

2) 파이프라인된 신뢰적 데이터 전송 프로토콜

전송 후 대기 방식은 한번에 하나의 패킷만 보내기때문에 속도가 매우 느리므로 파이프라이닝화 시켜서 효율을 높인다.

 

 

3) N부터 반복(Go-Back-N, GBN)

수신자는 받은 올바른 패킷에 대해서만 ACK 피드백을 보내주고 해당되지 않는 패킷은 모두 버리기 때문에 수신측은 버퍼가 필요없다.

 

  1. 송신자가 SEQ 1,2,3,4,5를 보냈을 때, 2가 유실되었다면 수신자는 ACK 1,2,2,2를 보내고 전달받은 SEQ 3,4,5를 버린다.
  2. 송신자측에서 ACK 2를 받지 못해 타임아웃이 일어나면 SEQ 2,3,4,5를 재전송한다.
  3. 수신자는 ACK 3,4,5,5를 보낸다.

 

GBN

패킷 하나의 손실때문에 많은 패킷을 다시 재전송하는 단점이 존재한다.

 

 

4) 선택적 반복(Selective Repeat, SR)

GBN과 다르게 수신자도 버퍼를 가지고 ACK를 받지 못한 패킷마다 타이머를 계산한다.

수신자는 받은 패킷의 순서와 상관없이 받은 패킷에 대해 무조건 ACK를 피드백한다.

 

  1. 송신자가 SEQ 1,2,3,4,5를 보냈을 때, 2,4가 유실되었다면 수신자는 ACK 1,3,5를 보내고 전달받은 SEQ 3,5를 버퍼에 저장한다.
  2. 송신자 측에서 ACK 2,4를 받지 못해 타임아웃이 일어나면 SEQ 2,4를 재전송한다.
  3. 수신자는 ACK 2,4를 보내고 버퍼에 있는 SEQ 3,5를 처리한다.

 

ACK가 손실되는 경우 송신자의 타이머가 만료되어 재전송되지만 수신자는 이미 받은 패킷이므로 별도의 저장 없이 ACK만 다시 피드백해준다.

 

SR

'이론 > 네트워크' 카테고리의 다른 글

네트워크 계층: 제어 평면  (0) 2022.11.20
네트워크 계층 : 데이터 평면  (0) 2022.11.19
트랜스포트 계층 (2)  (0) 2022.11.18
애플리케이션 계층  (0) 2022.11.15
컴퓨터 네트워크와 인터넷  (0) 2022.11.08

2.1 네트워크 애플리케이션의 원리

 

각 호스트의 프로세스간의 통신이라고 볼 수 있다. IPC와 같은 개념이다.

 

1) 네트워크 애플리케이션 구조

주로 클라이언트-서버 구조 또는 P2P구조로 이루어진다.

  • 클라이언트-서버 : 클라이언트와 다르게 서버는 고정 IP 주소를 가진다.
  • P2P : 특정 서버를 통하지 않고 피어가 직접 통신한다.

 

 

2) 프로세스 간 통신

서로 다른 종단 시스템에서 프로세스는 네트워크를 통한 메시지 교환으로 서로 통신한다.

 

두 프로세스 간의 통신 세션에서 통신을 초기화하는 프로세스를 클라이언트, 세션을 시작하기 위해 접속을 기다리는 프로세스를 서버라고 한다.

 

소켓을 통해서 네트워크로 메시지를 주고 받는다. 소켓은 애플리케이션 계층과 트랜스포트 계층 간의 인터페이스이다.

 

 

3) 애플리케이션이 이용 가능한 트랜스포트 서비스

  • 신뢰적 데이터 전송 : 전송한 데이터가 유실되지 않고 온전하게 목적지까지 전달되도록 보장된 전송 서비스.
    트랜스포트 계층 프로토콜이 애플리케이션에 제공할 수 있는 한 가지 중요한 서비스이다.
  • 처리량
  • 시간
  • 보안

 

 

4) 인터넷 전송 프로토콜이 제공하는 서비스

  • TCP : 연결지향형 서비스와 신뢰적 데이터 전송 서비스를 포함한다.
  • UDP : 비연결형 서비스와 비신뢰적 데이터 전송 서비스를 제공한다.

 

인터넷 트랜스포트 프로토콜은 시간 혹은 대역폭 보장을 제공하지는 않는다.

 

 

2.2 웹과 HTTP

 

1) HTTP 개요

HyperText Transfer Protocol. TCP를 전송 프로토콜로 사용한다. HTTP 서버는 클라이언트에 대한 정보를 유지하지 않으므로 비상태(stateless) 프로토콜 이라고도 한다.

 

 

 

2) 비지속 연결과 지속 연결

TCP 연결 상태에 따라 나뉜다.

  • 비지속 연결 HTTP : 각 요구/응답별로 TCP 연결이 새로 이루어진다.
  • 지속 연결 HTTP : 연결이 유지된다.

 

 

4) 사용자와 서버 간의 상호작용: 쿠키

HTTP 서버는 비상태 프로토콜이지만 쿠키를 이용해서 사용자를 추적하여 상태를 유지시킬 수 있다.

 

 

5) 웹 캐싱

웹 캐시 또는 프록시 서버는 원 출처의 웹 서버를 대신해서 HTTP 요구를 충족시켜준다.

캐시는 서버이면서 동시에 클라이언트가 된다.

클라이언트의 요구에 대한 응답시간을 줄이고 트래픽을 대폭 줄일 수 있는 장점이 있다.

 

 

2.3 인터넷 전자메일

 

유저 에이전트, 메일 서버, SMTP 세 가지의 주요 요소로 이루어져있다.

요즘은 HTTP 기반의 메일을 사용한다.

 

1) SMTP

보내고자 하는 데이터(메일)을 푸시한다.

 

 

2) HTTP와의 비교

HTTP는 풀 프로토콜이고 SMTP는 푸시 프로토콜이다.

 

 

4) 메일 접속 프로토콜

SMTP는 푸시 프로토콜이지만 최종적으로 메시지를 얻은것은 풀 동작이다.

POP3, IMAP 같은 메일 접속 프로토콜을 이용하면 목적 에이전트가 메일을 받을 수 있다.

 

 

 

2.4 DNSㅡ인터넷의 디렉터리 서비스

 

1) DNS가 제공하는 서비스

호스트 네임을 IP주소로 변환해준다. DNS는 DNS 서버들의 계층구조로 구현된 분산 데이터베이스이고 호스트가 분산 데이터베이스로 질의하도록 허락하는 애플리케이션 계층 프로토콜이다.

 

 

2) DNS 동작 원리 개요

단일 DNS 서버의 중앙 집중 데이터베이스는 확장성이 전혀 없기때문에 분산되도록 설계되었다. 웹 캐싱과 비슷한 개념이다.

  • 분산 계층 데이터베이스
    루트 DNS 서버, 최상위 레벨 도메인(TLD) 서버, 책임 DNS 서버 총 3가지 유형의 DNS 서버가 존재한다.
    도메인 네임과 IP의 매핑은 책임 DNS 서버에서 이루어진다.

  • DNS 캐싱
    로컬 DNS 서버에 캐시가 존재하는 경우 상위 DNS 서버까지 접근하지 않고도 빠르게 IP 주소를 반환할 수 있다. 보통 일정 시간이 지나면 캐시가 삭제된다.

 

 

3) DNS 레코드와 메시지

DNS 서버들은 호스트 네임을 IP 주소로 매핑하기 위해 자원 레코드를 저장한다.

자원 레코드는 Name, Value, Type, TTL 4가지 필드를 포함한다.

Type에 따라 Name과 Value의 의미가 달라진다.

Type=A : Name-호스트 네임, Value-IP 주소

Type=NS : Name-도메인, Value-도메인을 관장하는 호스트 네임

Type=CNAME : Name-별칭 호스트 네임, Value-정식 호스트 네임

Type=MX : Name-별칭 호스트 네임, Value-메일 서버의 정식 이름

 

참고로 DNS는 UDP 연결을 사용한다.

 

 

2.7 소켓 프로그래밍: 네트워크 애플리케이션 생성

 

소켓은 OS에서 제공해주는 API이다.

소켓을 생성할 때 TCP/UDP를 선택할 수 있다.

 

TCP를 이용한 클라이언트-서버 애플리케이션

'이론 > 네트워크' 카테고리의 다른 글

네트워크 계층: 제어 평면  (0) 2022.11.20
네트워크 계층 : 데이터 평면  (0) 2022.11.19
트랜스포트 계층 (2)  (0) 2022.11.18
트랜스포트 계층 (1)  (0) 2022.11.18
컴퓨터 네트워크와 인터넷  (0) 2022.11.08

1.1 인터넷이란?

 

네트워크들을 상호 연결한 네트워크.

네트워크 : 다양한 유형의 호스트와 스위치들을 통신 링크로 연결한 분산 시스템

 

1) 구성요소로 본 인터넷

크게 종단 시스템 - ISP - 종단 시스템으로 이루어진다. ISP는 통신 링크패킷 스위치로 이루어진 네트워크이다.

 

통신 링크는 동축 케이블, 구리선, 광케이블, 라디오 스펙트럼을 포함한 다양한 물리 매체로 구성되고 전송률을 이용해서 데이터를 전송한다. 송신 종단 시스템은 데이터를 세그먼트로 나누고 헤더를 붙여서(=패킷) 목적 종단 시스템으로 네트워크를 통해 보내지고 목적지에서 원래의 데이터로 조립된다.

 

패킷 스위치는 라우터와 링크 계층 스위치가 널리 사용되고 최종 목적지 방향으로 패킷을 전달한다. 라우터는 네트워크 코어, 링크 계층 스위치는 액세스 네트워크에서 주로 사용된다. 종단 시스템간에 거쳐 온 일련의 통신 링크와 패킷 스위치들을 네트워크상의 경로(route, path)라고 한다.

 

종단 시스템은 ISP를 통해서 인터넷에 접속하고 ISP는 웹 사이트 및 서버를 인터넷에 직접 연결하도록 CP에게 인터넷 접속을 제공한다. ISP끼리도 서로 연결되어야만 한다.

 

 

2) 서비스 측면에서 본 인터넷

종단 시스템들은 종단 시스템에서 수행되는 애플리케이션 간의 데이터 송신을 요구하는 소켓 인터페이스를 제공한다. 송신 프로그램이 따라야 하는 규칙의 집합이다. 실생활에서 우편을 보내는 절차를 생각하면 이해하기 쉽다.

 

 

디바이스들이 인터넷의 가장자치를 차지하기 때문에 종단 시스템이라고 부른다

 

 

* 프로토콜 : 둘 이상의 통신 개체 간에 교환되는 메시지 포맷과 순서뿐만 아니라, 메시지의 송수신과 다른 이벤트에 따른 행동들의 정의.

사람간의 대화와 유사하다

 

 

1.2 네트워크의 가장자리

 

종단 시스템은 웹 브라우저 프로그램, 전자메일 서버 프로그램 같은 애플리케이션을 수행하기 때문에 호스트라고도 부른다. 호스트는 클라이언트와 서버로 구분한다.

 

1) 접속 네트워크

호스트의 경로상에 첫 번째 라우터에 연결하는 네트워크.

빨간 선을 의미한다

가정 접속 : DSL, 케이블, FTTH 등

  • DSL : 주파수 분할 다중화를 사용하고 업/다운 속도가 다른 비대칭이다. 텔코(telco, 지역 전화 회사)의 로컬 전화 기반구조를 이용한다.
  • 케이블 : 케이블 TV 회사의 기반구조를 이용한다. 마찬가지로 비대칭이다.
  • FTTH : CO(텔코의 지역 중앙국)와 가정 사이에 직접 광섬유 경로를 제공한다.

 

기업 접속 : 이더넷 및 와이파이

주로 회사, 대학 등에서 사용되고 종단 시스템들은 이더넷 스위치에 연결된다. 와이파이 접속 사용자들은 AP의 수십 미터 반경 내에 있어야한다.

 

광역 무선 접속: 3G 및 LTE

와이파이와 달리 기지국의 수십 km 반경 내에 있으면 된다.

 

 

2) 물리 매체

물리 매체는 유도 매체와 비유도 매체로 나눌 수 있다.

  • 유도 매체 : 광섬유 케이블, 꼬임쌍선 등 견고한 매체를 따라 파형을 유도한다.
    꼬임쌍선 - 가장 싸고 많이 이용한다. UTP는 LAN에서 가장 많이 이용하는 매체이다.
    동축케이블 - 동심원 형태를 이룬다. 꼬임쌍선보다 더 높은 데이터 전송률을 얻을 수 있다.
    광섬유 - 비트를 나타내느 빛의 파동을 전하는 가늘고 유연한 매체. 주로 광역 전화 네트워크에 이용된다.

  • 비유도 매체 : 무선 LAN, 디지털 위성채널처럼 야외공간으로 파형을 전파한다.
    라디오 채널 - 전자기 스펙트럼으로 신호를 전달한다. 지상 마이크로파, 무선 LAN, 위성 등의 유형이 있다.

 

 

1.3 네트워크 코어

 

라우터간의 연결망. 네트워크의 네트워크라고 볼 수 있다.

링크와 스위치의 네트워크를 통해 데이터를 이동시키는 방식에는 패킷 교환과 회선 교환 두 가지 방식이 있다.

빨간 선을 의미한다

 

1) 패킷 교환

R bits/sec 속도로 링크상에서 L bits의 패킷을 송신한다면, 전송하는데 걸리는 시간은 L/R 초이다.

  • 저장 후 전달
    대부분의 패킷 스위치가 이용하는 방식. 패킷의 모든 비트를 수신한 후에 출력 링크로 패킷을 전송한다. d(종단간 지연) = N * (L/R) 이 성립한다.
  • 큐잉 지연과 패킷 손실
    각 패킷 스위치는 접속된 여러개의 링크를 갖고 있고 각 링크에 대해 출력 버퍼도 가지고 있다. 도착한 패킷은 하나의 링크로 전송되어야 하는데 그 링크가 다른 패킷을 전송중이라면 도착하는 패킷들은 출력 버퍼에서 대기해야 한다. 저장 후 전달에 의한 지연 뿐만 아니라 출력 버퍼에서 큐잉 지연도 겪게 된다.
    버퍼의 크기는 유한하기 때문에 버퍼가 꽉찬 경우 패킷 손실이 발생한다.
  • 전달 테이블과 라우팅 프로토콜
    패킷 헤더에 목적지의 IP 주소가 있기 때문에 라우터가 패킷 전달 링크를 결정할 수 있다. 패킷이 라우터에 도착하면 목적지 주소의 일부롤 조사하고 패킷을 아웃 라우터로 전달한다.
    라우터는 목적지 주소를 라우터의 출력 링크로 매핑하는 전달 테이블을 가지고 있다.
    목적지를 한번에 정확히 파악하고 보내는것이 아니라 라우터마다 방향을 파악하고 패킷을 보내주는 방식이다.
    패킷 도착 -> 아웃 라우터 전달 -> 전달 테이블 검색 -> 출력 링크로 패킷 내보냄의 흐름이다.
    라우터는 전달 테이블을 자동으로 설정하기 위해 라우팅 프로토콜을 가지고 있다.

 

2) 회선 교환

종단 시스템 간에 경로상에 필요한 자원은 통신 세션 동안에 확보 또는 예약된다. (패킷 교환 네트워크에서는 예약x)

네트워크가 회선을 설정할 때, 연결이 이루어지는 동안 네트워크 링크에 일정한 전송률을 예약하기 때문에 송신자는 수신자에게 보장된 일정 전송률로 데이터를 보낼 수 있다.

 

회선: 송신자와 수신자 간의 경로에 있는 스위치들이 해당 연결 상태를 유지해야 하는 연결

 

간단한 회선 교환 네트워크

두 호스트가 통신하고 싶을 때, 네트워크는 종단간 연결을 설정한다. 회선이 4개이므로 각 링크는 전체 전송용량의 1/4를 얻게된다.

 

  • 회선 교환 네트워크에서의 다중화
    링크 내 한 회선은 주파수 분할 다중화(FDM) 또는 시분할 다중화(TDM)으로 구현된다.
    FDM은 주파수 스펙트럼을 공유하고 각 연결에 대한 주파수 대역을 고정으로 제공한다. FM 라디오 방송이 이에 해당한다. TDM 회선의 전송률은 한 슬롯 안의 비트 수와 프레임 전송률을 곱한 것과 같다.

  • 패킷 교환 대 회선 교환
    회선 교환은 요구에 관계없이 미리 전송 링크의 사용량을 할당하는 반면에 패킷 교환은 요구할 때만 링크의 사용을 할당해서 성능이 더 우수하기 때문에 패킷 교환으로 바뀌는 추세이다.

 

 

3) 네트워크의 네트워크

모든 종단 시스템이 서로에게 패킷을 보내려면 접속 ISP들이 연결되어야 가능하다.

가장 간단한 방법은 각 접속 ISP를 직접 서로 다른 ISP와 연결하는 것이지만 전 세계적으로 너무 많은 접속 ISP가 있기 때문에 매우 많은 비용이 발생한다.

대신 하나의 글로벌 통과(transit) ISP와 연결한다. 말했듯이 많은 접속 ISP와 연결하려면 매우 많은 비용이 발생하기 때문에 글로벌 ISP는 각각의 접속 ISP에 대해 비용을 부과한다.

 

글로벌 ISP는 다른곳에서도 구축하고 운영할 수 있고 각 글로벌 ISP는 서로 연결되어 있어야만 한다.

접속 ISP들은 지역 ISP에 연결되고 지역 ISP들은 글로벌 ISP(tier-1)에 연결된다.

 

ISP간에 계층구조가 생기고 각 레벨에 고객-제공자 관계가 성립되며 교환되는 트래픽의 양으로 비용이 결정된다.

보통 같은 계층에 있는 ISP끼리는 비용을 부과하지 않는다. 그래서 같은 계층의 가까운 ISP들은 피어링을 통해 직접 송수신해서 트래픽 비용을 줄인다.

 

1.4 패킷 교환 네트워크에서의 지연, 손실과 처리율

 

1) 패킷 교환 네트워크에서의 지연 개요

패킷은 경로상의 각 노드에서 다양한 지연을 겪게된다. 이 지연들이 쌓여서 전체 노드 지연을 일으킨다.

 

노드 지연, 큐잉 지연, 전송 지연, 전파 지연

  • 처리 지연 : 패킷 헤더를 조사하고 어디로 보낼지 결정하는 시간.
  • 큐잉 지연 : 링크로 전송되기를 기다리는 시간.
  • 전송 지연 : 라우터가 패킷을 내보내는데 필요한 시간. 패킷 길이(L)비트, 전송률 R = L/R
  • 전파 지연 : 링크의 처음부터 라우터 B까지의 전파에 필요한 시간.
    라우터 A-B사이의 거리(d), 링크의 전파속도(s) = d/s

전송 지연은 라우터 사이의 거리와 관계없이 패킷을 내보내는데 필요한 시간일 뿐이다.

 

 

2) 큐잉 지연과 패킷 손실

노드 지연 중 가장 복잡하고 흥미로운 요소이다. 다른 세가지 지연과는 다르게 큐잉 지연은 패킷마다 다를 수 있다.

a = 패킷이 큐에 도착하는 평균율

R = 전송률

L = 패킷 길이 일 때,

트래픽의 강도는 La/R이다. 큐잉 지연의 정도를 측정하는 데 매우 중요하다. 큐가 무한대 패킷을 가진다는 가정하에 La/R > 1이면 큐잉 지연은 무한대에 도달하기 때문에 트래픽 강도가 1보다 크지 않게 시스템을 설계해야 한다.

트래픽 강도가 1에 근접할수록 평균 큐잉 지연이 급격하게 증가한다.

 

패킷 손실 : 큐 용량은 유한하기 때문에 트래픽 강도가 1에 근접할 때, 패킷이 도착하면 큐가 꽉 찬 것을 발견하게 된다. 이 때 패킷을 저장할 수 없게 되므로 패킷을 버리게 된다.

패킷 로스가 발생하면 종단간에 재전송 될 수 있다. (TCP)

 

 

1.5 프로토콜 계층과 서비스 모델

 

 

인터넷 프로토콜 스택 5계층

  • 애플리케이션 계층 : HTTP, SMTP, FTP등의 프로토콜을 포함한다. 정보 패킷을 메시지라고 부른다.
  • 트랜스포트(전송) 계층 : TCP, UDP 두가지 프로토콜이 포함된다. 애플리케이션 계층의 메시지를 전달한다. 트랜스포트 계층 패킷을 세그먼트라고 한다.
  • 네트워크 계층 : IP 프로토콜을 포함한다. 호스트간의 데이터그램을 라우팅하는 책임을 진다.
  • 링크 계층 : 이더넷, 와이파이 등의 프로토콜을 포함한다. 링크 계층 패킷을 프레임이라고 한다.
  • 물리 계층 : 프레임 내부의 각 비트를 다음 노드로 이동시킨다.

'이론 > 네트워크' 카테고리의 다른 글

네트워크 계층: 제어 평면  (0) 2022.11.20
네트워크 계층 : 데이터 평면  (0) 2022.11.19
트랜스포트 계층 (2)  (0) 2022.11.18
트랜스포트 계층 (1)  (0) 2022.11.18
애플리케이션 계층  (0) 2022.11.15

+ Recent posts