''' 1、互联网协议osi七层模型? 应用层---表示层---会话层---传输层---网络层---数据链路层---物理层 2、arp协议属于七层模型中的那一层,并简述协议内容? arp协议属于网络层 ARP : Address Resolution Protocol即地址解析协议,实现通过IP地址得知其物理地址。 主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将 该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个 主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本 机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个 ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。 3、列举网络层、数据链路层的硬件设备? 网络层的硬件设备:路由器 数据链路层硬件设备:网卡、网桥中、继器、集线器。 4、TCP和UDP协议属于七层模型中的那一层?他们的区别? TCP和UDP协议属于传输层 TCP(Transmission Control Protocol): a.可靠的 b.面向连接的协议(eg:打电话) c.传输效率低全双工通信(发送缓存&接收缓存) d.面向字节流。 使用TCP的应用:Web浏览器;文件传输程序。 UDP(User Datagram Protocol): a.不可靠的 b.无连接的服务 c.传输效率高(发送前时延小) d.一对一、一对多、多对一、多对多、面向报文(数据包),尽最大努力服务,无拥塞控制。 使用UDP的应用:域名系统 (DNS);视频流;IP语音(VoIP)。 5、tcp连接建立的时候3次握手(四次挥手)的具体过程,以及每一步原因? 三次握手: 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号 (Synchronize Sequence Numbers)。 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务 器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入 ESTABLISHED(TCP连接成功)状态,完成三次握手。 3次握手完成两个重要的功能,既要双方做好发送数据的准备工作(双方都知道彼此已准备好),也要允许双方就初始序列号进行协商, 这个序列号在握手过程中被发送和确认。 老师把三次握手写成段子非常好(打电话): 客户端:喂,你能听到我说话吗? 服务端:我能听到你说话,你能听到我说话吗? 客户端:我能听到你说话,我们开始愉快的聊天吧! 四次挥手: (1)客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送。 (2)服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。 (3)服务器B关闭与客户端A的连接,发送一个FIN给客户端A。 (4)客户端A发回ACK报文确认,并将确认序号设置为收到序号加1。 当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。 但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端, "你发的FIN报文我收到了"。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。 老师把四次挥手写成段子非常好(挂电话): 客户端:我的话讲完了,这次要不就先这样吧? 服务端:你要挂电话啊?我还没有说完,你等下.吧啦吧啦... 服务端:好了,我的话说完了,可以挂电话了. 客户端:好的,拜拜. '''