
인터넷은 전 세계적으로 수십억 개의 컴퓨팅 장치를 연결하는 컴퓨터 네트워크
처음에는 pc, 리눅스 등의 정보를 저장하고 전송하는 서버들만 컴퓨팅 장치였음
그러나 이제는 다른 비전통적인 인터넷 사물들도 인터넷에 연결되고 있다.
⇒ 이러한 장치들을 호스트, 종단 시스템이라고 부르기로 함
종단 시스템은 통신링크와 패킷 스위치의 네트워크로 연결된다.
-통신링크: fiber, radio, copper 등이 있으며 각각의 링크들은 다양한 전송률을 이용함
-패킷 스위치: 입력 통신 링크의 하나로 도착하는 패킷(데이터 덩어리) 을 받아서 출력 통신 링크의 하나로 그 패킷을 전달해줌
✅ 패킷스위치는 라우터, 링크 계층 스위치로 두 가지가 있다.
-네트워크: 장치, 라우터, 링크 등의 집합체.
-인터넷: 네트워크들의 네트워크로, ISP(인터넷 서비스 제공자)를 통해 접속할 수 있다
인터넷의 구성요소들은 인터넷에서 정보 송수신을 제어하는 여러 프로토콜 (통신 규약) 을 수행함.
❗TCP(4L 핵심포트)와 IP(3L 핵심포트)는 인터넷에서 가장 중요한 프로토콜임
인터넷은 애플리케이션에 서비스를 제공하는 Infra Structure로서도 기술할 수 있다
즉 웹서핑, 전자메일뿐만 아니라 온라인 소셜 미디어, 영화 스트리밍등도 인터넷에 포함된다.
이러한 애플리케이션은 서로 데이터를 교환하는 많은 종단 시스템을 포함하고 있다.
⇒ 그래서 분산 애플리케이션 (distributed application) 이라고 한다.
❗인터넷 애플리케이션은 종단 시스템에서 수행됨
프로그래밍 인터페이스는 분산 어플리케이션이 어떻게 수행될지 명시한다.

왼쪽은 사람간의 대화 (사람 프로토콜)이고 오른쪽은 컴퓨터 네트워크 프로토콜이다.
둘 다 통신하는 둘 이상의 원격 개체(사람)가 있어야하고, 모든 활동은 프로토콜(규칙)이 제어
즉, 프로토콜이란?
→ 둘 이상의 통신 개체 간에 교환되는 메시지 포맷과 순서뿐만 아니라, 메시지의 송수신과 다른 이벤트에 따른 행동들을 정의
이제 컴퓨터 네트워크의 구성요소를 더 자세히 살펴보자
이전 장에서 배운 내용 중, 인터넷에 연결되는 컴퓨터와 그 밖의 장치를 컴네 용어로 종단 시스템 이라고 한다. 라는 사실만 기억하셈**
종단 시스템은 호스트라고도 불리는데, 호스트는 클라이언트와 서버로 구분된다.
서버는 데이터센터 내에 있다
: 종단 시스템을 그 종단 시스템으로부터 먼 거리에 있는 다른 종단 시스템까지의 경로상에 있는 첫 번째 라우터(edge router) 에 연결하는 네트워크
Q. end system(종단 시스템)에 edge router를 어떻게 연결시킬까?
이때 패킷 전송 딜레이 = L / R
우선 네트워크 코어 함수에는 두가지 중요한 게 있다.
Forwarding에는 두가지 방법이, 있는데
첫번째로는
이다.
: 패킷이 완전히 도착한 후에야 도착 지점을 빠져나갈 수 있다.

L 비트 패킷을 R bps 전송률로 보낼 때, L / R 초의 패킷 전송 지연이 생긴다.
❗️queueing and packet loss
queueing: 패킷이 대기줄에 있을 때 걸리는 시간으로, queueing이 극단적인 경우에는 loss가 발생한다.
설명하자면, 도착하는 패킷이 한 링크로 전송되어야 하는데, 그 링크가 다른 패킷을 전송하고 있다면 다른 패킷은 출력 버퍼에서 대기해야 한다.
그러나, 버퍼는 크기가 유한하여 만약 버퍼가 전송 대기중인 패킷들로 꽉 차 있는 경우는 패킷 손실이 발생한다.
어떤 패킷이 손실되는 지는 경우에 따라 다르나, 뒤에서 자세히 설명하겠다.
두번째로는
이다.
회선 교환 네트워크에서는 종단 시스템 간에 통신을 제공하기 위해 경로 상에 필요한 자원들은 통신 세션동안 예약된다. (패킷과의 차이점)

두 host가 통신하고 싶을 때, 네트워크는 두 host 사이에 지정된 종단 간 연결을 설정한다.
EX) 호스트A가 호스트B와 통신하기 위해 네트워크는 먼저 2개의 링크 각각에 한 회선을 예약한다.
이때, 회선은 공유하지않는다
링크 내 한 회선은 주파수 분할 다중화 (FDM) 혹은 시분할 다중화 (TDM) 로 구현된다.

각 회선을 지속적으로 대역폭의 일부를 얻음

각 회선은 짧은 시간(slot)동안 주기적으로 전체 대역폭을 얻음
예를 들어, 사용자가 1 Gbps 링크를 공유하고, 각 사용자는 활동 시간에 100Mbps 속도이고 전체 시간에서 10%만 활동한다고 가정하자
그러면 얼마나 많은 사용자가 이 네트워크를 이용할 수 있는가?
1. 회선 교환일 경우 : 10명 (1Gbps/100Mbps)
2. 패킷 교환일 경우 : 만약 35명의 사용자가 있다면, 11명 이상의 사용자가 동시에 활동할 확률은 0.0004이다.
-> 따라서 이 경우에는 패킷 교환이 더 우수하다.
❓ 두 방식의 가장 큰 차이점 ❓
회선 교환은 요구에 관계없이 미리 전송 링크를 할당하는 반면,
패킷 교환은 요구할 때만 링크를 할당한다.
-> 즉, 패킷 교환은 회선 교환처럼 사용하지않는 링크 시간에는 링크를 할당할 필요가 없다.
물론 지나친 혼잡 문제(패킷 지연&손실)라는 단점도 있다.