首页
›
编程基础与工程化
›
008-Socket网络编程
›
《TCPIP网络编程原理与工程实践》
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。
06
Socket编程入门
6、Socket编程入门:Socket概念、Socket类型(流式、数据报式)、Socket编程模型、客户端/服务器架构、Socket API函数详解。
07
TCP Socket编程(上)
7、TCP Socket编程(上):TCP服务器端编程流程、socket()、bind()、listen()、accept()函数详解、TCP客户端编程流程、connect()函数详解。
08
TCP Socket编程(下)
8、TCP Socket编程(下):多进程并发服务器、多线程并发服务器、select模型实现I/O复用、epoll模型详解、非阻塞I/O与异步I/O。
09
UDP Socket编程
9、UDP Socket编程:UDP服务器端编程流程、UDP客户端编程流程、recvfrom()与sendto()函数、UDP广播与多播、UDP可靠性改进方案。
10
原始套接字与数据包捕获
10、原始套接字与数据包捕获:原始套接字概念、创建原始套接字、IP头与TCP头构造、数据包捕获与分析、libpcap库入门。
11
HTTP协议编程
11、HTTP协议编程:HTTP请求方法(GET、POST、PUT、DELETE)、HTTP状态码、HTTP头部字段、HTTP/1.1与HTTP/2.0区别、实现简易HTTP服务器。
12
WebSocket编程
12、WebSocket编程:WebSocket协议概述、WebSocket握手过程、WebSocket数据帧格式、WebSocket API使用、实现简易聊天室。
13
DNS协议编程
13、DNS协议编程:DNS报文结构、DNS查询类型(A、AAAA、CNAME、MX)、DNS递归与迭代查询、实现简易DNS客户端、DNS缓存与安全。
14
DHCP协议编程
14、DHCP协议编程:DHCP工作流程(DORA)、DHCP报文格式、DHCP选项字段、实现DHCP客户端、DHCP中继代理。
15
SSL/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)、五种模型对比。
17
epoll深入剖析
17、epoll深入剖析:epoll_create、epoll_ctl、epoll_wait函数详解、水平触发与边缘触发、LT与ET模式对比、epoll性能优势分析、epoll实战案例。
18
Reactor与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、实战项目二:实现即时通讯系统:需求分析、协议设计、用户注册登录、好友管理、消息收发、群组聊天、文件传输、在线状态管理、系统测试。
所属VIP或分类
同VIP:Linux系统编程与网络实战
同VIP:Qt界面布局与网络通信实战
同VIP:Qt网络编程实战