- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TCPIP协议族的体系结构、数据格式及传输过程
什么事计算机网络?
最简单定义是:一些相互连接的、以共享资源为目的的、自治的计算机的集合。计算机网络就是将分布在不同地理位置上的具有独立工作能力的计算机、终端及其附属设备用通信设备和通信线路连接起来,并配置网络软件,以实现计算机资源共享的系统。
协议规定了网络上的所有通信设备,尤其是一个计算机与另一个计算机之间的数据往来格式、数据的含义和交互过程的控制顺序。
网络用户要把自然语言写成的邮件从一个计算机发到网上另一个计算机(这是一个网络应用),但网线上只能传递电压信号,哪么应该如何实现这一网络通信呢?看来要把自然语言的邮件变成一个个的电压信号,得做许多工作,比如发方要做:
规定邮件的格式、自然语言的编码标准、把邮件分成一个个的数据段(数据段=发放地址+收方的地址+数据)、子网内的交换、内外网之间的路径选择、把数据信号转换成电压信号,还要保证传输数据的正确性。
网上的每个计算机都有地址,用户看到的计算机名是逻辑的如“张三的计算机”、“李四的计算机”、“客户信息数据库”等,得需要找到它们对应的网上的门牌号(IP地址)、在子网内交换时还应进一步找到与它们的IP地址对应的网卡的MAC地址。
收方的工作顺序正好与发放的顺序相反。
由此可见,在计算机网上要发一封邮件,得需要很多工作,也需要很多标准(或者说协议)。因此TCP/IP协议族应运而生。
?
1. TCP/IP协议族的体系结构
图1的右边是TCP/IP的体系结构,可以看出TCP/IP不是一个单独的协议,而是由多个协议组成的协议族,这些协议从高到低分四层,分别规定了满足网络用户需求的应用层协议、信息传输层协议、网络互联层协议以及面向物理链路的网络接口层协议。
图1的左边是OSI七层模型,图1给出了OSI七层模型与TCP/IP协议族之间的对应关系。
????????????????????????????????图1 TCP/IP体系结构与OSI体系结构
图2说明了我们常用的以太网协议IEEE802与OSI的对应关系。
?
??????????????????????图2?局域网和城域网体系结构的参考模型(LMAN/RM)
协议栈
当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息),TCP传给IP的数据单元称作TCP消息段或简称为TCP段(TCP segment)。IP传给网络接口层的数据单元称作IP数据报(IP Datagram)。通过以太网传输的比特流称作帧(Frame)。如图3所示。
?
图3?数据进入协议栈时的封装过程
2.?网上传输的数据格式
2.1??TCP报文段的格式
图4 TCP报文段的格式
虽然图4中TCP报文的长度字段均为16位,因此TCP报文可以长达64KB,但是TCP报文太长,在下层IP层传输时要分解成多个短数据段,再加上封装/拆装,导致网络传输效率降低。如果TCP报文的长度过短,也会导致网络传输效率降低。一般TCP报文的长度取536字节净负荷。
IP数据报也有同样的问题及其解决思路。
2.2??IP数据报的格式
图5 IP数据报头部的组成
2.3??以太网II(Ethernet??V2)的帧格式
以太网II的帧是用于IP数据报在以太网中传输的约定俗成的标准帧类型。以太网II帧格式里的序言为以太网回路建立必需的定时机制以识别和开始读取传入的数据。信宿地址为接收方网卡的MAC地址。源地址为发送方网卡的MAC地址。
协议标识域(Type)域,标明了使用该帧的上一层协议,例如Type值0x0800表明使用该帧的协议是IP协议。
图6?以太网II的帧格式
以太网II的帧的有效载荷的长度在64到1518字节之间。
3.?使用TCP协议通信的过程
主机A和主机B使用TCP协议通信时先按图?7的方式建立连接,然后再传数据,传完后解除连接。
?
图7?用三次握手建立TCP连接
????主机B应答的信息中,ack=x+l中的x是通信发起方(主机A)设定的一个初始序号,应答方(主机B)应答此序号表明应答方确实收到了发起方的信息,据此预防冒充者应答,因冒充者收不到发起方的报文,不知道x的值。发起方再回复y+1予以确认。下面就可以正式通信了。
三次握手:
第一次握手:客户端发送syn包(syn=x)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),
文档评论(0)