計算機網路(英文授課)
Computer Networks
| 節 | 週三 |
|---|---|
N 12:20–13:10 | 計算機網路(英文授課) EC115 3 節連堂 |
5 13:20–14:10 | |
6 14:20–15:10 |
* 根據陽明交大上課時間表所列
Course Objectives: This graduate-level course covers the book “Computer Networks, An Open Source Approach” published by McGraw Hills. The book was motivated by an observation that none of the previous textbooks on computer networks really demonstrate where and how network protocols and algorithms are implemented in real systems. This course covers why and how various protocols and algorithms are designed (domain knowledge) and implemented (hands-on skills) into Linux kernel, drivers, and various daemons. In short, physical and data link layers are embedded into network adaptors and their drivers, while IP and TCP/UDP layers are built into kernel; and various application servers stand as daemons. The lectures start from Chapter 1, next a two-hour supplement on the emerging “network softwarization” by Software Defined Networking (SDN), Network Function Virtualization (NFV), and 5G Mobile Edge Computing (MEC). plus 4 appendices, and then resume Chapters 2-8. A comprehensive set of fifty-six live open source implementations spanning across hardware (8B/10B, OFDM, CRC32, CSMA/CD, and crypto), driver (Ethernet and PPP), kernel (longest prefix matching, checksum, NAT, TCP traffic control, socket, shaper, scheduler, firewall, and VPN), and daemon (RIP/OSPF/BGP, DNS, FTP, SMTP/POP3/IMAP4, HTTP, SNMP, SIP, streaming, and P2P) are interleaved with the text. The loading for students includes (1) Q&A in flipped classroom, (2) 7 homework sets for the 8 chapters (hand-writing and hands-on), and (3) midterm and final exams. Course slides for each chapter are downloadable from the course homepage. Class lectures are in English. In each class session of 3 hours, the first two hours would be lectured by the instructor while the third hour is flipped classroom where Q&A is conducted by students with the instructor being the moderator. Credits of Q&A in the flipped classroom are recorded by a teaching assistant, and will account for 12% of course grade. Course Outline: 1 Fundamentals 1.1 Requirements of Networking 1.2 Underlying Principles 1.3 The Internet Architecture 1.4 Open Source Implementations 1.5 Book Roadmap: A Packet’s Life 1.6 Summary 1’ Supplement on Software Defined Networking (SDN) and Network Function Virtualization (NFV) 1’’ Appendices A-D 2 Physical Layer 2.1 General Issues 2.2 Medium 2.3 Information Coding and Baseband Transmission 2.4 Digital Modulation and Multiplexing 2.5 Advanced Topics 2.6 Summary 3 Link Layer 3.1 General Issues To- Point Protocol 3.3 Ethernet (IEEE 802.3) 3.4 Wireless Links 3.5 Bridging 3.6 Device Drivers of a Network Interface 3.7 Summary 4 Internet Protocol Layer 4.1 General Issues 4.2 Data-Plane Protocols: Internet Protocol 4.3 Internet Protocol Version 6 4.4 Control-Plane Protocols: Address Management 4.5 Control-Plane Protocols: Error Reporting 4.6 Control-Plane Protocols: Routing 4.7 Multicast Routing 4.8 Summary 5 Transport Layer 5.1 General Issues 5.2 Unreliable Connectionless Transfer: UDP 5.3 Reliable Connection-Oriented Transfer: TCP 5.4 Socket Programming Interfaces 5.5 Transport Protocols for Real-Time Traffic 5.6 Summary 6 Internet Services 6.1 General Issues 6.2 Domain Name System (DNS) 6.3 Electronic Mail 6.4 World Wide Web (WWW) 6.5 File Transfer Protocol (FTP) 6.6 Simple Network Management Protocol (SNMP) 6.7 Voice over IP (VoIP) 6.8 Streaming 6.9 Peer-To- Peer Applications (P2P) 6.10 Summary 7 Internet QoS 7.1 General Issues 7.2 QoS Architectures 7.3 Algorithms for QoS Components 7.4 Summary 8 Network Security 8.1 General Issues 8.2 Data Security 8.3 Access Security 8.4 System Security 8.5 Summary Appendices Appendix A Who’s Who A.1 IETF: Defining RFCs A.2 Open Source Communities A.3 Research and Other Standard Communities A.4 History Appendix B Linux Kernel Overview B.1 Kernel Source Tree B.2 Source Code of Networking B.3 Tools for Source Code Tracing Appendix C Development Tools C.1 Programming C.2 Debugging C.3 Maintaining C.4 Profiling C.5 Embedding Appendix D Network Utilities D.1 Name-Addressing D.2 Perimeter-Probing D.3 Traffic-Monitoring D.4 Benchmarking D.5 Simulation and Emulation D.6 Hacking
1. Data Structures 2. Algorithms 3. C Programming Skills
Instructor: Prof. Ying-Dar Lin, ydlin@cs.nctu.edu.tw Lecture hours: 12:30-3:10PM Wednesdays (3XEF at EC115) Course homepage: http://speed.cis.nctu.edu.tw/~ydlin/course/cn/mcn19f.html Recorded lecture video:http://speed.cis.nctu.edu.tw/~ydlin/course/cn/mcn19f/video.htm Book homepage: www.mhhe.com/lin (with solutions to exercises in Open Source Implementations)
Q&A in flipped classroom 12%, Homework (x7) 28%, Midterm 30%, Final 30%.
| 週次 | 主題 |
|---|---|
| 第 1 週 | Fundamentals (1/2) |
| 第 2 週 | Fundamentals (2/2) |
| 第 3 週 | Link Layer (1/2) |
| 第 4 週 | Link Layer (2/2) |
| 第 5 週 | Internet Protocol Layer (1/2) |
| 第 6 週 | Internet Protocol Layer (2/2) |
| 第 7 週 | Midterm |
| 第 8 週 | End-to-End Protocols (1/2) |
| 第 9 週 | End-to-End Protocols (2/2) |
| 第 10 週 | Internet Services (1/2) |
| 第 11 週 | Internet Services (2/2) |
| 第 12 週 | Internet QoS |
| 第 13 週 | Internet Security (1/2) |
| 第 14 週 | Internet Security (2/2) |
Computer Networks: An Open Source Approach, Ying-Dar Lin, Ren-Hung Hwang, Fred Baker, McGraw-Hill, Feb 2011. (hardcover at 100 USD available at Amazon.com; paperback, international student edition at 1050NT available at開發圖書, www.kaifabook.com.tw, kf.book@msa.hinet.net, TEL: 02-8242- 3988)
- 聯絡方式
- ydlin@cs.nctu.edu.tw