20.11.19 (๋ชฉ)

Updated:

์˜ค๋Š˜ ํ•  ์ผ (๊ณ„ํš)

  • ๋ฌธ์ œํ•ด๊ฒฐ๊ธฐ๋ฒ• ๋ฆฌํŒฉํ† ๋ง ๋ฐ ๋ฐœํ‘œ ์ •๋ฆฌ
  • ์ฐฝ์—…์˜์ด๋ก ๊ณผ์‹ค์ œ 12์ฃผ์ฐจ ์‹ค์‹œ๊ฐ„ ๊ฐ•์˜ ๋“ฃ๊ธฐ, ์†Œ๊ฐ๋ฌธ ์ž‘์„ฑ
  • ์ปดํ“จํ„ฐ๋„คํŠธ์›Œํฌ 11์ฃผ์ฐจ ๋‚˜๋จธ์ง€ ๊ฐ•์˜ ๋“ฃ๊ธฐ
  • Unix ํ”„๋กœ๊ทธ๋ž˜๋ฐ 3์žฅ ๋ณต์Šต

์˜ค๋Š˜ ํ•œ ์ผ

  • ๋ฌธ์ œํ•ด๊ฒฐ๊ธฐ๋ฒ• ๋ฆฌํŒฉํ† ๋ง

    1. ๋ฐœํ‘œ ๋Œ€๋ณธ ์ž‘์„ฑ


  • ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ 12์ฃผ์ฐจ

    1. ํฌ๊ธฐ๊ฐ€ 4000bytes ์ธ datagram ์„ MTU ๊ฐ€ 1500bytes ์ธ ๋„คํŠธ์›Œํฌ์—์„œ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”

      Datagram ์„ ์„ธ ๊ฐœ๋กœ ์ชผ๊ฐœ์•ผ ํ•œ๋‹ค. ๊ฐ Datagram ์€ 1480byte, 1480byte, 1020bytes ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง„๋‹ค.

      fragflag ๋Š” ๋‚˜ ๋ง๊ณ  ์ชผ๊ฐœ์ง„ ๋‹ค๋ฅธ Datagram ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

      ์ชผ๊ฐœ์ง„ Datagram ๋“ค์€ ID, fragflag, offset ์„ ํ†ตํ•ด ๋‹ค์‹œ ์žฌ์กฐ๋ฆฝ ๋œ๋‹ค.

    2. 255.255.255.255 ์ฃผ์†Œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋ฉด ์„œ๋ธŒ๋„ท ์•ˆ์— ์žˆ๋Š” ๋ชจ๋“  ํ˜ธ์ŠคํŠธ ํ•œํ…Œ ์ „์†ก ๋œ๋‹ค.

    3. DHCP ๋Š” ์•ˆ์“ฐ๋Š” ์ฃผ์†Œ๋ฅผ ์žฌํ™œ์šฉ ํ•˜๋Š” ๊ณผ์ •์˜ ํ”„๋กœํ† ์ฝœ ์ด๋‹ค.

      ์žฅ์†Œ๋ฅผ ์˜ฎ๊ธธ ๋•Œ ๋งˆ๋‹ค ์šฐ๋ฆฌ๊ฐ€ ์ผ์ผ์ด IP, ์„œ๋ธŒ๋„ท๋งˆ์Šคํฌ, default gateway ์ฃผ์†Œ๋ฅผ ์„ค์ • ํ•ด ์ค„ ํ•„์š” ์—†์ด

      Host ์— ์žˆ๋Š” DHCP client ๊ฐ€ DHCP server ์— ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด ์ฃผ์†Œ๋ฅผ ๋ฐ›์•„์˜จ๋‹ค.

    4. ์„œ๋ธŒ๋„ท ์•ˆ์— ์žˆ๋Š” ํ˜ธ์ŠคํŠธ๋“ค์ด ๊ณต์œ ๊ธฐ๋ฅผ ๊ฑฐ์ณ ๋‚˜์˜ค๋ฉด ๋‹ค ๊ฐ™์€ ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ณต์œ ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ณด์•ˆ์— ๊ฐ•ํ•ด์ง„๋‹ค.

    5. request ๋ฉ”์‹œ์ง€๊ฐ€ ๊ณต์œ ๊ธฐ๋ฅผ ๊ฑฐ์ณ ๊ฐ€๋ฉด ๊ณต์œ  ์ฃผ์†Œ๋กœ ๋ฐ”๋€Œ๊ณ  ํฌํŠธ ๋„˜๋ฒ„๋„ ๋ฐ”๋€๋‹ค. ์ด๋•Œ ๋ฐ”๊พผ ๊ธฐ๋ก์„ ํ…Œ์ด๋ธ”์— ์ €์žฅํ•œ๋‹ค.

    6. IPv4 ์—์„œ IPv6 ๋กœ ํ•˜๋ฃจ ์•„์นจ์— ๋ฐ”๊พธ๊ธฐ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์— IPv4 ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ผ์šฐํ„ฐ๋ฅผ ๋งŒ๋‚˜๋ฉด IPv4 ์˜ payload ์•ˆ์—

      IPv6 ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด ์ „์†กํ•œ๋‹ค.


  • Unix ํ”„๋กœ๊ทธ๋ž˜๋ฐ 3์žฅ ๋ณต์Šต

    1. link, symlink ๋ฅผ ์ด์šฉํ•ด ํ•˜๋“œ๋งํฌ์™€ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

    2. ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์— ์žˆ๋Š” ํŒŒ์ผ ์ •๋ณด๋ฅผ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด DIR *dp, struct dirent dent ๋ฅผ ์„ ์–ธํ•ด ํŒŒ์ผ์„ ์—ด์–ด์ฃผ์ž.

      opendir, readdir ๋กœ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์—ด๊ณ  ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค.

    3. ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์— ์žˆ๋Š” ํŒŒ์ผ์˜ ์ƒ์„ธ ์ •๋ณด๋ฅผ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด path ๋ฅผ ๋งŒ๋“ค์–ด getcwd(NULL, BUFSIZ) + dent->d_name ์„ ํ†ตํ•ด

      ์ฃผ์†Œ๋ฅผ ๋งŒ๋“ค์–ด stat(path, &buf) ๋ฅผ ํ†ตํ•ด ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‚ด์ผ ํ•  ์ผ

  • ๋ฌธ์ œํ•ด๊ฒฐ๊ธฐ๋ฒ• ๋ฆฌํŒฉํ† ๋ง ๋ฐ ๋ฐœํ‘œ ์ •๋ฆฌ
  • ์„ ํ˜•๋Œ€์ˆ˜ 12์ฃผ์ฐจ ๋“ฃ๊ธฐ
  • Unix ํ”„๋กœ๊ทธ๋ž˜๋ฐ 4์žฅ ๋ณต์Šต

์ด๋ฒˆ์ฃผ ํ•  ์ผ

  • BaekJoon ๋งค์ผ ํ•œ ๋ฌธ์ œ ํ’€๊ธฐ
  • ์ˆ˜๊ฐ•๊ณผ๋ชฉ 12์ฃผ์ฐจ ๋“ฃ๊ธฐ
  • ๋ฌธ์ œํ•ด๊ฒฐ๊ธฐ๋ฒ• ๋ฆฌํŒฉํ† ๋ง
  • ์ฐฝ์—…์˜์ด๋ก ๊ณผ์‹ค์ œ ํŠน๊ฐ• ์งˆ๋ฌธ ๋งŒ๋“ค๊ธฐ



Categories:

Updated:

Leave a comment