03 网络编程

1、OSI七层模型与TCP/IP四层模型?

答:OSI七层模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

    TCP/IP四层模型:网络接口层(物理层、数据链路层)、网际层、传输层、表示层                            (会话层、表示层、应用层)。

2、网络四类地址的区间

网络地址分为网络位和主机位。

A类地址:1.0.0.0 --- 127.255.255.255(127.0.0.1为回环地址)(ping通本地回环地址说明本机协议没问题)

B类地址:128.0.0.0 --- 191.255.255.255

C类地址:192.0.0.0 --- 223.255.255.255

D类地址:224.0.0.0 --- 239.255.255.255(广播地址)

3、TCP服务器、客户端创建流程

TCP服务器端创建流程:创建通信用文件描述符(socket)-->设置端口号和IP地址(为绑定做准备)-->绑定(bind)-->监听(listen)-->接受请求,建立连接(accept)-->发送与接收消息(send/recv)-->关闭文件(close)

TCP客户端创建流程:创建通信用文件描述符(socket)-->设置端口号和IP地址-->发起连接请求(connect)-->接受与发送消息(send/recv)-->关闭文件(close)

4、UDP服务器、客户端创建流程

UDP服务器端创建流程:创建通信用文件描述符(socket)-->设置端口号和IP地址(为绑定做准备)-->绑定(bind)-->接受和发送消息(sendto && recvfrom)-->关闭文件(close)

UDP客户端创建流程:创建通信用文件描述符(socket)-->设置端口号和IP地址-->接受与发送消息(sendto && recvfrom)-->关闭文件

5、TCP与UDP的区别?

(1)TCP是面向连接的协议,UDP是面向无连接的协议。

(2)TCP对系统资源要求较多,UDP对系统资源要求较少

(3)TCP是数据流模式,UDP是数据报模式。

(4)TCP保证数据顺序及数据的正确性,UDP可能会丢包。

6、简述三次握手与四次挥手

在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。

第一次握手:建立连接时,客户端发送SYN(SYN = j)包到服务器,并进入SYN_SEND状态,等待服务器的确认;

第二次握手:服务器收到SYN包,必须确认客户的SYN(ACK = j+1),同时自己也发送一个SYN包(SYN=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ACK=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

7、四次挥手

四次挥手的过程(客户端或服务器均可主动发起挥手动作)

(1)客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送。 

(2)服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。            

(和SYN一样,一个FIN将占用一个序号)。 

(3)服务器B关闭与客户端A的连接,发送一个FIN给客户端A。 

(4)客户端A发回ACK报文确认,并将确认序号设置为收到序号加1.

猜你喜欢

转载自blog.csdn.net/weixin_45981798/article/details/129975938