728x90
๋ฐ˜์‘ํ˜•

๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๋˜ ์ค‘, ๋ฒ„ํŠผ ์•ˆ์— ์ด๋ฏธ์ง€๋ฅผ ๋„ฃ๊ณ  ์‹ถ์€๋ฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ์ด์ „์— ํ•ด๊ฒฐํ•œ ์ ์ด ์žˆ์—ˆ๋Š”๋ฐ ์–ด๋–ป๊ฒŒ ํ–ˆ๋Š”์ง€ ๊ธฐ์–ต์ด ๋‚˜์งˆ ์•Š์•˜๋‹ค.

 

์•ž์œผ๋กœ ๋น„์Šทํ•œ ์ƒํ™ฉ์„ ๋งˆ์ฃผํ–ˆ์„ ๋•Œ ์ฐพ์•„๋ณด๊ธฐ ์œ„ํ•ด ์ •๋ฆฌํ•œ๋‹ค!!

 

์ด๋ฏธ์ง€ ํฌ๊ธฐ ์กฐ์ •ํ•˜๊ธฐ

์ด๋ฏธ์ง€ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋จผ์ € extension์„ ์ถ”๊ฐ€ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

import UIKit

extension UIImage {
    func resize(targetSize: CGSize) -> UIImage? {
        let rect = CGRect(origin: .zero, size: targetSize)
        UIGraphicsBeginImageContextWithOptions(targetSize, false, 0.0)
        self.draw(in: rect)
        let resizedImage = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return resizedImage
    }
}

์ด๋ ‡๊ฒŒ UIImage ์ต์Šคํ…์…˜์„ ๋งŒ๋“ค์–ด์ค€๋‹ค.

 

 

 

๊ทธ๋ฆฌ๊ณ , ์›ํ•˜๋Š” ๋ฒ„ํŠผ์„ ์„ธํŒ…ํ•˜๋Š” ๋ถ€๋ถ„์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

private let settingButton = UIButton().then {
    let imageSize = CGSize(width: 100, height: 100) // 1
    let resizedImage = UIImage(systemName: "gearshape")?.resize(targetSize: imageSize) // 2
    $0.imageView?.contentMode = .scaleToFill // 3
    $0.setImage(resizedImage, for: .normal) // 4
}

(๋‚˜๋Š” then์„ ์‚ฌ์šฉํ•˜์˜€๋‹ค.)

1. ๋จผ์ €, ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋ฅผ CGSize๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์ •ํ•ด์ค€๋‹ค. ์œ„ ์ฝ”๋“œ์—์„œ๋Š” ๋„ˆ๋น„์™€ ๋†’์ด ๋ชจ๋‘ 100์œผ๋กœ ์„ค์ •๋˜์—ˆ๋‹ค.

2. ๊ทธ๋ฆฌ๊ณ , ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•˜๊ณ ์ž ํ•˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์™€ ์•„๊นŒ ๋งŒ๋“ค์–ด๋‘” extension์„ ์‚ฌ์šฉํ•ด์ค€๋‹ค.

3. ์ด์ œ ์ด๋ฏธ์ง€๋ทฐ์˜ contentMode๋ฅผ scaleToFill๋กœ ์„ค์ •ํ•ด ์ด๋ฏธ์ง€๊ฐ€ ๋ทฐ์— ๊ฐ€๋“ ์ฐจ๋„๋ก ํ•œ๋‹ค.

4. UIButton์— ์žˆ๋Š” setImageํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ์ด์ „์— ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•œ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์™€์ค€๋‹ค.

 

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด, UIButton ์•ˆ์— ์›ํ•˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ , ๊ทธ ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋ฅผ ๋งˆ์Œ๋Œ€๋กœ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

728x90
๋ฐ˜์‘ํ˜•
728x90
๋ฐ˜์‘ํ˜•

๊ฐœ๋ฐœ์„ ํ•˜๋˜ ์ค‘, ํ…Œ์ด๋ธ” ๋ทฐ ์•„๋ž˜ ์ž๊พธ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ๋ถ„์„ ์ด ์ƒ๊ธฐ๋Š” ๊ฑธ ํ™•์ธํ–ˆ๋‹ค.

 

limitTableView.separatorStyle = .none

 

๊ทธ๋Ÿด ๋•Œ๋Š” ์ด๋ ‡๊ฒŒ ๊ตฌ๋ถ„ ์Šคํƒ€์ผ์„ .none์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋œ๋‹ค.

 

 

์ด์ œ ์ด๋ ‡๊ฒŒ ๊ตฌ๋ถ„์„ ์ด ์‚ฌ๋ผ์ง„ ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค !

728x90
๋ฐ˜์‘ํ˜•
728x90
๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

2.1 ๋„คํŠธ์›Œํฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์›๋ฆฌ

Creating a network app

  • software ๊ฐœ๋ฐœ์ž ๊ด€์ ์—์„œ๋Š” ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ๊ฐ€ ๊ณ ์ •๋˜์–ด ์žˆ๋‹ค. ํ•˜์ง€๋งŒ, application ๊ตฌ์กฐ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์„ค๊ณ„ํ•˜๋ฉฐ, ์—ฌ๋Ÿฌ ์ข…๋‹จ ์‹œ์Šคํ…œ์—์„œ ์–ด๋–ป๊ฒŒ ์กฐ์ง๋˜์–ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ์•Œ๋ ค์ค€๋‹ค.
  • ์ด๋Ÿฌํ•œ application ๊ตฌ์กฐ๋Š” ํฌ๊ฒŒ 2๊ฐ€์ง€๋กœ ๋‚˜๋‰œ๋‹ค.
    • Client - server ๊ตฌ์กฐ
    • P2P ๊ตฌ์กฐ

Client-server paradigm

  • Server
    • ํ•ญ์ƒ ๋™์ž‘ํ•˜๊ณ  ์žˆ๋Š” ์„œ๋ฒ„๊ฐ€ ์กด์žฌํ•˜๊ณ , Client๋ผ๋Š” ๋‹ค๋ฅธ ํ˜ธ์ŠคํŠธ๋“ค๋กœ๋ถ€ํ„ฐ ์„œ๋น„์Šค ์š”์ฒญ์„ ๋ฐ›๋Š”๋‹ค.
    • ์„œ๋ฒ„๋Š” ์ž˜ ์•Œ๋ ค์ง„ ๊ณ ์ • IP ์ฃผ์†Œ๋ฅผ ๊ฐ–๋Š”๋‹ค. (permanent IP address - not change)
    • ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ์˜ค๋Š” ๋ชจ๋“  ์š”์ฒญ์— ๋” ์‘๋‹ตํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•  ๋•Œ
      • ๋งŽ์€ ์ˆ˜์˜ ํ˜ธ์ŠคํŠธ๋ฅผ ๊ฐ–์ถ˜ data center๊ฐ€ ๊ฐ•๋ ฅํ•œ ๊ฐ€์ƒ์˜ ์„œ๋ฒ„๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์—ญํ• ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.
      • ๋ณดํ†ต 10๋งŒ๊ฐœ ์ •๋„์˜ ์„œ๋ฒ„๋ฅผ ๊ฐ–์ถ”๊ณ  ์žˆ๋‹ค.
  • Clients
    • ํ•„์š”ํ•  ๋•Œ connect ํ•œ๋‹ค.
    • may be intermittently connected (๊ฐ„์ ‘์ ์œผ๋กœ, ๊ฐ€๋”์‹ ์—ฐ๊ฒฐ๋œ๋‹ค)
    • dynamic IP address๋ฅผ ๊ฐ–๋Š”๋‹ค.
    • Client๋ผ๋ฆฌ๋Š” ์ง์ ‘ ํ†ต์‹ ํ•˜์ง€ ์•Š๋Š”๋‹ค.

P2P ๊ตฌ์กฐ

  • Client์™€ server ๋‘˜ ๋‹ค์˜ responsibility๋ฅผ ๊ฐ–๋Š”๋‹ค.
  • ํ•ญ์ƒ ์ผœ์ ธ์žˆ๋Š” ์„œ๋ฒ„์— ์˜์กดํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ์ž„์˜์˜(arbitrary) end system๋“ค์€ ์ง์ ‘ ์†Œํ†ตํ•œ๋‹ค.
    • ์ฆ‰, peer๋ผ๋Š” ๊ฐ„ํ—์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ํ˜ธ์ŠคํŠธ ์Œ์ด ์„œ๋กœ ์ง์ ‘ ํ†ต์‹ ํ•˜๊ฒŒ ํ•œ๋‹ค.
  • peer๋Š” ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์•Œ๊ณ  ์žˆ๋Š” Client(laptop ๊ฐ™์€ ๊ฒƒ๋“ค)
  • **Self scalability(์ž๊ฐ€ํ™•์žฅ์„ฑ)**๋ฅผ ๊ฐ–๋Š”๋‹ค.
    • ์ฆ‰, ์‚ฌ์šฉ์ž๊ฐ€ ๋งŽ์•„์งˆ์ˆ˜๋ก ๋„คํŠธ์›Œํฌ์— ๋ถ€๋‹ด์ด ์ปค์ง€๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์˜คํžˆ๋ ค ์„œ๋กœ ๋„์™€์„œ ๋„คํŠธ์›Œํฌ์˜ ํšจ์œจ์„ฑ์ด ๋†’์•„์ง„๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด, ํŒŒ์ผ ๊ณต์œ  application์—์„œ๋Š” ๊ฐ peer๋“ค์ด ํŒŒ์ผ์„ ์š”๊ตฌํ•˜์—ฌ ์ž‘์—… ๋ถ€ํ•˜๊ฐ€ ์ƒ๊ธฐ์ง€๋งŒ, ๊ฐ Peer๋“ค์€ ํŒŒ์ผ์„ ๋‹ค๋ฅธ Peer๋“ค์—๊ฒŒ ๋ถ„๋ฐฐํ•˜์—ฌ ์‹œ์Šคํ…œ์— ์„œ๋น„์Šค ๋Šฅ๋ ฅ์„ ๊ฐ–์ถ˜๋‹ค.
  • data center ๋“ฑ์ด ํ•„์š” ์—†์œผ๋ฏ€๋กœ ๋น„์šฉ์ด ํšจ์œจ์ ์ด๋‹ค.

 

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป 2.1.2 ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹ 

์‹ค์ œ ํ†ต์‹ ํ•˜๋Š” ๊ฒƒ์€ ํ”„๋กœ๊ทธ๋žจ์ด ์•„๋‹ˆ๋ผ, ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์ธ process์ด๋‹ค.

  • ๊ฐ™์€ host ๋ฒ”์œ„ ๋‚ด์—์„œ, ๋‘๊ฐœ์˜ process๋“ค์€ IPC๋ฅผ ์‚ฌ์šฉํ•ด communication ํ•œ๋‹ค.
    • Inter-process-communication : ๋‘ ๊ฐœ ์ด์ƒ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฐฉ๋ฒ•
  • ๋‹ค๋ฅธ host ๋ฒ”์œ„ ๋‚ด์—์„œ๋Š” exchanging messages๋ฅผ ํ†ตํ•ด ์†Œํ†ตํ•œ๋‹ค.
  • 2๊ฐœ์˜ ์ข…๋‹จ ์‹œ์Šคํ…œ์—์„œ ํ”„๋กœ์„ธ์Šค๋Š” ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•œ ๋ฉ”์‹œ์ง€ ๊ตํ™˜์œผ๋กœ ์„œ๋กœ ํ†ต์‹ ํ•œ๋‹ค.
  • P2P ๊ตฌ์กฐ์—์„œ์ฒ˜๋Ÿผ Client๋„ ์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋  ์ˆ˜ ์žˆ๊ณ , ์„œ๋ฒ„๋„ client process๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.
  • ์†ก์‹  ํ”„๋กœ์„ธ์Šค : ๋ฉ”์‹œ์ง€๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋ณด๋ƒ„
  • ์ˆ˜์‹  ํ”„๋กœ์„ธ์Šค : ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›๊ณ  ์—ญ์œผ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋ƒ„์œผ๋กœ์จ ์‘๋‹ต

Client, Server process

  • client process : process that initiates communication
    • ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ์ชฝ์˜ ํ”„๋กœ์„ธ์Šค
  • server process : process that waits to be contacted
    • ์š”์ฒญ์„ ๋ฐ›๋Š” ์ชฝ์˜ ํ”„๋กœ์„ธ์Šค

Socket

process๋Š” socket์„ ํ†ตํ•ด ๋„คํŠธ์›Œํฌ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ณ  ๋ฐ›๋Š”๋‹ค. (๋ฌธ ๊ฐ™์€ ๊ฐœ๋…)

  • ํ˜ธ์ŠคํŠธ์˜ application ๊ณ„์ธต๊ณผ transport ๊ณ„์ธต๊ฐ„์˜ ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค.
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ž๋Š” ์†Œ์ผ“์˜ application ๊ณ„์ธต์— ๋Œ€ํ•œ ๋ชจ๋“  ํ†ต์ œ๊ถŒ์„ ๊ฐ–์ง€๋งŒ, ์†Œ์ผ“์˜ transport ๊ณ„์ธต์— ๋Œ€ํ•œ ํ†ต์ œ๊ถŒ์€ ๊ฑฐ์˜ ๊ฐ–์ง€ ๋ชปํ•œ๋‹ค.
    • transport protocol์„ ์„ ํƒ
    • ์ตœ๋Œ€ ๋ฒ„ํผ์™€ ์ตœ๋Œ€ ์„ธ๊ทธ๋จผํŠธ ํฌ๊ธฐ ๊ฐ™์€ ์•ฝ๊ฐ„์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ์„ค์ •
  • sending process shoves message out door - ์ „์†ก ํ”„๋กœ์„ธ์Šค๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ–์œผ๋กœ ๋ฐ€์–ด๋‚ธ๋‹ค.
  • Application๊ณผ network ์‚ฌ์ด์˜ API๋ผ๊ณ ๋„ ํ•œ๋‹ค.

Addressing processes

ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ˆ˜ํ–‰๋˜๊ณ  ์žˆ๋Š” ๋‹ค๋ฅธ ํŒจํ‚ท์œผ๋กœ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ˆ˜์‹  ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ฃผ์†Œ๋ฅผ ๊ฐ–๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ˆ˜์‹  ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‘ ๊ฐ€์ง€ ์ •๋ณด๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

Identifier๋Š” IP์ฃผ์†Œ์™€ port number๋ฅผ ๊ฐ–๋Š”๋‹ค.

  1. ํ˜ธ์ŠคํŠธ์˜ ์ฃผ์†Œ ์ฆ‰, IP ์ฃผ์†Œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
    1. IP ์ฃผ์†Œ๊ฐ€ identifier๊ฐ€ ๋œ๋‹ค.
  2. ํ˜ธ์ŠคํŠธ ๋‚ด์˜ ์ˆ˜์‹  ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ช…์‹œํ•˜๋Š” ์‹๋ณ„์ž. ์ฆ‰ port ๋ฒˆํ˜ธ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
    1. ์ด port ๋ฒˆํ˜ธ๋กœ ๋‚ด process๋ฅผ ํŠน์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
    2. ๊ฐ™์€ IP ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง„ ์—ฌ๋Ÿฌ application์ด๋‚˜ process๊ฐ€ ๋™์‹œ์— ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— port ๋ฒˆํ˜ธ๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค.
  • IP๋ฅผ ํ†ตํ•ด ์ ์ ˆํ•œ computer๋ฅผ ์ฐพ๋Š”๋‹ค.

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป 2.1.3 An Application-layer protocol defines

application ๊ฐœ๋ฐœ์ž๋Š” ์†Œ์ผ“์˜ application ๊ณ„์ธต์— ๋Œ€ํ•œ ๋ชจ๋“  ํ†ต์ œ๊ถŒ์„ ๊ฐ–์ง€๋งŒ, ์†Œ์ผ“์˜ transport ๊ณ„์ธต์— ๋Œ€ํ•œ ํ†ต์ œ๊ถŒ์€ ๊ฑฐ์˜ ๊ฐ–์ง€ ๋ชปํ•œ๋‹ค. ์ฆ‰, ์—ฌ๊ธฐ์—์„œ๋Š” ๊ทธ ์ค‘ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์–ด๋–ค transport service๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด๋‹ค.

  1. Data integrity
    1. ์†์‹ค๋˜์ง€ ์•Š๋Š” data๋ฅผ ์ „์†ก
  2. throughput
    1. ๋‹ค๋ฅธ session๋“ค์ด network ๊ฒฝ๋กœ๋ฅผ ๋”ฐ๋ผ ๋Œ€์—ญํญ์„ ๊ณต์œ ํ•˜๊ณ , ์ด ์„ธ์…˜๋“ค์ด ์ƒ๊ฒผ๋‹ค ์—†์–ด์กŒ๋‹ค ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋Šฅํ•œ ์ฒ˜๋ฆฌ์œจ์€ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ๋ณ€ํ•œ๋‹ค. ์ด๋Š” ์–ด๋Š ๋ช…์‹œ๋œ ์†๋„์—์„œ ๋ณด์žฅ๋œ ๊ฐ€์šฉ ์ฒ˜๋ฆฌ์œจ์„ ์ œ๊ณตํ•œ๋‹ค.
    2. ์ด๋Ÿฌํ•œ ์ฒ˜๋ฆฌ์œจ ์š”๊ตฌ์‚ฌํ•ญ ์—ฌ๋ถ€๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋‰œ๋‹ค.
      1. effective app : ์ฒ˜๋ฆฌ์œจ ์š”๊ตฌ์‚ฌํ•ญ์ด ์žˆ๋Š” ๋ฏผ๊ฐ application
      2. elastic app : ํƒ„๋ ฅ์  application. ์ฒ˜๋ฆฌ์œจ ์š”๊ตฌ์‚ฌํ•ญ์ด ์—†๋‹ค.
  3. timing
    1. ์˜ˆ๋ฅผ ๋“ค์–ด, ์†ก์‹ ๊ธฐ๊ฐ€ socket์œผ๋กœ ๋‚ด๋ณด๋‚ด๋Š” ๋ชจ๋“  bit๊ฐ€ ์ˆ˜์‹ ์ž์˜ socket์— 100ms ๋‚ด์— ๋„์ฐฉํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฃผ๋กœ ์‹ค์‹œ๊ฐ„ application์—์„œ ์‚ฌ์šฉํ•œ๋‹ค.
  4. security
    1. data๋ฅผ ์•”ํ˜ธํ™” ํ•  ์ˆ˜ ์žˆ๋‹ค.

Internet transport protocols services

์ธํ„ฐ๋„ท ์ „์†ก ํ”„๋กœํ† ์ฝœ์ด ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค

  1. TCP ์„œ๋น„์Šค
  2. UDP ์„œ๋น„์Šค

TCP service

  • reliable transport
  • ์„œ๋กœ ์ „์†ก ์ œ์–ด ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•˜๊ฒŒ ํ•œ๋‹ค.

UDP service

  • unreliable data transefer
  • hand shaking ๊ณผ์ •์ด ์—†๊ณ , ๋ฐ์ดํ„ฐ๊ฐ€ ์ „๋‹ฌ๋˜๋Š” ๊ฒƒ์„ ๋ณด์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค.

TCP vs. UDP

  • TCP๊ฐ€ UDP๋ณด๋‹ค ๋” ์œ ์šฉํ•˜์ง€๋งŒ, UDP๋Š” ๋” ๋น ๋ฅด๋‹ค.
  • ๋‘˜ ๋‹ค ์ฒ˜๋ฆฌ์œจ ํ˜น์€ ์‹œ๊ฐ„ ๋ณด์žฅ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š”๋‹ค.
    • ๊ทธ๋ž˜์„œ ์‹œ๊ฐ„ ๋ฏผ๊ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ™์€ ๊ฒฝ์šฐ, ์ด๋Ÿฌํ•œ ์ฒ˜๋ฆฌ์œจ ๋ฐ ์‹œ๊ฐ„ ์ง€์—ฐ์— ์ž˜ ๋Œ€์ฒ˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์–ด ์žˆ๋‹ค.

 

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป 2.1.5 Application layer: Protocol

๋‹ค๋ฅธ ์ข…๋‹จ ์‹œ์Šคํ…œ์—์„œ ์‹คํ–‰๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์„œ๋กœ ๋ฉ”์‹œ์ง€ ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•์„ ์ •์˜ํ•œ๋‹ค.

  • ๊ตํ™˜ ๋ฉ”์‹œ์ง€์˜ ํƒ€์ž…
  • ์—ฌ๋Ÿฌ ๋ฉ”์‹œ์ง€ ํƒ€์ž…์˜ ๋ฌธ๋ฒ•(syntax)
  • ํ•„๋“œ์˜ ์˜๋ฏธ, ์ฆ‰ ํ•„๋“œ์— ์žˆ๋Š” ์ •๋ณด์˜ ์˜๋ฏธ(semantics)
  • ์–ธ์ œ, ์–ด๋–ป๊ฒŒ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•˜๊ณ  ๋ฉ”์‹œ์ง€์— ์‘๋‹ต ํ•˜๋Š”์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ทœ์น™
728x90
๋ฐ˜์‘ํ˜•
728x90
๋ฐ˜์‘ํ˜•

๋„คํŠธ์›Œํฌ์˜ ํ”„๋กœํ† ์ฝœ ๊ณ„์ธต ๊ตฌ์กฐ์™€ ์„œ๋น„์Šค ๋ชจ๋ธ, ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ ์Šคํƒ๊ณผ OSI ๋ชจ๋ธ, ์บก์Šํ™”, ์—ญ์บก์Šํ™”

๐Ÿช Why layering?

๊ณ„์ธต๊ตฌ์กฐ๋Š” ์–ด๋–ค ํ•œ ๊ณ„์ธต์˜ ๊ตฌํ˜„์ด ๋ณ€ํ•˜๋”๋ผ๋„ ์‹œ์Šคํ…œ์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์€ ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค.
ํ•˜์ง€๋งŒ, layering์˜ ๋‹จ์ ์€ overhead๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. duplicateํ•  ๋•Œ overhead๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ๊ฐ ๊ณ„์ธต์—์„œ ์ถ”๊ฐ€์ ์ธ ๋ฐ์ดํ„ฐ์™€ ์ฒ˜๋ฆฌ๋ฅผ ๋”ํ•จ์œผ๋กœ์จ ๋น„ํšจ์œจ์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค.
    • ์ฆ‰, ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ, ์ถ”๊ฐ€์ ์ธ ์ •๋ณด(ํ—ค๋”)๋ฅผ ๋ถ™์—ฌ์•ผ ํ•œ๋‹ค.
  1. ๋ณต์žกํ•œ ์‹œ์Šคํ…œ ์ฒ˜๋ฆฌ:
    • ๋ณต์žกํ•œ ๋„คํŠธ์›Œํฌ ์‹œ์Šคํ…œ์„ ๊ณ„์ธต์œผ๋กœ ๋‚˜๋ˆ ์„œ ๊ฐ ๊ณ„์ธต์˜ ๊ธฐ๋Šฅ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Œ.
  2. ๋ชจ๋“ˆํ™”์˜ ์žฅ์ :
    • ๊ณ„์ธต ๊ตฌ์กฐ ๋•๋ถ„์— ํ•œ ๊ณ„์ธต์˜ ๊ตฌํ˜„์„ ๋ณ€๊ฒฝํ•˜๋”๋ผ๋„ ๋‹ค๋ฅธ ๊ณ„์ธต์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Œ. ์ด๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ ์œ ์ง€๋ณด์ˆ˜ ๋ฐ ์—…๋ฐ์ดํŠธ๊ฐ€ ์šฉ์ดํ•ด์ง.
  3. ๊ณ„์ธตํ™”์˜ ๋‹จ์ :
    • ๊ณ„์ธต ๊ตฌ์กฐ๋Š” ์ค‘๋ณต๋œ ๊ธฐ๋Šฅ์„ ์ดˆ๋ž˜ํ•  ์ˆ˜ ์žˆ์Œ. ์˜ˆ๋ฅผ ๋“ค์–ด, ์˜ค๋ฅ˜ ๊ฒ€์ถœ ๊ธฐ๋Šฅ์ด ์—ฌ๋Ÿฌ ๊ณ„์ธต์—์„œ ์ค‘๋ณต๋˜์–ด ์žˆ์„ ์ˆ˜ ์žˆ์Œ. ๋˜ํ•œ, ๊ฐ ๊ณ„์ธต์—์„œ ์ถ”๊ฐ€๋˜๋Š” ์˜ค๋ฒ„ํ—ค๋“œ๋กœ ์ธํ•ด ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ.

 

๐Ÿช ISO/OSI reference model

์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์ฃผ๊ณ  ๋ฐ›๋Š”์ง€ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“  7๊ณ„์ธต ๊ตฌ์กฐ์˜ reference model์ด๋‹ค. ๊ฐ ๊ณ„์ธต์€ ๋…๋ฆฝ์ ์ด๋ฉฐ, ๊ณ„์ธต๊ฐ„ ์ƒํ˜ธ์ž‘์šฉ์„ ํ†ตํ•ด data๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š”๋‹ค.
  1. Application (์‘์šฉ)
  2. Presentation (ํ‘œํ˜„)
  3. Session (์„ธ์…˜)
  4. Transport (์ „์†ก)
  5. Network (๋„คํŠธ์›Œํฌ)
  6. Data Link (๋ฐ์ดํ„ฐ ๋งํฌ)
  7. Physical (๋ฌผ๋ฆฌ)

 

Presentation

data๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™” ํ˜น์€ ํ…์ŠคํŠธ๋ฅผ ASCII ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

 

Session

๋‘ ์žฅ์น˜๊ฐ€ ํ†ต์‹ ํ•˜๋Š” ๋™์•ˆ ์—ฐ๊ฒฐ ์„ธ์…˜์„ ๊ด€๋ฆฌํ•˜๊ณ , ์œ ์ง€ํ•œ๋‹ค.

→ ์œ„์˜ Presentation๊ณผ Session ๊ณ„์ธต์€ ํŠน์ • ์ƒํ™ฉ์—์„œ๋งŒ ํ•„์š”ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

 

๐Ÿช Internet protocol stack

์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ ์Šคํƒ์€ OSI ๋ชจ๋ธ๋ณด๋‹ค ๊ฐ„์†Œํ™” ๋œ 5๊ณ„์ธต ๋ชจ๋ธ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค.

  1. Application (์‘์šฉ) - 5๊ณ„์ธต
    1. ํ•œ ์ข…๋‹จ system์— ์žˆ๋Š” application์ด ๋‹ค๋ฅธ ์ข…๋‹จ system์— ์žˆ๋Š” application๊ณผ ์ •๋ณด ํŒจํ‚ท์„ ๊ตํ™˜ํ•  ๋•Œ ์ด ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•œ๋‹ค.
    2. IMAP, SMTP, HTTP
  2. Transport (์ „์†ก) - 4๊ณ„์ธต
    1. data๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.
    2. TCP, UDP
  3. Network (๋„คํŠธ์›Œํฌ) - 3๊ณ„์ธต
    1. ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์ˆ˜์‹  ํ•  ๊ฒฝ๋กœ๋ฅผ ์ฐพ์•„์ฃผ๋ฉฐ, IP์ฃผ์†Œ์™€ ๋ผ์šฐํŒ…์„ ๋‹ด๋‹นํ•œ๋‹ค.
    2. IP, routing protocols
  4. Link (๋ฐ์ดํ„ฐ ๋งํฌ) - 2๊ณ„์ธต
    1. ์ธ์ ‘ํ•œ ๋„คํŠธ์›Œํฌ ์žฅ์น˜๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ „์†ก์„ ๋‹ด๋‹นํ•œ๋‹ค.
    2. Ethernet, Wifi, PPP
  5. Physical (๋ฌผ๋ฆฌ) - 1๊ณ„์ธต
    1. ๋ฌผ๋ฆฌ์  ๋งค์ฒด๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•œ๋‹ค.

 

๐Ÿช Encapsulation / Decapsulation

๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ „ํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•œ ํ•ต์‹ฌ ๊ฐœ๋…์ด๋‹ค.

๋„คํŠธ์›Œํฌ์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ „์†ก๋  ๋•Œ, ๊ฐ ๊ณ„์ธต์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌ ํ•˜๋ฉด์„œ ์ž์‹ ๋งŒ์˜ ํ—ค๋”๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ์บก์Šํ™” ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์ˆ˜์‹  ์ธก์—์„œ ์ด ํ—ค๋”๋“ค์„ ์ œ๊ฑฐํ•˜๋Š” ์—ญ์บก์Šํ™” ๊ณผ์ •์„ ๊ฑฐ์ณ ๋ฐ์ดํ„ฐ๊ฐ€ ์ƒ์œ„ ๊ณ„์ธต์œผ๋กœ ์ „๋‹ฌ๋œ๋‹ค.

  • Encapsulation : higher → lower (ํ—ค๋”๋ฅผ ๋ถ™์—ฌ๊ฐ€๋Š” ๊ณผ์ •)
  • Decapsulation : lower → higher (ํ—ค๋”๋ฅผ ๋–ผ๊ฐ€๋Š” ๊ณผ์ •)

Encapsulation

  1. Application Layer: ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฉ”์‹œ์ง€๋กœ ์ „์†ก๋จ.
  2. Transport Layer: ๋ฉ”์‹œ์ง€์— ์„ธ๊ทธ๋จผํŠธ๊ฐ€ ์ถ”๊ฐ€๋จ.
  3. Network Layer์„ธ๊ทธ๋จผํŠธ์— IP ํ—ค๋”๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๊ทธ๋žจ์ด ๋จ.
  4. Link Layerํ”„๋ ˆ์ž„ ํ—ค๋”์™€ ํ”„๋ ˆ์ž„ ํŠธ๋ ˆ์ผ๋Ÿฌ๊ฐ€ ์ถ”๊ฐ€๋จ.
  5. Physical Layer: ๋น„ํŠธ๋กœ ๋ณ€ํ™˜๋˜์–ด ๋ฌผ๋ฆฌ์  ๋งค์ฒด๋ฅผ ํ†ตํ•ด ์ „์†ก๋จ.

 

Decapsulation

์ˆ˜์‹  ์ธก์—์„œ๋Š” ์ด ๊ณผ์ •์„ ์—ญ์ˆœ์œผ๋กœ ์ˆ˜ํ–‰ํ•จ. ๋ฌผ๋ฆฌ ๊ณ„์ธต์—์„œ ๋ฐ›์€ ๋น„ํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ๋งํฌ ๊ณ„์ธต์—์„œ ํ”„๋ ˆ์ž„์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ , ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์—์„œ ๋ฐ์ดํ„ฐ๊ทธ๋žจ์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ชฉ์ ์ง€๊นŒ์ง€ ๋„๋‹ฌํ•จ.

728x90
๋ฐ˜์‘ํ˜•
728x90
๋ฐ˜์‘ํ˜•

Chapter 1.5 : Performance: loss, delay, throughput

์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ํŒŒ์ผ์„ ์ „์†กํ•˜๊ณ , ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด๊ณ , ์›น์‚ฌ์ดํŠธ์— ์ ‘์†ํ•˜๋Š” ๋“ฑ ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์‹ค์ œ ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์—์„œ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ฆ‰์‹œ ์ „์†ก๋˜๊ฑฐ๋‚˜ ์†์‹ค ์—†์ด ์™„๋ฒฝํ•˜๊ฒŒ ์ „๋‹ฌ๋˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

ํŒจํ‚ท ์Šค์œ„์นญ ๋„คํŠธ์›Œํฌ๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก ์†๋„๋ฅผ ์ œํ•œํ•˜๊ณ , ์ง€์—ฐ์„ ์œ ๋ฐœํ•˜๋ฉฐ, ๊ฒฝ์šฐ์— ๋”ฐ๋ผ Packet Loss๊ฐ€ ๋˜๊ธฐ๋„ ํ•œ๋‹ค.

๐ŸŒฑ Packet delay: four sources

1. ์ฒ˜๋ฆฌ ์ง€์—ฐ(Processing Delay) : determine output link

  • - router๊ฐ€ packet์„ ์ˆ˜์‹ ํ•˜๋ฉด ๋จผ์ € packet์˜ header๋ฅผ ํ™•์ธํ•˜๊ณ , ํ•ด๋‹น packet์„ ์–ด๋Š ๊ฒฝ๋กœ๋กœ ๋ณด๋‚ผ์ง€ ๊ฒฐ์ •ํ•œ๋‹ค. (์ด ๋•Œ ์†Œ์š”๋˜๋Š” ์‹œ๊ฐ„์ด ์ฒ˜๋ฆฌ์ง€์—ฐ)
  • ๋ผ์šฐํ„ฐ์˜ ์„ฑ๋Šฅ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋ฉฐ, ์ผ๋ฐ˜์ ์œผ๋กœ ๋งค์šฐ ์งง์€ ์‹œ๊ฐ„์ด ์†Œ์š”๋จ

2. ๋Œ€๊ธฐ ์ง€์—ฐ(Queuing Delay) : ํŒจํ‚ท์„ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด ๋Œ€๊ธฐํ•˜๋Š” ์‹œ๊ฐ„

  • ํŒจํ‚ท์ด ๋ผ์šฐํ„ฐ์— ๋„์ฐฉํ–ˆ์„ ๋•Œ, ํ•ด๋‹น ํŒจํ‚ท์„ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด ๋Œ€๊ธฐํ•˜๋Š” ์‹œ๊ฐ„์„ ์˜๋ฏธํ•œ๋‹ค.
  • ๋ผ์šฐํ„ฐ๊ฐ€ ๋ฐ”์˜๊ฑฐ๋‚˜, ํŠธ๋ž˜ํ”ฝ์ด ๋งŽ์€ ๊ฒฝ์šฐ ํŒจํ‚ท์€ ์ „์†ก๋˜๊ธฐ ์ „, ๋Œ€๊ธฐ์—ด์—์„œ ๊ธฐ๋‹ค๋ ค์•ผ ํ•œ๋‹ค.
  • ์ด Queuing Delay๋Š” ํŠธ๋ž˜ํ”ฝ์˜ ์–‘์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋ฉฐ, ๋„คํŠธ์›Œํฌ์˜ ํ˜ผ์žก๋„์— ๋”ฐ๋ผ ์ง€์—ฐ ์‹œ๊ฐ„์ด ํฌ๊ฒŒ ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

3. ์ „์†ก ์ง€์—ฐ(Transmission Delay) : ๋ผ์šฐํ„ฐ์—์„œ ๋งํฌ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด ํŒจํ‚ท์˜ ๋ชจ๋“  ๋น„ํŠธ๋ฅผ ‘๋ฐ€์–ด ๋„ฃ๋Š”’๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„

  • L : packet length (bits)
  • R : link transmission rate (bps)
  • Transmission Delay = L/R

4. ์ „ํŒŒ ์ง€์—ฐ(Propagation Delay) : ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฌผ๋ฆฌ์  ๋งค์ฒด๋ฅผ ํ†ตํ•ด ์ด๋™ํ•˜๋Š” ๋ฐ ์†Œ์š”๋˜๋Š” ์‹œ๊ฐ„

  • ํŒจํ‚ท์ด ๋งํฌ๋ฅผ ํ†ตํ•ด ๋‹ค์Œ ๋ผ์šฐํ„ฐ๋กœ ์ „ํŒŒ๋˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„
  • ๊ฑฐ๋ฆฌ์— ๋น„๋ก€ํ•œ๋‹ค.
  • ๋งค์ฒด์˜ ์ „ํŒŒ ์†๋„์— ๋”ฐ๋ผ ๊ฒฐ์ •๋œ๋‹ค.
  • ์ผ๋ฐ˜์ ์œผ๋กœ ๋น›์˜ ์†๋„์— ๊ฐ€๊น๋‹ค.

 

๐ŸŒฑ Packet queueing delay (revisited)

traffic intensity : ํŒจํ‚ท์ด ๋Œ€๊ธฐ์—ด์—์„œ ๋Œ€๊ธฐํ•˜๋Š” ์‹œ๊ฐ„์— ์˜ํ–ฅ์„ ๋ฏธ์นจ

traffic intensity = La/R (a : ํŒจํ‚ท ๋„์ฐฉ๋ฅ )

  • La/R ≈ 0: ํŒจํ‚ท์ด ๊ฑฐ์˜ ๋Œ€๊ธฐํ•˜์ง€ ์•Š๊ณ  ์ „์†ก๋˜๋ฉฐ, ํ‰๊ท  ์ง€์—ฐ ์‹œ๊ฐ„๋„ ์ž‘์Œ.
  • La/R → 1: ๋Œ€๊ธฐ ์‹œ๊ฐ„์ด ๊ธ‰๊ฒฉํžˆ ์ฆ๊ฐ€ํ•จ.
  • La/R > 1: ํŒจํ‚ท ๋„์ฐฉ๋ฅ ์ด ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์„ ์ดˆ๊ณผํ•˜๋ฏ€๋กœ ๋Œ€๊ธฐ ์‹œ๊ฐ„์ด ๋ฌดํ•œ๋Œ€๋กœ ์ฆ๊ฐ€ํ•˜๊ฑฐ๋‚˜ ํŒจํ‚ท์ด ์†์‹ค๋  ์ˆ˜ ์žˆ์Œ.
  • ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” traffic intensity๊ฐ€ 1๋ณด๋‹ค ํฌ์ง€ ์•Š๊ฒŒ ์„ค๊ณ„ํ•ด์•ผ ํ•œ๋‹ค.
  • traceroute๋ผ๋Š” ํ”„๋กœ๊ทธ๋žจ์€ delay๋ฅผ ์ธก์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค.

 

๐ŸŒฑ Packet loss

  • queue์˜ ์šฉ๋Ÿ‰์ด ์œ ํ•œํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
  • full queue์— ๋“ค์–ด์˜ค๋ฉด packet์„ dropํ•œ๋‹ค.
  • ๋ฒ„๋ ค์ง„ packet์€ retransmitted ๋œ๋‹ค.

 

๐ŸŒฑ Throughput (์ฒ˜๋ฆฌ๋Ÿ‰)

์ฃผ์–ด์ง„ ์‹œ๊ฐ„ ๋™์•ˆ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์–‘์„ ์˜๋ฏธํ•œ๋‹ค.

  • ์ฒ˜๋ฆฌ๋Ÿ‰์€ ์—ฌ๋Ÿฌ ์š”์ธ์— ์˜ํ•ด ๊ฒฐ์ •๋˜๋Š”๋ฐ, ํŠนํžˆ ๋„คํŠธ์›Œํฌ ์ƒ์˜ ๊ฐ€์žฅ ๋ณ‘๋ชฉ ๋งํฌ(bottleneck link_๊ฐ€์žฅ ๋Š๋ฆฐ ๊ตฌ๊ฐ„)์— ์˜ํ•ด ์ œํ•œ๋œ๋‹ค.
    • ์ฆ‰, ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ชจ๋“  ๋งํฌ ์ค‘ ๊ฐ€์žฅ ๋‚ฎ์€ ์ „์†ก์†๋„๋ฅผ ๊ฐ€์ง„ ๋งํฌ๊ฐ€ ์ „์ฒด ์ฒ˜๋ฆฌ๋Ÿ‰์„ ๊ฒฐ์ •ํ•˜๊ฒŒ ๋œ๋‹ค.

์ฒ˜๋ฆฌ๋Ÿ‰ ๊ฒฐ์ •

๊ฐ ์—ฐ๊ฒฐ์˜ ์ฒ˜๋ฆฌ๋Ÿ‰์€ ๋‹ค์Œ ์„ธ ๊ฐ€์ง€ ๊ฐ’ ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์— ์˜ํ•ด ๊ฒฐ์ •๋œ๋‹ค.

  • Rc : ์ˆ˜์‹ ์ž์˜ ์ˆ˜์‹  ์†๋„
  • Rs : ์†ก์‹ ์ž์˜ ์†ก์‹  ์†๋„
  • R/10 : ๋ฐฑ๋ณธ ๋งํฌ(R)์˜ ๋Œ€์—ญํญ์ด 10๊ฐœ์˜ ์—ฐ๊ฒฐ๋กœ ๊ณตํ‰ํ•˜๊ฒŒ ๋ถ„๋ฐฐ๋˜์—ˆ์„ ๋•Œ ๊ฐ ์—ฐ๊ฒฐ์— ํ• ๋‹น๋˜๋Š” ๋Œ€์—ญํญ์ฒ˜๋ฆฌ๋Ÿ‰์€ min(Rc, Rs, R/10)์œผ๋กœ ๊ฒฐ์ •.
  • ์ฆ‰, ์ด ์„ธ ๊ฐ€์ง€ ๊ฐ’ ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ๊ฒƒ์ด ๊ทธ ์—ฐ๊ฒฐ์˜ ์ฒ˜๋ฆฌ๋Ÿ‰์„ ์ œํ•œํ•จ.
throughput = min ( Rc, Rs, R/10)
728x90
๋ฐ˜์‘ํ˜•

+ Recent posts