1.网络分层结构是什么样的
一般考察的是TCP/IP五层模型
应用层:为应用程序提供交互服务,如HTTP/FTP/SMTP等
传输层:负责向两台主机进程之间的通信提供传输服务,协议主要有TCP/UDP
网络层:根据IP定义网络地址,选择合适的路由节点,主要包括IP/ARP协议
链路层:两个相邻节点传输时,将网络层交下来的IP报文组装成帧,相邻节点之间传送帧
物理层:通过物理介质构建传输通路,实现相邻节点比特流透明传输
2.TCP和UDP的区别
TCP是面向连接的,UDP是无连接的
TCP提供可靠的服务,UDP不保证可靠交付
TCP有阻塞控制,UDP无阻塞控制,适合实时应用
TCP是点到点的,UDP支持一对一,一对多,多对多的交互通信
TCP首部开销大(20字节),UDP首部开销小(8字节)
3.TCP的三次握手
客户端先向服务端发送数据包并将SYN置1,假设序列号seq为X
服务端接收后通过SYN知道这是连接请求,发送相应包并将SYN和ACK都置1,序列号seq为Y,确认号ack为X+1
客户端收到相应包后将ACK置1,确认号ack为Y+1
这里说一个简单的理解:
A先告诉B:我们来聊天吧,此时B知道了对方能说话,自己能听到对方说话
B回答一句: