TCP基础讲解.docx

上传人:b****8 文档编号:9142179 上传时间:2023-02-03 格式:DOCX 页数:8 大小:20.92KB
下载 相关 举报
TCP基础讲解.docx_第1页
第1页 / 共8页
TCP基础讲解.docx_第2页
第2页 / 共8页
TCP基础讲解.docx_第3页
第3页 / 共8页
TCP基础讲解.docx_第4页
第4页 / 共8页
TCP基础讲解.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

TCP基础讲解.docx

《TCP基础讲解.docx》由会员分享,可在线阅读,更多相关《TCP基础讲解.docx(8页珍藏版)》请在冰豆网上搜索。

TCP基础讲解.docx

TCP基础讲解

TCP/IP讲座基础篇

(一)

2005年01月13日17:

25:

31  

  1:

1层,2层,3层?

  这篇文章主要是面向自学TCP/IP的读者的.因为市面上讲解计算机网络的书虽然非常多,但是个人认为没有一本可以做到深入浅出的.都是照搬某些权威书籍中的概念,使得很多读者读了之后还是没有具体概念.希望我写的东西可以让大家有个具体概念,而不是只停留在能够背出官方的,严谨的,深奥的概念.

  由于本人水平有限,如果你在文章中发现了错误,请立即和我联系.我会尽快修改.TCP/IP基础讲座-1:

1层,2层,3层?

  读过关于网络的课程的,都知道ISO-OSI7层协议这个名词,许多书籍都会具体的画出那幅图,然后标注上物理层,数据链路层,网络层等等.背的大家要死.但是却又不知道具体这些层次干吗用的勒?

  其实在互联网中,由于实际使用的是TCP/IP模型,也就是DOD模型(现在不知道没关系,后面会说).所以7层模型在现实网络环境中只是一个理论上,学究派的东西.这个模型中,我们真正关心的是下面的3层.1.物理层.哦.是的.这个名词还算容易了解.网卡还有那些网线构成了这一层.那些在网线中传播的二进制数据流是这层的具体表象.也就是说,这一层上面没有什么协议(不是很精确的说法,但是你可以这么理解).有的都是电流而已.我们把两台机器用网线连起来.或者用HUB把机器都连起来,这些工作就是物理层的工作.

  有2个设备属于物理层的,一个是中继器,一个是HUB.大家知道.物理上面的连线距离一长就会产生电信号的衰减.为了重新加强这个信号,我们就需要在一定距离之后加上一个信号放大器,这就是中继器(repeater)

  恩...这个比较容易理解.repeater就是连接在2根网线之间的么.没有做任何处理.所以只是一个物理设备.属于1层的.

  那么集线器(HUB)呢?

这个怎么会是在1层?

似乎非常难以理解.

  当我说出HUB的本质,大家就能够清楚了解了

  HUB的本质其实只是一个多口中继器(MULTIPORTREPEATER).啊...这样大家能够理解了.HUB不叫多口中继器其实只是为了销售上面的策略.他的本质就是连接多根网线的一个物理设备.也是不对经过的电信号做任何逻辑处理的.2.数据链路层

  欧~这个名词有些别扭了.DATALINK层.英文似乎更加容易理解.

  这个层面上面的东西不再是电信号了.而是DATA了.对,既然是DATA就有了逻辑关系了.这个层面上面的基本单位是帧(Frame).这层和物理层的接触是最紧密的.他是把从网线上面传输的电流转换成0和1的组合.

TCP/IP讲座基础篇

(一)

(2)

2005年01月13日17:

25:

32  

  物理层只是网卡对网线发出或者接受各种电平信号,那就是说物理层是无法判别电流的来源和目标的.那么把电流打成0和1的帧之后.里面就有逻辑数据了.有了数据,就可以判别数据从何而来,到何处去.所以也就可以真正的形成LINK.

  既然可以判别地址,那么地址是按照什么来判别的呢?

  那就是最重要的概念之一:

MAC地址

  大家肯定都听说过我们的网卡都有MAC地址

  有些人可能也知道MAC地址都是唯一的.

  对.MAC地址是全球唯一的.也就是说你的网卡虽然便宜.但是他也是世界上独一无二的.

  有些人说他可以改MAC.那就不是唯一了.对.虽然可以更改,那只是欺骗上层对封包里面的MAC地址进行改写.你网卡真正的MAC地址是固化的.无法修改的.

  我们有了MAC地址了.这样就可以有针对性对所有连接在一起的计算机进行通讯了.是的.我们终于可以在一个局域网内通讯了.

  但是有个问题我们前面没有提到.就是既然物理层传输的是电信号.那么如果我有2台机器一起发电信号,信号岂不是混乱了么?

  非常正确.这个问题在网络里面成为"碰撞",所以协议里面规定了如果你需要往外发数据,一定需要先看看电缆里面有没有别的信号.如果没有,那就可以发.如果2者同时发送,检测到碰撞之后2者分别等待一个随机时间,然后重发.这个就是重要的"碰撞检测".

  哈.看来问题解决了.不是么.现在整个网络可以正常运行了.

  确实如此.但是如果连接在网络上的计算机越来越多,那么碰撞的现象会越来越频繁.这样效率一定很低了.恩.这里还有一个重要概念"冲突域".在同一个物理上连接的网络上的所有设备是属于同一个冲突域的.

  接着就需要引入我们的2层设备来分割冲突域了.

  网桥(Bridge)就是连接2个不同的物理网络的.主要功能是在2个网络之间转发Frame.因为从实际中我们可以知道.其实很多时候并非整个网络都在相互通讯.最多相互通讯的一组计算机我们可以分在一个小的冲突域内.这样分割以后可以减少冲突域,也就相对的减少了冲突的机会.而之间使用网桥来桥接,由于网桥两边的通讯不是非常频繁,所以使用网桥来为2边作为"代言人".这样任意一个小网络里面产生冲突的机会就少了.

TCP/IP讲座基础篇

(一)(3)

2005年01月13日17:

25:

32  

  交换机(Switch)是我们最熟悉的设备了,交换机的本质其实就是一个多口网桥(MultiportBridge).同理可得.交换机的每个口后面都是一个冲突域.我们都说交换机比HUB快,就是因为交换机分割了所有的冲突域.

  由于现在交换机非常便宜.所以一般我们都是直接在交换机的口上接计算机.这样每台计算机都是一个独立的冲突域.这样碰撞的问题就没有了.所以速度是比HUB快.

  而前面说过.2层设备主要是个转发的功能.交换机的主要功能就是转发包.而不是让所有的冲突域直接物理连接.所以交换机有CPU,有内存,可以对frame进行处理等等.这些也是交换机和HUB的区别.3.网络层

  我们前面的一些技术就可以构建出局域网了.有了网络层以后.数据才能够真正的在整个世界间传送

  由于伦纳德·博萨卡(LeonardBosack)和姗蒂?

雷纳(SandyLerner)为了解决他们之间的通信问题(关于路由器发明的版本有很多.你听到的别的说法可能比这个说法更准确,但是谁知道呢.呵呵).路由器被发明用来解决"信息孤岛"问题.而且如果是由SWITCH来构建整个网络,那么整个网络将会有"中心节点",这样也不符合ARPANET的初衷.所以我们有了这一层.(这样说可能会感觉本末倒置,但是先这么理解吧.)

  这一层的基本单元是包(Packet).所有的包都有一个IP头.啊.听起来很熟悉不是么.IP就是用来在这层上面标识包的来源和目的地址的.

  这层的一个主要概念就是"路由",也就是和switch一样,把包转发到其他的地方.不过有个不同的地方,switch只有知道具体的MAC在哪里的情况下才能够发送给指定的计算机,而路由则不需要知道最终IP所在的计算机在哪个位置,只要知道那个途径可以过去就可以工作.

  这3层构建了整个网络的基础.由于TCP/IP模型将最下面2层合并成为一层,所以在TCP/IP里面总共这2层也是整个构架最基础的内容.而网络方面要做的工作也都是针对于这2层做的.

  来源:

技术中国

TCP/IP讲座基础篇

(二)

(2)

2005年01月13日17:

29:

55  

  由于物理层和数据链路层非常密切.所以分为一个.然后上面依次对应,最上面的一大块成为应用层(处理层)

  现在我们有了一个可用的实际模型了.不过一般我们在描述某个设备或者协议的时候.还是会使用OSI的模型,比如我们在讨论SWITCH的时候,就会说他是一个2层的设备.而路由器是一个3层的设备,还会有一些特殊的设备,比如3层交换机,4层交换机.这些都是使用OSI模型进行分类的.这点大家不要搞混淆了.

  我们一直听说TCP或者UDP.还有什么SMTP.POP3.这些协议到底是在哪一层定义的那?

接下来的一张图会给大家一个非常清晰的概念了(不能算是图拉:

D).

  4.APPLICATION

  HTTP,FTP,telnet,SNMP,SMTP,POP3,DNS等等

  3.HosttoHost

  TCP,UDP

  2.internet

  ICMP,ARP,RARP,IP

  1.NetworkAccess

  Ethernet,FastEthernet,TokenRing等等

  恩...这下清楚了.让我们从下至上来看看

  首先是最下层的.包括了以太网,快速以太网,还有现在的千M以太网等等的协议,这些协议规定了线缆的绞数.连接方式等等物理层的东西.还有底层使用MAC通讯的方式等等.

  接下来是IP.ARP这些.IP在OSI模型的时候也说过.通过IP地址.我们在转发包的时候无需知道具体目标机的位置.而路由器自然会根据路由表来转发.最后一站一站的慢慢传递.达到最终目标.而ARP协议就是在IP和MAC之间转换用的.

  我在上一章提过,由于有了路由器,IP,整个网络才真正能够覆盖全球.所以这一层叫做internet大家也应该容易记忆了.

TCP/IP讲座基础篇

(二)(3)

2005年01月13日17:

29:

55  

  WOW.TCP,UDP是我们听说最多的了.他是属于控制网络连接的.在OSI称为Transport.传输层.在DoD内是HosttoHost端对端.意思其实是一样的.就是在在2台计算机之间构建出一个虚拟的通讯通道来.

  最上面一层就无穷无尽了.所有的最终应用层的东西都在这里,你甚至可以定义你自己的协议类型.这些都是完全可以的.因为本身这一层就是提供给开发人员自行发挥的.只是上面列举的都经过标准化了.

  TCP包头结构

  源端口16位

  目标端口16位

  序列号32位

  回应序号32位

  TCP头长度4位

  reserved6位

  控制代码6位

  窗口大小16位

  偏移量16位

  校验和16位

  选项32位(可选)

  这样我们得出了TCP包头的最小大小.就是20字节.

  UDP包头结构

  源端口16位

  目的端口16位

  长度16位

  校验和16位

TCP/IP讲座基础篇

(二)(4)

2005年01月13日17:

29:

55  

  恩...UDP的包小很多.确实如此.因为UDP是非可靠连接.设计初衷就是尽可能快的将数据包发送出去.所以UDP协议显得非常精简.

  有一个问题,似乎这些头里面怎么没有IP地址啊.没有IP地址这些包往哪里发送那?

  对.你观察的很仔细.TCP和UDP的头里面确实没有任何IP信息.我们回头想一下TCP和UDP是属于DoD的哪一层的?

对了!

是第3层.而IP则位于模型的第二层.也就是他们两者虽然有联系.但是不属于同一层.

  模型的一个重要规则就是.当发送端发送一个数据,上一层将数据传往下一层的时候.上一层的包就成为了下一层包的数据部分.

  而到接受端接受到数据.下一层将本层的头部信息去掉后交给上一层去处理.

  那么我们来看看实际例子:

  假使我们通过SMTP协议发送数据AAA到另外一段.那么数据先会被加上SMTP的头.成为[SMTP]AAA.往下发送到TCP层.成为[TCP][SMTP]AAA.再往下送到internet层[IP][TCP][SMTP]AAA.然后成为[MAC][IP][TCP][SMTP]AAA这样通过enternet或者FastEnternet发送到路由器.路由器得到后替换自己的MAC地址上去.传到下一级的路由器.这样经过长途跋涉.最终这个数据流到达目标机.

  目标机先从下面一层开始.去掉MAC,成为[IP][TCP][SMTP]AAA往上到IP层,恩,比对后是发送给我这个IP的.去掉,成为[TCP][SMTP]AAA.TCP接到了查看校验和,没错.往上[SMTP]AAA.最后SMTP协议去解释.得到了AAA.

  万里长征终于结束.我们也将AAA发送到了目标机.大家也应该明白了为何TCP包头和UDP包头里面没有IP地址那?

因为IP位于他们下面一层.TCP和UDP的包头信息是作为IP包的数据段来传送的.

  IP层可不管那许多.他只管他那层的协议,也就是管把从上面层来的数据加上自己的头,传到下面一层.把从下面一层来的数据去掉头.传到上面一层.

  每层都是这么干的.完美的契合完成了数据包的最终旅程.

  来源:

技术中国

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

当前位置:首页 > 解决方案 > 学习计划

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

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