又要引用百度百科了
TCP
英文原义:Transmission Control Protocol
中文释义:(RFC-793)传输控制协议
注解:该协议主要用于在主机间建立一个虚拟连接,以实现高可靠性的数据包交换。IP协议可以进行IP数据包的分割和组装,但是通
过IP协议并不能清楚地了解到数据包是否顺利地发送给目标计算机。而使用TCP协议就不同了,在该协议传输模式中在将数据包成功
发送给目标计算机后,TCP会要求发送一个确认;如果在某个时限内没有收到确认,那么TCP将重新发送数据包。另外,在传输的过程
中,如果接收到无序、丢失以及被破坏的数据包,TCP还可以负责恢复。
传输控制协议(Transmission Control Protocol,TCP)是一种面向连接的、可靠的、基于字节流的运输层通信协议,通常由IETF的
RFC 793说明。在简化的计算机网络OSI模型中,它完成运输层所指定的功能。
什么是TCP/IP?
TCP/IP(Transmission Control Protocol/Internet Protocol) 即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网
(WANs)设计的。它是由ARPANET网的研究机构发展起来的。
有时我们将TCP/IP描述为互联网协议集\"Internet Protocol Suite\",TCP和IP是其中的两个协议(后面将会介绍)。由于TCP和IP
是大家熟悉的协议,以至于用TCP/IP或IP/TCP这个词代替了整个协议集。这尽管有点奇怪,但没有必要去争论这个习惯。例如,有时我
们讨论NFS 是基于TCP/IP时,尽管它根本没用到TCP(只用到IP,和另一种交互式 协议UDP而不是TCP)。
Internet是网络的集合,包括ARPANET、NSFNET、分布在各地的局域网、以及其它类型的网络,如(DDN,Defense Data Network美国
国防数据网络),这些统称为Internet。所有这些大大小小的网络互联在一起。(因为大多数网络基本协议是由DDN组织开发的,所以以
前有时DDN与Internet在某种意义上具有相同的含义)。网络上的用户可以互相传送信息,除一些有授权限制和安全考虑外。一般的讲,
互联网协议文档案是Internet委员会自己采纳的基本标准。 TCP/IP标准与其说由委员会指定,倒不如说由\"舆论\"来开发的。 任何
人都可以提供一个文档,以RFC(Request for Comment需求注释) 方式公布。
TCP/IP的标准在一系列称为RFC的文档中公布。文档由技术专家、特别工作组、或RFC编辑修订。公布一个文档时,该文档被赋予
一个RFC量,如RFC959说明FTP、RFC793说明TCP、RFC791说明IP等。 最初的RFC一直保留而从来不会被更新,如果修改了该文档,则该文
档又以一个新号码公布。因此,重要的是要确认你拥有了关于某个专题的最新RFC文档。文后会列出主要的RFC文档号。
不管怎样,TCP/IP是一个协议集。为应用提供一些\"低级\"功能,这些包括IP、TCP、UDP。其它是执行特定任务的应用协议,如计
算机间传送文件、发送电子邮件、或找出谁注册到另外一台计算机。因此, 最重要的\"商业\"TCP/IP服务有:
* 文件传送File Transfer。
文件传送协议FTP(File Transfer Protocol)允许用户从一台计算机到另一台取得文件,或发送文件到另外一台计算机。从安全性
方面考虑,需要用户指定一个使用其它计算机的用户名和口令。它不同与NFS(Network File System)和Netbios协议。一旦你要访问另
一台 系统中的文件,任何时刻都要运行FTP。而且你只能拷贝文件到自己的机器中去来使用它。(RFC 959中关于FTP的说明)
* 远程登录Remote login
网络终端协议TELNET允许用户登录到网络上任一计算机上。你可启动一个远程进程连接到指定的计算机,直到进程结束,期间你所
键入的内容被送到所指定的计算机。值得注意的是,这时你实际上是与你的计算机进行对话。TELENET程序使得你的计算机在整个过程
中不见了,所敲的每一个字符直接送到所登录的计算机系统。一般的说,这种远程连接是通过类式拨号连接的,也就是,拨通后,远程系
统提示你输入注册名和口令,退出远程系统,TELNET程序也就退出,你又与自己的计算机对话了。微电脑中的TELNET工具一般含有一个
终端仿真程序。
* 计算机邮件Mail
允许你发送消息给其它计算机的用户。通常,人们趋向于使用指定的一台或两台计算机。计算机邮件系统只需你简单地往另一用
户的邮件文件中添加信息,但随之产生问题,使用的微电脑的环境不同,还有重要的是宏(MICRO)不适合于接受计算机邮件。为了发送电
子邮件,邮件软件希望连接到目的计算机,如果是微电脑,也许它已关机,或者正在运行另一个应用程序呢?出于这种原因,通常由一个较
大的系统来处理这些邮件,也就是一个一直运行着的邮件服务器。邮件软件成为用户从邮件服务器取回邮件的一个界面。
任何一个的TCP/IP工具提供上述这些服务。这些传统的应用功能在基于TCP/IP的网络中一直扮演非常重要的角色。目前情况有点
变化,这些功能使用也发生变化,如老系统的改造,计算机的发展等,出现了各种安装版本,如:微电脑、工作站、小型机、和巨型机等。
这些计算机好像在一起完成指定的任务,尽管有时看来像是只用到某个指定 的计算机,但它是通过网络得到其它计算机系统的服务。
服务器Server是为网络上其它提供指定服务的系统,客户Client是得到这种服务的另外计算机系统。(值得注意的是,服务/客户机不一
定是不同的计算机,有可能是同一计算机中的不同运行程序)。以下是几种目前计算机上典型的一些服务,这些服务可在TCP/IP网络上
调用。
* 网络文件系统(NFS)
这种访问另一计算机的文件的方法非常接近于流行的FTP。网络文件系统提供磁盘或设备服务,而无需特定的网络实用程序来访问
另一系统的文件。可以简单地认为它是一个外加的磁盘驱动器。这种额外\"虚拟\"磁盘驱动器就是其它计算机系统的磁盘。这非常有
用。你只需加大几台计算机的磁盘容量,就可使网络上其他用户访问它,且不说所带来的经济效益,它还能够让几台工作的计算机共享
相同的文件。它也使得系统维护和备份易如反掌,因为再不必为大量的不同机器上 的文件的升级和备份而担心。
* 远程打印(Remote printing)
允许你使用其它计算机上的打印机,好像这些打印机直接连到你的计算机上。
* 远程执行(Remote execution)
允许你请求运行在不同计算机上的特殊程序。当你在一个很小的计算机上运行一个需要大机系统资源的程序时,这时候远程执行
非常有用。
* 名字服务器(Name servers)
在一个大的系统安装过程中,需要用到大量的各种名字,包括用户名、口令,姓名、网络地址、帐号等,管理这些是非常令人乏味的
。因此将这些数据形成数据库,放到一个小系统中去,其它系统通过网络来访问这些数据。
* 终端服务器(Terminal servers)
很多的终端连接安装不再直接将终端连到计算机,取而代之的是,将他们连接到终端服务器上。终端服务器是一个小的计算机,它
只需知道怎样运行TELNET(或其它一些完成远程登录的协议)。如果你的终端想连上去,只用键入要连的计算机名就可。通常有可能同
时有几个这种连接,这时终端服务器采用快速开关技术来切换。
上述所描述的一些协议是由Berkeley, Sun,或其它组织定义的。因此,它们不是互联网协议集(Internet Protocol Suite)的一部
分, 只是使用到TCP/IP的工具,如同一般的TCP/IP 应用协议。因为协议的定义不一致,并且商业支持的TCP/IP工具广泛应用,也许会把
这些协议作为互联协议集中的一部分。上述列出的只是基于TCP/IP部分服务的一些简单例子,但包含了一些\"主要\"的应用。
会话层
会话层可以提供建立,维持,拆除会话的服务,并使得会话同步,会话层使用校验点可以使会话在断开后从校验点重新开始
避免重新传输,也就是实现了断点续传功能~
回话是指用户之间信息传递的过程,在文件传输时 首先与对方建立一个会话连接 通知一下对方开始进行会话 当对方接收到回话连接
建立请求的时候时,便可以开始互相传输数据,每个传输的文件都可以看作是个(活动),发送方在传输一个文件时候通知接收方:活动开
始 使得接收方同步,每发送一段数据就设置一个次同步点,使得接收方可以确认数据的真确性,在发送完一个连续完整的数据组时,发
送方就会设置一个主同步点,接收方收到带有需要主同步点确认的信息后,对接收到的信息进行确认 看是否和发送方发送的信息是相
同的,以保证数据的正确接受,传输结束时,发送方通知接收方"活动结束",如果这是一个文件队列需要一个一个传输,那么发送方在通
知完接收方活动结束后,又发送新的活动开始信息给接收方,以此类推 一直到所有队列文件传输完毕~
其中活动和主同步点也可以当作恢复点,当传输一个大文件的时候,突然发生物理down的事故 当再次连接时,可以从最近完整的主同步
点或者是传输活动来续传~
表示层
表示层为应用层提供了文件编码转换的服务 解决了在不同类型系统文件编码格式不同的问题
表示层的功能是对数据的编码,解码,加密,解密,压缩与解压缩
应用层
应用层是离用户最近的一层,更具我们的需要,应用层提供了不同需求的传输服务比如说POP3,SMTP,Telnet等等
广播:
广播是在一个局域网内向所有节点发送数据,但是不会穿透路由器,广播地址就是把IP地址的主机为全变为1,就是这个网段的广播地址
冲突:
冲突就是在以前基于系同轴电缆的总线结构或者是现在很少见的HUB总线结构上,如果两个HOST一起发送数据 则数据在介质上发生叠
加产生畸形数据. 为了避免冲突的产生IEEE在定义802.3的CSMA/CD Carrier Sense Multiple Access/Collision Detect(载波侦听多
路访问/冲突检测) 也就是在host发送数据的时候监听电缆上是否空闲如果电缆上有数据传输则实行退避算法等待一定时间执行,所有
的发送工作都是用广播来实现的,比如一个局域网中3个pc用hub链接 ip分别是192.168.0.2/24 192.168.0.3/24 192.168.0.4/24
如果192.168.0.2 要向192.168.0.4发送数据 那么他要向整个网段内除自己外所有主机发送广播,接收广播的检验目的地址是否是自
己 是则接受 否则丢弃..效率很低 且共享带宽 用1层设备连接起来的网域可以称之为 "冲突域"冲突域中的PC通过广播传输数据,有
一方传输数据的时候如果不使用退避算法 那么其他方就不能传输数据~
ICMP(Internet Control Message Protocol)互联网控制报文协议
ICMP协议属于网络层协议主要用于host和router之间的消息的传递,包括destination unreachable目标不可达等信息
详细的教程
http://www.longen.org/e-k/detaile~k/ICMP.htm
ARP/RARP(地址解析协议/反向地址解析协议)
在一个用二层交换机连接的小型局域网中,hostA要发送数据给HostC,并且已经知道了hostC的IP地址是192.168.0.2 和自己在一个网
段不需要经过网关 接着 就要在自己的arp缓存表里寻找192.168.0.2的mac地址,如果没有找到 那么就像这个网段内除自己的所有
host发送arp请求,内容是 192.168.0.2的MAC地址是什么,源地址自己.. 如果192.168.0.2在线且受到了这个广播,他就向发送广播的
主机回复一个自己的MAC地址 告诉arp发起方自己的MAC地址并且这个报文是单播报文~
RARP正好和arp的步骤是反向的,一般用于无盘工作站. 比如说一个小型局域网里有10台无盘主机,一个无盘服务器 那么当无盘主机上
线的时候要向255.255.255.255发送一个rarp请求..内容是 给你我的MAC地址 你给我一个可用的IP 这条信息普通无盘主机是不会处
理的 只有无盘服务器收到该信息后,才会发送IP配置信息给这个请求报文的源MAC地址 这样一个IP就分配成功了~
|