Parts of a Network
- app과 연결된 노드 = host
- 단순히 노드간에 메세지를 넘겨주는 노드 = router
- 노드간의 연결 단위 = link
- 하나의 host에 여러 app이 연결? => multiplexing
Component Names
Types of Links
- Full-duplex : Bidirectional
- same frequency, same time에 양방향 통신 가능
- Half-duplex : Bidirectional
- same frequency, same time에 양방향 통신 불가하고 한방향으로만 가능
- Simplex : Unidirectional
Wireless Links
- Message is broadcast
- Received by all nodes in range
- Not a good fit with our model
- So, Often show logical links
- Not all possible connectivity
Example of Networks
Network names by scale
Internetworks
- An internetwork, or internet, is what you get when you join networks together
- Just another network
- The Internet (captial "I") is the internet we all use
Network Boundaries
Key Interfaces
- Between (1) apps and network, and (2) network components
- More formal treatment later on
1. Network-application interfaces define how apps use the network
- Sockets are widely used in practice
2. Network-network interfaces define how nodes work together
- Traceroute(경로 추적) can peek in the network
Network-Application Interface
- Defines how apps use the network
- Lets apps talk to each other via hosts; hides the details of the network
Motivating Application
Socket API
- Simple abstraction to use the network
- The network service API used to write all Internet applications
- Part of all major OSes and languages
- Supports two kings of network services
- Streams : reliably send a stream of bytes
- Datagrams : unreliably send separate messages (Ignore for now)
- Sockets let apps attach to the local network at different ports
- 하나의 호스트에 연결된 다수의 앱마다 소켓이 생성된다
- 소켓은 각기 다른 포트 번호를 가지며, 해당 포트 번호가 있기에 multiplexing이 가능하다
Sequence of Socket Connection
- Blocking call 이후에는 다음 요청이 올 때까지 기다리게 된다
Client Program (outline)
Server Program (outline)
- accept() ~ send()가 loop인 이유는 다른 client로부터의 연결을 기다려야 하기 때문이다
Network Service API Hides Details
- Apps talk to other apps with no real idea of what is inside the network
- This is good! But curious...
Traceroute
- Widely used command-line tool to let hosts peek inside the network
- On all OSes (tracert on Windows)
- Uses a network-network interface (IP) in ways we will explain later
- Probes(조사) successive hops to find network path
- 새로운 노드에 도착할 때마다 도착한 노드에 대한 정보를 송신자에게 보내는 방식이다
실습
Q. * * *의 의미는?
A. 최대 ttl보다 응답이 지연되어 측정할 수 없음을 나타내는 기호. 자세한 내용은 아래 참고
'Computer Science Lectures > Computer Networks - UW' 카테고리의 다른 글
Lecture 3b-1 ~ 3b-8: Link Layer, Part B (0) | 2022.12.04 |
---|---|
Lecture 3a.1 ~ 3a.5: Link Layer, Part A (0) | 2022.11.27 |
Lecture 2.1 ~ 2.5: Physical Layer (0) | 2022.11.23 |
Lecture 1.6 ~ 1.9: Introduction, Protocols and Layering (0) | 2022.11.13 |
Lecture 1.1 ~ 1.2: Introduction, Protocols and Layering (1) | 2022.11.13 |