20211128《信息安全系统设计与实现》第十三章学习笔记

发布时间 2023-11-24 23:03:46作者: 20211128李杰

一、任务内容

自学教材第13章,提交学习笔记(10分)

1. 知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容 (4分)

“我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个问题”

核心是要求GPT:“请你以苏格拉底的方式对我进行提问”

然后GPT就会给你提问,如果不知道问题的答案,可以反问AI:“你的理解(回答)是什么?”

如果你觉得差不多了,可以先问问GPT:“针对我XXX知识点,我理解了吗?”

GPT会给出它的判断,如果你也觉得自己想清楚了,可以最后问GPT:“我的回答结束了,请对我的回答进行评价总结”,让它帮你总结一下。

2. 问题与解决思路,遇到问题最先使用chatgpt等AI工具解决,并提供过程截图(3分)

3.实践过程截图,代码链接(2分)

4.其他(知识的结构化,知识的完整性等,提交markdown文档,使用openeuler系统等)(1分)

 

二、知识点归纳以及自己最有收获的内容

(一)知识点归纳

1、计算机网络知识

网络分类:

按照覆盖范围分为局域网(LAN)、城域网(MAN)、广域网(WAN)和互联网。

按照网络拓扑结构分为总线型、星型、环型和网状型等。

OSI参考模型:

Open Systems Interconnection(OSI)参考模型是由国际标准化组织提出的通信协议的概念框架,分为七层:

物理层

数据链路层

网络层

传输层

会话层

表示层

应用层

TCP/IP协议:

Transmission Control Protocol/Internet Protocol(TCP/IP)是因特网所使用的通信协议族,包括许多协议和技术。

IP地址:

IP地址是用于在网络上唯一标识主机的32位或128位数字地址,分为IPv4和IPv6两种格式。

子网:

将一个大的IP地址空间划分成若干个小的、独立的子网络,以实现更有效的地址分配和路由。

路由器:

用于在不同网络之间传输数据包的设备,根据目标地址选择最佳路径进行转发。

交换机:

用于在局域网内部传输数据包的设备,根据MAC地址将数据包从一个端口转发到另一个端口。

应用层协议:

HTTP、FTP、SMTP、POP3等协议属于应用层协议,负责定义应用程序如何在网络上通信。

安全性:

包括防火墙、加密通信、虚拟专用网络(VPN)等技术,用于保护网络安全。

云计算:

基于网络的计算模型,提供按需访问的共享计算资源,包括存储、服务器、应用程序等。2、Unix I/O缓冲区管理算法

Unix系统中的I/O缓冲区管理算法涉及到三种不同的缓冲方式:

全缓冲(Fully Buffered I/O):在全缓冲模式下,文件的数据会被缓存在内存中的缓冲区中,直到缓冲区被填满或者执行了flush操作时才会进行实际的I/O操作。这种方式适用于顺序读写大文件的情况,可以减少频繁的系统调用,提高效率。

行缓冲(Line Buffered I/O):行缓冲模式会在遇到换行符时执行实际的I/O操作,也就是说,当一行数据被填满或者遇到换行符时才进行I/O操作。这种方式通常用于面向文本的I/O,例如标准输入输出设备,能够提供及时的交互反馈。

无缓冲(Unbuffered I/O):无缓冲模式下,数据会立即传输到内核并刷新到设备,每次I/O操作都会直接影响到底层设备。这种方式适用于特定的I/O需求,例如对实时性要求很高的情况或者特定的错误输出设备。

2、套接字API

  套接字(SocketAPI是一组用于网络通信的编程接口,它提供了一种在不同计算机之间进行数据传输的方式。下面是对套接字API的内容进行总结:

创建套接字:使用socket()函数创建一个套接字对象,该函数接受地址族(IPv4IPv6)和套接字类型(流式套接字或数据报套接字)作为参数。

绑定套接字:使用bind()函数将套接字绑定到一个特定的地址和端口号上,以便其他计算机可以通过该地址和端口与该套接字进行通信。

监听连接:对于服务器端程序,可以使用listen()函数开始监听来自客户端的连接请求,指定最大连接数。

接受连接:使用accept()函数接受客户端的连接请求,并返回一个新的套接字对象,用于与该客户端进行通信。

建立连接:对于客户端程序,可以使用connect()函数向服务器发起连接请求,指定服务器的地址和端口号。

数据传输:一旦建立了连接,可以使用send()recv()函数在套接字之间传输数据。send()函数用于发送数据,而recv()函数用于接收数据。

关闭连接:使用close()函数关闭套接字连接,释放相关资源。

此外,套接字API还提供了一些其他功能,如设置套接字选项、获取和设置套接字的属性、处理异常等。

需要注意的是,套接字API是跨平台的,在不同的编程语言中都有相应的实现。在使用套接字API时,需要根据具体的编程语言和操作系统进行相应的调用和处理。

二)最有收获的内容

 

 

 

 

 

 

 

 

、问题与解决思路

 

 

、实践过程