목차
1. 네트워크 구조
- network edge
- end systems(hosts)
- application program을 실생하는 주체
- client/server model
- client host requests, receives service from always-on server
- server
- always-on host
- permanent IP address
- data centers for scaling
- clients
- communicate with server
- may be intermittently connected
- may have dynamic IP
- do no communicate directly with each other
- ex) web browser/server, email
- network core
: mesh of interconnected switches and links
- routers
- network of networks
- how data transferred through net?
- circuit
- access networks, physical media
2. Network Edge
2.1 Data transfer between end systems (2 ways)
2.1.1 connection-oriented service: TCP(Transmission Control Protocol)
- 제공 기능
- reliable, in-order byte-stream data transfer : 데이터를 신뢰성 있게(유실되지 않을 채), 순서대로 전달하는 것
- flow control
: reciever가 받을 수 있는 데이터 속도에 맞춰 데이터 속도를 조절하는 것
- congetstion control
: 네트워크 상황에 맞춰 데이터 속도를 조절하는 것
- apps using TCP
- HTTP(web), FTP(FIle transfer), Telnet(remote login), SMTP(email)
- 단점
- computer/network resource를 필요로 함
2.1.2 connectionless service: UDP(User Diagram Protocol)
- 제공 기능
- connectionless
:connection을 요구하지 않음
- unreliable data transfer
- no flow control
- no congestion control
- ****apps using UDP****
- streaming media, teleconferencing, DNS, Internet telephony
- 장점
- unreliable해도 되는데 속도가 빠른 걸 요구하는 서비스에 적용
- 전화
- 음성 패킷 몇 개 유실되도 사용자 인식하지 않지만, 빠른 데이터 전달 필요
3. Network Core
3.1 Data transfer between routers (2 ways)

there are two fundamental approaches to moving data through a network of links and switches(=network core):
3.1.1 Circuit Switching
- communication은 위한 path 전체를 확보해놓고 데이터를 전송하는 방식(dedicated communication path)
- 통신 중에는 그 path는 공유되지 않으며
- 통신이 끝날 때까지 그 path는 그 통신에만 할당된다.
- 장점
- path는 오직 한 통신에만 할당되기 때문에 데이터 전송 속도가 빠르다
- 단점
- path는 공유되지 않기 때문에 많은 사용자들이 그 네트워크를 동시 사용하지 못한다
- communication path를 처음에 확보할 때 시간이 좀 걸릴 수 있다
- ex)
3.1.2 Packet Switching
- 데이터를 연속적인 작은 블록인 packet 형태로 나누고, 패킷들을 출발지부터 도착지 사이에 있는 노드들을 통해 전송하는 방식
- path가 공유됨
- store-and-forward 방식
- 장점
- 동시에 많은 사용자들이 데이터를 전송할 수 있다(=네트워크를 사용할 수 있다)
- 단점
- 선로가 공유되기 떄문에, 이로 인한 delay나 loss가 발생할 수 있다
- ex)
3.2 Delay & loss in packet-switched networks
3.2.1 Why do delay and loss occur?
packets queue in router buffers
- when packet arrival rate to link exceeds output link capacity, packets queue and wait their turn
3.2.2 4 sources of packet delay

- nodal processing delay
- time required to examine the packet’s header and determine where to direct the packet
- time for bit-level error checks
- after this processing, the router directs the packet to the queue that preceded the link to router B
- 개선책: 성능 좋은 라우터로 바꾸기 (처리 속도가 빨라지기 때문)
- queueing delay
- the delay will depend on the number of earlier-arriving packets that are queued
- if queue empty, queueing delay = 0
- queue가 다 꽉 찼는데 packet이 들어오면, 그 패킷은 유실됨 → 현재 대부분의 데이터 유실이 queue에서 발생!
- TCP에선 network edge가 패킷을 재전송함
- router - no brains!
- transmission delay
- the time required to push all of the packet’s bits in the link
- dependent on transmission rate(=link bandwidth = bps) and packet length
- if transmission rate is R, packet length is L, transmission delay = L / R
- 개선책: bandwidth가 더 높은 link로 바꿈
- propagation delay
- time required to propagate from the beginning of the link to the router
- dependent on propagation rate(~2x10^8 m/sec) and distance
- if propagation rate is s, distance is d, propagation delay = d / s
⇒ Caravan analogy
- time for toll booth to service car = transmission time
- propagate speed = propagation rate
4. Protocol
: 같은 계층들끼리 통신할 수 있도록 하는 통신 규약 및 약속
- all communication in Internet coordinated with protocol