PART1
1.TCP和UDP的区别是什么?
2.TCP报文首部格式是什么?
3.TCP三次握手的过程
4.为什么TCP要三次握手?
5.TCP三次握手的数据报可以携带数据吗?
6.半连接队列是什么?
7.SYN 洪泛攻击是什么?
8.TCP四次挥手的过程
9.为什么要四次挥手?
10.HTTP和HTTPS的区别?
11.MAC地址和IP地址的区别?
12.OSI是什么?有哪些层?
13.DNS域名解析是做什么的?有哪些步骤?
14.TCP/IP层次模型是什么?
15.IP地址是什么?IP地址有哪几类?
16.子网掩码是什么?
17.公网IP地址和私网IP地址区别是什么?
18.NAT是什么?
19. IPv4和IPv6地址格式的区别?
PART2
1.TCP和UDP的区别是什么?
UDP
- 在传输数据前不需要建立连接,接收方收到数据,也不需要给出任何确认。
- 是不可靠的,不保证传输成功的。
- 一般用于即时通讯(语音、视频、直播)
TCP
- 提供可靠的,面向连接的服务。
- 在传送数据前必须建立连接,在传送数据后释放连接。
- TCP首部更大,占用更多CPU资源
- 一般用于文件传输、收发邮件、远程登录
2.TCP报文首部格式是什么?
源端口和目的端口:分别占据2个字节,IP地址+端口号就可以确定一个进程地址。
序号(Seq):本报文发送的数据的第一个字节的序号。在TCP连接中,字节流中的每一个字节都按顺序编号 。
确认号(ack):期望收到对方下一个报文段的第一个数据字节的序号。若 ack=X,则表示前X-1个字节都已经正确收到。
数据偏移(首部长度):报文段的数据起始处距离报文段起始处有多远,也就是报文首部的长度。
保留6位:置为0,供日后使用。
标志位(共6位):
- 紧急位URG: URG为1,表明报文中有紧急数据,优先级高,需要尽快发送,不用在缓存中排队。
- 推送PSH:PSH为1,表明发送方希望立即接收到对方的响应,发送方会立即创建一个报文发送,接收方接收到报文,会尽快交付给应用层,不用在缓存中排队。
- 复位RST:RST为1,表明TCP连接中出现严重错误,需要重建连接。必须释放连接,再重新建立一个连接。
- 同步SYN:SYN为1, 表明这时一个请求连接或者接受连接的报文。
- SYN=1, ACK=0,表明这时一个请求连接的