当前位置:文档之家› 2020年TCPIP协议原理(精选干货)

2020年TCPIP协议原理(精选干货)

1 / 60 感谢聆听 第7章 TCP/IP协议原理 课程目标: 初级  掌握TCP/IP的协议体系  掌握IP协议报文结构  掌握IP地址分类及掩码计算  了解TCP、UDP协议基本原理 中级、高级

 掌握IP分片和重组的理论  掌握TCP、UDP的报文结构  掌握TCP、UDP的工作原理  熟悉使用抓包工具对TCP/IP报文进行抓包分析

7.1 TCP/IP概述 7.1.1 TCP/IP 的产生背景及特点 1. TCP/IP的产生背景 传输控制协议/Internet 协议 (TCP/IP) 是业界标准的协议组,为跨越 LAN 和 WAN 环境的大规模互联网络设计。如下面的时间线所示,TCP/IP 始于 1969 年,也就是美国国防部 (DoD) 委任高级资源计划机构网络 (ARPANET) 的时间.......感谢聆听 2 / 60 感谢聆听

ARPANET是资源共享实验的结果。其目的是在美国不同地区的各种超级计算机之间提供高速网络通讯链路。 早期协议,如Telnet(用于虚拟终端仿真)和文件传输协议(FTP)是最早开发的,以指定通过ARPANET共享信息所需的基本实用程序。随着ARPANET在规模和作用范围上的日益扩大,出现了其他两个重要协议: 在1974年,传输控制协议(TCP)作为规范草案引入,它描述了如何在网络上建立可靠的、主机对主机的数据传输服务。 在1981年,Internet协议(IP)以草案形式引入,它描述了如何在互联的网络之间实现寻址的标准以及如何进行数据包路由。 1983年1月1日,ARPANET开始对所有的网络通讯和基本通讯都要求标准使用 TCP 和 IP 协议.从那天开始,ARPANET 逐渐成为众所周知的 Internet,它所要求的协议逐渐变成 TCP/IP 协议组。TCP/IP 协议组在各种 TCP/IP 软件中实现,可用于多种计算机平台,并经常用于建立大的路由专用国际网络。......感谢聆听

TCP/IP是指一整套数据通信协议,其名字是由这些协

议中的两个协议组成的,即传输控制协议(Transmission Control Protocol 。—TCP)和网间协议(Internet Protocol —IP)。虽然还有很多其他协议,但是TCP和IP显然是两个最重要的协议。......感谢聆听 3 / 60 感谢聆听

2. TCP/IP的特点 TCP/IP协议有一些重要的特点,以确保在特定的时刻能满足一种重要的需求,即世界范围的数据通信。其特点包括: ·开放式协议标准.可免费使用,且与具体的计算机硬件或操作系统无关。由于它受到如此广泛的支持,因而即使不通过Internet 通信,利用TCP/IP来统一不同的硬件和软件也是很理想的。 ·与物理网络硬件无关.这就允许TCP/IP可以将很多不同类型的网络集成在一起,它可以适用于以太网、令牌环网、拨号线、X。25网络以及任何其它类型的物理传输介质。 ·通用的寻址方案。该方案允许任何TCP/IP设备唯一的寻址整个网络中的任何其他设备,该网络甚至可以象全球Internet那样大。 ·各种标准化的高级协议.可广泛而持续地提供多种用户服务。

7。1.2 TCP/IP协议体系 TCP/IP参考模型 TCP/IP 协议体系和 OSI参考模型一样,也是一种分层结构。它是由基于硬件层次上的四个概念性层次构成,即网络接口层、互联网层、传输层和应用层。图 7.1 表示TCP/IP与OSI参考模型的对应关系。图7.2 TCP/IP参考模型的层次结构.......感谢聆听 4 / 60 感谢聆听

图7。1 OSI与TCP/IP参考模型对照图 图7.2 TCP/IP参考模型 在TCP/IP参考模型中,去掉了OSI参考模型中的会话层和表示层(这两层的功能被合并到应用层实现)。同时将OSI参考模型中的数据链路层和物理层合并为网络接口层.下面,分别介绍各层的主要功能。 ·网络接口层 网络接口层也称为数据链路层,它是 TCP/IP 的最底层,但是 TCP/IP 协议并没有严格定义该层,它只是要求能够提供给其上层--网络层一个访问接口,以便在其上传递IP分组。由于这一层次未被定义,所以其具体的实现方法将随着网络类型的不同而不同。......感谢聆听

·互联网层

互联网层(Internet Layer)俗称 IP 层,它处理机器之间的通信。它接受来自传输层的请求,传输某个具有目的地址信息的分组.该层把分组封装到 IP 数5 / 60 感谢聆听

据报中,填入数据报的首部(也称为报头),使用路由算法来选择是直接把数据报发送到目标机还是把数据报发送给路由器,然后把数据报交给下面的网络接口层中的对应网络接口模块。该层还有处理接收到的数据报,检验其正确性,使用路由算法来决定对数据报是否在本地进行处理还是继续向前传送。......感谢聆听

·传输层

在TCP/IP模型中,传输层的功能是使源端主机和目标端主机上的对等实体可以进行会话。在传输层定义了两种服务质量不同的协议。即:传输控制协议TCP(transmission control protocol)和用户数据报协议UDP(user datagram protocol)。TCP协议是一个面向连接的、可靠的协议。它将一台主机发出的字节流无差错地发往互联网上的其他主机。在发送端,它负责把上层传送下来的字节流分成报文段并传递给下层.在接收端,它负责把收到的报文进行重组后递交给上层。TCP协议还要处理端到端的流量控制,以避免缓慢接收的接收方没有足够的缓冲区接收发送方发送的大量数据。UDP协议是一个不可靠的、无连接协议,主要适用于不需要对报文进行排序和流量控制的场合。......感谢聆听

·应用层

TCP/IP模型将OSI参考模型中的会话层和表示层的功能合并到应用层实现.应用层面向不同的网络应用引入了不同的应用层协议。其中,有基于TCP协议的,如文件传输协议( Protocol,FTP)、虚拟终端协议(TELNET)、超文本链接协议(Hyper Text Transfer Protocol,HTTP),简单邮件传输协议(Simple Mail Transport 6 / 60 感谢聆听

Protocol,smtp);也有基于UDP协议的,如网络文件系统(Network NFS)、简单网络管理协议(Simple Network Management Protocol SNMP)、域名系统(Domain Name Server DNS)以及简单文件传输系统(The Trivial Protocol TFTP)。......感谢聆听

7.1。3 TCP/IP常用概念介绍 TCP/IP 协议体系及其实现中有很多概念和术语,为了方便读者理解后面的内容,本节集中介绍一些最常用的概念与术语. 1.包 包(packet)是网络上传输的数据片段,也称分组。在计算机网络上,用户数据要按照规定划分为大小适中的若干组,每个组加上包头构成一个包,这个过程称为封装(encapsulation)。网络上使用包为单位传输的目的是为了更好地实现资源共享和检错、纠错。包是一种统称,在不同的协议不同的层次,包有不同的名字,如TCP/IP协议中,数据链路层的包叫帧(Frame),IP 层的包称为 IP 数据报,TCP层的包常称为TCP 报文等.应用程序自己也可以设计自己的包类型,如在自己设计的 socket 程序中使用包。......感谢聆听

2。网络字节顺序 由于不同体系结构的计算机存储数据的格式和顺序都不一样,要建立一个独立于任何特定厂家的机器结构或7 / 60 感谢聆听

网络硬件的互联网,就必须定义一个数据的表示标准。例如,将一台计算机上的一个32位的二进制整数发送到另一台计算机,由于不同的机器上存储整数的字节顺序可能不一样,如 Intel 结构的计算机存储整数是低地址低字节数,即最低存储器地址存放整数的低位字节(叫做小端机,Little Endian),而 Sun Sparc 结构的计算机存储整数是低地址高字节数,即最低存储器地址存放整数的高位字节(叫做大端机,Big Endian)。因此,直接把数据按照恒定的顺序发送到另一台机器上时可能会改变数字的值. ......感谢聆听

为了解决字节顺序的问题, TCP/IP 协议定义了一种所有机器在互联网分组的二进制字段中必须使用的网络标准字节顺序(network standard byte order):必须首先发送整数中最高有效字节(同大端机).因此,网络应用程序都要求遵循一个字节顺序转换规则:“主机字节顺序── 〉 网络字节顺序── > 主机字节顺序”,即发送方将主机字节顺序的整数转换为网络字节顺序然后发送出去,接收方收到数据后将网络字节顺序的整数转换为自己的主机字节顺序然后处理. ......感谢聆听

3.服务、接口、协议 服务、接口、协议是 TCP/IP体系结构中非常重要的概念,它们贯穿了整个参考模型的始终。

相关主题