2018-2019-1 20165320 《信息安全系统设计基础》第八周学习总结

教材知识点总结

网络编程

  • 客户端-服务器编程模型

    • 四步:

      1、当一个客户端需要服务时,它向服务器发送一个请求,发起一个事务。

      2、服务器收到请求后,解释它,并以适当的方式操作它的资源。

      3、服务器给客户端发送一个响应,并等待下一个请求。

      4、客户端收到响应并处理它。

      客户端与服务器都是进程。

  • 网络

    • 客户端与服务器通常运行在不同的主机上,并且通过计算机网络的硬

    件和软件资源来通信。

    • 对于主机而言,网络是一种I/O设备,是数据源与数据接收方。

    • 物理上而言,网络是一个按照地理远近组成的层次系统。

    • 协议具备的基本能力:

      1、命名机制:不同的局域网技术有不同和不兼容的方式来为主机

      分配地址

      2、传送机制:在电缆上编码位和将这些位封装成帧方面,不同的

      联网技术有不同的和不兼容的方式。

    • 数据从一台主机到另一台主机:

  • IP地址

    • 每台因特网主机都运行实现TCP/IP协议。

    • 把因特网看成一个世界范围的主机集合:

      1、主机集合被映射为一组32位的IP地址

      2、IP地址被映射为一组称为因特网域名的标识符

      3、因特网主机上的进程通过连接和任何其他因特网主机上的进程

      通信

    • 一个IP地址就是一个32位无符号整数

    • IP地址结构体:

        struct in_addr{
            
            uint32_t s_addr;
        }
      
    • hotnl函数将32位整数由主机字节序转换为网络字节序。

    • ntohl函数将32位整数从网络字节顺序转换为主机字节。

    • 域名与IP地址:

      1、一个域名和IP地址之间是一一映射

      2、多个域名可以映射到同一个IP地址

      3、多个域名可以映射到同一组的多个IP地址

    • TCP/IP:

  • 套接字接口

    • 应用概述:

    • 套接字地址结构:

        {
        uint16_t sin_family;
        uint16_t sin_port;
        struct in_addr sin_addr;
        unsigned char size_zero[8];
        }
      
    • socket 函数

        {
            int socket(int domain, int type , int protocol);
                
        }
      
    • connect 函数

        {
            int connect(int clientfd,const struct *addr,socket_t addrlen);           
        }
      
    • bind 函数

        {
            int bind(int clientfd,const struct *addr,socket_t addrlen);
        }
      
    • listen 函数

        {
            int listen(int socket,int backlog);    
        }
      
    • accept 函数

        {
            int accept(int listenfd, struct sockaddr* addr,int *addrlen);    
        }
      
    • 监听与已连接:

posted @ 2018-11-25 22:40  Gst丶Paul  阅读(109)  评论(0编辑  收藏  举报