Network Application
- network application
- email, web, text messaging, remote login, P2P file sharing, multi-user network games, streaming stored video, voice over IP, real-time video conferencing, social networking, search etc...
- Creating a Network Application
- ์๋ก ๋ค๋ฅธ end systems ์์ ์๋ํ๊ณ network๋ฅผ ํตํด ํต์ ํ๋ ํ๋ก๊ทธ๋จ
- network-core devices ์์๋ ํ์ ์์. ๊ฑ๋ค๋ user application ์คํ ์ํจ.
Client-server paradigm
1. Application Architecture : P2P
- ์์ ์ ์ ๊ฐ๋ฅํ ์๋ฒ๊ฐ ์์ด ์์์ end systems์ด ์ง์ ์ํตํ๋ค.
- Peer๊ฐ ๋ค๋ฅธ Peer์๊ฒ ์๋น์ค๋ฅผ ์์ฒญํ๊ณ , ๋ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ค.
- Self Scalabiity (์์ฒด ํ์ฅ์ฑ) : ์๋ก์ด peer๋ ์๋ก์ด ์๋น์ค demands์ capacity๋ฅผ ๋์์ ๊ฐ์ ธ์จ๋ค.
- peer๋ ๊ฐํ์ ์ผ๋ก(intermittently) ์ฐ๊ฒฐ๋๊ณ IP ์ฃผ์๊ฐ ๊ณ์ ๋ฐ๋๋ค.
- ๋ฐ๋ผ์ ๊ด๋ฆฌ๊ฐ ๊ต์ฅํ ๋ณต์กํ๋ค.
2. Application Architecture : Client-Server
- Server
- ํญ์ ์๋ํ๊ณ ์๋ ํธ์คํธ์
- IP ์ฃผ์๊ฐ ๋ณํ์ง ์๊ณ ์๊ตฌ์ ์
- ํ์ฅ(scaling)์ ์ํ data centers๊ฐ ์์
- Client
- ์๋ฒ์ ํต์ ํ๋ ์ฃผ์ฒด
- ๊ฐํ์ ์ผ๋ก ์ฐ๊ฒฐ๋ ์ ์๋ค.
- ๋์ ์ธ(dynamic) IP ์ฃผ์๋ฅผ ๊ฐ์ง ์ ์๋ค.
- client๋ผ๋ฆฌ ์๋ก ์ง์ ์ฐ๊ฒฐํด์ ์ง์ ์ํตํ์ง ์๋๋ค.
Process and addressing
1. Process as a Communication Unit
Process : ํธ์คํธ ๋ด์์ ์คํ๋๋ ํ๋ก๊ทธ๋จ
ํ๋ก๊ทธ๋จ์ ์คํ์์ผ ์ถ๋ ฅํ๋ ๊ณผ์ ์ด ํ๋ก์ธ์ค
- Client Process : ํต์ ์ ์์ํ๋ process
- Server Process : ์ฐ๊ฒฐ์ ๊ธฐ๋ค๋ฆฌ๋ process
- P2P ๊ตฌ์กฐ์ application์ client ์ server process๋ฅผ ๋ ๋ค ๊ฐ์ง๊ณ ์๋ค.
2. Process and Socket
- process๋ ๊ทธ๊ฒ์ socket์ ํตํด ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ค.
- socket์ ํ๋์ ๋ฌธ๊ณผ ๊ฐ์ ๊ฒ!!! application์ธต๊ณผ transport๋ฅผ ์ฐ๊ฒฐํด์ฃผ๋ interface ์ด๋ค.
3. Addressing for Communications
- ๋ฉ์์ง๋ฅผ ๋ฐ์ผ๋ ค๋ฉด ํ๋ก์ธ์ค๋ฅผ ์๋ก ๊ตฌ๋ถํ ์ ์๋ identifier๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ค.
- ๊ทธ๋์ host device๋ ์ ์ผํ 32-bit์ IP address๋ฅผ ๊ฐ๋๋ค.
- ๊ทผ๋ฐ ์ด IP ์ฃผ์๋ก๋ ์ด ํจํท์ด ์ด๋ ํ๋ก์ธ์ค๋ก ๊ฐ์ผ ํ๋์ง ์ถฉ๋ถํ์ง ์๋ค!
- ๊ทธ๋์ port number๊ฐ ํ ๋น๋๋ค
- ํ๋ก์ธ์ค๋ ํต์ ์ ์ํด IP Address์ Port number๊ฐ ๋ ๋ค ํ์ํ๋ค.
- HTTP server๋ port #80์ ์ฐ๊ณ mail server๋ port #25๋ฅผ ์ด๋ค.
- www.korea.ac.kr๋ก HTTP ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ ค๋ฉด
IP Address : 163.152.6.10
port number : 80
์ผ๋ก ๋ณด๋ด์ผ ํจ
Application-layer protocol
1. Composition elements
- Types of messages exchanged
- ๊ตํํ๋ ๋ฉ์์ง์ ํ์
- ex. request, response
- Message syntax
- ๋ฉ์์ง์ ์ด๋ค fields๊ฐ ์๋์ง, ์ด fields๊ฐ ์ด๋ป๊ฒ ๊ธฐ์ ๋๋์ง(delineated)
- Message semantics(์๋ฏธ)
- fields์ ๋ด๊ธด ์ ๋ณด์ ๋ป
- Rules
- process๊ฐ ์ธ์ ์ด๋ป๊ฒ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ณ ์๋ตํ๋์ง
- Open protocols ; ์คํ ํ๋กํ ์ฝ
- Defined in RFCs (Request For Comments)
- Allows for interoperability : ์ํธ์ด์ฉ์ฑ ํ์ฉ
- ์ํธ ์ด์ฉ์ฑ : ํ๋์ ์์คํ ์ด ๋์ผ ๋๋ ๋ค๋ฅธ ๊ธฐ์ข ์ ๋ค๋ฅธ ์์คํ ๊ณผ ์๋ฌด ์ ์ฝ ์์ด ์๋ก ํธํ๋์ด ์ฌ์ฉํ ์ ์๋ ์ฑ์ง
- ex. HTTP, SMTP
- Proprietary protocols ; ๋
์ ํ๋กํ ์ฝ
- ex. Skype
2. Transport service
- Apps์ ์๋ก ๋ค๋ฅธ types์ transport service๋ฅผ ์ฌ์ฉํ๋ค!
- Data integrity ; ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ
- ์ด๋ค ์ฑ์ 100% ์ ๋ขฐ ๊ฐ๋ฅํ data transfer ๋ณด์ฅํด์ผ ํจ (ex. file transfer, web transactions)
- ์ด๋ค ์ฑ์ ์ด๋ ์ ๋์ ์์ค loss๋ ์ฉ์ธ ๊ฐ๋ฅํ๋ค(tolerate). (ex. audio)
- Timing
- ์ด๋ค ์ฑ์ "effective" ํด์ผ ํด์ ์์ฃผ ์์ delay๋ฅผ ํ์๋ก ํ๋ค. (ex. internet telephone, interactive games)
- Throughput
- ์ด๋ค ์ฑ์ "effective" ํด์ผ ํด์ ์ต์ํ์ throughput์ ์๊ตฌํ๋ค. (ex. multimedia)
- ์ด๋ค ์ฑ์ ๊ทธ๋ค์ด ์ผ๋ง๋ฅผ ๋ฐ๋ ๋ชจ๋ throughput์ ์ฌ์ฉํ ์ ์๋ค. (elastic apps)
3. Internet Transport Protocols
- TCP service
- Reliable transport : ์ ๋ขฐํ ์ ์๋ ์ ์ก, ์์ ํ ์ ์ก ๋ณด์ฅ
- Flow Control : ํ๋ฆ ์ ์ด, sender๋ receiver๋ฅผ ์ด๊ณผํ์ง ์๋๋ค. sender <= receiver
- Congestion Control : ํผ์ก ์ ์ด, network๊ฐ overloaded, ๊ณผ๋ถํ๋์ ๋ sender๋ฅผ ์กฐ์ ํ๋ ๊ฒ
- ์ ๊ณตํ์ง ์๋ ๊ฒ : timing, minimum throughput guarantee, secuity
- Connection-oriented : client์ server process ๊ฐ์ setup(์ค์ )์ด ํ์ํจ
- UDP service
- Unreliable data transfer : ์ ๋ขฐ์ฑ X
- ์ ๊ณตํ์ง ์๋ ๊ฒ : reliability, flow control, congestion control, timing, throughput guarantee, security, connection setup
- TCP์ ๋นํด ๊ฐ๋จํ๊ณ ์กฐ๊ฑด์ด ์ ์.
Web and HTTP
0. History
1. URI, URL, URN
- Uniform Resource Identifier (URI)
- resource์ ์์น๋ ๊ฐ๊ณผ ๋ ๋ฆฝ์ ์ธ resource๋ฅผ ๋ํ๋ธ๋ค
- request method๋ฅผ ์๋ฝํ๋ "black box"๋ฅผ ๊ฐ๋ฆฌํค๋ pointer ๊ฐ์ ๊ฒ!
- Formatted string
- ์๋ฒ์ ํต์ ํ๊ธฐ ์ํ protocol (ex. http)
- ์๋ฒ ์ด๋ฆ (ex. www.foo.com)
- recourse์ ์ด๋ฆ (ex. coolpic.gif)
- Name(URN), Locatior(URL), Identifier(URI)
- URI : ์ฑ ์ ๋ด์ฉ์ ๋ํํ๋ identifier
- URL : ์ฑ ์ ์์น
- URN : ์ฑ ์์ ISBN number์ฒ๋ผ globally uniqueํ name
2. HTTP overview
HTTP (HyperText Transfer Protocol)
- ์น์ application-layer์ protocol์
- Client/server model
- client : HTTP protocol์ ์ฌ์ฉํด์ ์น object๋ฅผ requests, receivesํ๊ณ display ํ๋ ๋ธ๋ผ์ฐ์
- server : ์น ์๋ฒ๋ HTTP protocol์ ์ฌ์ฉํด์ request์ ์๋ตํ๋ objects๋ฅผ ์ ์กํ๋ค.
Uses TCP
- client๊ฐ ์์ผ์ ์์ฑํด์ ์๋ฒ์ ๋ํ TCP connection์ ์์ํ๋ค. (port 80)
- ์๋ฒ๊ฐ client๋ก ๋ถํฐ TCP Connection์ accpetsํ๋ค.
- browser(HTTP Client)์ ์น ์๋ฒ(HTTP server) ์ฌ์ด์ HTTP messages (์์ฉ์ธต protocol messages)๋ฅผ ๊ตํํ๋ค.
- TCP ์ฐ๊ฒฐ์ด ๋ซํ๋ค.
HTTP๋ "stateless" ํ๋ค!
- ์๋ฒ๋ ์ง๋๊ฐ client request์ ๋ํ ์ ๋ณด๋ฅผ ๊ธฐ์ตํ์ง ์๋๋ค!
'๐ก๐ธ๐ธ๐ถ5: ๐ฆ๐๐๐๐ถ ๐ฐ๐๐พ๐ > Computer Network(COSE342)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ปดํจํฐ๋คํธ์ํฌ] CH3. Transport Layer (#1) (0) | 2021.10.19 |
---|---|
[์ปดํจํฐ๋คํธ์ํฌ] CH2. Application Layer (#4) (0) | 2021.10.18 |
[์ปดํจํฐ๋คํธ์ํฌ] CH2. Application Layer (#3) (0) | 2021.10.17 |
[์ปดํจํฐ๋คํธ์ํฌ] CH2. Application Layer (#2) (0) | 2021.10.17 |
[์ปดํจํฐ๋คํธ์ํฌ] CH1. Introduction (0) | 2021.10.16 |