1、第4章 网络通信协议,4.1 计算机网络协议,计算机网络协议 负责在网络上建立通信通道和控制通过通道的信息流的规则 计算机网络协议的组成 语义 语法 定时,4.2 ISO/OSI参考模型,ISO开放系统互连(Open System Interconnection)参考模型,简称ISO/OSI RM。这个模型不涉及具体计算机通信网络的应用。该参考模型是一个逻辑结构,并非一个具体的计算机设备或网络,但是任何两个遵守协议的标准的系统都可以互连通信,这正是“开放”的实际意义。它所描述的是通信软件的结构,借助这种结构,提供可靠的数据透明通信服务,而与任何具体厂商的设备或规约无关,从而支持全球范围的应用。
2、,4.2.1 计算机网络的分层模型,应用层,表示层,会话层,传输层,网络层,数据链路层,物理层,1,2,3,4,5,6,7,OSI参考模型,4.2.1 ISO/OSI参考模型的逻辑结构,4.2.1.1 物理层主要功能示意图,4.2.1.2 数据链路层数据封装示意图,4.2.1.3 网络层数据封装示意图,4.2.1.4 传输层数据封装及功能示意图,4.2.1.5 会话层数据封装及功能示意图,4.2.1.6 表示层数据封装示意图,4.2.1.7 应用层功能示意图,4.2.1.7 OSI参考模型中各层的主要功能,4.2.2 协议层,OSI参考模型的第4层及其以上各层,即高层协议中的实体为进程(操作系
3、统中的概念,表示程序的一次执行)。因此高层协议是端到端的协议,实现端到端的通信。下3层协议实现通信子网的功能,其中的实体为与网络互还设备有关,实现点到点的通信。,4.2.3 信息的流动过程,4.3.1 TCP/IP协议体系概述,TCP/IP协议是针对Internet开发的一种体系结构和协议标准,其目的在于解决异种计算机网络的通信问题。使得网络在互联时能为用户提供一种通用、一致的通信服务。是国际互联网Internet采用的协议标准。 TCP/IP是一组通信协议的代名词,是由一系列协议组成的协议簇。它本身指两个协议集:TCP传输控制协议,IP互联网络协议,4.3.1 TCP/IP网络互联,Inte
4、rnet,4.3.2 TCP/IP的分层及基本工作原理,网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能 TCP/IP协议族是一组不同层次上的多个协议的组合。TCP/IP通常被认为是一个四层协议系统,应用层,传输层,网络层,网络接口层,Telnet、Ftp、Smtp等,TCP和UDP,IP、ICMP和IGMP,接口卡及设备驱动,4.3.2 TCP/IP的分层,4.3.2.2 TCP/IP 分层模型,4.3.2.2 TCP/IP协议集的主要协议及它们所提供的服务,4.3.2.2 基于TCP/IP的文件传输(FTP)应用打包过程,4.3.3 数据链路层协议,SLIP :全称是Seria
5、l Line IP。它是一种在串行线路上对IP数据报进行封装的简单形式 PPP:点对点协议修改了SLIP协议中的所有缺陷。与SLIP类似,PPP经常用于低速的串行链路,4.3.4 网络层协议:IP协议,IP提供3种主要的功能: 无连接 数据包分段和重组 路由功能,4.3.4 IP数据报格式及首部中的各字段,0,15,31,20字节,16,注:字段后面括号中的数字是指该字段在IP数据包头部信息中所占的位(bit)数。,4.3.4.1 IP地址具体的格式分类,4.3.4.1 如何判别一个IP地址属于哪一类地址,4.3.4.1 私有IP地址范围,4.3.5.1 IP地址和MAC地址的相互映射,4.3
6、.5.1 MAC 地址,24 位,24 位,0000.0c12. 3456,厂家代码,序列号,ROM,RAM,MAC 地址固化在网卡的 ROM 中,4.3.5.1 ARP地址解析协议,Map IP Ethernet,172.16.3.1,IP: 172.16.3.2 Ethernet: 0800.0020.1111,172.16.3.2,IP: 172.16.3.2 = ?,我收到了这个广播信息,我的MAC地址是0800.0020.1111,我想知道IP地址为 176.16.3.2的MAC地址是什么?,4.3.5.1 查看本机IP和MAC地址,4.3.5.2 RARP反向地址解析协议,Ethe
7、rnet: 0800.0020.1111 IP: 172.16.3.25,Ethernet: 0800.0020.1111 IP = ?,我的 IP地址是什么?,我收到了你的广播,你的IP地址是 172.16.3.25.,Map Ethernet IP,4.3.5.3 ICMP协议,ICMP经常被认为是IP层的一个组成部分。它传递差错报文以及其他需要注意的信息。ICMP报文通常被IP层或更高层协议(TCP或UDP)使用。一些ICMP报文把差错报文返回给用户进程 ICMP用来传送一些关于网络和主机的控制信息。如目标主机是不可到达的、路由的重定向等。常用的ping命令就是使用了ICMP协议,4.3
8、.6 传输层协议,传输层的服务允许用户按照传输层的数据格式分段及封装应用层送来的数据。这一层数据流提供了端到端的传输服务,它在发送主机与接收主机之间构建了一个逻辑连接 。它允许在Internet上两台主机之间信息的无差错传输。TCP还进行流量控制,以避免发送过快而发生拥塞。 传输层包括了两个协议。第一个是TCP协议,即传输控制协议,是一个可靠的、面向连接的协议。第二个是UDP协议,它采用无连接的方式,不管发送的数据包是否到达目的主机,数据包是否出错。收到数据包的主机也不会告诉发送方是否正确收到了数据,它的可靠性是由上层协议来保障的。,4.3.6.1 TCP协议数据格式,0,15,31,20字节
9、,16,注:字段后面括号中的数字是指该字段在TCP头部信息中所占的位(bit)数。,4.3.6.1 UDP协议数据格式,0,15,31,16,注:字段后面括号中的数字是指该字段在UDP头部信息中所占的位(bit)数。,4.3.6.1 TCP协议工作机制,发送SYN信息 (序列号=x),接收SYN信息 (序列号=x),发送ACK 信息 (确认号=y+1),主机A,主机B,接收SYN、ACK信息 (序列号=y, 确认号=x+1),发送SYN、ACK信息 (序列号=y, 确认号=x+1),接收ACK 信息 (确认号=y+1),4.3.6.2 关于端口,4.3.6.2 TCP数据封装示意图,4.3.6
10、.2 UDP数据封装示意图,4.3.6.3 传输层的功能及特点,分割上层应用程序 建立连接 使用流量控制来发送数据 使用窗口技术来保证可靠性 确认技术 传输到网络层,4.3.6.3 分割上层应用程序,4.3.6.3 建立连接,4.3.6.3 流量控制,4.3.6.3 确认技术,4.3.6.3 传输到网络层,4.3.7 应用层,网页浏览 (HTTP, SSL) 文件传输 (FTP,TFTP, NFS) E-Mail (SMTP,POP3) 远程登录 (Telnet,Rlogin) 域名服务 (DNS) 网络管理 (SNMP),4.3.7.1 FTP客户机到服务器的连接示意图,4.3.7. 2 建
11、立Telnet连接,4.3.7.3 SMTP交换电子邮件示意图,4.3.7.4 HTTP超文本传输协议,HTTP:超文本传输协议是WWW浏览器和WWW服务器之间的应用层通讯协议。 HTTP协议是基于TCP/IP之上的协议,它不仅保证正确传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等等。 HTTP协议是基于请求/响应范式的(相当于客户机/服务器)。 在Internet上,HTTP通讯通常发生在TCP/IP连接之上。缺省端口是TCP的80的端口,但其它的端口也是可用的。,4.3.7.4 TFTP 简单文件传送协议,TFTP是一个简单的协议,适合于只读存储器,
12、仅用于无盘系统进行系统引导。它只使用几种报文格式,是一种停止等待协议,4.4 TCP/IP与OSI的比较,4.4 TCP/IP与OSI的比较,TCP/IP模型未能区分服务、接口、协议这些概念。一个良好的软件设计要求对规范与实现加以区分,OSI在这方面作了认真的处理,而TCP/IP则没有。因此,TCP/IP模型对于利用新技术设计新网络而言并没有多大的指导意义。 TCP/IP模型不通用,除了TCP/IP之外不适合其他协议栈。如试图用TCP/IP模型去描述SNA简直是不可能的。 就常规意义而言,TCP/IP网络接口层并不是分层协议中的层,它是网络层与数据链路层的接口。接口与层的概念是很重要的,不应当
13、含混。而在OSI中有清晰的定义。 TCP/IP模型未对物理层与数据链路层加以区分或提及。它们是根本不同的。物理层处理各种介质的传输特性,如同轴、光纤、无线通信等。而数据链路层则是负责帧的起止界定,按所期望的可靠程度传送帧。一个恰当的模型应当包含这两层。但TCP/IP模型不包含这两层。,本章总结:,ISO/OSI参考模型 物理层:二进制传输 数据链路层:介质访问 网络层:确定地址和最佳路径 传输层:端到端连接 会话层:互连主机通信 表示层:数据表示 应用层:为应用程序提供网络服务 TCP/IP分层及各层主要协议 数据链路层:SLIP、PPP 网络层:IP、ARP、RARP、ICMP 传输层:TCP、UDP 应用层:FTP、TELNET、SMTP、HTTP、TFTP,