论文部分内容阅读
“手机、QQ、电邮,一个都不能少!”每当“嘀嘀、嘀嘀”的声音陆续响起,熟悉的头像不停地闪烁—QQ上的好友又在呼叫自己了,于是伴随着一阵噼里啪啦的键盘声,大家在小小的对话框中你来我往地回复信息,聊得是热火朝天……QQ真可谓是使亲友的沟通突破时空极限,使办公室的沟通突破上下级极限,使陌生人的沟通突破环境极限,使自我与外界的沟通突破心理极限……在这么高兴的时候,要是忽然遇见消息丢失或者延迟接收,想必您一定特别扫兴,心里也特别恼火—好好的聊天就这么被“不速之客”给打断了。那为什么会出现这种情况呢?不要着急抓狂,且听我们慢慢给您道来。
QQ的所有的工作都离不开TCP/IP协议,QQ的登录、消息的发送接受等工作都需要TCP/IP协议的支持,特别是文件的断点续传,那么什么是TCP/IP协议呢?
一、网络间的通用语——TCP/IP协议
经常有人提到“TCP/IP协议”,那什么是协议呢?
我们可以假设打电话给国外的某个人,位于电话两端的人都希望用自己的语言进行交流,但是说汉语的我们无法理解外国的语言,反之亦然。
要是让他们相互学习对方的语言,费时费力,怎么解决这个问题呢?不如我们创造出一种大家都能懂的世界语来交流。同样的,计算机世界里要相互通信,就必须遵循某种协议,只要我们所用的计算机遵守TCP/IP协议,具备必要的硬件,无论在哪里都可以连接到网络世界中。TCP/IP协议就是计算机网络的通行证,是计算机通信的世界语。
1容易丢失的漂流瓶——IP
在我们日常的使用的邮政电信系统中,我们要给某人发送信件或打电话,必须知道对方的地址或电话号码,在计算机之间通信也是一样,IP地址通俗地讲就是每一台计算机的通信地址。IP是TCP/IP的心脏,也是网络层中最重要的协议。
IP地址是唯一的。它能保证将信息从一个地址传送到另一个地址。尽管IP协议使计算机能够发送和接收数据,提供了一种将数据包从源地址传送到目的地的方法,但IP并未解决数据包在传送过程中所有可能出现的问题,如果一位IP收件人收到了一个不完整的信息,它会简单地抛弃这个信息,并且对发送者什么表示也没有。那么我们怎么使用IP来提供可靠服务呢?
2能自动“发报”的漂流瓶——TCP
我们可以这样想象,IP像装在瓶子中的信件。把瓶子丢入大海后,谁也无法保证瓶中信能够送到你所希望的收件人手中。但是假设你聘请了一位“瓶中信端对端管理员”A,这个人会把你的信件放入一个瓶中,然后扔入大海。A还有一个伙伴B位于海的另一边,当B收到来自A的瓶中信时,B就会写一条信息“A,我已经收到你的信件了”,把这信件也放在一个瓶中,然后将这个瓶子也丢入大海(见图1)。
如果A在一段时间内没有收到B的任何确认回信,例如在一个月内,他会把原始的信件装入另一个瓶中,再丢入大海。这也就是我们常说的“超时重发”。
我们聘请A和B来保证本来不可靠的、像瓶中信一样的网络能够进行可靠的传输。A会持续不断地发送和重发,直到他得到了B的响应信息。A并没使用新的传输媒体,他只是在现有的传输协议上加了一层自己使用的,用来查看的信息。
这里我们把IP假设为瓶中的信件,那TCP就相当于A和B组成的工作组。TCP提供了可靠的端对端服务,确保了传送的完整性,并建立了连接。因此,使用Internet的计算机不但需要IP协议还需要TCP协议来提供可靠的无差错的通信服务,达到互相配合互相补充的目的。
3TCP的孪生兄弟UDP
UDP协议是和TCP协议相像但不相同的孪生兄弟。它不提供数据传送的验证机制,如果在整个文件传输过程中如果出现数据包的丢失,协议本身并不能作出任何的检测或提示,通常人们把UDP协议称为不可靠的传输协议,但传输速度较快。
在默认状态下,QQ优先采用了UDP协议登录和传送数据,但是由于TCP的数据传递验证特性,很多的Q迷都开始选择使用TCP登录QQ。
二、漂洋过海来看你——TCP/IP在行动
TCP/IP所采用的通信方式是分组交换方式。分组交换是指数据在传输时分成若干段,每个数据段称为一个数据包,数据包除含有一定长度的正文外,还含有数据包将被送往的地址(这个地址称为IP),数据包经过多台计算机的中转最终达到它的目的地。TCP/IP协议的基本传输单位就是数据包。
那么,为什么要将数据分解成为数据包呢?这样做当然有好处。首先,由于这些数据包不必非在一起传送,所以通信线路可以把所有类型的数据包按它们自己的目的地从一个地方传送到另一个地方,当数据包全部到达自己的目的地后再重新组装。如果在传送过程中,某段线路连接中断,控制数据包传送的计算机可以选择另外一条线路传送以后的数据包,不必“一棵树上吊死”。这个特性有些类似于日常的运输工作,如果要运送一台几百吨重的机器,谁也不会直接用汽车将它整体一次运走,而是将机器分解成为重量适当的零件,再把各个零件分组标号,分别由多辆汽车运输,如果某段道路不通,后面的车辆完全可以另找一条路,等全部运输到位后,再将这些小零件组装成机器。将数据分解成数据包的第二个好处,是如果某个数据包出错,计算机不必传送所有数据,只需单独传送出错的数据包即可。
网络中传输数据的过程如下:
1.首先由TCP协议把数据分成若干数据包,给每个数据包写上序号,以便接受端把数据还原成原来的格式;
2.IP协议给每个数据包写上发送主机和接受主机的地址,一旦写上它的源地址和目的地址,数据包就可以在物理网上传送数据了。IP协议还具有利用路由算法进行路由选择的功能;
3.这些数据包可以通过不同的传输路径(路由)进行传输。由于路径不同,加上其他的原因,可能出现顺序颠倒、数据失真甚至重复的显示。这些问题都由TCP协议来处理,它具有检查和处理错误的功能,必要时还可以请求发送端重发(见图2)。
三、严禁走私!TCP/IP的保密措施
假设我们把一个货物(数据包)从A点运往B点,我们一定要保证及时送到,而且还需要以下几步:
1对这个货物进行包装,防止在路上散架或被盗(丢失或被监听),在包装过程中为了便于B点收到货物后可以方便地解开包装,全世界对这个包装方法进行了统一规定(也就是TCP/IP协议),原先货物要在A处加上7层包装纸,可是包装人员偷了个小懒只包了4层(OSI7层模型,TCP/IP协议实现了其中的4层结构)。
2包装完毕后,就要开始运输这个货物了。这时候存在两个概念:一个是桥接,一个是路由。桥接就相当于一条大马路,货物通过马路直接运往B。而路由则相当于交通警察,他将告诉货物,哪条才是最近的最快的到达B点的路线。所以在关键的十字路口均要安放必要的路由器对货物路线进行指挥。
3当货物到达B后,B点向A点反馈已经收到的信息,将按照上面约定的捆绑方式(TCP/IP协议)来解开包装(见图3)。
在这里我们也可以看出,将数据分解成小数据包也不是一点缺点没有的,由于每一个数据包都被加入一些特定信息,比如出发地点、目的地点及序号,这就加大了数据的传送量,当网络中存在过多的数据包时,网络的性能就会下降,这种现象称为拥塞。当数据包经过长时间排队完成转发时,它们很可能早已超时,从而引起源端超时重发,而这些数据包还会继续传输到下一路由器,从而浪费网络资源,加重网络拥塞。
看到这里,相信大家对TCP/IP协议有了一个了解。在文章的开头说的QQ在聊天时出现信息丢失、延迟接收、重复接收等情况,大部分是由于网络繁忙造成INTERNET超负荷运行引起的,也就是说TCP/IP的工作太过于繁忙。当我们再次遇见以上情况时,我们就可以在命令提示符中输入“Ping 127.0.0.1”检查是不是TCP/IP协议发生故障,其中127.0.0.1是本地循环地址,如果返回信息中出现“Request timed out”,意味着地址无法Ping通,说明这台电脑的TCP/IP协议不能正常工作。怎么办呢?在这里再给大家透漏一个解决网络故障“万能”技巧:
★Windows 2000及以前的版本:只要先打开网络属性设置窗口,然后将TCP/IP协议选中并删除,重新启动后再添加TCP/IP协议即可。
★Windows XP/2003:一般用户无法删除,需要进到MS-DOS命令提示符下,依次执行“netsh”命令、“int”命令、“ip”命令。在“ip>”命令提示符下,执行“ reset log.txt”命令,这样Windows XP系统就会自动把TCP/IP协议的状态参数全部恢复到系统安装时的原始状态,很多网络问题会迎刃而解。
俗话说“金无足赤,人无完人”,TCP/IP协议也是一样。在现有条件下,以上说的问题没有解决方法,我们只能期待有一种全新的成熟的通信协议技术问世。所以,大家最好能合理安排好QQ聊天的时间,尽量避开网络高峰期,避开可恶的“不速之客”,让可爱的企鹅带着你我在网络的世界里沟通无极限——想Q就Q,Q出你我他,Q得Happy,Q出精彩!
QQ的所有的工作都离不开TCP/IP协议,QQ的登录、消息的发送接受等工作都需要TCP/IP协议的支持,特别是文件的断点续传,那么什么是TCP/IP协议呢?
一、网络间的通用语——TCP/IP协议
经常有人提到“TCP/IP协议”,那什么是协议呢?
我们可以假设打电话给国外的某个人,位于电话两端的人都希望用自己的语言进行交流,但是说汉语的我们无法理解外国的语言,反之亦然。
要是让他们相互学习对方的语言,费时费力,怎么解决这个问题呢?不如我们创造出一种大家都能懂的世界语来交流。同样的,计算机世界里要相互通信,就必须遵循某种协议,只要我们所用的计算机遵守TCP/IP协议,具备必要的硬件,无论在哪里都可以连接到网络世界中。TCP/IP协议就是计算机网络的通行证,是计算机通信的世界语。
1容易丢失的漂流瓶——IP
在我们日常的使用的邮政电信系统中,我们要给某人发送信件或打电话,必须知道对方的地址或电话号码,在计算机之间通信也是一样,IP地址通俗地讲就是每一台计算机的通信地址。IP是TCP/IP的心脏,也是网络层中最重要的协议。
IP地址是唯一的。它能保证将信息从一个地址传送到另一个地址。尽管IP协议使计算机能够发送和接收数据,提供了一种将数据包从源地址传送到目的地的方法,但IP并未解决数据包在传送过程中所有可能出现的问题,如果一位IP收件人收到了一个不完整的信息,它会简单地抛弃这个信息,并且对发送者什么表示也没有。那么我们怎么使用IP来提供可靠服务呢?
2能自动“发报”的漂流瓶——TCP
我们可以这样想象,IP像装在瓶子中的信件。把瓶子丢入大海后,谁也无法保证瓶中信能够送到你所希望的收件人手中。但是假设你聘请了一位“瓶中信端对端管理员”A,这个人会把你的信件放入一个瓶中,然后扔入大海。A还有一个伙伴B位于海的另一边,当B收到来自A的瓶中信时,B就会写一条信息“A,我已经收到你的信件了”,把这信件也放在一个瓶中,然后将这个瓶子也丢入大海(见图1)。
如果A在一段时间内没有收到B的任何确认回信,例如在一个月内,他会把原始的信件装入另一个瓶中,再丢入大海。这也就是我们常说的“超时重发”。
我们聘请A和B来保证本来不可靠的、像瓶中信一样的网络能够进行可靠的传输。A会持续不断地发送和重发,直到他得到了B的响应信息。A并没使用新的传输媒体,他只是在现有的传输协议上加了一层自己使用的,用来查看的信息。
这里我们把IP假设为瓶中的信件,那TCP就相当于A和B组成的工作组。TCP提供了可靠的端对端服务,确保了传送的完整性,并建立了连接。因此,使用Internet的计算机不但需要IP协议还需要TCP协议来提供可靠的无差错的通信服务,达到互相配合互相补充的目的。
3TCP的孪生兄弟UDP
UDP协议是和TCP协议相像但不相同的孪生兄弟。它不提供数据传送的验证机制,如果在整个文件传输过程中如果出现数据包的丢失,协议本身并不能作出任何的检测或提示,通常人们把UDP协议称为不可靠的传输协议,但传输速度较快。
在默认状态下,QQ优先采用了UDP协议登录和传送数据,但是由于TCP的数据传递验证特性,很多的Q迷都开始选择使用TCP登录QQ。
二、漂洋过海来看你——TCP/IP在行动
TCP/IP所采用的通信方式是分组交换方式。分组交换是指数据在传输时分成若干段,每个数据段称为一个数据包,数据包除含有一定长度的正文外,还含有数据包将被送往的地址(这个地址称为IP),数据包经过多台计算机的中转最终达到它的目的地。TCP/IP协议的基本传输单位就是数据包。
那么,为什么要将数据分解成为数据包呢?这样做当然有好处。首先,由于这些数据包不必非在一起传送,所以通信线路可以把所有类型的数据包按它们自己的目的地从一个地方传送到另一个地方,当数据包全部到达自己的目的地后再重新组装。如果在传送过程中,某段线路连接中断,控制数据包传送的计算机可以选择另外一条线路传送以后的数据包,不必“一棵树上吊死”。这个特性有些类似于日常的运输工作,如果要运送一台几百吨重的机器,谁也不会直接用汽车将它整体一次运走,而是将机器分解成为重量适当的零件,再把各个零件分组标号,分别由多辆汽车运输,如果某段道路不通,后面的车辆完全可以另找一条路,等全部运输到位后,再将这些小零件组装成机器。将数据分解成数据包的第二个好处,是如果某个数据包出错,计算机不必传送所有数据,只需单独传送出错的数据包即可。
网络中传输数据的过程如下:
1.首先由TCP协议把数据分成若干数据包,给每个数据包写上序号,以便接受端把数据还原成原来的格式;
2.IP协议给每个数据包写上发送主机和接受主机的地址,一旦写上它的源地址和目的地址,数据包就可以在物理网上传送数据了。IP协议还具有利用路由算法进行路由选择的功能;
3.这些数据包可以通过不同的传输路径(路由)进行传输。由于路径不同,加上其他的原因,可能出现顺序颠倒、数据失真甚至重复的显示。这些问题都由TCP协议来处理,它具有检查和处理错误的功能,必要时还可以请求发送端重发(见图2)。
三、严禁走私!TCP/IP的保密措施
假设我们把一个货物(数据包)从A点运往B点,我们一定要保证及时送到,而且还需要以下几步:
1对这个货物进行包装,防止在路上散架或被盗(丢失或被监听),在包装过程中为了便于B点收到货物后可以方便地解开包装,全世界对这个包装方法进行了统一规定(也就是TCP/IP协议),原先货物要在A处加上7层包装纸,可是包装人员偷了个小懒只包了4层(OSI7层模型,TCP/IP协议实现了其中的4层结构)。
2包装完毕后,就要开始运输这个货物了。这时候存在两个概念:一个是桥接,一个是路由。桥接就相当于一条大马路,货物通过马路直接运往B。而路由则相当于交通警察,他将告诉货物,哪条才是最近的最快的到达B点的路线。所以在关键的十字路口均要安放必要的路由器对货物路线进行指挥。
3当货物到达B后,B点向A点反馈已经收到的信息,将按照上面约定的捆绑方式(TCP/IP协议)来解开包装(见图3)。
在这里我们也可以看出,将数据分解成小数据包也不是一点缺点没有的,由于每一个数据包都被加入一些特定信息,比如出发地点、目的地点及序号,这就加大了数据的传送量,当网络中存在过多的数据包时,网络的性能就会下降,这种现象称为拥塞。当数据包经过长时间排队完成转发时,它们很可能早已超时,从而引起源端超时重发,而这些数据包还会继续传输到下一路由器,从而浪费网络资源,加重网络拥塞。
看到这里,相信大家对TCP/IP协议有了一个了解。在文章的开头说的QQ在聊天时出现信息丢失、延迟接收、重复接收等情况,大部分是由于网络繁忙造成INTERNET超负荷运行引起的,也就是说TCP/IP的工作太过于繁忙。当我们再次遇见以上情况时,我们就可以在命令提示符中输入“Ping 127.0.0.1”检查是不是TCP/IP协议发生故障,其中127.0.0.1是本地循环地址,如果返回信息中出现“Request timed out”,意味着地址无法Ping通,说明这台电脑的TCP/IP协议不能正常工作。怎么办呢?在这里再给大家透漏一个解决网络故障“万能”技巧:
★Windows 2000及以前的版本:只要先打开网络属性设置窗口,然后将TCP/IP协议选中并删除,重新启动后再添加TCP/IP协议即可。
★Windows XP/2003:一般用户无法删除,需要进到MS-DOS命令提示符下,依次执行“netsh”命令、“int”命令、“ip”命令。在“ip>”命令提示符下,执行“ reset log.txt”命令,这样Windows XP系统就会自动把TCP/IP协议的状态参数全部恢复到系统安装时的原始状态,很多网络问题会迎刃而解。
俗话说“金无足赤,人无完人”,TCP/IP协议也是一样。在现有条件下,以上说的问题没有解决方法,我们只能期待有一种全新的成熟的通信协议技术问世。所以,大家最好能合理安排好QQ聊天的时间,尽量避开网络高峰期,避开可恶的“不速之客”,让可爱的企鹅带着你我在网络的世界里沟通无极限——想Q就Q,Q出你我他,Q得Happy,Q出精彩!