2018-2019-1 20165320 《信息安全系统设计基础》第八周学习总结
Posted gst-paul
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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); }
监听与已连接:
以上是关于2018-2019-1 20165320 《信息安全系统设计基础》第八周学习总结的主要内容,如果未能解决你的问题,请参考以下文章
2018-2019-1 20165320 《信息安全系统设计基础》第一周学习总结
2018-2019-1 20165320 《信息安全系统设计基础》 缓冲区溢出漏洞实验