• 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);    
          }
        
      • 监听与已连接:

  • 相关阅读:
    access 驱动在win64位出现问题
    apace搭建站点
    laravel邮件发送问题总结
    django orm order_by 根据汉字首字母排序 [ORDER BY CONVERT(name USING gbk)ASC]查询
    linux centos7 django uwsgi 部署
    linux centos7 yum卸载 安装
    centos7 部署gitlab并汉化
    linux nginx uwsgi django
    mac swoole入门使用
    mac 安装mongodb,PHP添加mongodb的扩展
  • 原文地址:https://www.cnblogs.com/Gst-Paul/p/10017924.html
Copyright © 2020-2023  润新知