VIP20
本课程属于:008-Socket网络编程 编程基础与工程化 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录 咨询 / 购买

《TCP/IP网络编程原理解析》

共 30 章,建议从课程导读开始学习。

进入课程导读

01网络基础概念1、网络基础概念:计算机网络定义、网络分类(LAN、WAN、MAN)、网络拓扑结构(星型、总线型、环型)、OSI七层模型概述、TCP/IP四层模型概述。02物理层与数据链路层2、物理层与数据链路层:物理层作用与特性、数据链路层功能、以太网协议、MAC地址与ARP协议、交换机工作原理。03网络层核心3、网络层核心:IP协议与IP地址、IPv4地址分类与子网掩码、CIDR与VLSM、路由选择原理、ICMP协议与Ping。04传输层详解4、传输层详解:端口号概念、UDP协议特点与报文结构、TCP协议特点与报文结构、三次握手与四次挥手、滑动窗口与流量控制、拥塞控制。05应用层协议5、应用层协议:DNS域名解析、HTTP协议基础、HTTPS与SSL/TLS、FTP与TFTP、DHCP协议、Telnet与SSH。06Socket编程入门6、Socket编程入门:Socket概念、Socket类型(流式、数据报式)、Socket编程模型、客户端/服务器架构、Socket API函数详解。07TCP Socket编程(上)7、TCP Socket编程(上):TCP服务器端编程流程、socket()、bind()、listen()、accept()函数详解、TCP客户端编程流程、connect()函数详解。08TCP Socket编程(下)8、TCP Socket编程(下):多进程并发服务器、多线程并发服务器、select模型实现I/O复用、epoll模型详解、非阻塞I/O与异步I/O。09UDP Socket编程9、UDP Socket编程:UDP服务器端编程流程、UDP客户端编程流程、recvfrom()与sendto()函数、UDP广播与多播、UDP可靠性改进方案。10原始套接字与数据包捕获10、原始套接字与数据包捕获:原始套接字概念、创建原始套接字、IP头与TCP头构造、数据包捕获与分析、libpcap库入门。11HTTP协议编程11、HTTP协议编程:HTTP请求方法(GET、POST、PUT、DELETE)、HTTP状态码、HTTP头部字段、HTTP/1.1与HTTP/2.0区别、实现简易HTTP服务器。12WebSocket编程12、WebSocket编程:WebSocket协议概述、WebSocket握手过程、WebSocket数据帧格式、WebSocket API使用、实现简易聊天室。13DNS协议编程13、DNS协议编程:DNS报文结构、DNS查询类型(A、AAAA、CNAME、MX)、DNS递归与迭代查询、实现简易DNS客户端、DNS缓存与安全。14DHCP协议编程14、DHCP协议编程:DHCP工作流程(DORA)、DHCP报文格式、DHCP选项字段、实现DHCP客户端、DHCP中继代理。15SSL/TLS编程15、SSL/TLS编程:SSL/TLS协议架构、握手协议详解、记录协议详解、OpenSSL库使用、实现HTTPS客户端。16网络编程中的IO模型16、网络编程中的IO模型:阻塞I/O、非阻塞I/O、I/O多路复用(select、poll、epoll)、信号驱动I/O、异步I/O(AIO)、五种模型对比。17epoll深入剖析17、epoll深入剖析:epoll_create、epoll_ctl、epoll_wait函数详解、水平触发与边缘触发、LT与ET模式对比、epoll性能优势分析、epoll实战案例。18Reactor与Proactor模式18、Reactor与Proactor模式:Reactor模式原理、Reactor组件(Handle、Event Handler、Reactor)、Proactor模式原理、Reactor与Proactor对比、libevent库入门。19网络编程中的超时处理19、网络编程中的超时处理:connect超时设置、recv/send超时设置、使用alarm信号实现超时、使用select实现超时、SO_RCVTIMEO与SO_SNDTIMEO选项。20网络字节序与数据序列化20、网络字节序与数据序列化:大端与小端字节序、htonl/htons/ntohl/ntohs函数、数据对齐问题、TLV编码格式、Protocol Buffers入门、JSON与XML序列化。21网络编程中的地址解析21、网络编程中的地址解析:gethostbyname与getaddrinfo函数、getnameinfo函数、IP地址与域名互转、IPv4与IPv6地址转换、地址复用SO_REUSEADDR。22广播与多播编程22、广播与多播编程:广播地址与广播组、setsockopt设置广播选项、UDP广播实现、多播地址与IGMP协议、多播编程实现、多播路由协议简介。23原始套接字高级应用23、原始套接字高级应用:IP_HDRINCL选项、构造自定义IP包、TCP SYN Flood攻击模拟、ICMP洪水攻击模拟、ARP欺骗原理与实现、数据包嗅探器实现。24网络编程中的信号处理24、网络编程中的信号处理:SIGPIPE信号处理、SIGURG信号与带外数据、SIGALRM信号与定时器、sigaction函数使用、信号集与信号屏蔽。25高性能网络框架设计25、高性能网络框架设计:线程池设计、连接池设计、内存池设计、零拷贝技术(sendfile、splice、tee)、异步日志系统设计、性能测试与调优。26网络编程中的安全实践26、网络编程中的安全实践:常见网络攻击(SYN Flood、DDoS、MITM)、防御策略(SYN Cookie、限流、黑白名单)、加密通信实现、证书验证、安全编码规范。27跨平台网络编程27、跨平台网络编程:Windows Socket编程(Winsock)、Linux Socket编程对比、跨平台封装设计、Boost.Asio库入门、跨平台编译与部署。28网络编程调试与工具28、网络编程调试与工具:tcpdump抓包分析、Wireshark使用技巧、netstat与ss命令、lsof查看网络连接、strace跟踪系统调用、gdb调试网络程序。29实战项目一29、实战项目一:实现简易HTTP服务器:需求分析、架构设计、请求解析模块、响应生成模块、静态文件服务、CGI支持、并发处理、性能测试。30实战项目二30、实战项目二:实现即时通讯系统:需求分析、协议设计、用户注册登录、好友管理、消息收发、群组聊天、文件传输、在线状态管理、系统测试。