单片机毕业设计 论文基于MCS51单片机技术以太网接口设计.docx

上传人:b****8 文档编号:9390766 上传时间:2023-05-18 格式:DOCX 页数:58 大小:762.60KB
下载 相关 举报
单片机毕业设计 论文基于MCS51单片机技术以太网接口设计.docx_第1页
第1页 / 共58页
单片机毕业设计 论文基于MCS51单片机技术以太网接口设计.docx_第2页
第2页 / 共58页
单片机毕业设计 论文基于MCS51单片机技术以太网接口设计.docx_第3页
第3页 / 共58页
单片机毕业设计 论文基于MCS51单片机技术以太网接口设计.docx_第4页
第4页 / 共58页
单片机毕业设计 论文基于MCS51单片机技术以太网接口设计.docx_第5页
第5页 / 共58页
单片机毕业设计 论文基于MCS51单片机技术以太网接口设计.docx_第6页
第6页 / 共58页
单片机毕业设计 论文基于MCS51单片机技术以太网接口设计.docx_第7页
第7页 / 共58页
单片机毕业设计 论文基于MCS51单片机技术以太网接口设计.docx_第8页
第8页 / 共58页
单片机毕业设计 论文基于MCS51单片机技术以太网接口设计.docx_第9页
第9页 / 共58页
单片机毕业设计 论文基于MCS51单片机技术以太网接口设计.docx_第10页
第10页 / 共58页
单片机毕业设计 论文基于MCS51单片机技术以太网接口设计.docx_第11页
第11页 / 共58页
单片机毕业设计 论文基于MCS51单片机技术以太网接口设计.docx_第12页
第12页 / 共58页
单片机毕业设计 论文基于MCS51单片机技术以太网接口设计.docx_第13页
第13页 / 共58页
单片机毕业设计 论文基于MCS51单片机技术以太网接口设计.docx_第14页
第14页 / 共58页
单片机毕业设计 论文基于MCS51单片机技术以太网接口设计.docx_第15页
第15页 / 共58页
单片机毕业设计 论文基于MCS51单片机技术以太网接口设计.docx_第16页
第16页 / 共58页
单片机毕业设计 论文基于MCS51单片机技术以太网接口设计.docx_第17页
第17页 / 共58页
单片机毕业设计 论文基于MCS51单片机技术以太网接口设计.docx_第18页
第18页 / 共58页
单片机毕业设计 论文基于MCS51单片机技术以太网接口设计.docx_第19页
第19页 / 共58页
单片机毕业设计 论文基于MCS51单片机技术以太网接口设计.docx_第20页
第20页 / 共58页
亲,该文档总共58页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机毕业设计 论文基于MCS51单片机技术以太网接口设计.docx

《单片机毕业设计 论文基于MCS51单片机技术以太网接口设计.docx》由会员分享,可在线阅读,更多相关《单片机毕业设计 论文基于MCS51单片机技术以太网接口设计.docx(58页珍藏版)》请在冰点文库上搜索。

单片机毕业设计 论文基于MCS51单片机技术以太网接口设计.docx

单片机毕业设计论文基于MCS51单片机技术以太网接口设计

基于MCS-51单片机技术以太网接口设计

摘要

现实生活中,许多的嵌入式系统设备已被广泛地应用,由于当前硬件设计的问题,未嵌入网络连接模块,使得这些嵌入式系统在使用上受到限制,而添置新设备又需要很高的成本。

本文设计的网络接入模块解决了嵌入式设备与以太网络的连接问题,在不改变嵌入式设备本身结构的情况下,用户终端可以通过这个模块将现有的各种串口设备快速方便地接入网络,从而实现仪器的远程控制、远程数据终端的数据通信等功能。

本设计利用8位单片机AT89C52提供的系统资源和处理能力,加上ISA接口的10Mb/s网卡芯片RTL8019AS,通过编写一套精简的协议栈,并实现可靠的数据通信,从而达到低成本、可靠连接网络的目的。

 

关键词:

以太网,单片机,RTL8019AS,AT89C52

 

第1章绪论

1.1嵌入式系统

嵌入式系统是指嵌入式计算机及其应用系统,是指嵌入于各种设备及应用产品内部的计算机系统,它主要完成信号控制的功能,体积小,结构紧凑,可作为一个部件埋藏于所控制的装置中,它提供用户接口、管理有关信息的输入输出、监控设备工作,使设备及应用系统有较高的智能和性价比。

嵌入式系统由嵌入式硬件与嵌入式软件组成,硬件以芯片、模板、组件、控制器形式埋藏于设备内部,软件是实时多任务操作系统和各种专用软件,一般固化在ROM或闪存中。

软硬件可裁剪,适用于对功能、体积、成本、可靠性、功耗有严格要求的计算机系统中。

嵌入式计算机系统,最早出现在60年代的武器控制中,后来用于军事指挥控制和通信系统,现在广泛应用于民用机电一体化产品中。

1.2课题研究的意义

随着Internet技术的普及,信息共享的程度越来越提高。

TCP/IP协议栈使得嵌入式系统可以通过Internet将通信距离无限扩展。

以太网使得大量数据的快速传输成为可能。

这样,除了可以充分利用PC机上各种资源,完成数据的存储、分析、统计工作外,还可以实现测控系统间的数据交换,对于智能化、模块化的嵌入式设备集群的实现提供了另一种途径。

PPP协议可以通过调制解调器实现远程的数据交换、状态控制等功能,为嵌入式系统提供了更为灵活的控制、监测方式。

因此,基于单片机的嵌入式系统如何控制以太网网卡控制器进行数据传输,如何嵌入TCP/IP协议连接到互联网,这些都具有深远的意义[2]。

1.3整体方案设计

方案的主要任务是采用单片机控制网络接口芯片实现以太网接口,以便宜控制系统通过以太网实现网络化。

在本文中最重要的是嵌入式TCP/IP协议在8位单片机上的实现,从而达到了实现嵌入式以太网接口的目的。

嵌入式以太网的实质是在嵌入式系统的基础上实现网络化,使嵌入式系统能够实现TCP/IP网络通信协议,接入以太网。

将嵌入式系统与TCP/IP协议融合到一起主要有两种方法:

一种是采用带有以太网接口的嵌入式处理器,即使用已有的TCP/IP芯片直接作为以太网口。

这种方法的优点是可靠性高,执行速度快,但往往硬件电路复杂、价格昂贵、硬件成本高。

另一种是采用嵌入式处理器+网卡芯片,即将TCP/IP协议以软件方式嵌入到嵌入式系统的ROM中。

一般来说,TCP/IP协议栈比较庞大,在嵌入式系统中很难支完整的TCP/IP协议,因此要根据嵌入式网络产品的特点,精简TCP/IP协议,实现与需要相关的部分,大幅度减少对于系统资源的需求。

本设计采用了第二种方式,使用通用高性能做51系统MCU,成本低、技术成熟,软硬件开发周期都很短,并且设计方案灵活多变,可适用于不同的对象。

1.4课题最终实现目的

本课题主要实现将TCP/IP协议嵌入8位单片机中,单片机上网研究最多的一种方案就是用单片机驱动ISA总线网卡或者是驱动基于ISA总线的以太网(局域网组网规范)控制芯片,考虑到在实际的网络应用中以太网在局域网中占有主导地位,本文采用后者。

单片机上网的困难在于TCP/IP协议是一组庞大的协议集,而8位单片机自身资源有限,其存储容量、运行速度和总线宽度等不能像PC机那样通过标准的硬件和软件接口实现TCP/IP。

本文将介绍利用Atmel公司的51单片机芯片AT89C52,它能够满足需求,而且极为常用,价格便宜,易于获取。

网卡芯片采用台湾Realtek公司生产的10MbpsISA总线的以太网控制芯片RTL8019AS,嵌入TCP协议以实现单片机上网。

第2章TCP/IP协议(栈)简介

2.1TCP/IP协议的分层结构

TCP协议和IP协议是使计算机能相互通信的一组协议中的两个重要协议,通常就用TCP/IP来代表这一组协议。

该协议是用于通信的一个规则或标准,由计算机传送数据时使用,保证Internet上数据的准确快速传输。

本文采用TCP/IP的一种简化的四层模型,分别为:

应用层、传输层、网络层、链路层。

如表2.1所示。

表2.1TCP/IP协议的分层结构

主要协议

应用层

FTP、TELNET、SMTP、SNTP、HTTP

传输层

TCP、UDP

网络层

IP、ARP、RARP、IGMP、ICMP

链路层

接口层协议

链路层:

有时也称作数据链路层或网络接口层,定义计算机怎样连接网络,数据必须通过对网络的连接才能传出去,它提供物理介质(如网卡芯片)与单片机的接口,将原始数据转换成上一层能识别的逻辑帧。

网络层:

负责处理从原发送方到目的地的报文地址和路由信息,以便让信息可以发送到相邻的TCP/IP网络上的任意主机上。

IP协议就是层中传送数据的机制。

这一层使用的主要协议还有:

地址转换协议(ARP协议)、反向地址解析协议(RARP协议)、网际控制报文协议(ICMP协议)和Internet组管理协议(IGMP协议)。

传输层:

主要为两台主机上的应用程序提供发送端到目的端的通信。

这一层的协议有两个,基于可靠传输的传输控制协议(TCP协议)和不可靠传输的用户数据报协议(UDP)。

应用层:

负责对接收的数据提供解释服务。

对嵌入式系统来说,有两个协议是非常重要的,即超文本协议(HTTP协议)和文件传输协议(FTP协议)。

超文本传输协议用于将文件从一个主机传送到另一个主机,并在请求方主机上显示文字、文件;文件传输协议用于将文件从一个主机传送到另一个主机,并将文件存储在发出请求的主机内。

它传送的只是一个拷贝,不是原文件。

其它的协议还有远程登录、简单邮件传输协议、简单网络管理协议等[3]。

2.2TCP/IP协议的封装和分用

TCP/IP协议采用分层结构,实现也采用分层实现的方法。

在实现的过程中首先要了解封装和分用的概念。

2.2.1什么是封装

当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层,直到被当作一串比特流送入网络。

其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息),这个过程称作封装。

如图2.1所示:

 

图2.1数据进入协议栈时的封装过程

2.2.2什么是分用

当目的主机收到一个以太网数据帧时,数据就开始从协议栈底层向上升,同时去掉各层协议加上的报文首部。

以太网帧要检查首部中的帧类型字段,IP要检查首部中的协议字段,TCP和UDP要检查首部中的端口号来确定数据属于哪一层,这个过程称作分用。

如图2.2所示:

 

图2.2以太网数据帧的分用过程

2.2.3以太网帧格式

各种通讯协议都有自己的报文格式,TCP/IP也不例外,它也有自己单独的报文格式。

对TCP/IP协议编程,首先要清楚其报文格式。

由于TCP/IP协议采用分层结构,各层都有专用的包头,下面先介绍以太网的物理帧格式,TCP/IP其它各层的帧格式讲座2.3节介绍。

以太网协议不止一种,本课题使用的是802.3协议,物理信道上的收发操作均使用此协议的帧格式。

一个标准的以太网物理传输帧由前导列PR、分隔位SD、目的地址DA、源地址SA、类型字段Type、数据段Data、填充位PAD和帧校验序列FCS共8部分组成。

帧结构如表2.2所示。

表2.2802.3协议以太网物理帧结构

PR

SD

DA

SA

Type

Data

PAD

FCS

56位

8位

48位

48位

16位

46~1500字节

DATA小于46字节时补0

32位

PR:

同步位,用于收发双方的时钟同步,同时也指明了传输的速率(10M和100M的时钟频率不一样,所以100M网卡可以兼容10M网卡),是56位的二进制数101010101010....。

SD:

分隔位,表示下面跟着的是真正的数据,而不是同步时钟,为8位的10101011,跟同步位不同的是最后2位是11而不是10。

DA:

目的地址,以太网的地址为48位(6个字节)二进制地址,表明该帧传输给

哪个网卡。

如果为FFFFFFFFFFFF,则是广播地址,广播地址的数据可以被任何网卡接收到。

SA:

源地址,48位,表明该帧的数据是哪个网卡发的,即发送端的网卡地址,同

样是6个字节。

TYPE:

类型字段,表明该帧的数据是什么类型的数据,不同的协议的类型字段不同。

如:

0800H表示数据为IP包,0806H表示数据为ARP包,814CH是SNMP包,8137H为IPX/SPX包,(小于0600H的值是用于IEEE802的,表示数据包的长度。

DATA:

数据段,该段数据不能超过1500字节。

因为以太网规定整个传输包的最大长度不能超过1514字节。

(14字节为DA,SA,TYPE)

PAD:

填充位。

由于以太网帧传输的数据包最小不能小于60字节,除去(DA,SA,TYPE14字节),还必须传输46字节的数据,当数据段的数据不足46字节时,后面补000000......(当然也可以补其它值)

FCS:

32位数据校验位.为32位的CRC校验,该校验由网卡自动计算,自动生成,自动校验,自动在数据段后面填入。

对于数据的校验算法,我们无需了解。

数据帧传输时,除了数据段的长度不定以外,其他部分的长度固定不变。

数据段为46~1500字节。

以太网规定整个传输包的最大长度不能超过1514字节(14字节为DA、SA、Type),最小不能小于60字节。

除去DA、SA和Type共14字节以外,还最少必须传输46字节的数据,当数据段的数据不足46字节时需填充,填充字符的个数不包括在长度字段里,超过1500字节,需要拆成多个帧传送。

事实上,发送数据时,PR、SD、FCS及填充字段这几个数据段由以太网控制器自动产生;而接收数据时,PR、SD被跳过,它们只被控制器检测,而不被作为接收数据接收,控制器一旦检测到有效的前序字段(即PR和SD),就认为接收数据开始。

2.3TCP/IP的子协议

2.3.1ARP协议

ARP是AddressResolutionProtocol的缩写,中文译作“地址解析协议”。

本质是

完成网络地址到物理地址的映射。

从概念上讲就是找到一个映射方法f,使得“物理

地=f(网络地址)”。

物理地址有两种基本类型:

以太网类型和ProNET令牌网类型,

前者有大型的固定的物理地址,后者有小型的易于配置的物理地址,网络地址特指

IP地址。

地址解析协议ARP是IP能够获得与某个给定IP地址相关的主机物理地址。

ARP

的功能分为两部分:

一部分在发送数据包时请求获得目的主机的物理地址;另一部

分向请求物理地址的主机发送解析结果。

地址解析原理:

当主机A需要向同一物理网络中的主机B发送IP数据报时,主

机A的IP层要将IP数据报传给数据链路层进行帧封装,封装时要求给出目的主机

的物理地址。

因此,IP层发送IP数据报时通常将产生以下事件:

(1)IP调用ARP,请求IP地址为IB的目的主机B的物理地址为PA。

(2)ARP创建一个ARP请求帧,请求IP地址IB对应的物理地址。

ARP请求

将包括如下信息:

●请求主机的物理地址PA;

●请求主机的IP地址IA;

●目的主机的IP地址IB。

(3)主机A在本地网络中广播ARP请求帧,请求帧的目的地址为广播地址(全为“1”)。

(4)该网络中的所有主机都能接收ARP请求帧,并将该帧中的目的地址IP地址IB和自己的IP地址进行比较。

其地址IB不匹配的主机将忽略这个帧。

(5)如果主机发现请求中的目的主机IP地址IB与自己的IP地址相同,就产生一个包含其物理地址PB的ARP应答帧。

(6)ARP应答帧直接发回给发送ARP请求的主机A(ARP应答帧不以广播方式发送)。

ARP应答帧包含以下信息:

●应答主机的物理地址PB;

●应答主机的IP地址IB;

●请求主机的物理地址PA;

●请求主机的IP地址IA。

(7)利用从应答帧中得到的目的主机的物理地址PB完成IP数据报的帧封装,并将该帧发送给主机B。

这里需要注意一下两点:

(1)ARP请求帧在物理网络中是以广播方式发送的,因此此时还不知道目的主机的物理地址。

ARP应答帧是以单播方式发送的,因为应答方从请求帧中可以得到对方的物理地址。

(2)目的主机必须与源主机位于同一物理网络中。

由于ARP采用的是物理网络中的广播,IP路由器不会对该广播进行转发,因而不能用ARP确定远程网络中主机的物理地址,而且也没有必要知道远程地址的物理地址。

如果目的主机位于远程网络中,IP会将数据报先发送给路由器,然后又路由器进行转发。

在这种情况下,IP只需要利用ARP确定路由器的物理地址就可以了,而路由器将逐级向前转发数据报。

以下是ARP地址解析报文的帧格式:

表2.3地址解析报文的帧格式

字段

以太网首部

硬件类型

协议类型

硬件地址长度

协议地址长度

OP

发送端以太网地址

发送端IP地址

目的以太网地址

目的IP地址

16

16

16

8

8

16

48

32

48

32

●以太网首部:

帧封装时加在ARP报文的首部。

ARP报文作为以太网帧的数据部分进行发送。

以太网帧结构参见2.2.3节。

●硬件类型:

16比特,定义物理网络类型。

物理网络的类型用一个整数值

以太网的硬件类型值为“1”。

●协议类型:

16比特,定义使用ARP协议的类型。

如0x0800表示IPV4。

●硬件地址长度:

8比特,以字节为单位定义物理地址长度。

以太网为6。

●协议地址长度:

8比特,以字节为单位定义物理地址长度。

IPV4为4。

●操作类型:

16比特,定义报文的类型(“1”为ARP请求,“2”为ARP应答,“3”为RARP请求,“4”为RARP应答)。

●发送方以太网地址:

定义发送方的物理地址。

●发送方IP地址:

定义发送方的网络地址。

●目的以太网地址:

定义目的设备的物理地址。

●目的IP地址:

定义目的设备的网络地址。

2.3.2IP协议

正像TCP/IP协议的名称所表达的信息那样,因特网的核心协议是IP和TCP两大协议。

IP协议作为TCP/IP协议簇中的核心协议,提供了网络数据传输的最基本的服务,同时也是实现网络互连的基本协议。

除了ARP和RARP报文以外的几乎所有的数据都要经过IP协议进行发送。

IP协议位于网络层,位于同一层次的协议还有ARP和RARP以及上面的因特网控制报文协议ICMP和因特网组管理协议IGMP。

ARP和RARP报文没有封装在IP数据报中,而ICMP和IGMP的数据则要封装在IP数据报中进行传输。

由于IP协议在网络层中具有重要的地位,人们又将TCP/IP协议的网络层称为IP层。

IP是不可靠的无连接数据报协议,提供尽力而为(best-effort)的传输服务。

IP协议具有以下特点:

(1)是点对点协议,虽然IP数据报携带源IP地址和目的IP地址,但进行数据传输时的对等实体一定是相邻设备(同一网络)中的对等实体。

(2)IP协议不保证传输的可靠性,不对数据进行差错校验和跟踪,当数据报发生损坏时不向发送方通告,如果要求数据传输具有可靠性,则要在IP的上面使用TCP协议加以保证。

(3)IP协议提供无连接数据报服务,各个数据报独立传输,可能沿着不同的路径到达目的地,也可能不会按序到达目的地。

正因为IP协议采用尽力传输的思想,所以使得IP协议的效率非常高,实现起来也比较简单。

随着底层网络质量的日益提高,IP协议的尽力传输的好处也体现得更加明显。

IP层向下要面对各种不同的物理网络,向上却要提供一个统一的数据传输服务。

为此,IP层通过IP地址实现物理地址的统一;通过IP数据报实现了物理数据帧的统一。

IP层通过对以上两个方面的统一达到了向上屏蔽底层差异的目的。

IP数据报文格式如下表所示:

表2.4IP数据报格式

字段

版本

首部长度

服务类型

总长度

标识

标志

片偏移

生存时间

协议

头校验和

源IP地址

目的IP地址

选项

数据

4

4

8

16

16

3

13

8

8

16

32

32

普通的IP首部长为20字节,如果包括选项字段可达60字节。

●IP目前的协议版本为4,因此有时IP也称为IPV4。

●首部长度字段长度为4比特,指出以32位字长(4字节)为单位的数据报首部长度。

由于IP数据报首部包含了IP选项这一变长的字段,所以需要通过首部长度确定首部和数据的分界点。

●用单片机实现TCP/IP协议要作一些简化,不考虑数据分片和优先权。

因此不讨论服务类型、标志和片偏移,只需填0即可。

●数据报总长度字段的长度为16比特,总长度以字节为单位指示整个IP数据报的长度。

IP数据报最大长度可达

(即65535)个字节。

根据首部长度和总长度可以计算出数据部分的长度。

●标识是数据包的ID号,用于识别不同的IP数据包。

●生存时间TTL是个数量级的概念,防止无用数据包一直存在网络中。

一般每经过一个路由器减1,因此通过TTL可以算出数据包到达目的地所经过的路由器的个数。

●协议字段表示创建该数据包的高级协议的类型。

如:

1表示ICMP协议,6表示TCP协议,17表示UDP协议。

●头校验和字段为16比特。

用于保证首部数据的完整性。

数据部分的正确性则由高层协议予以保证。

●源IP地址指发送方IP地址。

●目的IP地址指接收方IP地址。

●选项字段为变长字段,是在传输数据报时可选的附加功能,用于控制数据在网络中的传输路径、记录数据报经过的路由器以及获取数据报在途中经过的路由器的时间戳。

IP选项长度受首部长度限制[4]。

2.3.3ICMP网际控制报文协议

TCP/IP的IP层在完成无连接数据报传输的同时,还实现一些基本的控制功能。

这些控制功能包括:

差错报告、拥塞控制、路径控制以及路由器和主机信息的获取等。

实现这些控制功能的协议是位于IP层的因特网控制报文协议ICMP(InternetControlMassageProtocol)。

ICMP报文分为两大类,差错报告报文和查询报文。

经常被认为是IP层的一个组成部分。

ICMP报文首先要封装成IP数据报,然后再传递给下一层。

报文格式见表2.5所示:

8位类型

8位代码

16位校验和

首部其它部分

数据

表2.5ICMP报文格式

ICMP报文首部的通用部分由类型、代码和校验和3个字段构成。

●类型(TYPE):

指示ICMP报文的类型。

●代码(CODE):

提供关于报文类型的进一步信息。

●校验和(CHECKSUM):

提供ICMP整个报文的校验和,校验和算法与IP数据报首部校验和算法相同。

与IP数据报首部校验和不同的地方是,ICMP校验和是整个报文的校验和,另外使用校验和进行校验的设备不是中间的路由器,而是最终的目的地。

●首部其它部分为4个字节,大部分差错报告报文未用到这一部分,参数错报告报文用到其中的一个字节作为指针,请求应答报文对利用这4个字节匹配请求与应答报文。

不使用时将不使用部分填“0”。

●数据段部分在报告差错时,携带原始出错数据报的首部和数据的前8个字节,通常这些信息包括了该数据报的关键信息(前8个字节一般为上层协议的首部信息);在请求和应答报文中,携带与请求和应答相关的额外信息。

所有报文的前4个字节都是一样的,但是剩下的其他字节则互不相同。

类型字段可以有15个不同的值,以描述特定类型的ICMP报文。

有些ICMP还使用代码字段的值来进一步描述不同的条件。

ICMP差错报告报文常见类型和含义见表2.6所示:

表2.6ICMP常见类型号及其含义

类型

3

4

5

11

12

8或0

10或9

13或14

17或18

报文含义

目的地不可达

源中断

重定向

数据报超时

数据报参数有问题

回送请求和应答

路由器询问和通告

时间戳请求或应答

地址屏蔽请求或回答

本课题只考虑ICMP报文的目的站不可达和回送请求与应答报文,表2.7和表

2.8分别为这两种报文的格式。

表2.7目的站不可达报文格式

类型3

代码0-15

校验和

收到IP一部分,包括IP首部以及前8字节

字段

类型8或0

代码

检验和

标识符

序号

可选数据

8

8

16

16

16

由请求报文发送,有应答报文重复

表2.8回应请求与应答报文格式

字段

类型8和0

代码

检验和

标识符

序号

可选数据

8

8

16

16

16

由请求报文发送,由应答报文重复

注:

类型0为回应应答报文,8为回应请求报。

整个数据包均参与检验。

2.3.4TCP传输控制协议

传输层是TCP/IP协议中的一个举足轻重的层次,网络层用IP数据报统一了数据链路层的数据帧,用IP地址统一了数据链路层的MAC地址,但网络层没有对服务进行统一。

传输层的目的在于弥补和加强通信子网服务。

在TCP/IP协议的传输层,提供了面向连接的传输控制协议TCP和无连接的用户数据报协议UDP。

就不同的底层网络而言,TCP和UDP有不同的适用范围,TCP适用于可靠性较差的广域网,UDP则使用于可靠性较高的广域网。

传输层以下各层只提供相邻机器的点到点传输,而传输层提供了端到端的数据传输,这里的端到端不仅指源主机到目的主机的端到端通信,而且指源进程到目的进程的端到端通信。

TCP采用协议端口来标识某一主机上的通信进程。

为了保证信息能够正确地到达指定的端进程,必须显示地给出全局惟一的信宿端得进程表示符。

主机可以用IP地址进行标识,IP地址是全局惟一的,再给主机上的进程赋予一个本地惟一的标识符(端口号),二者加起来,便形成了进程的全局惟一标识符。

每个应用进程之间的通信都是基于所谓的socket套接字。

套接字socket是系统提供的进程通信编程界面,支持客户/服务器模型。

它关联了应用程序和端口,并且为每一个端口分配多个通信端点,从而可以实现同一应用程序的多进程服务。

socket地址提供了进程通信的端点。

客户和服务器进程通信之前,双方先各自创建一个端点,构成各自的半关联。

每个socket都有一个操作系统分配的本地惟一的socket号。

然后客户根据服务器的熟知地址建立socket连接。

可以用一个完整的关联描述一个socket连接:

(协议,本地主机地址,本地端口号,远程主机地址,远程端口号)

socket支持不同的传输层协议,当使用TCP协议作为传输层协议时,一个socket连接就是一个TCP连接。

TCP是面向流的协议,发送方以字节流发送数据,接收方以字节流接收数据。

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2