아래는 연세대학교 컴퓨터 네트워크 수업을 듣고 정리한 내용입니다.
(간략하게 정리하였기에 부족한 점이 있을 수 있습니다)
What is the Internet?
- hosts
- end systems
- 네트워크 앱을 실행시키는 주체이다.
- communication links
- fiber, copper, radio, satellite 등
- transmission rate(전송속도): bandwidth(대역폭)
- packet switches
- packet -> data들의 잘라놓은 묶음 단위
- router와 switches로 구현이된다.
- Internet
- ISP(인터넷 서비스 제공자)들의 서로 연결망
- network of networks
- 일반적으로 유선 또는 무선 연결을 통해 고객에게 인터넷 액세스를 제공하는 회사
- Protocol
- 프로토콜을 통해서 메세지를 보내고, 받는 것을 컨트롤한다.
- sender와 receiver가 message를 보내는 순서나 방식을 결정하고, 그에 따른 행동까지를 규정한다.
- ex. TCP, IP, HTTP, Skype, 802.11
- Internet standards
- IETF(단체)에서 만든 RFC(document)
즉, 인터넷은 application에게 service를 제공하는 infrastructure이다.
네트워크의 구성요소들
network edge
- host: 클라이언트나 서버
- host(end system) + edge router를 칭한다.
access networks, physical media
- ISP들이 제공을 해준다.
- Wire OR Wireless communication links
- Host와 edge router를 연결해주는 부분
network core
- 서로 연결된 router들의 모임
- 패킷이 어디로 갈 지 판단하고, 전송하는 기능
Access Network - DSL(DIgital Subscriber Line)
- 기존의 전화선을 활용하되, 전화가 사용하지 않은 대역폭을 사용
- DSL modem -> 아날로그 <-> 디지털 변환
- splitter -> voice(전화)인 지 데이터인 지를 구분하여 나눠준다.
- Central office -> 전화국
- DSL access multiplexer(DSLAM) -> DSL 라인으로 들어오는 data는 Internet으로 넘겨주고, voice는 전화넷으로 넘겨준다.
- ADSL -> 대역폭이 비대칭적이다. Central Office -> 집으로 오는 대역폭이 훨씬 더 넓다.
Access Network - Cable Network
- 케이블 TV 선을 활용한다.
- DSL보다 속도가 빠르다.
- Frequency division multiplexing: 하나의 연결을 통하여 여러 집이 연결되어있기에 서로를 구분하기 위해서 주파수 밴드를 세부 조각으로 쪼개어 각각의 집 데이터를 다른 주파수로 실어서 보낸다.
- CMTS: 데이터로 가는 지, 케이블 TV로 가는 지를 판단하여 각자의 선에 알맞게 넘겨준다.
- HFC: Hybrid Fiber Coax: Asymmetric하다 (Downstream transmission rate가 훨씬 더 크다.)
Access Network - Ethernet
- 주로, 회사나 학교에서 많이 활용한다.
- 각각의 end system은 Ethernet switch로 연결이 되어있다.
Access Network - Wireless access networks
- wireless LANs
- wide-area wireless access
About Host
transmission rate(R) = link capacity = link bandwidth
packet transmission delay = time needed to transmit L-bit packet into link = L(bits) / R(bits/sec)
Physical Media
- 전송자와 수신자 사이에서 bit를 주고 받을 때 사이를 매개하는 존재
- guided media
- copper, fiber, coax와 같은 고체의 매개물
- twisted pair(TP)
- 두 개의 단열된 copper로된 wire
- coaxial cable
- 두 개의 동심원 형태의 copper 전도체
- 양방향
- 광대역
- 케이블 tv, HFC
- fiber optic cable
- light pulse를 가지고 있는 glass fiber를 활용한다.
- 매우 빠른 작업
- error 비율이 매우 작다.
- unguided media
- radio와 같이 자유롭게 시그널을 증폭시는 매개물
- radio
- 전자기학적인 스펙트럼에 시그널을 담는다.
- 양방향이다.
- 반사, 물체의 방해 등의 환경의 영향을 받는다.
- terrestrial microwave
- 안테나를 활용하는 방법
- LAN(Wifi)
- wide-area(Cellular)
- satellite
Network core
- 서로 연결된 router들의 망
- packet-switching
- hosts가 application layer의 메세지를 packet으로 쪼개는 것
- 하나의 router에서 다음 router로 packet이 움직이고, 각각의 packet은 link capacity로 전송이된다.
- hosts가 application layer의 메세지를 packet으로 쪼개는 것
Packet-switching
- store - forward
- 다음 link로 전송되기 전에 전체 packet들이 라우터에 도착해야된다.
- L-bit의 패킷을 R bps의 속도로 link를 통해서 edge router로 옮길 때 걸리는 시간 L/R seconds
- end-end delay
- source에서 destination까지 걸리는 delay(propagation delay가 없다고 가정한다면)
- 2L/R
bps
- bit per second
- ex) 100bps → 1초당 100bits데이터를 전송할 수 있다.
Queuing and loss
- arrival rate가 transmission rate보다 훨씬 빠를 때!
- packet은 queue에 저장되고, output link로 나가기 위해서 기다린다.
- 근데, 만약 memory buffer 이상으로 쌓이게되면, 사라지게 된다.(lost)
routing과 forwarding - network core functions
- routing
- 패킷이 사용하는 source-destination 경로 결정
- 라우팅 알고리즘 과 라우팅 protocol로 routing table을 만든다
- 각 라우터는 자체 테이블을 가진다
- forwarding
- packet의 destination address와 forwarding table의 header value를 활용해서 router의 어느 output으로 내보낼 지를 결정한다.
Circuit switching
- call을 통해서 source에서 destination까지의 circuit를 예약해서 리소스를 보내는 것
- call == circuit을 예약하는 것
- 하나의 링크에는 여러 개의 circuit이 있다! 해당 링크의 특정 circuit을 아예 점유하는 것
- 한번 연결하면 다른 end system은 활용할 수 없다. (no sharing)
- 전통적인 전화 네트워크에서 활용이된다.
FDM
- 여러 대역폭을 여러 유저가 나눠서 활용한다.
- 동시에 여러 유저가 활용할 수 있다.
TDM
- 전체 대역폭을 각각의 유저가 시간에 나눠서 활용한다.
Packet switching vs Circuit switching
- Packet Switching은 더 많은 유저들이 네트워크를 활용할 수 있게 해준다.
- Circuit switching
- 각각의 user가 링크의 1/10이 필요하다. 따라서 오직 10개의 channel밖에 활용할 수 없는다.(10%를 사용하든 100%를 활용하든!)
- Packet switching
- 유저가 active할 확률 = 0.1, inactive할 확률 = 0.9
- Pr(X=k) = C(35, k) pk q(35-k) → 총 35명 중에서 x명이 일어날 경우!…(독립시행)
- 근데, 우리는 x>10일 때 문제가 생긴다.
- 1 - Pr(X<=10) which is 1-(Pr(X=0) + Pr(X=1) + ... Pr(X=10))
- 1-(Pr(X=0) + Pr(X=1) + ... Pr(X=10)) ≤ 0.0004 이다!~!~!~
- 갑자기 몰리는 data에 효율적이다.
- resource를 공유
- 간단하다.(call setup이 필요없다.)
- 과도한 체증이 일어날 수 있다.
- packet delay & loss
- 따라서 프로토콜이 해당 문제점을 해결할 수 있어야한다.
- ex) reliable data transfer나 congestion control이 중요하다.
- packet delay & loss
- audio/video 앱은 circuit switching과 같이 특정 대역폭을 보장받아야한다.
- IXP(Internet exchange point)
- global ISP간의 연결 중간의 매개 포인트
- peering link
- global ISP 간의 연결 링크
- regional net가 access ISPs와 Global ISPs 간을 매개해준다.
- Tier -1 ISPs가 존재한다.
- 서로가 private하게 연결을 하는 경우가 있고,
- NAPs(Public network access points)를 통해서 서로 연결될 수도 있다.
- 그리고 그 아래에 Tier-2, Tier-3, local ISPs가 존재한다.
- 그리고, content provider network(Google, Microsoft, Akami)와 같은 회사들은 자신만의 network를 구축한다.
Packet delay의 4가지 소스
- nodal processing delay
- bit 에러를 체크한다.
- output link가 무엇인 지 결정한다.
- < mesc 이다.
- queueing delay
- queue에서 전송되기를 기다리는 시간
- router의 체증의 정도에 따라서 다르다.
- La / R → traffic intensity
- L: Packet length(bits)
- a: average packet arrival rate
- R: link bandwidth(bps)
- ~0 ⇒ queueing delay가 거의 없다.
- 1 ⇒ delay가 꽤 크다.
- < 1 ⇒ service할 수 있는 것보다 더 많이 들어온다.
- transmission delay
- 링크로 패킷을 밀어넣는 시간
- 패킷 사이즈가 커지거나, link bandwidth가 작을수록 라우터가 링크로 패킷을 처음부터 끝까지 다 밀어내는데 걸리는 시간이 길어질 것이다.
- L(packet length-bits) / R(link bandwidth-bps)
- R → 동시에 보낼 수 잇는 양!…
- propagation delay
- d (링크의 물리적 길이)
- s (전파 속도, 초당 몇 meter를 보내는가?)
- d/s
- 생각보다 전체 delay에 큰 영향을 차지한다.
Throughput
- 초당 얼마만큼의 bits를 던지는가?
- bandwidth와는 다르게, 초당 실제로 처리되는 패킷의 양을 나타내는 실용적인 지표
- (bits/time unit)
- instantaneous → 특정 시간 대에 측정한 것
- average → 긴 기간동안의 시간을 측정
protocol layers, service models
- 각각의 Network layer는 서로 의존적이면서 서로의 역할을 가지고 있다.
- layer로 나눠놓음으로써(modularization) 유지보수에 용이하다.
- 구조를 명확하게 하여 복잡한 시스템 종류들 간의 관계를 정립할 수 있다.
Internet protocol stack
- application
- FTP, SMTP, HTTP
- transport
- TCP, UDP
- network
- IP, routing protocols
- link
- Ethernet, 802.111 (WiFi), PPP
- physical
- on wire
ISO/OSI reference model
- presentation
- application에서 넘어온 data가 어떤 의미인지 해석하는 역할
- encryption
- compression
- application에서 넘어온 data가 어떤 의미인지 해석하는 역할
- session
- 동기화, 체크 포인트화, recovery of data exchange
Internet protocol stack에서는 위의 단계를 application에서 진행한다.
'Computer Science > 컴퓨터 네트워크' 카테고리의 다른 글
[컴퓨터 네트워크] Chap4. Network Layer: The Data Plane (0) | 2024.01.05 |
---|---|
[컴퓨터 네트워크] Chap3. Transport Layer(2) (0) | 2023.10.21 |
[컴퓨터 네트워크] Chap3. Transport Layer(1) (0) | 2023.10.20 |
[컴퓨터 네트워크] Chap2. Application Layer(2) (1) | 2023.10.19 |
[컴퓨터 네트워크] Chap2. Application Layer(1) (0) | 2023.10.16 |