네트워크 1주차 정리
The Internet: a “nuts and bolts” view
수십개의 디바이스그 연결됨->
인터넷 '엣지(Edge)'에서 네트워크 애플리케이션을 실행하는 시스템
host
- 네트워크 상에 연결되어있는 디바이스를 말한다(end system이라고도 말함)
packet
- 네트워크에서 데이터를 패킷 형태로 전달한다
packet swithes
- 패킷(데이터 조각)을 전송한다.
- 라우터, 스위치
Communication links
- 데이터나 정보를 전송하는 경로 또는 링크 link는 호스트, 스위치 끼리 연결된 선을 말한다.
- 광섬유,구리 케이블,위성 등
- bandwidth: 전송률 (대역폭이라고도 한다)
Networks
- 기관(조직)에 의해 관리되는 장치, 라우터, 연결(링크)의 집합

The Internet: a “nuts and bolts” view
Internet:
- 네트워크들이 연결되어 네트워크를 형성한다
- 상호 연결된 ISPs(Internet Service Provide)
protocol
- 메시지의 송수신을 제어한다.
ex) HTTP (웹), 스트리밍 비디오, Skype, TCP, IP, WiFi, 4G, 이더넷
Internet standards
- 인터넷 표준문서
- RFC: 표준을 제안함
- IETF:인터넷 표준화 지구

The Internet: a “services” view
응용 프로그램에 서비스를 제공하는 인프라:
- 웹, 스트리밍 비디오, 멀티미디어 화상 회의, 이메일, 게임, 전자 상거래, 소셜 미디어, 연결된 애플리케이션 등
인터넷: "서비스" 관점

What’s a protocol?
네트워크 프로토콜:
- 인간이 아닌 컴퓨터(장치)를 대상으로
- 인터넷의 모든 통신 활동은 프로토콜에 의해 규제됩니다.
프로토콜:
- 네트워크 엔티티 간에 전송 및 수신되는 메시지의 형식과 순서를 정의하며, 메시지 전송 및 수신 시 취해야 할 동작을 정의한다.
Network edge: hosts, access network, physical media
네트워크 엣지:
- 호스트: 클라이언트 및 서버
- 서버는 종종 데이터 센터에 위치한다.

접속 네트워크, 물리적 미디어:
- 유선 및 무선 통신 링크

Access networks: cable-based access
종단 시스템을 엣지 라우터에 어떻게 연결할까?
- 주거용 액세스 네트워크
- 기관용 액세스 네트워크 (학교, 회사)
- 이동 액세스 네트워크 (WiFi, 4G/5G)

주파수 분할 다중화 (FDM): 서로 다른 채널이 서로 다른 주파수 대역에서 전송된다

유선 및 광섬유로 이어진 네트워크는 집을 ISP 라우터에 연결한다.
• 네트워크는 하나의 회선을 공유한다( 기본적으로 유선)
Wireless access networks
공유 무선 액세스 네트워크는 종단 시스템을 라우터에 연결한다.
▪ 기지국 또는 "액세스 포인트"를 통해서
무선 로컬 지역 네트워크 (WLAN)
- 일반적으로 건물 내부 또는 주변에 위치(~100피트)
802.11b/g/n/ac (WiFi): 11, 54,450/866.7 Mbps의 전송 속도 - WiFi: 셀룰러망이랑 별도의 네트워크 망
광역 셀룰러 액세스 네트워크 - 이동 통신망, 셀룰러 네트워크 운영자에 의해 제공됨 (10's km)
4G/5G 셀룰러 네트워크
Host: sends packets of data
호스트 송신 함수:
- 응용 프로그램 메시지를 받음
- L 비트 길이의 패킷으로 나눔
- 패킷을 전송률 R로 액세스 네트워크로 전송
호스트: 데이터 패킷을 보낸다
- 1. 앱에서 메세지를 받는다
- 2. 패킷을 L 단위 비트로 쪼갬
- 3. 전송 속도(전송률) R로 패킷을 엑세스 네트워크로 전송
링크 전송률, 일명 링크 용량, 또는 링크 대역폭)
- link capacity, bandwitdth
패킷이 전달되는데 걸리는 시간(delay)
= L-bit 패킷을 링크로 전송하는데 필요한 시간 = L(bit)/R(bit/sec)
Links: physical media
비트(bit): 송신기 / 수신기 쌍 간에 전파된다
physical link
- 송신기와 수신기 사이에 있는 것
guided media
- 구리선, 케이블 렌선
- 신호가 고체 매체에서 전파된다: 구리, 광섬유, 동축
unguided media
- 비트 신호가 자유롭게 퍼져나감 (무선)
- ex) 와이파이, 셀룰러, 블루투스
Twisted pair(TP)
두 개의 절연된 구리선
- 카테고리 5: 100 Mbps, 1 Gbps 이더넷 , 일반적으로 많이 사용된다
- 카테고리 6: 10Gbps 이더넷
포트(네트워크 인터페이스)
NIC(네트워크 인터페이스 카드)
고속 ->100GBPS (광케이블)
일반-> 100 mbps

동축 케이블:
▪ 두 개의 동심 구리 도체
▪ 양방향
▪ 대역폭이 넓음:
• 케이블에 여러 주파수 채널이 있음
• 채널 당 100 Mbps 이상
광섬유 케이블:
▪ 빛 펄스를 운반하는 유리 섬유, 각 펄스는 비트
▪ 고속 작동:
• 고속 지점 간 전송 (10Gbps-100Gbps)
▪ 낮은 오류율:
• 멀리 떨어져 있는 중계기
• 전자기 잡음에 면역적
무선 라디오:
▪ 전자기 스펙트럼의 여러 "대역"에 신호가 전달됨
▪ 물리적 "선"이 없음
▪ 방송, "반 이중" (송신자에서 수신자로)
▪ 전파 환경의 영향:
• 반사
• 물체에 의한 가로막힘
• 간섭/노이즈
무선 라디오 링크 유형:
▪ 무선 로컬 에어넷 (WiFi)
▪ 광역 (예: 4G 셀룰러)
▪ 블루투스: 짧은 거리, 제한된 속도
▪ 위성
• 채널당 최대 45 Mbps
• 종단 간 지연 시간 270 밀리초
네트워크 정리 2주차
The network core
- 상호 연결된 라우터망(호스트는 없고 라우터만 존재)
- 패킷 스위칭: 호스트는 응용 계층 메시지를 패킷 형태로 조각낸다, 서로 다른 호스트들이 메세지 교환을 위해 사용한다.
- 네트워크는 패킷을 송신지에서 목적지까지 경유 링크를 통해 다음 라우터로 전달한다.
네트워크는 소스에서 대상까지의 경로에 있는 링크를 통해 한 라우터에서 다음 라우터로 패킷을 전달한다.
* 라우터 = 스위치와 동일한 것 오늘날 스위치로 많이 부름
Two key network-core functions

Routing
- 송신호스트------> 수신호스트 (경로 설정)
- 네트워크 코어망을 거친다
- 전역적인 행위-> 패킷이 따라가는 경로 설정 즉 패킷이 취하는 출발지에서 목적지까지의 경로를 결정
- 라우팅 알고리즘: 어떤 기준에 의해서 최적의 경로를 찾는다 ( 기준은 라우팅 알고리즘마다 다 다름, 대게 지연시간이 적은 것을 선호)
Forwarding
- Switching이라고도 불림
- 지역적인 행위-> 라우터의 입력 링크로 들어오는 패킷을 적절한 라우터 출력 링크로 이동
- 패킷 헤더-> 목적지 주소가 적혀있다.
*스위치의 역할: 패킷 포워딩
Packet-switching: store-and-forward
Packet Switching -> 패킷을 저장하고 전달한다.
패킷은 비트 덩어리
.
패킷 전송 지연(Packet transmission delay)
- 패킷을 내보낼 때까지 걸리는 시간
- R bps(스위치에서 초당 보낼 수 있는 비트 수)로 L 비트 패킷을 전송(밀어 넣음)하는 데 L/R 초가 걸린다ex) 32bps 1초에 32bit 전송
저장과 전송
- 전체 패킷은 다음링크에서 전송되기전에 라우터에 도착해야한다
- 포워딩하기 전에 패킷 저장 ( 스위치에 있는 메모리에 패킷을 저장하고 패킷을 확인 후 패킷을 전달한다)
One-hop numerical example:
▪ L = 10 Kbits
▪ R = 100 Mbps
▪ one-hop transmission delay = 0.1 msec
*1s=1000ms
=10^3ms
=10^6마이크로세컨드
=10^9나노세컨드
Packet-switching: queueing

현재 패킷이 들어오는 속도가 나가는 속도보다 훨씬 빠르다
-> 큐잉 딜레이가 발생한다
패킷 대기 및 손실: 일정 기간 동안 링크로의 도착 속도(비트/초)가 링크의 전송 속도(비트/초)를 초과하면
- 패킷은 출력 링크에서 전송을 기다리기 위해 대기열에 들어간다.
- 라우터의 메모리(버퍼)가 가득 차면 패킷이 삭제(손실)될 수 있다.
- 메모리는 유한하기 때문에 패킷을 저장할 수 없게 된다면 스위치는 패킷을 버린다.
Alternative to packet switching: circuit switching
packet network와 다르게 circuit network는 데이터가 호스트에서 목적지로 가는 경로가 단 하나.
->유일한 경로를 통해 데이터 전송
미리 예약된 회로: 통화나 데이터 통신을 시작하기 전에 발신자와 수신자 간에 전용 회로가 설정된다. 이 회로는 전송되는 데이터의 경로를 정의하며, 데이터 전송 중에 경로가 변경되지 않는다,
고정 대역폭: 설정된 회로는 데이터 전송 중에 일정한 대역폭을 보장한다. 이것은 회로가 설정되면 해당 회로에서 사용 가능한 대역폭이 다른 용도로 공유되지 않음을 의미한다.
무거운 신호 손실: 회로 스위칭은 데이터를 전송하는 동안 중간에 패킷 손실이 발생하지 않도록 보장한다. 데이터는 전송 중에 회로를 따라 이동하므로 경로상에서 손실이 발생할 가능성이 상대적으로 낮다.

Packet switching versus circuit switching
circuit-switching:
- 회선을 n등분하여 많은 사람이 사용할 수 없지만 성능이 보장된다. 빠른 데이터 전송 주로 전화로 사용된다
packet switching:
- 하나의 회선을 모두 다 같이 쓰게한다. 많은 사람이 사용할 수 있지만 성능과 전송속도는 보장하지 않는다. 주로 인터넷에서 사용된다.
확장성:한번에 네트워크를 사용할 수 있는 사용자의 수가 많아진다.
Internet structure: a “network of networks”
호스트는 액세스 인터넷 서비스 제공 업체(ISP)를 통해 인터넷에 연결한다.
액세스 ISP는 다시 상호 연결되어야한다. 또한 어디에서나 두 호스트가 패킷을 서로 보낼 수 있도록 해야한다.
결과적으로 인터넷은 매우 복잡하다.
-> 경제 및 국가 정책에 의한 진화


모든 ISPs들을 다 연결한다면? 하나의 ISPs가 추가될 때 점점 더 많은 연결을 요구하게 된다.
국가가 관리하는 하나의 global ISP에서 모두 다른 ISP가 연결하게 된다면: Custmer 과 Provider이 경제적 동의에 따라 생겨날 것이다.
하지만 하나의 global ISP에서 다양한 사업자들이 존재하고 그들이 경쟁한다면 어떨까?



Performance: loss, delay, throughput
패킷은 라우터 버퍼에 대기하며 전송 순서를 기다린다.
- 도착 속도가 (일시적으로) 출력 링크 용량을 초과하는 경우 대기열 길이가 증가한다.
대기열된 패킷을 보유할 메모리가 가득 차면 패킷 손실이 발생한다.

Packet delay: four sources

d proc: nodal processing
- 스위치가 패킷을 처리하는데 걸리는 시간( 패킷 포워딩을 결정하는데 걸리는 시간)
- 비트 에러를 체크한다.
- 일반적으로 마이크로세스보다 짧다 따라서 생략한다.
d queueing delay
- 전송되지 않고 버퍼에서 대기하는데 걸리는시간
- 대기 시간은 라우터의 혼잡 수준에 따라 달라진다.
- 큐잉 딜레이는 다른 딜레이들과 다르게 값이 계속 그때그때마다 달라진다.
d Transmission delay
- 패킷이 전송되는데 걸리는 시간
- L: 패킷 길이 (비트)
R: 링크 전송 속도 (bps)
d trans = L/R
d propagation delay
- 전파지연, 렌선에서 비트가 이동하는 시간
- 매질과 길이에 따라서 달라진다
- 물리적 링크의 길이 d , 전파 속도 s (~2x108 m/sec)
- d prop = d/s
어떤 패킷의 queueing delay를 구하려면?
이 패킷 앞에 있는 모든 패킷의 트렌스미션 딜레이의 합을 구해야한다.
예를들면 평균 transmission delay가 10초고 패킷이 100개 있을 때 100번째 패킷의 큐잉 딜레이는 990초다
즉 99개의 transmiision delay의 합이 100번째 패킷의 큐잉 딜레이다.
* delay (지연) : 편도
latency(왕복)
round-trip-times(RTT) 왕복
Packet queueing delay (revisited)

a: 패킷 도착률
L: 패킷 길이 (bits)
R: 비트 대역폭(비트 전송률)
트래픽 강도 (Traffic Intensity) = (평균 패킷 도착률) * (평균 패킷 전송 시간)
a 값이 적당히 낮을 때 -> 트래픽이 적당히 몰렸을 때
a 값이 늘어날 수록 트래픽 강도가 급격하게 증가한다
- La/R가 0에 가까울수록 평균 대기 지연이 작아진다
- La/R가 1에 가까워질수록 평균 대기 지연이 커진다.
- La/R이 1보다 크면 "서비스할 수 있는 작업"보다 더 많은 "작업"이 도착하므로 평균 대기 지연이 무한대가 된다.
Packet loss
packet loss
- 패킷 버퍼에 남는 공간이 없어서 패킷을 버린다.
- (패킷이 버퍼에 저장된다는 것은 스위치에 있는 메모리에다가 그 패킷을 저장하는 것을 의미한다)
- 일부로 패킷 로스를 발생시키는 경우도 있다 -> 무한정 패킷을 기다리게 하면 큐잉 딜레이가 무한대에 가깝게 증가하기 때문에
- 손실된 패킷은 이전 노드에 의해 다시 전송될 수 있고, 송신자에서 다시 전송될 수도 있으며, 또는 아예 다시 전송되지 않을 수 있다.
packet drop
- 메모리 카피 여부에 따라서 결정된다.
- 메모리에 이 패킷 데이터를 복사할 것이냐 안할 것이냐
- -> 안하면 패킷 드랍,로스인 것
Throughput

Throughput
- 단위가 Transmission rate랑 동일 비트가 전송자(sender)에서 수신자(receiver)로 전송되는 속도를 나타내는 지표
- sender랑 receiver 사이에서 데이터가 초당 얼마 만큼의 비트가 전송이 되었는지를 얘기한다.
- delay가 달라지면 throughput도 달라진다. -> 하나의 패킷이 경험하는 딜레이가 짧으면 throughput이 올라간다.
- 패킷마다 경험하는 queueing delay가 계속 달라진다.
즉각적인 쓰루풋 (Instantaneous Throughput):
특정 시점에서의 비트 전송 속도를 나타낸다. 특정 시간에 얼마나 빠르게 데이터가 전송되는지를 측정한다.
평균 쓰루풋 (Average Throughput):
더 긴 시간 동안의 데이터 전송 속도를 나타낸다. 평균적으로 데이터가 어떤 기간 동안 전송되는지를 측정한다.

Rs < Rc : 앞쪽이 Rs로 제한되기 때문에 Rc가커도 처리량은 Rs다.
Rs > Rc : 뒷쪽이 Rc로 제한되기 때문에 Rs가 커도 처리량은 Rc다.
bottleneck link : 가장 좁은 링크 (병목링크) -> througuput을 결정한다.
Throughput: network scenario

연결당 종단 간 쓰루풋 (per-connection end-to-end throughput)은 주어진 연결(연결된 두 지점 간의 통신)에 대한 최소 쓰루풋을 나타낸다.
- 일반적으로 다음과 같이 계산된다:
Rc: 통신의 송신 측의 대역폭 (바이트/초)
Rs: 통신의 수신 측의 대역폭 (바이트/초)
R: 연결을 통한 전체 대역폭 (바이트/초)
위의 식에서 최소값을 선택하는 것은 연결의 양 끝 중 더 낮은 대역폭을 가진 쪽이 연결의 병목이 되기 때문이다. 따라서 실제로는 Rc 또는 Rs가 종종 병목 지점이 된다. 이로 인해 전체 연결의 쓰루풋이 해당 병목 지점의 대역폭으로 제한된다.
인터넷 병목지점-> 엣지단에 있음 ( 엣지단이 엄청난 처리량을 제공해주는 네트워크 장비가 있는게 아니기 때문에)
ISO/OSI reference model
인터넷 프로토콜 스택에는 찾을 수 없는 두 개의 계층이 있다.
표현 계층 (presentation): 응용 프로그램이 데이터의 의미를 해석할 수 있게 하는 역할을 한다. 예를 들어, 데이터 암호화, 압축, 특정 기계 관행에 대한 해석이 여기에 해당한다.
세션 계층 (session): 데이터 교환의 동기화, 체크포인팅, 데이터 교환의 복구와 관련된 작업을 담당한다.
표현 계층과 세션 계층은 독립적인 계층을 형성하기에는 역할이 적어 어플리케이션 레이어로 합쳐졌다.
Layered Internet protocol stack

응용 계층 (Application Layer):
- 네트워크 응용 프로그램을 지원한다. 예시로는 HTTP (웹), IMAP (이메일 수신), SMTP (이메일 발신), DNS (도메인 이름 시스템) 등이 있다.
전송 계층 (Transport Layer):
- 프로세스 간 데이터 전송을 처리한다. 주로 TCP (전송 제어 프로토콜)와 UDP (사용자 데이터그램 프로토콜)이 있다.
네트워크 계층 (Network Layer):
- 출발지에서 목적지까지 데이터그램의 경로를 결정하고 라우팅한다. 주로 IP (인터넷 프로토콜)와 라우팅 프로토콜이 여기에 속한다.
링크 계층 (Link Layer):
- 인접한 네트워크 요소 간의 데이터 전송을 처리한다. 예시로는 이더넷, 802.11 (WiFi), PPP (포인트 투 포인트 프로토콜) 등이 있다.
물리 계층 (Physical Layer):
- 실제로 전송되는 비트를 다룬다. 이 계층에서는 전송 매체에서 신호를 보내고 받는다.
Services, Layering and Encapsulation

- 응용 계층은 응용 서비스를 구현하기 위해 전송 계층의 서비스를 활용하여 메시지를 교환한다.
- 전송 계층 프로토콜은 응용 계층 메시지 M을 전송 계층 세그먼트를 생성하기 위해 전송 계층 계층 헤더 Ht와 함께 캡슐화한다. Ht는 전송 계층 프로토콜에 의해 해당 서비스를 구현하는 데 사용된다.

- 네트워크 계층 프로토콜은 전송 계층 세그먼트 [Ht | M]를 한 호스트에서 다른 호스트로 전송하는 데 링크 계층 서비스를 사용한다,
- 네트워크 계층 프로토콜은 전송 계층 세그먼트 [Ht | M]를 네트워크 계층 계층 헤더 Hn로 둘러싸서 네트워크 계층 데이터그램을 생성한다. Hn은 네트워크 계층 프로토콜이 해당 서비스를 구현하는 데 사용하는 헤더다.

- 링크 계층 프로토콜은 데이터그램 [Hn | [Ht | M]]을 한 호스트에서 이웃 호스트로 전송하는 데 네트워크 계층 서비스를 사용한다.
- 링크 계층 프로토콜은 네트워크 데이터그램 [Hn | [Ht | M]]을 링크 계층 헤더 Hl로 둘러싸서 링크 계층 프레임을 생성한다.

계층화(레이어드 아키텍처)
장점: 각각의 계층에 대해서만 생각하면 되기 때문에 유지보수가 편리해짐
단점: 헤더가 붙는다-> 전송해야하는 데이터의 양이 커진다.

'💾 lecture > 컴퓨터 네트워크' 카테고리의 다른 글
컴퓨터 네트워크 과제 echo software router 구현 (0) | 2024.06.05 |
---|---|
컴퓨터 네트워크 과제 rdt2.2 over UDP 구현 과제 (0) | 2024.06.05 |
컴퓨터 네트워크 과제 UDP Echo server 구현 (0) | 2024.06.05 |
[NetWork] 네트워크 정리 (3) (0) | 2023.10.28 |
[NetWork] 네트워크 정리(2) (0) | 2023.10.28 |