网站大量收购独家精品文档,联系QQ:2885784924

网络传输整个系统详解,ARP UDP TCP IP数据传输格式 强烈推荐.pdf

网络传输整个系统详解,ARP UDP TCP IP数据传输格式 强烈推荐.pdf

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

TCP/IP协议栈与数据包封装

TCP/IP网络协议栈分为应用层(Application)、传输层(Transport)、网络层(Network)

和链路层(Link)四层。如下图所示(该图出自)。

图36.1.TCP/IP协议栈

两台计算机通过TCP/IP协议通讯的过程如下所示(该图出自)。

图36.2.TCP/IP通讯过程

传输层及其以下的机制由内核提供,应用层由用户进程提供(后面将介绍如何使用socket

API编写应用程序),应用程序对通讯数据的含义进行解释,而传输层及其以下处理通讯的

细节,将数据从一台计算机通过一定的路径发送到另一台计算机。应用层数据通过协议栈发

到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation),如

下图所示(该图出自)。

图36.3.TCP/IP数据包的封装

不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报

(datagram),在链路层叫做帧(frame)。数据封装成帧后发到传输介质上,到达目的主机

后每层协议再剥掉相应的首部,最后将应用层数据交给应用程序处理。

上图对应两台计算机在同一网段中的情况,如果两台计算机在不同的网段中,那么数据从一

台计算机到另一台计算机传输过程中要经过一个或多个路由器,如下图所示(该图出自)。

图36.4.跨路由器通讯过程

其实在链路层之下还有物理层,指的是电信号的传递方式,比如现在以太网通用的网线(双

绞线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤等都属于物理层的概

念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(Hub)是工作在

物理层的网络设备,用于双绞线的连接和信号中继(将已衰减的信号再次放大使之传得更

远)。

链路层有以太网、令牌环网等标准,链路层负责网卡设备的驱动、帧同步(就是说从网线上

检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验

等工作。交换机是工作在链路层的网络设备,可以在不同的链路层网络之间转发数据帧(比

如十兆以太网和百兆以太网之间、以太网和令牌环网之间),由于不同链路层的帧格式不同,

交换机要将进来的数据包拆掉链路层首部重新封装之后再转发。

网络层的IP协议是构成Internet的基础。Internet上的主机通过IP地址来标识,Internet

上有大量路由器负责根据IP地址选择合适的路径转发数据包,数据包从Internet上的源主

机到目的主机往往要经过十多个路由器。路由器是工作在第三层的网络设备,同时兼有交换

机的功能,可以在不同的链路层接口之间转发数据包,因此路由器需要将进来的数据包拆掉

网络层和链路层两层首部并重新封装。IP协议不保证传输的可靠性,数据包在传输过程中

可能丢失,可靠性可以在上层协议或应用程序中提供支持。

网络层负责点到点(point-to-point)的传输(这里的“点”指主机或路由器),而传输层负责

端到端(end-to-end)的传输(这里的“端”指源主机和目的主机)。传输层可选择TCP或

UDP协议。TCP是一种面向连接的、可靠的协议,有点像打电话,双方拿起电话互通身份

之后就建立了连接,然后说话就行了,这边说的话那边保证听得到,并且是按说话的顺序听

到的,说完话挂机断开连接。也就是说TCP传输的双方需要首先建立连接,之后由TCP协

议保证数据收发的可靠性,丢失的数据包自动重发,上层应用程序收到的总是可靠的数据流,

通讯之后关闭连接。UDP协议不面向连接,也不保证可靠性,有点像寄信,写好信放到邮

筒里,既不能保证信件在邮递过程中不会丢失,也不能保证信件是按顺序寄到目的地的。使

用UDP协议的应用程序需要自己完成丢包重发、消息排序等工作。

目的主机收到数据包后,如何经过各层协议栈最后到达应用程序呢?整个过程如下图所示

(该图出自)。

图36.5.Multiplexing过程

以太网驱动程序首先根据以太网首部中的“上层协议”字段确定该数据帧的有效载荷

(payload,指除去协议首部之外实际传输的数据)是IP、ARP

文档评论(0)

135****5548 + 关注
官方认证
内容提供者

各类考试卷、真题卷

认证主体社旗县兴中文具店(个体工商户)
IP属地宁夏
统一社会信用代码/组织机构代码
92411327MAD627N96D

1亿VIP精品文档

相关文档