TCPIP协议.docx

上传人:b****5 文档编号:8333116 上传时间:2023-01-30 格式:DOCX 页数:19 大小:34.84KB
下载 相关 举报
TCPIP协议.docx_第1页
第1页 / 共19页
TCPIP协议.docx_第2页
第2页 / 共19页
TCPIP协议.docx_第3页
第3页 / 共19页
TCPIP协议.docx_第4页
第4页 / 共19页
TCPIP协议.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

TCPIP协议.docx

《TCPIP协议.docx》由会员分享,可在线阅读,更多相关《TCPIP协议.docx(19页珍藏版)》请在冰豆网上搜索。

TCPIP协议.docx

TCPIP协议

TCP/IP协议:

TransmissionControlProtocol/InternetProtocol,传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。

TCP/IP定义了电子设备如何连网、数据如何传输的标准。

协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

通俗而言:

TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。

而IP是给因特网的每一台电脑规定一个地址。

TCP/IP协议不是TCP和IP这两个协议的合称,而是指因特网整个TCP/IP协议族。

TCP/IP四个层次:

应用层

传输层

网络层

网络接口层

TCP/IP协议并不完全符合OSI的七层参考模型。

OSI(OpenSystemInterconnect)是传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。

该模型的目的是使各种硬件在相同的层次上相互通信。

OSI的7层是:

物理层、数据链路层(网络接口层)、网络层(网络层)、传输层(传输层)、会话层、表示层和应用层(应用层)。

而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

由于ARPANET的设计者注重的是网络互联,允许通信子网(网络接口层)采用已有的或是将来有的各种协议,所以这个层次中没有提供专门的协议。

实际上,TCP/IP协议可以通过网络接口层连接到任何网络上,例如X.25交换网或IEEE802局域网。

 

OSI中的7个层

功能

TCP/IP协议族

应用层

文件传输,电子邮件,文件服务,虚拟终端

TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet等等

表示层

翻译、加密、压缩

没有协议

会话层

对话控制、建立同步点(续传)

没有协议

传输层

端口寻址、分段重组、流量、差错控制

TCP,UDP

网络层

逻辑寻址、路由选择

IP,ICMP,OSPF,EIGRP,IGMP

数据链路层

成帧、物理寻址、流量,差错,接入控制

SLIP,CSLIP,PPP,MTU

物理层

设置网络拓扑结构、比特传输、位同步

ISO2110,IEEE802,IEEE802.2

注意tcp本身不具有数据传输中噪音导致的错误检测功能,但是实现超时的错误重传功能;

TCP/IP的4个层

OSI

应用层

应用层

表示层

会话层

主机到主机层(TCP)

(又称传输层)

传输层

网络层(IP)

(又称互联层)

网络层

网络接口层

(又称链路层)

数据链路层

物理层

 

一、网络接口层:

1、物理层是定义物理介质的各种特性:

(1)、机械特性;

(2)、电子特性;(3)、功能特性;(4)、规程特性。

2、数据链路层是负责接收IP数据包并通过网络发送,或者从网络上接收物理帧,抽出IP数据包,交给IP层。

3、常见的网络接口层协议有:

Ethernet802.3、TokenRing802.5、X.25、Framerelay、HDLC、PPPATM等。

 

二、网络层:

1、网络层负责相邻计算机之间的通信,其功能包括三方面。

(1)处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。

(2)处理输入数据报:

首先检查其合法性,然后进行寻径--假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。

(3)处理路径、流控、拥塞等问题。

2、网络层包括:

IP(InternetProtocol)协议、ICMP(InternetControlMessageProtocol)、控制报文协议、ARP(AddressResolutionProtocol)地址转换协议、RARP(ReverseARP)反向地址转换协议。

IP是网络层的核心,通过路由选择将下一条IP封装后交给接口层。

IP数据报是无连接服务。

ICMP是网络层的补充,可以回送报文。

用来检测网络是否通畅。

Ping命令就是发送ICMP的echo包,通过回送的echorelay进行网络测试。

ARP是正向地址解析协议,通过已知的IP,寻找对应主机的MAC地址。

RARP是反向地址解析协议,通过MAC地址确定IP地址。

比如无盘工作站还有DHCP服务。

三、传输层:

1、传输层是提供应用程序间的通信。

其功能包括:

格式化信息流;提供可靠传输。

为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送,即“三次握手”过程,从而提供可靠的数据传输。

2、传输层协议主要是:

传输控制协议TCP(TransmissionControlProtocol)和用户数据报协议UDP(UserDatagramprotocol)。

 

四、应用层:

1、应用层是向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。

远程登录TELNET使用TELNET协议提供在网络其它主机上注册的接口。

TELNET会话提供了基于字符的虚拟终端。

文件传输访问FTP使用FTP协议来提供网络内机器间的文件拷贝功能。

2、应用层协议主要包括如下几个:

FTP、TELNET、DNS、SMTP、NFS、HTTP。

FTP(FileTransferProtocol)是文件传输协议,一般上传下载用FTP服务,数据端口是20H,控制端口是21H。

Telnet服务是用户远程登录服务,使用23H端口,使用明码传送,保密性差、简单方便。

DNS(DomainNameService)是域名解析服务,提供域名到IP地址之间的转换,使用端口53。

SMTP(SimpleMailTransferProtocol)是简单邮件传输协议,用来控制信件的发送、中转,使用端口25。

NFS(NetworkFileSystem)是网络文件系统,用于网络中不同主机间的文件共享。

HTTP(HypertextTransferProtocol)是超文本传输协议,用于实现互联网中的WWW服务,使用端口80。

 

总结OSI中的层

功能

TCP/IP协议族

应用层

文件传输,电子邮件,文件服务,虚拟终端

TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet等等

表示层

数据格式化,代码转换,数据加密

没有协议

会话层

解除或建立与别的接点的联系

没有协议

传输层

提供端对端的接口

TCP,UDP

网络层

为数据包选择路由

IP,ICMP,OSPF,EIGRP,IGMP

数据链路层

传输有地址的帧以及错误检测功能

SLIP,CSLIP,PPP,MTU

物理层

以二进制数据形式在物理媒体上传输数据

ISO2110,IEEE802,IEEE802.2

网络层中的协议主要有IP,ICMP,IGMP等,由于它包含了IP协议模块,所以它是所有基于TCP/IP协议网络的核心。

在网络层中,IP模块完成大部分功能。

ICMP和IGMP以及其他支持IP的协议帮助IP完成特定的任务,如传输差错控制信息以及主机/路由器之间的控制电文等。

网络层掌管着网络中主机间的信息传输。

传输层上的主要协议是TCP和UDP。

正如网络层控制着主机之间的数据传递,传输层控制着那些将要进入网络层的数据。

两个协议就是它管理这些数据的两种方式:

TCP是一个基于连接的协议;UDP则是面向无连接服务的管理方式的协议。

五、协议优势:

在长期的发展过程中,IP逐渐取代其他网络。

这里是一个简单的解释:

IP传输通用数据,数据能够用于任何目的,并且能够很轻易地取代以前由专有数据网络传输的数据。

一个专有的网络开发出来用于特定目的。

如果它工作很好,用户将接受它。

为了便利提供IP服务,经常用于访问电子邮件或者聊天,通常以某种方式通过专有网络隧道实现。

隧道方式最初可能非常没有效率,因为电子邮件和聊天只需要很低的带宽。

通过一点点的投资IP基础设施逐渐在专有数据网络周边出现。

用IP取代专有服务的需求出现,经常是一个用户要求。

IP替代品过程遍布整个因特网,这使IP替代品比最初的专有网络更加有价值(由于网络效应)。

专有网络受到压制。

许多用户开始维护使用IP替代品的复制品。

IP包的间接开销很小,少于1%,这样在成本上非常有竞争性。

人们开发了一种能够将IP带到专有网络上的大部分用户的不昂贵的传输媒介。

大多数用户为了削减开销,专有网络被取消。

 

六、主要缺点:

第一,它在服务、接口与协议的区别上就不是很清楚。

一个好的软件工程应该将功能与实现方法区分开来,TCP/IP恰恰没有很好地做到这点,就使得TCP/IP参考模型对于使用新的技术的指导意义是不够的。

TCP/IP参考模型不适合于其他非TCP/IP协议簇。

第二,主机-网络层本身并不是实际的一层,它定义了网络层与数据链路层的接口。

物理层与数据链路层的划分是必要和合理的,一个好的参考模型应该将它们区分开,而TCP/IP参考模型却没有做到这点。

 

七、数据格式:

数据帧:

帧头+IP数据包+帧尾(帧头包括源和目标主机MAC地址及类型,帧尾是校验字)

IP数据包:

IP头部+TCP数据信息(IP头包括源和目标主机IP地址、类型、生存期等)

TCP数据信息:

TCP头部+实际数据(TCP头包括源和目标主机端口号、顺序号、确认号、校验字等)

 

八、产生背景

在阿帕网(ARPA)产生运作之初,通过接口信号处理机实现互联的电脑并不多,大部分电脑相互之间不兼容。

在一台电脑上完成的工作,很难拿到另一台电脑上去用,想让硬件和软件都不一样的电脑联网,也有很多困难。

当时美国的状况是,陆军用的电脑是DEC系列产品,海军用的电脑是Honeywell中标机器,空军用的是IBM公司中标的电脑,每一个军种的电脑在各自的系里都运行良好,但却有一个大弊病:

不能共享资源。

当时科学家们提出这样一个理念:

“所有电脑生来都是平等的。

”为了让这些“生来平等”的电脑能够实现“资源共享”就得在这些系统的标准之上,建立一种大家共同都必须遵守的标准,这样才能让不同的电脑按照一定的规则进行“谈判”,并且在谈判之后能“握手”。

在确定今天因特网各个电脑之间“谈判规则”过程中,最重要的人物当数瑟夫(VintonG.Cerf)。

正是他的努力,才使今天各种不同的电脑能按照协议上网互联。

瑟夫也因此获得了与克莱因罗克(“因特网之父”)一样的美称“互联网之父”。

瑟夫从小喜欢标新立异,坚强而又热情。

中学读书时,就被允许使用加州大学洛杉矶分校的电脑,他认为“为电脑编程序是个非常激动人心的事,…只要把程序编好,就可以让电脑做任何事情。

”1965年,瑟夫从斯坦福大学毕业到IBM的一家公司当系统工程师,工作没多久,瑟夫就觉得知识不够用,于是到加州大学洛杉矶分校攻读博士,那时,正逢阿帕网的建立,“接口信号处理机”(IMP)的研试及网络测评中心的建立,瑟夫也成了著名科学家克莱因罗克手下的一位学生。

瑟夫与另外三位年轻人(温菲尔德、克罗克、布雷登)参与了阿帕网的第一个节点的联接。

此后不久,BBN公司对工作中各种情况发展有很强判断能力、被公认阿帕网建成作出巨大贡献的鲍伯·卡恩(BobKahn)也来到了加州大学洛杉矶分校。

在那段日子里,往往是卡恩提出需要什么软件,而瑟夫则通宵达旦地把符合要求的软件给编出来,然后他们一起测试这些软件,直至能正常运行。

当时的主要格局是这样的,罗伯茨提出网络思想设计网络布局,卡恩设计阿帕网总体结构,克莱因罗克负责网络测评系统,还有众多的科学家、研究生参与研究、试验。

69年9月阿帕网诞生、运行后,才发现各个IMP连接的时候,需要考虑用各种电脑都认可的信号来打开通信管道,数据通过后还要关闭通道。

否则这些IMP不会知道什么时候应该接收信号,什么时候该结束,这就是我们所说的通信“协议”的概念。

1970年12月制定出来了最初的通信协议由卡恩开发、瑟夫参与的“网络控制协议”(NCP),但要真正建立一个共同的标准很不容易,72年10月国际电脑通信大会结束后,科学家们都在为此而努力。

“包切换”理论为网络之间的联接方式提供了理论基础。

卡恩在自己研究的基础上,认识到只有深入理解各种操作系统的细节才能建立一种对各种操作系统普适的协议,73年卡恩请瑟夫一起考虑这个协议的各个细节,他们这次合作的结果产生了在开放系统下的所有网民和网管人员都在使用的“传输控制协议”(TCP,Transmission-ControlProtocol)和“因特网协议”(IP,InternetProtocol)即TCP/IP协议。

通俗而言:

TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。

而IP是给因特网的每一台电脑规定一个地址。

1974年12月,卡恩、瑟夫的第一份TCP协议详细说明正式发表。

当时美国国防部与三个科学家小组签定了完成TCP/IP的协议,结果由瑟夫领衔的小组捷足先登,首先制定出了通过详细定义的TCP/IP协议标准。

当时作了一个试验,将信息包通过点对点的卫星网络,再通过陆地电缆,再通过卫星网络,再由地面传输,贯串欧洲和美国,经过各种电脑系统,全程9.4万公里竟然没有丢失一个数据位,远距离的可靠数据传输证明了TCP/IP协议的成功。

1983年1月1日,运行较长时期曾被人们习惯了的NCP被停止使用,TCP/IP协议作为因特网上所有主机间的共同协议,从此以后被作为一种必须遵守的规则被肯定和应用。

九、开发过程

在构建了阿帕网先驱之后,DARPA开始了其他数据传输技术的研究。

NCP诞生后两年,1972年,罗伯特·卡恩(RobertE.Kahn)被DARPA的信息技术处理办公室雇佣,在那里他研究卫星数据包网络和地面无线数据包网络,并且意识到能够在它们之间沟通的价值。

在1973年春天,已有的ARPANET网络控制程序(NCP)协议的开发者文顿·瑟夫(VintonCerf)加入到卡恩为ARPANET设计下一代协议而开发开放互连模型的工作中。

到了1973年夏天,卡恩和瑟夫很快就开发出了一个基本的改进形式,其中网络协议之间的不同通过使用一个公用互联网络协议而隐藏起来,并且可靠性由主机保证而不是像ARPANET那样由网络保证。

(瑟夫称赞HubertZimmerman和LouisPouzin(CYCLADES网络的设计者)在这个设计上发挥了重要影响。

由于网络的作用减少到最小的程度,就有可能将任何网络连接到一起,而不用管它们不同的特点,这样就解决了卡恩最初的问题。

(一个流行的说法提到瑟夫和卡恩工作的最终产品TCP/IP将在运行“两个罐子和一根弦”上,实际上它已经用在信鸽上。

一个称为网关(后来改为路由器以免与网关混淆)的计算机为每个网络提供一个接口并且在它们之间来回传输数据包。

这个设计思想更细的形式由瑟夫在斯坦福的网络研究组的1973年–1974年期间开发出来。

(处于同一时期的诞生了PARC通用包协议组的施乐PARC早期网络研究工作也有重要的技术影响;人们在两者之间摇摆不定。

DARPA于是与BBN、斯坦福和伦敦大学签署了协议开发不同硬件平台上协议的运行版本。

有四个版本被开发出来——TCPv1、TCPv2、在1978年春天分成TCPv3和IPv3的版本,后来就是稳定的TCP/IPv4——因特网仍然使用的标准协议。

1975年,两个网络之间的TCP/IP通信在斯坦福和伦敦大学(UCL)之间进行了测试。

1977年11月,三个网络之间的TCP/IP测试在美国、英国和挪威之间进行。

在1978年到1983年间,其他一些TCP/IP原型在多个研究中心之间开发出来。

ARPANET完全转换到TCP/IP在1983年1月1日发生。

[1]

1984年,美国国防部将TCP/IP作为所有计算机网络的标准。

1985年,因特网架构理事会举行了一个三天有250家厂商代表参加的关于计算产业使用TCP/IP的工作会议,帮助协议的推广并且引领它日渐增长的商业应用。

2005年9月9日卡恩和瑟夫由于他们对于美国文化做出的卓越贡献被授予总统自由勋章。

十、概念解析---IP

IP层接收由更低层(网络接口层)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。

IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。

IP数据包中有发送它的主机地址(源地址)和接收它的主机地址(目的地址)。

高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。

也可以这样说,IP地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。

IP确认包含一个选项,叫作IPsourcerouting,可以用来指定一条源地址和目的地址之间的直接路径。

对于一些TCP和UDP的服务来说,使用了该选项的IP包好像是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。

这个选项是为了测试而存在的,说明了它可以被用来欺骗系统来进行平常是被禁止的连接。

那么,许多依靠IP源地址做确认的服务将产生问题并且会被非法入侵。

十一、概念解析---TCP

TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成后要拆除连接,只能用于点对点的通讯。

TCP提供可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。

TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。

如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向‘上’传送到TCP层。

TCP将包排序并进行错误检查,同时实现虚电路间的连接。

TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。

TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序。

应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。

面向连接的服务(例如Telnet、FTP、rlogin、XWindows和SMTP)需要高度的可靠性,所以它们使用了TCP。

DNS在某些情况下使用TCP(发送和接收域名数据库),但使用UDP传送有关单个主机的信息。

 

十二、概念解析---UDP

UDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。

UDP通讯时不需要接收方确认,属于不可靠的传输,可能会出丢包现象,实际应用中要求程序员编程验证。

UDP与TCP位于同一层,但它不管数据包的顺序、错误或重发。

因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询---应答的服务,例如NFS。

相对于FTP或Telnet,这些服务需要交换的信息量较小。

使用UDP的服务包括NTP(网络时间协议)和DNS(DNS也使用TCP)。

欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。

 

十三、概念解析---ICMP

ICMP与IP位于同一层,它被用来传送IP的的控制信息。

它主要是用来提供有关通向目的地址的路径信息。

ICMP的‘Redirect’信息通知主机通向其他系统的更准确的路径,而‘Unreachable’信息则指出路径有问题。

另外,如果路径不可用了,ICMP可以使TCP连接‘体面地’终止。

PING是最常用的基于ICMP的服务。

 

十四、概念解析-通讯端口

TCP和UDP服务通常有一个客户/服务器的关系,例如,一个Telnet服务进程开始在系统上处于空闲状态,等待着连接。

用户使用Telnet客户程序与服务进程建立一个连接。

客户程序向服务进程写入信息,服务进程读出信息并发出响应,客户程序读出响应并向用户报告。

因而,这个连接是双工的,可以用来进行读写。

两个系统间的多重Telnet连接是如何相互确认并协调一致呢?

TCP或UDP连接唯一地使用每个信息中的如下四项进行确认:

源IP地址发送包的IP地址。

目的IP地址接收包的IP地址。

源端口源系统上的连接的端口。

目的端口目的系统上的连接的端口。

端口是一个软件结构,被客户程序或服务进程用来发送和接收信息。

一个端口对应一个16比特的数。

服务进程通常使用一个固定的端口,例如,SMTP使用25、Xwindows使用6000。

这些端口号是‘广为人知’的,因为在建立与特定的主机或服务的连接时,需要这些地址和目的地址进行通讯。

 

十五、IP地址:

在Internet上连接的所有计算机,从大型机到微型计算机都是以独立的身份出现,我们称它为主机。

为了实现各主机间的通信,每台主机都必须有一个唯一的网络地址。

就好像每一个住宅都有唯一的门牌一样,才不至于在传输资料时出现混乱。

Internet的网络地址是指连入Internet网络的计算机的地址编号,在Internet网络中,网络地址唯一地标识一台计算机。

这个地址就叫做IP(InternetProtocol的简写)地址,即用Internet协议语言表示的地址。

IP地址是一个32位的二进制地址,分为4组,每组8位,由小数点分开,用四个字节来表示,而且,用点分开的每个字节的数值范围是0~255,如202.116.0.1,这种书写方法叫做点数表示法。

 

1、地址分类

IP地址可确认网络中的任何一个网络和计算机,而要识别其它网络或其中的计算机,则是根据这些IP地址的分类来确定的。

一般将IP地址按节点计算机所在网络规模的大小分为A,B,C三类,默认的网络屏蔽是根据IP地址中的第一个字段确定的。

1.A类地址

表示范围为:

1.0.0.1~126.255.255.255,

默认网络屏蔽为:

255.0.0.0;

A类地址分配给规模特别大的网络使用。

A类网络用第一组数字表示网络本身的地址,后三组数字作为连接于网络上的主机的地址,分配给具有大量主机(直接个人用户)而局域网络个数较少的大型网络。

例如IBM公司的网络:

127.0.0.0到127.255.255.255是保留地址,用做循环测试用的。

0.0.0.0到0.255.255.255也是保留地址,用做表示所有的IP地址。

一个A类IP地址由1字节(每个字节是8位)的网络地址和3个字节主机地址组成,网络地址的最高位必须是“0”,即第一段数字范围为1~127。

每个A类地址理论上可连接16777214<256*256*256-2>台主机(-2是因为主机中要用去一个网络号和一个广播号),Internet有126个可用的A类地址。

A类地址适用于有大量主机的大型网络。

2.B类地址

B类地址的表示范围为:

128.0.0.1~191.255.255.255,默认网络屏蔽为:

255.255.0.0;

B类地址分配给一般的中型网络。

B类网络用第一、二组数字表示网络的地址,后面两组数字代表网络上的主机地址。

169.254.0.0到169.254.255.255是保留地址。

如果你的IP地址是自动获取IP地址,而你在网络上又没有找到可用的DHCP服务器,这时你将会从169.254.0.0到169.254.255.255中临时获得一个IP地址。

一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1