计算机网络概论
网络: 网络是由若干节点和连接这些节点的链路构成,表示诸多对象及其相互联系。 网络四要素: 1、通信线路和通信设备; 2、有独立功能的计算机; 3、网络软件支持; 4、实现数据通信与资源共享。 网络分类: 1.按拓扑结构分类:总线型、环型、星型、网状; 2.按信息交换方式分类:电路交换、报文交换、报文分组交换; 3.按覆盖范围分类: (1)局域网LAN(作用范围一般为几米到几十公里): 局部区域网络(local area network)通常简称为"局域网",缩写为LAN。局域网是结构复杂程度最低的 计算机网络。局域网仅是在同一地点上经网络连在一起的一组计算机。局域网通常挨得很近,它是如今 应用最广泛的一类网络。通常将具有如下特征的网称为局域网。 (2)城域网MAN(介于WAN与LAN之间): (3)广域网WAN(作用范围一般为几十到几千公里): 广域网(wide area network, WAN )它是影响广泛的复杂网络系统。WAN由两个以上的LAN构成, 这些LAN间的连接可以穿越30mile以上的距离。大型的WAN可以由各大洲的许多LAN和MAN组成。最 广为人知的WA N 就是Internet,它由全球成千上万的LAN和WAN 组成。 协议: 协议,网络协议的简称,网络协议是通信计算机双方必须共同遵守的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。它的三要素是:语法,语义,时序。 (1)语法:即数据与控制信息的结构或格式; (2)语义:即需要发出何种控制信息,完成何种动作以及做出何种响应; (3)时序(同步),即事件实现顺序的详细说明。 网络协议: 1.IP(Internet Protocol,互联网协议):IP 是网络层的主要协议,负责处理网络寻址和数据包在网络中的传输。IP 使用 32 位(IPv4)或 128 位(IPv6)的地址来唯一标识网络中的每个设备。IP 协议可以在不同类型的网络和设备之间提供互通性。 2.ICMP(Internet Control Message Protocol,互联网控制报文协议):ICMP 是 IP 协议的一个辅助协议,用于在网络中传输控制和错误信息。ICMP 的典型应用场景包括网络故障诊断(如 ping 命令)和路由器之间的通信。 3.ARP(Address Resolution Protocol,地址解析协议): ARP 是一种数据链路层协议,用于将网络层的 IP 地址映射到数据链路层的物理地址(如 MAC 地址)。ARP 协议使得 IP 数据包可以在本地网络中正确传输到目的设备。 4.TCP(Transmission Control Protocol,传输控制协议): TCP 是传输层的主要协议,提供了面向连接的、可靠的数据传输服务。TCP 通过握手过程建立连接,使用序列号和确认机制确保数据的可靠传输,以及使用滑动窗口机制实现流量控制。 5.UDP(User Datagram Protocol,用户数据报协议): UDP 也是传输层的一种协议,但与 TCP 不同,它提供的是无连接的、不可靠的数据传输服务。UDP 的优势在于它的传输开销较小,适用于实时性要求较高、允许丢包的应用场景,如实时语音和视频通信。 6.DNS(Domain Name System,域名系统):DNS 是应用层的一种协议,用于将人类可读的域名解析为 IP 地址。DNS 使得用户可以通过域名访问网站和网络服务,而无需记住复杂的 IP 地址。 7.HTTP(Hypertext Transfer Protocol,超文本传输协议):HTTP 是应用层的一种协议,用于在客户端(如浏览器)和服务器之间传输超文本和其他资源。HTTP 是互联网上最常用的协议,构成了万维网(WWW)的基础。 8.FTP(File Transfer Protocol,文件传输协议):FTP 是应用层的一种协议,用于在客户端和服务器之间传输文件。FTP 协议支持对文件的上传、下载、删除、重命名等操作,并提供了对文件访问权限的控制功能。它通常用于在用户和服务器之间共享文件和管理网站内容。 9.SMTP(Simple Mail Transfer Protocol,简单邮件传输协议):SMTP 是应用层的一种协议,用于在邮件服务器之间或客户端到邮件服务器之间发送电子邮件。SMTP 只负责邮件的发送,而接收邮件则需要使用 POP3(邮局协议3)或 IMAP(互联网消息访问协议)等其他协议。 10.DHCP(Dynamic Host Configuration Protocol,动态主机配置协议):DHCP 是应用层的一种协议,用于为网络中的设备动态分配 IP 地址和其他网络配置信息。DHCP 使得网络管理员可以集中管理 IP 地址分配,简化了网络配置和管理工作。 11.SSL/TLS(Secure Sockets Layer/Transport Layer Security,安全套接层/传输层安全): SSL 和 TLS 是应用层的加密协议,用于在客户端和服务器之间建立安全的通信通道。SSL/TLS 可以保护数据的完整性和隐私,防止窃听和篡改。它们广泛应用于安全敏感的场景,如在线支付、登录验证等。 CDN:DNS劫持 域名解析一般由网站自己处理 要加速的域名则重定向到CDN厂商的域名解析服务处理 CDN厂商根据来源确定最近的CDN服务器的IP 用户直接访问最近的CDN服务器 WebSocket: WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。 用WebSocket发送消息延迟比HTTP低 网络安全:三要素 机密性:攻击者无法获取通信内容 完整性:攻击者对内容进行篡改时能被发现 身份验证:攻击者无法伪装成通信双方的任意一方与另一方通信 网络安全:对称加密和非对称加密 对称加密:加密解密用同样的密钥 非对称加密:加密解密使用不同的密钥(公钥和私钥),而且公钥加密只能用私钥解密,私钥加密只能用公钥解密 网络安全:密码散列函数(哈希函数) 输入:任意长度的内容 输出:固定长度的哈希值 性质:找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可能的 网络安全:机密性 加密需要加密算法和密钥等信息(统称为秘密信息) 网络是明文的,不安全的 网络安全:完整性和身份验证 完整性和身份验证相互关联 如何实现身份验证 数字签名:对明文内容的哈希值使用私钥加密,验证者使用公钥验证 数字签名(指纹)=私钥加密(密码散列函数(原文)) 消息=原文+数字签名 一般用于对公开内容(如包含公钥的证书)进行数字签名,防止篡改 网络安全:HTTPS HTTP:超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。 HTTPS(全称:Hypertext Transfer Protocol Secure),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面。 把HTTP的明文换成密文,再验证身份,即HTTPS。 HTTPS=HTTP+TLS TLS=身份验证+加解密 身份验证靠PKI 服务端身份验证靠PKI,客户端身份验证靠HTTP协议。