计算机网络通信协议
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– – – – – – – – – – – – 无连接 不可靠 传输报文,即用户数据报 不为报文发送提供软件级的检查,即不可靠 ຫໍສະໝຸດ Baidu接收到的报文不进行重组 不使用确认技术 不提供流量控制技术 TFTP(简洁文件传输协议) SNMP(简单网络管理协议) DHCP(动态主机控制协议) DNS(域名系统) BOOTP
客户端 请求建立控制连接 接受请求 FTP服务器 Port:21
控制 连接
我打开了9999端口,你来连接我 好的,建立连接 Port:9999 数据 连接
FTP的被动模式
FTP数据连接主动模式和被动模式
• 当进行FTP连接时,IE通常被设置为被动模式, 而FTP客户端软件(如:FlashFXP、cutFTP等) 一般为主动模式。如果服务器和客户端之间存在 防火墙,主动模式经常会引起一些麻烦。如:客 户端位于防火墙之后,通常防火墙允许所有内部 向外部连接通过,但是对于外部访问内部发起的 连接却有很多限制。在这种情况下,客户端可以 正常地和服务器建立控制连接,而如果使用主动 模式的数据连接,一些数据传输命令就很难成功 运行,因为防火墙会阻塞从服务器向客户发起的 数据传输连接。因此在使用主动模式的FTP数据 连接时,防火墙上的配置会比较麻烦。
TCP/IP的传输层协议
• 问题: • 当在windows xp中同时运行多个网络应用程序时, 每个程序都会产生自己的数据流,传输层用什么 方法区分不同应用程序的数据流呢? • 在数据流被分段以后,传输层依靠什么来重新组 装这些数据段呢? • 如果某个数据段在传输过程中丢失了或重复了, 可靠的传输协议依据什么去要求重传这些数据或 丢弃多余的数据呢?
计算机网络通信协议
教师:谢先忠
计算机网络通信协议
• 关于通信协议
通信协议就是通信标准,它能实现不同结构 的设备之间的通信。有了通信协议,就可以在同一 网络中使用各种硬件和不同的应用程序,也可以 在运行不同操作系统的计算机之间进行通信。 TCP/IP是发展至今最成功的通信协议。刚开 始时TCP/IP是美国国防部高等研究计划局开发研 究计划的一部分,其原始目的是为DARPA提供通 信,现在它已被广泛应用于全球最大的开放式网 络系统internet之上,使全球计算机得以互通联系。
FTP数据连接主动模式和被动模式
• 主动模式是从服务器端向客户端发起连接
客户端 请求建立控制连接 接受请求 FTP服务器 Port:21
控制 连接
我打开了9999端口,你来连接我 好的,建立连接 FTP的主动模式 Port:20 数据 连接
FTP数据连接主动模式和被动模式
• 被动模式是客户端向服务器发起连接
– 用户数据报协议UDP
• UDP是不可靠的或非连接的协议(如:寄明信片,寄出去了, 但不管对方是否收到。)
TCP/IP的传输层协议
• 端口号:
– 每个应用程序都会产生自己的数据流,这些数 据流可以把目标主机上相应的服务程序看作自 己的目的地。对于传输层来说,它只需要知道 目标主要上的哪个服务程序来响应这个应用程 序,而不需要知道这个服务程序具体是干什么 的。因此,传输层使用一个抽象的端口标识这 些应用程序和服务程序。
TFTP
• TFTP是基于UDP的应用 • 特点: 用于小文件传输 对内存和处理器要求很低,速度快 不具备FTP的许多功能,它只能从文件服务器上 获得或写入文件,不能列出目录,也不能进行认 证。 • 应用实例: 使用TFTP服务器来备份或恢复Cisco路由器、 Catalyst交换机的IOS镜像和配置文件
关闭TCP连接:改进的三次握手
• 对于一个已经建立的连接,TCP使用改进的三次握手来结束通话(使用一个带有FIN (finish)附加标记的报文段。)
A
应用程序关闭连接
B
通知自己的应用程序: 对方要求关闭连接应 用程序关闭连接
发送FIN(seq=X)
发送ACK(ACK=x+1) 发送FIN(seq=Y),ACK(ACK=x+1)
•
TCP数据域的头格式描述
名称 源端口 目的端口 序号 应答号 头长度 保留 编码位 窗口 校验和 紧急 可选项 数据 调用的端口号 被调用的端口号 确保数据到达序列正确的编号 期望的下一个TCP数据段 以32位字为单位的报头长度 置为0 开始、终止会话之类的控制功能 用来控制流量 头标和数据域计算的校验和 指示紧急据的末端 当前定义项:TCP段的最大值 上层协议的数据 描述
B
创建新的Telnet会话
用户1的会话: 本地端口:23 远程端口:1088
TCP
用户1的会话: 本地端口:23 远程端口:1099 所以在同一IP地址上具有不同端口号的两个连接是不同的。IP地址和端口号被 用来惟一地确定数据连接的途径。
UDP
• UDP提供主机之间的不可靠数据传输,它的特点如下:
常用端口号
常用端口号的使用情况
常用的应用程序协议或应用程序
FTP Telnet SMTP 端口号 UDP TCP 21 23 25
DNS
TFTP SNMP
53
69 161
-
HTTP DHCP
RPC(远程过程调用)
-
80 67
135
端口号的使用过程
• 主机A要Telnet到主要B。主机A首先向TCP请求一个可用端口,TCP分配一个 为1088的端口号给它,主机A将目标端口号置为23。A和B通信后,B看到A过来 的端口号为23,就知道这是一个Telnet应用,它会为它创建一个Telnet会话。
FTP服务的主动模式和被动模式
• FTP包含两种连接模式:控制连接和数据连接 • 控制连接
用于传递客户端的命令和服务器端对命令的响应,它 使用服务器的21端口
• 数据连接
数据连接用于传输文件和其他数据,如目录列表等。 这种连接在需要数据传输时建立,而一旦数据传输完毕就 关闭,每次使用的端口也不一定相同。而且,数据连接既 可能是客户端发起的,也可以是服务器端发起的。
TCP/IP的应用层协议介绍
TCP/IP应用层对应了OSI参考模型的上三层,它包括了一 些服务。这些服务是与终端用户相关的认证、数据处理及 压缩,应用层还要告诉传输层哪个数据流是由哪个应用程 序发出的。应用层主要包括以下协议: 文件传输类:HTTP(超文本传输协议)、FTP(文件传输协 议)、TFTP(简单文件传输协议) 远程登录类:Telnet 电子邮件类:SMTP 域名解析类:DNS 下面将对以上协议进行详细介绍。
TCP/IP的传输层协议
• 端口号的功能及应用特点:
– 端口号用来跟踪网络间同时发生的不同会话。 TCP和UDP可以同时接收多个应用程序送来的 数据流,用端口号来标识它们,然后把它们送 给网际层处理:同时TCP和UDP接受来自网际 层送来的数据包,用端口号来区分它们,然后 送给适当的应用程序处理。这是多路分解技术 的体现,它可以确保正确的用户程序收到正确 的数据。因此,每个应用程序在发送数据前都 会与操作系统进行协商,获得相应的源端口号 和目标端口号。
DNS
• 域名管理系统DNS是一台域名解析服务器 • 在互联网中通常用域名来代替难记的IP地址 以定位计算机和服务。 • DNS服务器中包含了域名和相应的IP地址 映射。 • DNS作用是把域名转换成网络可以识别的 IP地址。 • 在windows中可以使用nslookup命令查询对 应某个域名的IP地址。
我要Telnet B,请 给我一个源端口号 ① A ② 给你1088端口 ③ Sport Dport TCP
④
目标端口为23,它发 给我的是Telnet应用
B
创建telnet会话 本地端口:23 远程端口:1088
⑤
1088
23
…….
端口号的使用过程
• 假如同一系统中有多个Telnet用户,会发生什么情况呢?当主机A上第二个用户要Telnet 到主机B时(其实是在主机A与主机B之间建立第二个Telnet进程),主机A的第二个用户向 TCP发出请求时,TCP会选出另一个可使用的端口号,如1099给第二个Telnet用户。主机 B上便会创建第二个Telnet会话
多路分解
多路分解
应用层
进程1
进程2
进程3
传输层
基于端口分解
网际层
IP数据报
TCP/IP的传输层协议
• 在主机发送应用程序的数据之前,都必须确认端 口号,如何分配这些端口号呢?
– 使用中央管理机构统一分配的端口号
• 应用程序开发者都默认在RFC1700中定义的特殊端口号,在 进行软件设计时,都要遵从RFC1700中定义的规则,不能随 便使用已定义的端口号。如:任何telnet应用中的会话都要用 标准端口号23。
建立TCP连接:三次握手
A B
发送SYN(seq=X) 接收SYN(seq=X) 发送SYN(seq=Y ACK=x+1) N(seq=Y ACK=x+1) 发送确认(ack=x+1) 接收确认(ACK=x+1)
• • •
主机A发送SYN给主机B:我的序号seq是X 主机B发送SYN、ACK给主机A:我的序列号seq是Y,应答号ack是X+1 主机A发送SYN、ACK给主机B:我的序列号seq是X+1,应答号ack是Y+1
TCP
• 传输控制协议在终端用户的应用程序之间提供一个虚电路,它有如下 特点:
– – – – – 面向连接的 是可靠的 可将发出的报文分成段 在目的节点把进入的段重组为报文 对任何没有收到的信息进行重传
TCP头格式
源端口(16) 序号(32) 应答号(32) 头长度(4) 保留(6) 校验和(16) 可选项(如果有,0或32) 数据(可变) 编码位(6) 窗口(16) 紧急(16) 目标端口(16)
• 使用UDP的协议有:
UDP头格式
• UDP数据域的头格式
源端口 报文长度 数据 目标端口 校验和
• UDP数据域的头格式描述
名称 源端口(Source Port) 目的端口(Desination Port) 报文长度(HLEN) 校验和(Checksum) 数据(Data) 调用的端口号 被调用的端口号 记录UDP数据包中的八位组数目,它包括UDP头及UDP数据的长度。 最小值为8(UDP数据部分长度为0时) 头标和数据域计算的校验和,这一项是可选的,为的是在高可靠性 的网络上尽量减少开销 上层协议的数据 描述
– 使用动态绑定
• 如果一个应用程序的会话没有涉及到特殊端口号,那么系统将 在一个特定的取值范围内随机为应用程序分配一个端口号。在 应用程序进行通信之前,如果不知道对方的端口号,就必须发 送请求以获得对方的端口号。
TCP/IP的传输层协议
• 常有端口号介绍:
– 小于255的端口号用于公共应用 – 255~1023是特定供应商应用程序的注册端口号 – 高于1023的端口号未作规定
TCP/IP的传输层协议
• 传输层的主要功能:
– 分割并重新组装上层提供的数据流 – 为数据流提供端到端的传输服务
• 在TCP/IP协议中,有两个传输层协议:
– 传输控制协议TCP
• TCP是一个可靠的面向连接的协议(如:打电话的双方在正式 通话之前都会说“喂”,确定对方在线以后才开始通话。会话 结束时都要说“再见”,然后才挂电话。)
发送确认(ack=x+1) 接收确认(ACK=x+1)
• •
• •
当主机A的应用程序通知TCP数据已经发送完毕时,TCP向主机B发送一个带有FIN附加标记的报文 段 主机B收到这个FIN报文段之后,并不立即用FIN报文段回复主机A,而是先向主机A发送一个确认 ACK,同时通知自己相应的应用程序:对方要求关闭连接(先发送ACK为了防止在这段时间内,对 方重传FIN报文段) 主机B的应用程序告诉TCP:我要彻底的关闭连接,TCP向主机A发送第二个FIN报文段 主机A收到第二个FIN报文段后,向主机B发送一个ACK表示连接彻底关闭
• • • • •
HTTP
• HTTP是一个应用层的、面向对象的协议,它 适用于分布式超媒体信息系统。WWW服务 器使用的主要协议就是HTTP
WEB服务器 超文本链接 WEB服务器 超文本链接 FTP服务器
TCP端口80 TCP端口80
TCP端口23
WEB客户机
FTP
• FTP是一个用于简化IP网络上系统之间文件 传送的协议。采用FTP协议,用户可以高效 地从Internet上的FTP服务器下载大量的数 据文件,以达到资源共享和传递信息的目的。 • 一个FTP站点可以是公用的、私有的、或者 两者兼有之,用户可以为FTP账号定义权限, 让它们可以访问整个FTP服务的目录结构, 或者只是特定的区域。
客户端 请求建立控制连接 接受请求 FTP服务器 Port:21
控制 连接
我打开了9999端口,你来连接我 好的,建立连接 Port:9999 数据 连接
FTP的被动模式
FTP数据连接主动模式和被动模式
• 当进行FTP连接时,IE通常被设置为被动模式, 而FTP客户端软件(如:FlashFXP、cutFTP等) 一般为主动模式。如果服务器和客户端之间存在 防火墙,主动模式经常会引起一些麻烦。如:客 户端位于防火墙之后,通常防火墙允许所有内部 向外部连接通过,但是对于外部访问内部发起的 连接却有很多限制。在这种情况下,客户端可以 正常地和服务器建立控制连接,而如果使用主动 模式的数据连接,一些数据传输命令就很难成功 运行,因为防火墙会阻塞从服务器向客户发起的 数据传输连接。因此在使用主动模式的FTP数据 连接时,防火墙上的配置会比较麻烦。
TCP/IP的传输层协议
• 问题: • 当在windows xp中同时运行多个网络应用程序时, 每个程序都会产生自己的数据流,传输层用什么 方法区分不同应用程序的数据流呢? • 在数据流被分段以后,传输层依靠什么来重新组 装这些数据段呢? • 如果某个数据段在传输过程中丢失了或重复了, 可靠的传输协议依据什么去要求重传这些数据或 丢弃多余的数据呢?
计算机网络通信协议
教师:谢先忠
计算机网络通信协议
• 关于通信协议
通信协议就是通信标准,它能实现不同结构 的设备之间的通信。有了通信协议,就可以在同一 网络中使用各种硬件和不同的应用程序,也可以 在运行不同操作系统的计算机之间进行通信。 TCP/IP是发展至今最成功的通信协议。刚开 始时TCP/IP是美国国防部高等研究计划局开发研 究计划的一部分,其原始目的是为DARPA提供通 信,现在它已被广泛应用于全球最大的开放式网 络系统internet之上,使全球计算机得以互通联系。
FTP数据连接主动模式和被动模式
• 主动模式是从服务器端向客户端发起连接
客户端 请求建立控制连接 接受请求 FTP服务器 Port:21
控制 连接
我打开了9999端口,你来连接我 好的,建立连接 FTP的主动模式 Port:20 数据 连接
FTP数据连接主动模式和被动模式
• 被动模式是客户端向服务器发起连接
– 用户数据报协议UDP
• UDP是不可靠的或非连接的协议(如:寄明信片,寄出去了, 但不管对方是否收到。)
TCP/IP的传输层协议
• 端口号:
– 每个应用程序都会产生自己的数据流,这些数 据流可以把目标主机上相应的服务程序看作自 己的目的地。对于传输层来说,它只需要知道 目标主要上的哪个服务程序来响应这个应用程 序,而不需要知道这个服务程序具体是干什么 的。因此,传输层使用一个抽象的端口标识这 些应用程序和服务程序。
TFTP
• TFTP是基于UDP的应用 • 特点: 用于小文件传输 对内存和处理器要求很低,速度快 不具备FTP的许多功能,它只能从文件服务器上 获得或写入文件,不能列出目录,也不能进行认 证。 • 应用实例: 使用TFTP服务器来备份或恢复Cisco路由器、 Catalyst交换机的IOS镜像和配置文件
关闭TCP连接:改进的三次握手
• 对于一个已经建立的连接,TCP使用改进的三次握手来结束通话(使用一个带有FIN (finish)附加标记的报文段。)
A
应用程序关闭连接
B
通知自己的应用程序: 对方要求关闭连接应 用程序关闭连接
发送FIN(seq=X)
发送ACK(ACK=x+1) 发送FIN(seq=Y),ACK(ACK=x+1)
•
TCP数据域的头格式描述
名称 源端口 目的端口 序号 应答号 头长度 保留 编码位 窗口 校验和 紧急 可选项 数据 调用的端口号 被调用的端口号 确保数据到达序列正确的编号 期望的下一个TCP数据段 以32位字为单位的报头长度 置为0 开始、终止会话之类的控制功能 用来控制流量 头标和数据域计算的校验和 指示紧急据的末端 当前定义项:TCP段的最大值 上层协议的数据 描述
B
创建新的Telnet会话
用户1的会话: 本地端口:23 远程端口:1088
TCP
用户1的会话: 本地端口:23 远程端口:1099 所以在同一IP地址上具有不同端口号的两个连接是不同的。IP地址和端口号被 用来惟一地确定数据连接的途径。
UDP
• UDP提供主机之间的不可靠数据传输,它的特点如下:
常用端口号
常用端口号的使用情况
常用的应用程序协议或应用程序
FTP Telnet SMTP 端口号 UDP TCP 21 23 25
DNS
TFTP SNMP
53
69 161
-
HTTP DHCP
RPC(远程过程调用)
-
80 67
135
端口号的使用过程
• 主机A要Telnet到主要B。主机A首先向TCP请求一个可用端口,TCP分配一个 为1088的端口号给它,主机A将目标端口号置为23。A和B通信后,B看到A过来 的端口号为23,就知道这是一个Telnet应用,它会为它创建一个Telnet会话。
FTP服务的主动模式和被动模式
• FTP包含两种连接模式:控制连接和数据连接 • 控制连接
用于传递客户端的命令和服务器端对命令的响应,它 使用服务器的21端口
• 数据连接
数据连接用于传输文件和其他数据,如目录列表等。 这种连接在需要数据传输时建立,而一旦数据传输完毕就 关闭,每次使用的端口也不一定相同。而且,数据连接既 可能是客户端发起的,也可以是服务器端发起的。
TCP/IP的应用层协议介绍
TCP/IP应用层对应了OSI参考模型的上三层,它包括了一 些服务。这些服务是与终端用户相关的认证、数据处理及 压缩,应用层还要告诉传输层哪个数据流是由哪个应用程 序发出的。应用层主要包括以下协议: 文件传输类:HTTP(超文本传输协议)、FTP(文件传输协 议)、TFTP(简单文件传输协议) 远程登录类:Telnet 电子邮件类:SMTP 域名解析类:DNS 下面将对以上协议进行详细介绍。
TCP/IP的传输层协议
• 端口号的功能及应用特点:
– 端口号用来跟踪网络间同时发生的不同会话。 TCP和UDP可以同时接收多个应用程序送来的 数据流,用端口号来标识它们,然后把它们送 给网际层处理:同时TCP和UDP接受来自网际 层送来的数据包,用端口号来区分它们,然后 送给适当的应用程序处理。这是多路分解技术 的体现,它可以确保正确的用户程序收到正确 的数据。因此,每个应用程序在发送数据前都 会与操作系统进行协商,获得相应的源端口号 和目标端口号。
DNS
• 域名管理系统DNS是一台域名解析服务器 • 在互联网中通常用域名来代替难记的IP地址 以定位计算机和服务。 • DNS服务器中包含了域名和相应的IP地址 映射。 • DNS作用是把域名转换成网络可以识别的 IP地址。 • 在windows中可以使用nslookup命令查询对 应某个域名的IP地址。
我要Telnet B,请 给我一个源端口号 ① A ② 给你1088端口 ③ Sport Dport TCP
④
目标端口为23,它发 给我的是Telnet应用
B
创建telnet会话 本地端口:23 远程端口:1088
⑤
1088
23
…….
端口号的使用过程
• 假如同一系统中有多个Telnet用户,会发生什么情况呢?当主机A上第二个用户要Telnet 到主机B时(其实是在主机A与主机B之间建立第二个Telnet进程),主机A的第二个用户向 TCP发出请求时,TCP会选出另一个可使用的端口号,如1099给第二个Telnet用户。主机 B上便会创建第二个Telnet会话
多路分解
多路分解
应用层
进程1
进程2
进程3
传输层
基于端口分解
网际层
IP数据报
TCP/IP的传输层协议
• 在主机发送应用程序的数据之前,都必须确认端 口号,如何分配这些端口号呢?
– 使用中央管理机构统一分配的端口号
• 应用程序开发者都默认在RFC1700中定义的特殊端口号,在 进行软件设计时,都要遵从RFC1700中定义的规则,不能随 便使用已定义的端口号。如:任何telnet应用中的会话都要用 标准端口号23。
建立TCP连接:三次握手
A B
发送SYN(seq=X) 接收SYN(seq=X) 发送SYN(seq=Y ACK=x+1) N(seq=Y ACK=x+1) 发送确认(ack=x+1) 接收确认(ACK=x+1)
• • •
主机A发送SYN给主机B:我的序号seq是X 主机B发送SYN、ACK给主机A:我的序列号seq是Y,应答号ack是X+1 主机A发送SYN、ACK给主机B:我的序列号seq是X+1,应答号ack是Y+1
TCP
• 传输控制协议在终端用户的应用程序之间提供一个虚电路,它有如下 特点:
– – – – – 面向连接的 是可靠的 可将发出的报文分成段 在目的节点把进入的段重组为报文 对任何没有收到的信息进行重传
TCP头格式
源端口(16) 序号(32) 应答号(32) 头长度(4) 保留(6) 校验和(16) 可选项(如果有,0或32) 数据(可变) 编码位(6) 窗口(16) 紧急(16) 目标端口(16)
• 使用UDP的协议有:
UDP头格式
• UDP数据域的头格式
源端口 报文长度 数据 目标端口 校验和
• UDP数据域的头格式描述
名称 源端口(Source Port) 目的端口(Desination Port) 报文长度(HLEN) 校验和(Checksum) 数据(Data) 调用的端口号 被调用的端口号 记录UDP数据包中的八位组数目,它包括UDP头及UDP数据的长度。 最小值为8(UDP数据部分长度为0时) 头标和数据域计算的校验和,这一项是可选的,为的是在高可靠性 的网络上尽量减少开销 上层协议的数据 描述
– 使用动态绑定
• 如果一个应用程序的会话没有涉及到特殊端口号,那么系统将 在一个特定的取值范围内随机为应用程序分配一个端口号。在 应用程序进行通信之前,如果不知道对方的端口号,就必须发 送请求以获得对方的端口号。
TCP/IP的传输层协议
• 常有端口号介绍:
– 小于255的端口号用于公共应用 – 255~1023是特定供应商应用程序的注册端口号 – 高于1023的端口号未作规定
TCP/IP的传输层协议
• 传输层的主要功能:
– 分割并重新组装上层提供的数据流 – 为数据流提供端到端的传输服务
• 在TCP/IP协议中,有两个传输层协议:
– 传输控制协议TCP
• TCP是一个可靠的面向连接的协议(如:打电话的双方在正式 通话之前都会说“喂”,确定对方在线以后才开始通话。会话 结束时都要说“再见”,然后才挂电话。)
发送确认(ack=x+1) 接收确认(ACK=x+1)
• •
• •
当主机A的应用程序通知TCP数据已经发送完毕时,TCP向主机B发送一个带有FIN附加标记的报文 段 主机B收到这个FIN报文段之后,并不立即用FIN报文段回复主机A,而是先向主机A发送一个确认 ACK,同时通知自己相应的应用程序:对方要求关闭连接(先发送ACK为了防止在这段时间内,对 方重传FIN报文段) 主机B的应用程序告诉TCP:我要彻底的关闭连接,TCP向主机A发送第二个FIN报文段 主机A收到第二个FIN报文段后,向主机B发送一个ACK表示连接彻底关闭
• • • • •
HTTP
• HTTP是一个应用层的、面向对象的协议,它 适用于分布式超媒体信息系统。WWW服务 器使用的主要协议就是HTTP
WEB服务器 超文本链接 WEB服务器 超文本链接 FTP服务器
TCP端口80 TCP端口80
TCP端口23
WEB客户机
FTP
• FTP是一个用于简化IP网络上系统之间文件 传送的协议。采用FTP协议,用户可以高效 地从Internet上的FTP服务器下载大量的数 据文件,以达到资源共享和传递信息的目的。 • 一个FTP站点可以是公用的、私有的、或者 两者兼有之,用户可以为FTP账号定义权限, 让它们可以访问整个FTP服务的目录结构, 或者只是特定的区域。