1. 인터넷이란 무엇인가?
1. 구성요소로 본 인터넷
인터넷 = 전 세계적으로 수십억 개의 컴퓨팅 장치를 연결하는 컴퓨터 네트워크.
호스트 / 종단 시스템(end system) : 컴퓨터 네트워크에 연결되는 모든 장치
통신링크 : 종단시스템을 연결하는 물리 매체(위성 / 동축케이블 / 구리선 / 광케이블 / 라디오 스팩트럼)
전송률 : 대역폭(bandwidth), bps단위를 사용한다.
패킷 : 한 종단 시스템에서 다른 종단 시스템으로 보낼 데이터를 세그먼트로 나누고 세그먼트에 해더를 붙여 만들어진 정보 패키지
패킷 스위치 (패킷 교환기) : 입력 통신 링크의 하나로 도착하는 패킷을 받아서 출력 통신 링크의 하나로 그 패킷을 전달
- 종류 :
1. 라우터
네트워크 코어에서 사용
2. 링크계층 스위치
액세스 네트워크에서 사용
패킷이 송신종단 시스템에서 수신종단 시스템에 도달하는 동안 거쳐온 일련의 통신링크와 패킷 스위치들을 네트워크상의 경로라고 한다
종단 시스템은 ISP(Internet Service Provider)를 통해서 인터넷에 접속
종단 시스템, 패킷 스위치, 인터넷의 다른 구성요소는 인터넷에서 정보 송수신을 제어하는 여러 프로토콜을 수행. 특히 TCP / IP는 인터넷에서 가장 중요한 프로토콜
IP 프로토콜 : 라우터와 종단 시스템 사이에서 송수신 되는 패킷 포맷을 기술
이러한 인터넷의 주요 프로토콜을 통칭하여 TCP/IP라고 한다.
인터넷 표준 : IETF(Internet Engineering Task Force)에서 개발하고, IETF 표준 문서를 RFCs(Requests for Comments)라고 한다.
2. 서비스 측면에서 본 인터넷
애플리케이션에 서비스를 제공하는 인프라 구조로서 인터넷을 기술
3. 프로토콜이란 무엇인가
프로토콜은 둘 이상의 통신 개체 간에 교환되는 메시지 포맷과 순서뿐아니라, 메시지의 송수신과 다른 이벤트에 따른 행동들을 정의한다.
어떤 일을 수행하려면 둘 이상의 통신개체(Entity)가 함께 인식하는 프로토콜이 필요하다.
통신하는 둘 이상의 원격 개체가 포함된 인터넷에서의 모든 활동은 프로토콜이 제어한다.
2. 네트워크의 가장자리(Network Edge)
호스트 = 종단 시스템
종류 :
- 클라이언트
- 서버
1. 접속 네트워크
종단 시스템을 그 종단 시스탬으로부터 다른 먼 거리의 종단 시스템까지의 경로상에 있는 첫 번째 라우터에 연결하는 네트워크
가장 널리 보급된 광대역 가정 접속 유형 : DSL(Digital Sub-scriber Line), 케이블
1-1. DSL(전용 액세스) :
유선 로컬 전화 서비스를 제공하는 같은 지역 전화회사(telco)로 부터 DSL 인터넷 접속 서비스를 받는다. 고객의 telco 가 ISP가 되는 유형,
- 각 고객의 DSL 모뎀은 텔코의 지역 중앙국(CO)에 위치한 DSLAM(Digital Subscriber Line Access Multiplexer)과 데이터를 교환하기 위해 기존 전화 회선(꼬임쌍선)을 이용한다.
- 가정의 DSL 모뎀은 디지털 데이터를 받아서 전화선을 통해 CO로 전송하기위해 고주파 신호로 변환한다. 여러 가정으로부터의 아날로그 신호는 DSLAM에서 디지털 포맷으로 다시 변환된다.
- 가정 전화회선은 데이터와 전통적인 전화 신호를 동시에 전달하며, 이들은 다른 주파수 대역에서 인코드된다. 이 방식은 단일 dsl 링크가 3개의 분리된 링크인 것처럼 보이게 하여, 하나의 전화회선과 인터넷 연결이 동시에 DSL 링크를 공유할 수 있게 한다.
- 고속 다운스트림 채널 : 50kHz ~ 1 MHz 대역
- 중간 속도의 업스트림 채널 : 4 ~ 50 kHz 대역
- 일반적인 양방향 전화 채널 : 0 ~ 4 kHz 대역
- 고객쪽에 있는 스플리터는 가정에 도착하는 데이터와 전화 신호를 분리하고 데이터 신호를 DSL 모뎀으로 전송한다. 텔코 쪽의 CO에 있는 DSLAM 은 데이터와 전화 신호를 분리하고 데이터를 인터넷으로 송신한다. 수백 혹은 수천개의 가정들이 하나의 DSLAM에 연결된다.
- DSL 표준은 다운스트림과 업스트림의 전송속도가 다르기 때문에 접속이 비대칭이라고 한다.
- ITU 1999 : 12Mbps 다운스트림과 1.8 Mbps 업스트림
- ITU 2006 : 55Mbps 다운스트림과 15 Mbps 업스트림
- 실제 다운스트림과 업스트림 전송속도는 위에 기술한 속도보다는 작을 수 있다. (ISP가 요금제에 따라 제한을 둘수있다 / CO와의 거리, 꼬임쌍선의 규격, 전기적 간섭의 정도)
1-2. 케이블 인터넷 접속 (HFC- Hybrid Fiber Coax / 공유 액세스) :
- 케이블 TV 회사의 기존 케이블 TV 기반구조를 이용
- 광케이블은 케이블 헤드엔드를 이웃-레벨 정션에 연결하고, 이로부터 개별 가정과 아파트에 도달하는데 전통적인 동축 케이블이 사용된다.
- 각 이웃 정션은 보통 500~5000 가정을 지원한다.
- 광케이블과 동축케이블 모두 이 시스템에서 채택하고 있기 때문에 흔히 HFC라고 부른다.
- 또한, 케이블 인터넷 접속을 위해서는 외장형 장치이며 ethernet port를 통해 Home PC에 연결할 수 있는 cable modem이 필요하다.
- Cable head end에서 CMTS(Cable Modem Termination System)는 DSL의 DSLam과 비슷한 기능을 제공한다. 즉, 많은 downstream home에 있는 cable modem으로부터 송신된 아날로그 signal을 다시 디지털 signal로 변환한다.
- 한편, cable modem은 HFC 네트워크를 downstream channel, upstream channel로 나눈다.
DSL과 마찬가지로 접속은 비대칭(asymmetric)이며, 전송속도는 DOCSIS 2.0 표준에서 downstream를 최대 42.8Mbps, 그리고 upstream을 최대 30.7Mbps 속도로 정의하고 있다.
1-3. FTTH(Fiber to the Home) :
- CO 부터 가정까지 직접 광섬유 경로를 제공하는 방식
대표적으로는 direct fiber : 각 가정으로 CO에서 하나의 광섬유를 제공하는 가장 간단한 광신호 네트워크
- 특히 CO에서 시작되는 각 광섬유는 실질적으로 여러 가정이 공유한다. 가정에 가까운 곳까지 하나의 광섬유로 와서 이곳에서
고객별 광섬유로 분리된다. 이러한 splitting을 수행하는 2가지 경쟁적인 광신호 분배 네트워크 구조가 있다.
1. AON(Active Optical Network) : 교환(switched) ethernet이며 한참 뒤에 설명.
2. PON(Passive Optical Network) : 그림을 보면 각 가정은 ONT(Optical[광] Network Terminator)를 갖고 있으며 이는 지정된 광섬유로 이웃 splitter에 연결된다. splitter는 여러 가정을 1개의 shared 광섬유로 결합하고 이를 telco의 Central Office에 있는 OLT(Optical Line Terminator)에 연결한다. 그 후, 광신호와 전기신호 간의 변환을 제공하는 OLT는 telco router를 통해 인터넷에 연결된다.
가정에서는 Home router(무선 라우터)를 ONT에 연결하고 이 Home router를 통해 인터넷에 접속한다.
PON 구조에서는 OLT에서 👉 splitter로 송신된 모든 packet은 splitter(cable head end와 유사)에서 복제된다.
속도 : FTTH는 Gbps급 속도를 제공한다. 하지만 역시 비쌀수록 빠르다
1-4. 이더넷 :
일반적으로 LAN은 기업과 대학, 가정 환경에서 End system을 Edge router에 연결하기 위해 사용된다.
여러가지 LAN 기술 중 ethernet이 기업, 대학, Home network에 가장 많이 사용되는 접속 기술이다.
ethernet은 ethernet switch에 연결하기 위해 꼬임쌍선(twisted pair)을 이용한다.
ethernet switch 혹은 interconnected switch들의 network는 이제 다시 더 큰 Internet으로 연결된다.
속도 : USER는 ethernet switch에 100Mbps or 1Gbps로 접속, SERVER는 1Gbps or 10Gbps로 접속한다.
10Mbps는 일반이더넷, 100Mbps는 패스트 이더넷, 1Gbps는 기가비트 이더넷이라고 한다.
1-5. 와이파이 :
그러나 사람들은 노트북, 스마트폰, 태플릿, IoT 등에서 점차 무선으로 접속하고 있다.
무선 LAN 사용자들은 enterprise network에 연결된 AP(Access Point)로 패킷을 송/수신하고, 이 AP는 유선 네트워크에 다시 연결된다. (shared)
반경 : 이 무선 LAN은 일반적으로 AP의 수십미터 반경 내에 있어야 한다.
SPEED : 802.11은 오늘날 평균 100Mbps 이상의 공유 전송속도를 제공한다.
802.11 b/g/n : 11, 54, 450 Mbps (Maximum)
AP(Access Point) = base station
1-6. 광역 무선접속 :
휴대폰으로 걸어다니면서 유튜브같은것을 볼 경우, 이동 전화망 사업자들이 운영하는 기지국(base station)을 통해 휴대폰이 패킷을 송수신하는데 사용되는 무선 기반구조를 채택하고 있다.
반경 : WiFi와 달리 base station으로부터 수십 km내에 있으면 된다.
속도 : 얼마 전만 해도 전화 회사들은 1Mbps 이상의 속도인 3G 서비스에 많은 투자를 하였으나, 최근 더 빠른 4G,5G까지 구축되고 있다. 그리고 LTE(Long-Term Evolution)는 3G 기술에 그 기반을 두고 있으며 이는 10Mbps 이상의 전송속도를 얻을 수 있다.
Ethernet과 Wifi (of Access Network)가 초기에 기업(회사, 대학교)환경에 많이 구축되었으나, 최근에는 상대적으로 Home network의 공통 요소가 되었다. 많은 가정은 광대역 Access Network 즉, cable modem, DSL과 강력한 Home network를 만들기 위해 값싼 무선 LAN기술을 결합한다. 이 Home network는 유선 PC뿐 아니라 로밍 laptop, 무선 PC와 가정 내의 다른 무선 장치들과 통신하는 기지국(base station,무선 AP), 광대역 인터넷 접속을 제공하는 cable modem, 기지국과 cable modem을 가진 고정 PC를 연결하는 router로 구성된다. 아래 그림은 Home network의 그림이다.
2. 물리 매체 (Physical Media)
bit가 한 end system에서 목적지 end system으로 갈 때 모두 전자파or광펄스 형식으로
첫번째 end system이 edge router에게 bit를 전송하고 수신받은 edge router가 2번째 router로 송신 후 2번째 router가 비트를 수신 후 다시 송신하는 방식으로 여러번 라우터를 거쳐 목적지 end system에 도달하게 된다. bit를 보낼 때 바로 이 물리 매체(Physical Media)상에서 전자파나 광펄스를 전파한다.
Physical Media는 2가지 유형으로 나뉜다 :
(1) 유도 매체(guided media) : 광섬유 케이블(fiber cable), 꼬임쌍선(동선,copper,twisted pair), 동축케이블(coaxial cable)과 같이 견고한 매체를 따라 파형을 유도한다.
(2) 비유도 매체(unguided media) : 무선 LAN 혹은 디지털 위성채널과 같이 대기와 야외 공간으로 자유롭게 파형을 전파한다.
이 Physical media의 비용은 다른 네트워킹 비용에 비해 매우 적다. 오히려 물리매체를 설치하는 비용이 더 든다.
(1) 꼬임쌍선 or 동선(twisted pair made by copper)
가장 싸고 가장 많이 이용하는 전송매체. 100년 넘게 전화망에서 이용되었다.(DSL에서 사용,dedicated)
2개의 절연(insulated) 동선이(각각 1mm 굵기) 규칙적으로 꼬여있는 형태로서, 일반적으로 꼬인 쌍이 4개정도 있다.
이웃하는 쌍들 간에 전기적 간섭을 줄이기 위해 꼬여있다.
이러한 한 쌍의 선이 1개의 communication link를 구성한다.
2가지 type:
UTP(Unshielded Twisted Pair) : 빌딩의 컴퓨터 네트워크, LAN에 가장 많이 이용하는 매체이다..
STP(Shielded Twisted Pair) : 은박지 같은걸로 꼬임쌍선을 보호하는 형태인데 잘 안씀.
속도 : category 5(CAT 5)같은 경우 100Mbps정도, Category 6(CAT 6)같은 경우 10Gbps까지 나온다.
(2) 동축케이블(coaxial cable made by copper)
twisted pair처럼 2개의 copper line으로 되어있으나, 2개의 구리선이 동심원 형태를 띄고 있다.
이러한 구조에 더불어 특수 절연 및 차폐를 가진 동축케이블은 twisted pair보다 더 높은 전송률을 얻을 수 있다.
속도 : 수십 Mbps
케이블 TV 시스템에 주로 사용
shared로 사용가능(여러 end system이 케이블에 직접 연결가능하고, 모든 system은 다른 end system이 전송하는 모든 것을 수신)
양방향 전송 가능(downstream, upstream)
(3) 광섬유(fiber optic cable)
(비트를 나타내는 빛의 파동(light pulse))을 전하는 가늘고 유연한 매체. 전자 간섭에 영향도 안받고, 100km까지는 신호감쇠 현상도 거의 없으며 도청하기도 어렵다.
하지만 가격이 비싸서 근거리 전송에는 이용하기 어렵다
이런 이유로 광역 유도 전송 매체로 널리 이용(광역 전화 네트워크와 해저 링크)
속도 : 10Gbps~100Gbps
(4) 지상 라디오 채널
전자기 스펙트럼으로 신호 전달. 물리적 선이 필요X, 벽 관통 O, 이동 사용자도 잘 안끊기고, 먼거리까지도 신호 전달 O
양방향 전송 가능
But, 환경의 영향 多
reflection(물체의 신호 반사)
interference(다른 라디오 채널이나 전자기 신호의 간섭)
obstructions by objects(방해 물체를 돌아가거나 통과함에 따라 신호 약해짐)
3가지 type 존재 :
1~2m의 매우 짧은 거리에서 동작하는 channel
10m~수백m에 걸쳐 Local Area Network로 동작하는 channel(무선 헤드셋, 키보드, 의료장비처럼 개인장치)
수십 km에 걸쳐 광역에서 작동하는 채널(휴대폰 접속)
(5) 위성 라디오 채널
한 주파수 대역으로 전송신호를 수신하고 리피터를 이용하여 그 신호를 재생하며, 그 신호를 다른 주파수 대역으로 전송한다.
2가지 type:
정지위성(geostationary satellite) : 지구 위 일정 위치에 영원히 머무른다
저궤도위성(low-earth orbiting satellite, LEO) : 지구에 가깝게 위치하고 지구 위 한곳에 고정되지 않는다. 지구를 공전하므로 지속적인 서비스를 위해 많은 위성이 궤도에 있어야 한다.
3. 네트워크 코어
Network Core : network of networks, mesh of interconnected routers,
즉, 인터넷의 end system을 연결하는 packet switch(그중에서도 router)들과 link들의 연결망
메시지 교환: 경로를 미리 설정하지 않고 메시지의 헤더에 목적지 주소를 표시해 전송하는 방식
회선 교환: 통신을 원하는 호스트가 데이터를 전송하기 전 연결 경로를 미리 설정해놓는 방식
패킷 교환: 회선교환과 메시지교환의 장점은 살리고, 단점은 최소화.
3.1 패킷 교환(Packet switch)
응용계층에서 end system들은 서로 message를 교환한다. 이 message는 제어기능(e.g., TCP연결요청,TCP연결응답)과 이미지,텍스트,오디오같은 데이터를 포함한다.
이러한 긴 message를 송신 end system이 packet이라는 작은 데이터 조각으로 분할한다.
이 packet들은 communication link와 packet switch를 거치게 된다.
이 packet들은 link의 최대 전송 속도로 communication link을 통해 전송된다.
e.g., If, 송신 end system 혹은 packet switch가 R bits/sec속도로 link상에 L bits의 packet을 송신
➡ packet을 전송하는 데 걸리는 시간 : L/R 초
(1) 저장-후-전달(store and forward transmission)
기본적으로 router는 input communication link로 들어온 packet을 output communication link로 교환하는 기능을 한다.
router가 communication link로 packet을 전송하기 전에 적어도 하나의 packet의 전체를 받아야 한다.
즉, 라우터가 packet의 파편이 날아오는 족족 bits를 계속 저장(store)후, 한 packet의 모든 비트를 수신한 후에만 출력 링크로 그 packet을 전송(forward)
위 그림에서 packet 1의 일부분을 전송하였고, 동시에 라우터에 도착하였다.
위 그림이 좀 더 진행되면 송신 시스템에서 라우터로 L/R초 에 packet 1개 전체를 송신, 같은 시간에 라우터에 수신되고 저장된다.
단, 전파 지연(=bit가 빛의속도로 통신선을 거쳐가는 데 걸리는 시간, zero propagation delay)을 무시한다는 가정
이후, 라우터는 destination으로 저장된 전체 packet을 출력하기 시작, 2L/R 기간에 전체 packet을 전송하였고 수신시스템은 수신함. 따라서 전체 지연은 2L/R초이다. (만약 저장-후-전달 방식이 아닌, 라우터에서 바로 출력했다면 L/R초일 것)
단, 3번에서 L/R 지점에서 source는 1번째 packet을 완전히 송신했으므로 2번째 packet을 router로 송신하기 시작하며, router도 1번째 packet을 완전히 수신했으므로 destination으로 송신하기 시작한다. 그리고 2번째 packet이 라우터로 도착하는 순간, 라우터도 destination으로 전송한 1번째 packet이 동시에 도착한다.
이때까지 걸리는 시간이 바로 2L/R 이다.
위 진행방식에 의해 3L/R 시간에 destination은 처음 2개의 packet을 수신하고 라우터는 3번째 packet을 수신한다.
마지막으로 4L/R 시간에 destination은 3개의 모든 packet을 수신한다.
여기서 식을 얻을 수가 있는데, source▶destination 까지 N개(라우터는 N-1개)의 Link로 구성되고, 각각은 R bits/sec 를 갖는 경로를 통해 1개의 packet(총 L bits)을 전송하는 경우 종단간 지연(end-end delay)을 d 라고하면
d=N∗(L/R)
이다.
(2) 큐잉 지연과 패킷 손실(queueing delay, packet loss)
각 router는 여러개의 링크를 갖고 있는데, 각 링크에 대해 router는 packet을 저장하고 있는 출력 버퍼(출력 큐)를 갖고 있다.
그런데 만약에, 여러 링크에서 라우터로 packet들이 도착하고 있다면, 출력링크는 그 packet이 도착하는 속도를 따라잡지 못할 것이므로 도착하는 packet은 출력버퍼에서 대기를 타야된다. 이를 큐잉 지연이라고 한다.
또한, 큐잉 지연이 지속되다보면 공간이 한정적인 버퍼에 packet들이 꽉 차있을 수가 있다. 이 때도 만약 계속 라우터로 packet들을 보낸다면 그 packet들은 버려(drop)지는데 이를 패킷 손실이라고 한다.
ex) 호스트 A와 B가 호스트 E로 packet을 전송한다고 가정
각 호스트는 먼저 첫번째 라우터로 100 Mbps 이더넷 링크를 통해 packet을 전송한다.
라우터는 다음에 이들 packet을 15Mbps의 링크로 전달한다.
만약 짧은 기간 동안에 라우터에 도착하는 packet의 전송속도가(bps로 변환했을 때) 15 Mbps를 초과하면 라우터에서 혼잡 발생, 링크로 전송되기 전에 링크의 출력 버퍼에 큐잉된다.
예를들어 호스트A와 B가 각각 동시에 연속해서 5개의 packet을 송신하면 이들 packet은 대부분 큐에서 대기하는데 시간을 보내게 됨
(3) 전달 테이블과 라우팅 프로토콜
라우터는 packet을 받아서 접속된 여러개의 통신 링크 중 하나로 전달하는데, 그렇다면 어떤 기준으로 전달하게 될까?
인터넷에서 모든 end system은 IP주소를 가지는데 source end system ▶ destination end system으로 보내려고 할 때, source는 packet의 헤더에 목적지의 IP주소를 포함시킨다. (우편 주소와 마찬가지로 이 IP주소도 계층적 구조를 가짐)
packet이 네트워크상 한 router에 도착하면 router는 올바른 출력 링크를 찾기 위해 packet내 목적지 주소를 조사하고 이 목적지 주소를 이용하여 목적지 주소(혹은 목적지 주소의 일부)를 라우터의 출력 링크로 맵핑하는 전달 테이블(forwarding table)을 검색한다.
그런 다음 router는 그 packet을 출력 링크로 보낸다.
위 과정을 반복한다.
전달 테이블(forwarding table)는 여러 특별한 라우팅 프로토콜(최단경로를 설정하는)에 의거해 만들어진다.(추후 5장에서 설명)
3.2 회선 교환(Circuit switching)
link 및 switch를 통해 데이터를 이동시키는 방식은 2가지가 있다:
(1) 패킷 교환(Packet switching)
(2) 회선 교환(Circuit switching)
패킷교환은 이전에 했으니 회선교환을 알아보고 또한 패킷 교환과 회선 교환의 차이를 비교하면서 공부하자.
(1) 회선 교환
전통적인 전화망 방식(패킷교환방식보다 훨씬 옛날에 나왔다.)
케이블 내의 회선을 이용한다.
종단 시스템 간에 통신을 제공하기 위해 경로상에 필요한 자원(버퍼, 링크 전송률)은 통신 세션(session) 동안에 확보 또는 예약(reserve, dedicated)된다.
송신자와 수신자 간의 경로에 있는 스위치들이 해당 연결 상태를 유지해야만 하는 연결
연결이 이루어지는 동안 네트워크 링크에 일정한 전송률을 예약
주어진 전송속도(bandwidth)가 연결을 위해 예약(reserve)되므로 송신자는 수신자에게 보장된(guaranteed) 일정 전송률로 데이터를 보낼 수 있음
e.g., 만약 이웃한 스위치 간의 링크가 1Mbps의 전송속도를 갖는데, 4개의 회선스위치를 갖는다면 각 연결은 지정된 전송속도의 250kbps를 얻게됨
즉, 한번 회선을 받으면 독점적으로 사용한다(dedicated)
(2) 회선 교환의 다중화(FDM, TDM)
주파수 분할 다중화(FDM, Frequency-division-multiplexing)
각 회선을 지속적으로 사용하며 대역폭의 일부를 얻음
시-분할 다중화(TDM, Time-divison-multiplexing)
시간을 일정 주기의 프레임으로 구분하고 각 프레임은 고정된 수의 시간 슬롯으로 나뉨.
네트워크가 링크를 통해 하나의 연결을 설정할 때, 네트워크는 모든 프레임에서 시간 슬롯 오직 1개만을 그 연결에 할당
이들 슬롯은 그 연결을 위해 사용되도록 할당되고, 그 연결의 데이터를 전송하기 위해 모든 프레임에 하나의 시간 슬롯을 갖게 됨.
(3) 회선 교환, 패킷 교환과의 차이?
패킷 교환은 자원을 shared on-demand방식으로 자원을 요청하여 사용하므로 communication link에 대한 접속을 위해 큐에서 기다릴 수 있다.
e.g., 예를들어 한 호스트가 인터넷과 같은 패킷 교환 네트워크를 통해 패킷을 보내고자 할 때. 패킷은 회선이 아닌 네트워크를 보내지는데 그 시간에 링크 하나가 혼잡하다면 그 패킷은 버퍼에서 기다려야 하고 지연이 발생함. 인터넷은 최대한 빠르게 패킷을 전송하려하지만 일정 시간 내에 전달하는 것을 보장하지 않음
그럼에도 패킷 교환이 더 우월하다. WHY???
회선 교환의 경우 회선을 사용하지 않을 때 할당된 회선이 비활용 기간(silent period)에 놀게 되므로 낭비
하지만, 패킷 교환의 경우 자원을 공유하므로 낭비발생 x
근데, 사용자가 많아지면 큐잉지연 때메 패킷교환이 느리지 않을까?
NO, 패킷 교환에서 한 시점에서 특정 사용자가 활동하고 있을 확률은 10%이다. 만약 35명의 사용자가 있다고 할 때 10명 이상의 사용자가 동시에 활동할 확률은 약 0.0004(0.04%)이다.
하지만, 회선 교환의 경우 100 kbps가 항상 각각의 사용자에게 독점되어야 한다.
e.g., 회선 교환의 TDM에서 1초 프레임이 100 msec마다 10개 시간 슬롯으로 나뉜다면 각 사용자는 한 프레임에 한 번의 시간 슬롯이 할당됨. 10명만 지원할 수 있음
마지막으로,
패킷교환은 회선 설정(call setup)이 필요없으므로 구현하기도 간단
하지만, 회선 교환은 종단간 회선을 설정하고 대역폭을 보존하는 것이 복잡하고, 경로에 있는 스위치들 사이의 운영을 조절하는 복잡한 신호 소프트 웨어가 필요
3.3 network of network
end system은 access ISP를 통해 인터넷에 접속하게 된다.
따라서, end system간에 서로 패킷을 주고받기 위해서는 ISP가 서로 연결되어있어야한다.
만약 아래처럼 연결되어있으면??
매우 비효율적이다. 각각의 모든 ISP와 연결하려면 비용이 어마어마하다.
따라서, 아래 그림의 global ISP를 사용해야한다.
각 access ISP마다 하나의 global transit ISP에 연결되어있는 모습이다.
이렇게 되면, ISP의 갯수만큼만 O(N) 연결하면된다.
Global ISP (A, B, C)가 있을 때 이들 간에도 연결이 필요하다.
그것을 IXP(Internet eXchange Point)라고 한다.
IXP는 다중의 ISP들이 서로 peering할 수 있는 만남의 장소라고 볼 수 있다.
또한, Content provider network도 있는데 Google이나 Microsoft 같은 것들이다.
이들은 그들 자신만의 네트워크를 가지고 서비스를 가져와 end system과 content를 주고받는다.
Global ISP와 Content provider network가 지역 ISP와 연결되었으면 마지막으로지역 ISP와 각 access ISP업체들과 연결한다.
<정리>
4. 패킷 교환 네트워크에서의 지연, 손실과 처리율
4.1 패킷 교환네트워크 지연 개요
buffer에서 packet이 delay가 일어나는 경우가 4가지 있다 :
(1) 노드처리지연(processing delay)
패킷 헤더(오류)를 조사하고 그 패킷을 어떤 출력링크로 보낼지를 결정하는 시간(일반적으로 ms)
(2) 큐잉지연(Queuing delay)
큐에서 출력링크로 전송되기를 기다리는 시간
1. 특정 패킷 큐잉 지연 길이는 큐에 앞서 도착한 패킷의 수에 의해 결정되며
2. 라우터의 혼잡제어 레벨에 따라 결정됨
- 출력링크가 큐로들어오는 패킷의 속도를 따라잡지 못하는 경우 발생
- 큐가 비어 있고 다른 패킷이 전송중인 상태가 아니라면 큐잉지연은 0, 트래픽이 많고 다른 많은 패킷이 전송 대기 중이면 큐잉 지연은 매우 길어짐
- 큐잉 지연은 수 μs ~ 수 ms
(3) 전송지연(transmission delay)
큐에서 하나의 패킷의 모든비트가 출력링크로 전송되는 시간
패킷의 길이를 L bits, 라우터 A에서 B까지 링크 전송률을 R bps라 할 때, R은 라우터 B로 가는 링크의 전송률에 의해 결정됨
예를 들어 10 Mbps 이더넷 링크의 경우 전송률 R은 10 Mbps인 것(100Mbps면 100Mbps임)
이 때 전송지연은 L/R임. 일반적으로 수 μs ~ 수 ms
(4) 전파지연(propagation delay)
출력링크의 처음부터 라우터 B 까지의 전파에 필요한 시간
전파속도는 링크의 물리 매체(광 섬유, 꼬임쌍선)에 따라 다른데 범위는
2∗10^8 meter/sec 에서 3∗10^8 meter/sec 임(빛의 속도와 같거나 약간 작음)
전파 지연은 구 라우터 사이의 거리(링크길이)를 전파 속도로 나눈 것 👉 d/s
거의 빛의 속도..!
전파속도 ≠ 전송률(band width)
windows에서 tracert, Linux에서 traceroute를 쓰면 실제지연인 dnodal 를 볼 수 있으며, 총 3번의 실험을 한다.(전송과 라우터의 응답사이의 시간) 또한 이 명령어는 end system간의 경로도 출력해준다.
4.2 큐잉지연과 패킷손실
(1) 큐잉지연
앞의 3가지 지연과 달리 큐잉지연은 패킷마다 모두 다르다. 예를들어, 10개의 패킷이 날라갔다고 가정할 때 1번째 패킷은 큐잉지연이 없지만, 10번째 패킷은 매우긴 큐잉지연이 될 것이다. 따라서 일반적으로 큐잉지연을 말할 때 모든 패킷의 평균으로 계산하게 된다.
R : link bandwidth (bps) # 전송률(비트가 큐에서 밀려나오는 비율)
L : packet length (bits) # 하나의 패킷의 비트 수
a : average packet arrival rate # 패킷이 큐에 도착하는 평균율(단위:packet/sec)
평균적으로 초당 몇개의 패킷이 큐에 도착?
L*a : 비트가 큐에 도착하는 평균율(큐에 쌓이는 정도로 이해하면 쉽다.)
평균적으로 초당 몇개의 비트가 큐에 도착?
La/R : 트래픽 강도(traffic intensity)
큐가 매우 커서 무한대 비트를 저장할 수 있다고 가정
La/R = 0 : average. 큐잉지연이 없음
La/R → 1 : average. 큐잉지연이 커짐
La/R > 1 : 무한대의 큐잉지연!
궁금증❓ 들어오는 속도와 나가는 속도가 같으면 1이 아닌가라는 생각이 들텐데 a는 평균이기 때문에 훨씬 큰 값이 들어오기도 한다.
(2) 패킷손실
패킷이 무한대로 큐로 온다고 가정함
현실적으로 큐의 용량은 스위치 설계와 비용에 크게 의존하며, 일반적으로 유한 용량을 가짐
큐 용량이 유한하므로 트래픽 강도가 1에 접근함에 따라 패킷 지연이 실제로 무한대가 되진 않는다
다만, 패킷이 도착해서 큐가 꽉 찬 것을 발견하면, 라우터는 그 패킷을 버림(drop, lost)
종단 시스템 입장에서 패킷 손실은 캐핏이 네트워크 코어로 전송되었으나, 네트워크로부터 목적지에 나타나지 않는 것으로 보임
4.3 종단간 지연
출발지 호스트와 목적지 호스트 사이에 N-1개의 라우터가 있다고 할 때
또한 네트워크가 혼잡하지 않으며(큐잉 지연 무시)
각 라우터와 출발지 호스트의 처리 지연은 dproc
각 링크에서의 전파지연은 dprop
각 호스트와 출발지 호스트에서의 전송률은 R bit/s, dtrans =L/R
위에 노드 지연을 더하면 종단간의 지연을 얻을 수 있음
dend−end =N(dproc+dtrans+dprop)
4.4 처리율(Throughput)
📝 처리율(Throughput) : 1초에 sender와 receiver 사이에 bit가 전송된 양(bps)
순간적인 처리율(instantaneous throughput)
컴퓨터 네트워크를 통해 호스트 A와 B가 커다란 파일을 전송하는 것을 고려할 때 어느 특정 순간에 호스트 B가 파일을 수신하는 비율(bits/s)
평균 처리율(average througnput)
위 경우에서 파일이 F 비트이고, 호스트 B가 해당 파일을 수신하는데 T초가 걸린다면
평균 처리율은 F/T(bits/s)
위 그림은 서버측의 처리율(Rs)과 클라이언트측 처리율(Rc)을 구분하고 있다.
클라이언트측 처리율이 더 크다면 average end-end throughput은 Rs
클라이언트와 출력링크사이에 병목현상(bottleneck link)이 생긴다
서버측 처리율이 더 크다면 average end-end throughput은 Rc
라우터에는 병목현상(bottleneck link)이 생긴다.
보통 라우터에서 병목현상이 생긴다.
처리율이 가장 작은데서 병목현상이 생긴다
처리율은 사용자들이 접속할 때마다 커지는 트래픽, 네트워크 장치간 대역폭, 네트워크 중간에 발생하는 에러, 장치 스펙에 영향을 받음.
대역폭(bandwidth) == 최대처리율, 즉 단위시간당 전송가능한 최대비트수5. 프로토콜 계층과 서비스 모델
5. 프로토콜 계층과 서비스 모델
5.1 계층 구조
인간은 언어라는 도구로 communication이 가능하지만, 컴퓨터는 1과 0밖에 몰라서 모든 과정을 하나하나 다 알려줘야 한다. 또한 복잡한 시스템을 다루기 위해서는 계층적으로 알려줄 필요성이 있다.
(1) 프로토콜 계층화
계층(Layers)
각 계층마다 하나의 배타적인 서비스가 구현된다.
각 프로토콜은 한 계층에 속한다.
또한, 각 계층들은 하위 계층에서 구현된 서비스들에 의존한다.
계층(Layers)을 사용하는 이유?
계층적으로 구현시 각 계층내 서비스의 구현 변경이 쉽다. 왜냐하면, 각 계층의 구현이 변화해도 다른 계층의 시스템은 변화하지 않기 때문이다.
(2) 인터넷 프로토콜 스택
요즘은 시대가 많이 좋아졌으므로 모든 데이터를 처음부터 다시 보내도 시간이 엄청나게 짧다. 따라서 data link계층이 잘 안쓰인다.
모든 계층의 프로토콜을 모두 합하여 프로토콜 스택이라고 한다.
(3) OSI 참조 모델
OSI reference model이란?
Layer의 구조를 명시적으로 표현하는 ISO에서 만든 7계층의 참조 모델이다.
참조 모델이라 함은 실제로 사용하는 것이 아니라 이러한 모델을 참조해서 계층 수는 상관 없고 그냥 7개의 기능을 모두 구현해라고 제시해주는 모델이다.
표현(presentation)계층
옛날에 "Hi"라는 데이터를 보내기 위해서 모스부호라는 것이 만들어 졌는데이진수표현만으로 보냈어야 했기 때문이다.
지금도 데이터를 역시 이진수표현으로(기계가 알아먹을 수 있는 형태로) 보내야 하므로, 이를 변환해주는 역할이 필요하다.
이 변환이 바로 표현계층의 역할이다.
세션(session)계층
우리는 이메일을 확인하기 위해서 웹브라우저를 열어서 웹브라우저에 있는 메일 시스템에 id/password를 집어 넣는다. 이것이 인증이 되면(승인이 되면) 한 세션이 열렸다 라고 표현한다. 로그아웃을 하면 그 세션이 끝난다.
위 처럼 세션계층은 상대방과 communication을 위해서 연결의 시작과 연결의 끝을 담당하는 계층이다.
딱 연결까지만 담당하는 계층이다.
오류제어/흐름제어는 그 아래에 있는 transport계층에 맡긴다.
세션계층은 인터넷 프로토콜 스택의 application계층에 포함되어 있다.
5.2 캡슐화
'Study > 컴퓨터 네트워크' 카테고리의 다른 글
컴퓨터 네트워크 6. 링크 계층과 LANs (0) | 2023.10.29 |
---|---|
컴퓨터 네트워크 5. 제어 평면 (0) | 2023.10.29 |
컴퓨터 네트워크 4. 네트워크 계층 (데이터 평면) (0) | 2023.10.08 |
컴퓨터 네트워크 3. 전송계층(Transport Layer) (0) | 2023.09.13 |
컴퓨터 네트워크 2. 어플리케이션 계층 (0) | 2023.08.31 |