目录
第五章:运输层
1.运输层协议概述(进程之间的通信,运输层的端口)
2.用户数据报协议 UDP(特点、首部格式)
3.传输控制协议 TCP(特点、套接字、可靠传输的工作原理、首部格式)
TCP协议的特点
TCP套接字(Socket)
可靠传输的工作原理
TCP首部格式
4.TCP 的流量控制和 TCP 的拥塞控制
流量控制
编辑 拥塞控制
5.TCP 的运输连接管理(连接的建立和释放)
连接的建立(三次握手)
连接的释放(四次挥手)
为什么是三次握手和四次挥手
第六章:应用层
1.域名系统DNS
编辑 2.文件传送协议 FTP 和远程终端协议 TELNET
编辑 3.万维网 WWW 和电子邮件
编辑
第七章:网络安全
1.网络安全问题概述,计算机网络上的与通信有关的四种威胁
2.两类密码体制(对称密钥密码体制、公钥密码体制)
编辑 3.数字签名和鉴别
第五章:运输层
1.运输层协议概述(进程之间的通信,运输层的端口)
运输层是OSI模型中的第四层,位于网络层和应用层之间,主要负责在两个主机的进程之间提供端到端的通信服务。运输层协议主要有以下几种:
-
TCP(传输控制协议):
- 特点:TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。它通过三次握手建立连接,确保数据传输的可靠性。
- 流量控制:TCP使用滑动窗口机制来控制发送方的发送速率,以匹配接收方的处理能力。
- 拥塞控制:TCP还具备拥塞控制机制,以避免网络过载。
- 数据传输:TCP保证数据的顺序和完整性,如果数据在传输过程中丢失或损坏,TCP会重新发送数据直到接收方正确接收。
-
UDP(用户数据报协议):
- 特点:UDP是一种无连接的、不可靠的传输层通信协议。它不保证数据的顺序、完整性或可靠性,适用于对实时性要求高的应用。
- 速度:由于UDP不需要建立连接,因此它的传输速度比TCP快,但牺牲了数据的可靠性。
- 应用场景:UDP常用于视频流、在线游戏等对实时性要求高的应用。
-
端口号:
- 作用:端口号用于区分同一主机上运行的不同服务或进程。每个端口号都是一个16位的数字,范围从0到65535。
- 分类:
- 知名端口(Well-Known Ports):0到1023,这些端口号被分配给常用服务,如HTTP(80)、HTTPS(443)、FTP(21)等。
- 注册端口(Registered Ports):1024到49151,这些端口号用于用户或应用程序。
- 动态或私有端口(Dynamic or Private Ports):49152到65535,通常由客户端软件在建立连接时临时使用。
运输层的端口号使得不同的应用程序能够在同一台主机上同时运行,而不会相互干扰,因为每个应用程序都可以通过其唯一的端口号被识别和访问。
2.用户数据报协议 UDP(特点、首部格式)
特点:
首部格式:
3.传输控制协议 TCP(特点、套接字、可靠传输的工作原理、首部格式)
TCP协议的特点
- 面向连接:在数据传输前,必须先建立连接,传输完成后再断开连接。这种方式可以保证数据传输的可靠性。
- 可靠性:TCP协议提供可靠的数据传输服务,能够在数据传输过程中检测和纠正错误,确保数据的完整性、顺序性和可靠性。
- 流控制:TCP协议能够进行流量控制,根据接收方的处理能力来控制发送方的发送速度,避免过多数据拥塞导致网络阻塞。
- 拥塞控制:TCP协议能够进行拥塞控制,根据网络的拥塞程度来动态调整发送方的发送速度,避免网络拥塞和数据丢失。
- 面向字节流:TCP协议以字节流的方式传输数据,没有消息边界,需要应用层进行数据的分包和组包。
- 全双工通信:TCP协议支持全双工通信,即客户端和服务器可以同时发送和接收数据,实现双向通信。
- 可靠的错误检测和重传机制:TCP协议能够对数据进行校验和检测,发现数据错误后进行重传,保证数据传输的可靠性。
TCP套接字(Socket)
套接字(Socket)是用于主机间进行通信的API,工作在TCP/IP协议之上。要通过socket与不同主机间建立通信,需要指定主机的IP地址和端口号;IP地址用于标识唯一主机,端口号用于标识主机上的特定服务或者应用程序。常用的socket有两种类型:TCP套接字和UDP套接字。TCP套接字是基于数据流的,提供可靠传输、有序传输,更适合需要可靠传输的应用,如文件传输、电子邮件、Web浏览等。
可靠传输的工作原理
TCP首部格式
TCP报文段的首部由固定部分和可选部分组成。固定部分的长度为20字节,可选部分的长度可以变化,最大可达到40字节。最小的TCP报文段首部长度为20字节,包含了实现数据传输所需的所有基本字段。
- 源端口和目的端口字段:各占2字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。
- 序号字段:占4字节。TCP连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。
- 确认号字段:占4字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。
- 数据偏移(即首部长度):占4位,它指出TCP报文段的数据起始处距离TCP报文段的起始处有多远。“数据偏移”的单位是32位字(以4字节为计算单位)。
- 保留字段:占6位,保留为今后使用,但目前应置为0。
- 控制位字段:包括紧急URG、确认ACK、推送PSH、复位RST等。
- 窗口:占2字节,用于流量控制。
- 检验和:占2字节,用于错误检测。
- 紧急指针:占2字节,仅当URG=1时才有意义。
4.TCP 的流量控制和 TCP 的拥塞控制
流量控制
拥塞控制
5.TCP 的运输连接管理(连接的建立和释放)
TCP(传输控制协议)的运输连接管理包括连接的建立和释放两个主要过程。这些过程确保了TCP提供的是面向连接的、可靠的服务。
连接的建立(三次握手)
-
SYN(同步序列编号):
- 客户端发送一个带有SYN标志位的TCP段到服务器,以初始化一个连接。这个SYN段中包含客户端的初始序列号(ISN),用于标识从客户端发送的数据字节流。
-
SYN-ACK(同步-确认):
- 服务器收到SYN段后,如果同意建立连接,则会发送一个SYN-ACK段作为响应。这个段包含服务器的初始序列号,并且对客户端的SYN段进行确认(ACK)。
-
ACK(确认):
- 客户端收到服务器的SYN-ACK段后,会发送一个带有ACK标志位的TCP段作为最后的确认。这个ACK段对服务器的SYN段进行确认,并且客户端可以开始发送数据。
完成这三次握手后,TCP连接就成功建立了,客户端和服务器可以开始数据传输。
连接的释放(四次挥手)
-
FIN(结束):
- 当一方完成数据发送后,它会发送一个带有FIN标志位的TCP段,表示它已经没有更多的数据要发送了,请求释放连接。
-
ACK(确认):
- 接收到FIN段的一方会发送一个ACK段作为响应,确认FIN段的接收。
-
FIN(结束):
- 接收方在发送完所有剩余数据后,也会发送一个带有FIN标志位的TCP段,请求释放连接。
-
ACK(确认):
- 最初发送FIN段的一方收到这个FIN段后,会发送最后一个ACK段作为响应,确认连接的释放。
完成这四次挥手后,TCP连接被释放。双方的TCP段都设置了FIN标志位,表明它们都不再发送数据,连接可以安全地关闭。
为什么是三次握手和四次挥手
- 三次握手是为了确保双方都有发送和接收数据的能力,防止已失效的连接请求突然传送到了服务器端,因而产生错误。
- 四次挥手是因为TCP协议是一种全双工通信协议,每个方向都可以独立地开始和结束数据传输。因此,每个方向都需要单独的FIN和ACK来结束连接。
具体动画看ppt181页
第六章:应用层
1.域名系统DNS
注意:互联网的名字空间是按照机构的组织来划分的,与物理的网络无关,与 IP 地址中的“子网”也没有关系。
域名服务器类型:
根据所起的作用,分为四种类型:
根域名服务器 顶级域名服务器 权限域名服务器 本地域名服务器
注意: 根域名服务器并不直接把域名转换成 IP 地址(根域名服务器也没有存放这种信息),而是告诉本地域名服务器下一步应当找哪一个顶级域名服务器进行查询。
2.文件传送协议 FTP 和远程终端协议 TELNET
3.万维网 WWW 和电子邮件
第七章:网络安全
1.网络安全问题概述,计算机网络上的与通信有关的四种威胁
对付被动攻击:加密技术。
对付主动攻击:加密技术 + 鉴别技术。
一个安全的计算机网络应达到四个目标:
- 保密性
1)只有信息的发送方和接收方才能懂得所发送信息的内容。
2)是网络安全通信的最基本的内容,也是对付被动攻击必须具备的功能。
3)需要使用各种密码技术。
- 端点鉴别
1)鉴别信息的发送方和接收方的真实身份。
2)在对付主动攻击中是非常重要的。
- 信息的完整性
1)信息的内容未被篡改过。
2)在应对主动攻击中是必不可少的。
3)信息的完整性与端点鉴别往往是不可分割的。
4)鉴别同时包含了端点鉴别和报文完整性。
- 运行的安全性
1)系统能正常运行并提供服务。
2)访问控制 (access control) 对计算机系统的安全性是非常重要的。
3)必须对访问网络的权限加以控制,并规定每个用户的访问权限。
2.两类密码体制(对称密钥密码体制、公钥密码体制)
3.数字签名和鉴别