文章目录
- 一、计算机网络基础
- 1.协议概念
- 2.分层模型
- 3.协议格式
- (1)以太网帧格式
- (2)IP段格式
- (3)TCP/UDP数据报格式
- 4.TCP协议
- (1)TCP协议的特点
- (2)三次握手
- (3)四次挥手
- (4)SYN攻击
- 5.状态迁移图的解析:11种状态
- 6.TCP通信状态与程序结合分析
- 二、网络编程(Socket编程)
- 1.网络编程基础
- 2.字节序
- 3.常用结构体
- 4.网络编程相关函数
- (1)socket函数
- (2)bind函数
- (3)listen函数
- (4)accept函数
- (5)connect函数
- (6)close函数
- 5.网络编程代码
- (0)查看网络状态
- (1)端口复用
- (2)服务器端源码
- (3)客户端源码
- (4)read返回值
- (5)readn/writen的函数的封装
- 三、IO多路复用(select、poll、epoll)
- 0.概念与原理图
- 1.select
- 2.poll
- 3.epoll
- 4.IO多路复用的伪代码
一、计算机网络基础
1.协议概念
协议:通信双方需要遵循的规则。
协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。协议可以理解为规则,有:原始协议、标准协议。
比如A、B之间传输文件,第一次传文件名、第二次传文件大小、第三次传文件内容,按照这个步骤进行传输。例如:TCP协议、UDP协议、HTTP协议、FTP协议等
2.分层模型
3.协议格式
链路层的以太网帧 (帧头与帧尾)、网络层的IP数据报、传输层的数据段(这三个是由操作系统进行操作的)、应用层是由用户操作的。
(1)以太网帧格式
mac地址:也就是硬件地址,网卡的编号,表示网卡的唯一性。