• python3 day08 练习题


    '''
    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报文,因此不能一起发送。故需要四步握手。
    
    老师把四次挥手写成段子非常好(挂电话):
        客户端:我的话讲完了,这次要不就先这样吧?
        服务端:你要挂电话啊?我还没有说完,你等下.吧啦吧啦...
        服务端:好了,我的话说完了,可以挂电话了.
        客户端:好的,拜拜.
    '''
  • 相关阅读:
    Python实现机器人聊天
    node.js使用express框架进行文件上传
    nginx让所有的http地址重定向到https
    nginx配置https
    vscode源码编译运行打包使其由英文变为中文
    阿里云配置tomcat https
    springboot打成的jar包如何在Linux上持久运行
    wordpress数据表分析
    DevExpress Components16.2.6 Source Code 重编译教程
    DataGridView绑定泛型List时,利用BindingList来实现增删查改
  • 原文地址:https://www.cnblogs.com/lilyxiaoyy/p/11022643.html
Copyright © 2020-2023  润新知