อินเทอร์เน็ตคืออะไร
โปรโตคอล
Network edge
Physical media
Network core
Internet structure
Delay · Loss · Throughput
Security
Layers & Encapsulation
Ethernet & Wireless LAN
History
อินเทอร์เน็ตคืออะไร (What is the Internet?)
มุมมอง "nuts and bolts" — ส่วนประกอบของอินเทอร์เน็ต:
Hosts = end systems อุปกรณ์หลายพันล้านเครื่อง รันแอปพลิเคชันเครือข่ายอยู่ที่ "ขอบ" (edge) ของอินเทอร์เน็ต
Packet switches (routers, switches) ส่งต่อ packets (ข้อมูลเป็นก้อนๆ)
Communication links — fiber, copper, radio, satellite · อัตราการส่ง (transmission rate) = bandwidth
Networks — กลุ่มของอุปกรณ์ เราเตอร์ และลิงก์ ที่องค์กรหนึ่งดูแล
อินเทอร์เน็ตคือ "network of networks" — ISP หลายรายเชื่อมต่อกัน ไม่มีศูนย์กลางใดควบคุม แต่ขับเคลื่อนด้วยชุดโปรโตคอลมาตรฐาน (TCP/IP)
โปรโตคอลอยู่ทุกที่ ควบคุมการรับ-ส่งข้อความ เช่น HTTP (Web), streaming video, Skype, TCP, IP, WiFi, 4G/5G, Ethernet
มาตรฐานอินเทอร์เน็ต: RFC (Request for Comments), IETF (Internet Engineering Task Force)
มุมมอง "services" — โครงสร้างพื้นฐานที่ให้บริการแก่แอปพลิเคชัน (Web, streaming video, multimedia teleconferencing, email, games, e-commerce, social media ฯลฯ) และมี programming interface ("hooks") ให้แอปที่รับ-ส่งข้อมูลใช้บริการ transport ของอินเทอร์เน็ต เปรียบได้กับบริการไปรษณีย์ที่มีตัวเลือกบริการหลายแบบ
ส่วนประกอบ 3 ส่วน (สไลด์ภาษาไทย):
Network Core โครงข่ายของเราเตอร์และสายสัญญาณระดับภูมิภาคที่เชื่อม ISP เข้าด้วยกัน ·
Network Edge อุปกรณ์ปลายทาง เช่น เซิร์ฟเวอร์ คอมพิวเตอร์ สมาร์ทโฟน ·
Communication Links ตัวกลางส่งข้อมูล (fiber optics, copper, radio) ที่รวมข้อมูลเป็น packets
แนวคิดการออกแบบ: การเชื่อมทุกจุดเข้าหากันโดยตรง (fully interconnected) มีขีดจำกัด · รูปแบบเชิงทฤษฎีมี Centralized , Decentralized , Distributed — อินเทอร์เน็ตจริงทำงานแบบกระจาย (Distributed) · เปรียบเทียบ Dedicated links (สิ้นเปลืองความจุ) กับ Multiplexing (ใช้ประโยชน์สูง แต่มีความเสี่ยงชนกัน)
โปรโตคอลคืออะไร (What's a protocol?)
Protocols define the format , order of messages sent and received among network entities, and actions taken on message transmission, receipt
Human protocols: "what's the time?", "I have a question", การแนะนำตัว — มีข้อความเฉพาะที่ส่ง และการกระทำเฉพาะเมื่อได้รับข้อความ
Network protocols: ใช้กับอุปกรณ์แทนมนุษย์ · ทุกกิจกรรมการสื่อสารในอินเทอร์เน็ตถูกควบคุมด้วยโปรโตคอล
ตัวอย่าง: Hi → Hi → Got the time? → 2:00 เทียบกับ TCP connection request → TCP connection response → GET http://gaia.cs.umass.edu/kurose_ross → <file>
หากไม่มีมาตรฐาน (Standards) กำหนดลำดับ อุปกรณ์จากผู้ผลิตต่างค่ายจะสื่อสารกันไม่ได้ (Interoperability)
Network edge และ Access networks
Network edge: hosts ได้แก่ clients และ servers (servers มักอยู่ใน data centers)
Access networks, physical media: ลิงก์สื่อสารแบบมีสายและไร้สาย
Network core: เราเตอร์ที่เชื่อมต่อกัน, network of networks
จะเชื่อม end systems เข้ากับ edge router อย่างไร? — residential access nets, institutional access networks (โรงเรียน บริษัท), mobile access networks (WiFi, 4G/5G)
Host: ส่ง packets อย่างไร — รับ application message → แบ่งเป็นก้อนเล็กเรียกว่า packets ยาว L bits → ส่งเข้า access network ด้วยอัตรา R (link transmission rate หรือ link capacity หรือ link bandwidth)
packet transmission delay = L (bits) / R (bits/sec)
Network core: Packet switching vs Circuit switching
Network core คือ mesh ของเราเตอร์ที่เชื่อมต่อกัน · packet-switching: hosts แบ่ง application-layer messages เป็น packets แล้วเครือข่ายส่งต่อ packets จากเราเตอร์หนึ่งไปยังอีกตัวตามเส้นทางจากต้นทางถึงปลายทาง
Forwarding local
หรือ "switching" — การย้าย packet ที่เข้ามาทาง input link ของเราเตอร์ ไปยัง output link ที่เหมาะสม โดยดูจาก destination address ใน header กับ local forwarding table
Routing global
การกำหนดเส้นทาง source–destination ที่ packets ใช้ ด้วย routing algorithms
Store-and-forward: packet ต้องมาถึงเราเตอร์ครบทั้งก้อนก่อนจึงส่งต่อไปลิงก์ถัดไปได้ · ใช้เวลา L/R วินาทีในการส่ง L-bit packet ที่ R bps · ตัวอย่าง L = 10 Kbits, R = 100 Mbps → one-hop transmission delay = 0.1 msec
Queueing: เกิดเมื่องานเข้ามาเร็วกว่าที่ให้บริการได้ — ถ้า arrival rate (bps) > transmission rate ของลิงก์ช่วงหนึ่ง packets จะเข้าคิวรอ และถูก drop (lost) ถ้า buffer ของเราเตอร์เต็ม
Circuit switching — จองทรัพยากร end-end ไว้ให้ "call" ระหว่างต้นทางและปลายทาง · dedicated resources ไม่แชร์ → ประสิทธิภาพแบบรับประกัน (circuit-like) · ถ้า call ไม่ใช้ช่วงนั้นก็ว่างทิ้งไว้ · ใช้ในเครือข่ายโทรศัพท์แบบดั้งเดิม
FDM (Frequency Division Multiplexing): แบ่งความถี่เป็นแถบแคบ แต่ละ call ได้แถบของตัวเอง ส่งได้เต็มอัตราของแถบแคบนั้น
TDM (Time Division Multiplexing): แบ่งเวลาเป็น slots แต่ละ call ได้ slot เป็นรอบ ส่งได้เต็มอัตราของแถบความถี่ (กว้าง) เฉพาะช่วง slot ของตัวเอง
ตัวอย่าง: ลิงก์ 1 Gb/s ผู้ใช้แต่ละคนใช้ 100 Mb/s เมื่อ "active" และ active 10% ของเวลา
→ circuit-switching: 10 users ·
packet switching: ที่ 35 users ความน่าจะเป็นที่ > 10 คน active พร้อมกันน้อยกว่า .0004
Packet switching เหมาะกับข้อมูลแบบ "bursty" (บางช่วงมีข้อมูล บางช่วงไม่มี) — แชร์ทรัพยากร, ง่ายกว่า ไม่ต้อง call setup · แต่อาจเกิด congestion มากเกินไป: packet delay และ loss จาก buffer overflow → ต้องมีโปรโตคอลสำหรับ reliable data transfer และ congestion control
สไลด์ภาษาไทยเปรียบ: การสลับสาย (โทรศัพท์เดิม) = จองโต๊ะไว้ล่วงหน้า (Reserved) ไม่ส่งข้อมูลก็เสียเปล่า · การสลับแพ็กเก็ต (อินเทอร์เน็ต) = ทางด่วนที่แชร์กัน (Shared Highway) ข้อมูลถูกแบ่งเป็นชิ้นเล็กแทรกตัวไป ใช้ทรัพยากรได้เต็มประสิทธิภาพ แต่อาจ "รถติด" (Queuing Delay) ถ้าข้อมูลมาพร้อมกันมากเกินไป
Internet structure: "network of networks"
hosts เชื่อมต่ออินเทอร์เน็ตผ่าน access ISPs และ access ISPs ต้องเชื่อมถึงกัน เพื่อให้สองโฮสต์ใดๆ ส่ง packets หากันได้ (วิวัฒนาการขับเคลื่อนด้วยเศรษฐศาสตร์และนโยบายแห่งชาติ)
เชื่อม access ISP ทุกคู่เข้าหากันโดยตรง ไม่ scale : O(N²) connections
เชื่อมแต่ละ access ISP กับ global transit ISP — customer และ provider ISP มีข้อตกลงทางเศรษฐกิจ
ถ้า global ISP ทำกำไรได้ ก็จะมีคู่แข่ง (ISP A, B, C) ซึ่งต้องเชื่อมถึงกันผ่าน peering link และ IXP (Internet exchange point)
เกิด regional networks เชื่อม access nets เข้ากับ ISPs
content provider networks (Google, Microsoft, Akamai) สร้างเครือข่ายของตัวเอง เพื่อนำบริการและเนื้อหาไปใกล้ผู้ใช้
ที่ "ศูนย์กลาง": เครือข่ายใหญ่จำนวนน้อยที่เชื่อมต่อกันดี — "tier-1" commercial ISPs (เช่น Level 3, Sprint, AT&T, NTT) ครอบคลุมระดับประเทศและนานาชาติ · content provider networks (เช่น Google, Facebook) เครือข่ายส่วนตัวที่เชื่อม data centers เข้ากับอินเทอร์เน็ต มักข้าม (bypass) tier-1 และ regional ISPs
POP (Point of Presence): จุดที่ลูกค้าหรือ ISP ย่อยนำเราเตอร์มาเชื่อมกับเครือข่ายของ ISP รายใหญ่
IXP (Internet Exchange Point): อาคารศูนย์กลางที่ผู้ให้บริการหลายรายมาเชื่อมต่อกัน — Peering ผ่าน IXP ทำให้แลกเปลี่ยนข้อมูลกันโดยตรง ลดความหน่วง (Latency) และหลีกเลี่ยงการจ่ายเงินให้ Tier-1 ISP
Content Provider Network: บริษัทยักษ์ใหญ่ (Google, Microsoft) สร้างเครือข่ายส่วนตัวครอบคลุมทั่วโลก ข้ามลำดับชั้น (Bypass) นำเซิร์ฟเวอร์ไปใกล้ผู้ใช้ผ่าน IXP หรือ Access ISP โดยตรง → ควบคุมคุณภาพได้ ลดต้นทุนส่งผ่านข้อมูล ให้บริการเนื้อหา (YouTube, Search) ได้รวดเร็ว
ติดตามการเดินทางของ 1 แพ็กเก็ต: (1) Edge — แอปบนสมาร์ทโฟนสร้างคำขอ HTTP และถูก Encapsulate ผ่าน TCP/IP → (2) Access — วิ่งผ่าน 5G หรือ WiFi เข้าเครือข่ายผู้ให้บริการ → (3) Core — เราเตอร์อ่าน IP ปลายทางและ Forwarding ตามสายไฟเบอร์ → (4) Peering — อาจผ่าน IXP ตัดตรงเข้าเครือข่ายผู้ให้บริการเนื้อหา → (5) Edge ปลายทาง — Data Center แกะข้อมูล (Decapsulation) และประมวลผล
The Invisible Infrastructure: (1) Intelligence is at the Edge — ความซับซ้อนอยู่ที่อุปกรณ์ปลายทาง แกนกลางมีหน้าที่แค่ส่งของให้เร็วที่สุด (2) Network of Networks — กระจายศูนย์ ไม่มีใครควบคุมเบ็ดเสร็จ เชื่อมกันด้วยข้อตกลงทางธุรกิจและ IXP (3) The Spanning Layer (IP) — IP ที่เรียบง่ายเป็นกาวใจผสานฮาร์ดแวร์ทุกยุค
Performance: Delay, Loss, Throughput
packets เข้าคิวใน buffer ของเราเตอร์รอส่ง · คิวยาวขึ้นเมื่อ arrival rate สูงกว่า output link capacity ชั่วคราว · packet loss เกิดเมื่อหน่วยความจำที่เก็บคิวเต็ม
dnodal = dproc + dqueue + dtrans + dprop
Caravan analogy (car ~ bit, caravan ~ packet, toll service ~ link transmission): toll booth ใช้ 12 วินาทีต่อคัน, รถ "propagate" 100 km/hr, ระยะ 100 km, ขบวน 10 คัน → ดันทั้งขบวนผ่านด่าน = 12×10 = 120 sec = 2 นาที, คันสุดท้ายเดินทางถึงด่านที่ 2 = 100km/(100km/hr) = 1 ชม. → คำตอบ 62 นาที · ถ้ารถวิ่ง 1000 km/hr และด่านใช้ 1 นาทีต่อคัน: รถจะถึงด่านที่ 2 ก่อนที่ด่านแรกบริการครบทุกคัน — หลัง 7 นาทีคันแรกถึงด่านที่ 2 ขณะที่ยังเหลือ 3 คันที่ด่านแรก
Traffic intensity (a: average packet arrival rate, L: packet length, R: link bandwidth)
traffic intensity = La / R
La/R ~ 0: queueing delay เฉลี่ยน้อย
La/R → 1: queueing delay เฉลี่ยมาก
La/R > 1: "งาน" เข้ามามากกว่าที่ให้บริการได้ — delay เฉลี่ย infinite!
traceroute: วัด delay จากต้นทางไปยังเราเตอร์ตามเส้นทางสู่ปลายทาง — สำหรับทุก i ส่ง 3 packets ไปถึงเราเตอร์ตัวที่ i (ค่า time-to-live = i) เราเตอร์ส่งกลับ ผู้ส่งวัดช่วงเวลา · * * * หมายถึงไม่มีการตอบ (probe lost หรือเราเตอร์ไม่ตอบ) · ในตัวอย่าง gaia.cs.umass.edu → www.eurecom.fr delay กระโดดจาก ~22 ms เป็น ~104 ms ที่ trans-oceanic link
Packet loss: คิว (buffer) หน้าลิงก์มีความจุจำกัด · packet ที่มาถึงตอนคิวเต็มจะถูก drop (lost) · packet ที่หายอาจถูกส่งซ้ำโดย node ก่อนหน้า, โดย source end system หรือไม่ส่งซ้ำเลย
Throughput: อัตรา (bits/time unit) ที่ bits ถูกส่งจาก sender ถึง receiver — instantaneous (ณ ขณะหนึ่ง) และ average (ช่วงเวลายาว) · ลิงก์ที่จำกัด throughput end-end เรียกว่า bottleneck link
Rs < Rc → Rs · Rs > Rc → Rc · 10 connections แชร์ R: min(Rc, Rs, R/10)
ในทางปฏิบัติ Rc หรือ Rs มักเป็น bottleneck
Network security
อินเทอร์เน็ตไม่ได้ออกแบบมาโดยคำนึงถึงความปลอดภัยมากนัก — วิสัยทัศน์เดิมคือ "a group of mutually trusting users attached to a transparent network" ผู้ออกแบบโปรโตคอลจึงต้องไล่ตาม และต้องพิจารณาความปลอดภัยในทุกเลเยอร์
Lines of defense:
authentication — พิสูจน์ว่าคุณคือคนที่อ้าง (cellular มี hardware identity ผ่าน SIM card; อินเทอร์เน็ตแบบเดิมไม่มี)
confidentiality — ผ่าน encryption
integrity checks — digital signatures ป้องกัน/ตรวจจับการแก้ไข
access restrictions — password-protected VPNs
firewalls — "middleboxes" ใน access และ core networks: off-by-default กรอง packets ขาเข้าเพื่อจำกัด senders, receivers, applications และตรวจจับ/รับมือ DoS
Protocol layers, Encapsulation และ OSI
ทำไมต้องแบ่งเลเยอร์? ระบบเครือข่ายซับซ้อน (hosts, routers, links, applications, protocols, hardware, software) · ตัวอย่างการเดินทางด้วยเครื่องบิน : ticket → baggage → gates → runway → airplane routing แต่ละเลเยอร์ทำบริการหนึ่งอย่างผ่าน action ภายในของตัวเอง และพึ่งบริการจากเลเยอร์ด้านล่าง
โครงสร้างชัดเจน ช่วยระบุส่วนต่างๆ และความสัมพันธ์ (layered reference model)
modularization ช่วยให้ดูแลและอัปเดตง่าย — เปลี่ยน implementation ของเลเยอร์หนึ่งโดยไม่กระทบส่วนอื่น (เช่นเปลี่ยนขั้นตอนที่ gate ไม่กระทบระบบที่เหลือ)
Encapsulation (เหมือนตุ๊กตาแม่ลูกดก Matryoshka):
Application สร้าง message M
Transport ใส่ header Ht (หมายเลขพอร์ตต้นทาง/ปลายทาง) → segment [Ht | M]
Network ใส่ Hn (IP address เหมือนจ่าหน้าซองจดหมาย) → datagram [Hn | [Ht | M]]
Link ใส่ Hl บรรจุลงกรอบเพื่อส่งผ่านสายเฉพาะหน้า → frame [Hl | [Hn | [Ht | M]]]
ปลายทางแกะออกทีละชั้น (Decapsulation ) จนเหลือข้อมูลเดิม · ระหว่างทาง switch ประมวลผลถึงชั้น link และ router อ่านถึงชั้น Network (IP) เพื่อตัดสินใจเส้นทาง โดยไม่แตะเนื้อหาของแอปพลิเคชัน · เลเยอร์ระดับล่าง (node-to-node): เทคโนโลยีในชั้น Link เปลี่ยนไปตามช่วงทาง (เช่น WiFi → Fiber optic → ISP core switch) และฮาร์ดแวร์ชั้น Physical แปลงเฟรมเป็นสัญญาณแสง คลื่นวิทยุ หรือกระแสไฟฟ้า
ISO/OSI reference model (7 layers): application · presentation · session · transport · network · link · physical
presentation: ให้แอปตีความหมายของข้อมูล เช่น encryption, compression, machine-specific conventions
session: synchronization, checkpointing, recovery of data exchange
Internet stack "ขาด" 2 เลเยอร์นี้ — ถ้าต้องการ ต้อง implement ในแอปพลิเคชันเอง
Logical vs Physical network diagram: Logical = แสดงหน้าที่และการไหลของข้อมูล (how data flows) · Physical = แสดงฮาร์ดแวร์จริงและการเชื่อมต่อทางกายภาพ (what it looks like) — เครือข่ายสมัยใหม่ใช้ทั้งสองแบบ
Wireshark: packet capture (pcap) รับสำเนาของทุก Ethernet frame ที่รับ-ส่ง แล้ว packet analyzer แสดงข้อมูลแต่ละเลเยอร์
Ethernet และ Wireless LAN (สไลด์เสริมท้ายบท)
การจำแนกเครือข่ายตามขนาด: PAN 1m – 10m (Bluetooth) · LAN 10m – 1km (Wi-Fi, ระดับตึก/วิทยาเขต) · MAN 10km (เคเบิลทีวี, WiMAX, ระดับเมือง) · WAN 100km – Planet (Internet, ระดับประเทศ/โลก) — ยิ่งไกล เทคโนโลยีและโปรโตคอลยิ่งต่างกัน
Accessing the Edge: Wired Access IEEE 802.3 (Ethernet) เชื่อมผ่านสาย เน้นความเร็วและเสถียรภาพ เหมาะกับองค์กร/เซิร์ฟเวอร์ · Wireless Access IEEE 802.11 (Wi-Fi) ผ่านคลื่นวิทยุ เน้นความยืดหยุ่นและ Mobility เหมาะกับอุปกรณ์พกพา — ทั้งสองแบบใช้เทคโนโลยี MAC (Medium Access Control) ต่างกัน
Switched Ethernet: Independent Collision Domains (แต่ละพอร์ตแยกกัน ส่งแบบขนานได้) · Full-Duplex (ส่งและรับพร้อมกัน) · High-Speed Backplane (ประมวลผลคิวและส่งต่อแบบ Store-and-forward ระดับ Gbps) — เรียบง่าย (Plug-and-play) ราคาถูก ประสิทธิภาพสูง
Wireless LANs (IEEE 802.11): ออกแบบเพื่อ Mobility · ใช้คลื่นวิทยุแทนสาย ทำให้มีเงื่อนไขใหม่ เช่น สัญญาณรบกวน สิ่งกีดขวาง ระยะทาง · Basic Service Set: Access Point (AP) เป็นสถานีฐานเชื่อมเครือข่ายไร้สายกับมีสาย · Infrastructure Mode ทุกการสื่อสารวิ่งผ่าน AP · Association อุปกรณ์ต้องลงทะเบียนกับ AP ก่อนส่งข้อมูลออกอินเทอร์เน็ต
Hidden Terminal: A ส่งให้ B, C ก็ต้องการส่งให้ B แต่ C ไม่ได้ยินสัญญาณของ A จึงคิดว่าช่องว่างแล้วส่ง → ชนกันที่ B โดยที่ A และ C ไม่รู้ตัว
→ เครือข่ายไร้สายจึงใช้การตรวจจับการชน (CSMA/CD) แบบ LAN มีสายไม่ได้ ต้องใช้กลไกหลีกเลี่ยงและยืนยันการรับส่งแทน
The Packet Journey: (1) Wireless Edge — อุปกรณ์พกพาส่งผ่าน 802.11 เข้า AP → (2) Wired LAN — AP ส่งต่อเข้า Switched Ethernet โดยไม่มีการชน → (3) Gateway — Router ตรวจเส้นทาง (Routing) → (4) Internet Core — เข้าสู่เครือข่าย ISPs แบบ Store-and-Forward
Architectural Pillars: The Internet (Macro) · Ethernet (Physical Edge) · Wireless LAN (Invisible Edge) · Customer-Visible Properties : Delivery, Correctness, Fault Tolerance, Timeliness, Cost ↔ Tunable Engineering Knobs : Network Topology, Communication Protocols, Network Architecture, Components, Physical Medium
Internet history
1961–1972 Early packet-switching principles — 1961 Kleinrock: queueing theory แสดงประสิทธิภาพของ packet-switching · 1964 Baran: packet-switching ในเครือข่ายทหาร · 1967 ARPAnet ถูกคิดขึ้นโดย Advanced Research Projects Agency · 1969 ARPAnet node แรกทำงาน · 1972 ARPAnet public demo, NCP (Network Control Protocol) host-host protocol แรก, โปรแกรม e-mail แรก, ARPAnet มี 15 nodes
1972–1980 Internetworking, new and proprietary networks — 1970 ALOHAnet satellite network ในฮาวาย · 1974 Cerf and Kahn: สถาปัตยกรรมเชื่อมเครือข่าย (minimalism, autonomy; best-effort service model; stateless routing; decentralized control — กำหนดสถาปัตยกรรมอินเทอร์เน็ตปัจจุบัน) · 1976 Ethernet ที่ Xerox PARC · ปลายยุค 70 proprietary architectures: DECnet, SNA, XNA · 1979 ARPAnet มี 200 nodes
1980–1990 New protocols, a proliferation of networks — 1982 smtp e-mail protocol · 1983 deployment of TCP/IP · 1983 DNS (name-to-IP-address translation) · 1985 ftp · 1988 TCP congestion control · เครือข่ายใหม่: CSnet, BITnet, NSFnet, Minitel · 100,000 hosts
1990, 2000s Commercialization, the Web, new applications — ต้นยุค 90 ARPAnet ถูกปลดระวาง · 1991 NSF ยกเลิกข้อจำกัดการใช้ NSFnet เชิงพาณิชย์ (ปลดระวาง 1995) · ต้นยุค 90 Web: hypertext [Bush 1945, Nelson 1960's], HTML, HTTP: Berners-Lee, 1994 Mosaic ต่อมาเป็น Netscape, ปลายยุค 90 Web เชิงพาณิชย์ · ปลาย 90s–2000s: instant messaging, P2P file sharing, network security, ~50 million hosts, 100 million+ users, backbone ระดับ Gbps
2005–present Scale, SDN, mobility, cloud — broadband home access (10–100's Mbps) · 2008 software-defined networking (SDN) · 4G/5G, WiFi · Google, FB, Microsoft สร้างเครือข่ายของตัวเอง · องค์กรใช้ cloud (AWS, Microsoft Azure) · 2017 อุปกรณ์มือถือมากกว่าอุปกรณ์ประจำที่ · ~15B devices (2023, statista.com)