tcpip协议栈与数据包封装-chinaunix博客-专业it技术博客

tcpip协议栈与数据包封装-chinaunix博客-专业it技术博客

ID:45758174

大小:574.68 KB

页数:22页

时间:2019-11-17

tcpip协议栈与数据包封装-chinaunix博客-专业it技术博客_第1页
tcpip协议栈与数据包封装-chinaunix博客-专业it技术博客_第2页
tcpip协议栈与数据包封装-chinaunix博客-专业it技术博客_第3页
tcpip协议栈与数据包封装-chinaunix博客-专业it技术博客_第4页
tcpip协议栈与数据包封装-chinaunix博客-专业it技术博客_第5页
资源描述:

《tcpip协议栈与数据包封装-chinaunix博客-专业it技术博客》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、处理应用程序细节处理通信细节网络协议栈与数拯包封装网络协议栈与数据包封装TCP/IP网络协议栈分为应用层(Application)>传输层(Transport)s网络层(Network)和链路层(Link)四层。如下图所示(该图出口[TCPIP])o图36.1.TCP/IP协议栈Telnet%FTP和e-mail等TCP和UDPIP.ICMP和IGMP设备驱动程序及接口卡两台计算机通过TCP/IP协议通讯的过程如下所示(该图{HHITCPIP])。图36.2.TCP/IP通讯过程传输层及其以下的机制山内核提供,应用层由用户进程提供(后面将介绍如何使用socketAPI编幼应用程序),

2、应用程序对通讯数据的含义进行解释,而传输层及其以下处理通讯的细节,将数据从一台计算机通过一定的路径发送到另一台计算机。应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation),如下图所示(该图出自[TCPIP])。图36.3.TCP/IP数据包的封装以太网帧46-1500字节不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。数据封装成帧后发到传输介质上,到达FI的主机后每层协议再剥掉相应的首部,绘后将应用瓜数据交给应用程序处理。上图对应

3、两台计算机在同一网段中的情况,如果两台计算机在不同的网段中,那么数据从一台计算机到另-台计算机传输过程中耍经过一个或多个路由器,如卜•图所示(该图出自[TCPIP])。图36.4.跨路由器通讯过程其实在链路层之下还有物理层,指的是电信号的传递方式,比如现在以太网通川的网线(双绞线)、早期以太网采用的的同轴电缆(现在主要用于冇线电视)、光纤等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(Hub)是工作在物理层的网络设备,川丁-双绞线的连接和信号屮继(将己衰减的信号再次放人使Z传得更远)。链路层有以太网、令牌环网等标准,链路层负责网卡设备的驱动、帧同步

4、(就是说从网线上检测到什么信巧算作新帧的开始)、冲突检测(如果检测到冲突就白动重发)、数据差错校验等工作。交换机是工作在链路层的网络设备,可以在不同的链路层网络之间转发数据帧(比如十兆以太网和百兆以太网之间、以太网和令牌环网Z间),山于不同链路层的帧格式不同,交换机要将进來的数据包拆掉链路层首部重新封装之后再转发。网络层的IP协议是构成Internet的基础。Internet上的主机通过IP地址來标识,InternetI二有大量路由器负责根据IP地址选择合适的路径转发数据包,数据包从Internet±的源主机到

5、[的主机往往要经过十多个路山器。路山器是工作在第三层的网络设备,同时兼冇

6、交换机的功能,叮以在不同的链路层接口Z间转发数据包,因此路由器需耍将进来的数据包拆抻网络层和链路层两层首部并匝新封装。IP协议不保证传输的可靠性,数据包在传输过程中可能丢失,可靠性可以在上层协议或应用程序中提供支持。网络层负责点到点(point-to-point)的传输(这里的“点”指主机或路由器),而传输层负责端到端(end-to-end)的传输(这里的“端”指源主机和目的主机)。传输层可选择TCP或UDP协议。TCP是一种面向连接的、可靠的协议,有点像打电话,双方拿起电话互通身份之后就建立了连接,然后说话就行了,这边说的话那边保证听得到,并II.是按说话的顺序听到的,说完话挂机断

7、开连接。也就是说TCP传输的双方需要首先建立连接,Z后由TCP协议保证数据收发的可靠性,丢失的数据包自动重发,上层应用程序收到的总是可靠的数据流,通讯Z后关闭连接。UDP协议不面向连接,也不保证可靠性,冇点像寄信,写好信放到邮筒里,既不能保证信件在邮递过程中不会丢失,也不能保证信件是按顺序寄到H的地的。使用UDP协议的应用程序需要自己完成丢包重发、消息排序等工作。目的主机收到数据包后,如何经过各层协议栈最后到达应用程序呢?整个过程如下图所示(该图出自[TCPIP])。图36.5.Multiplexing过程逬入的帧以太网驱动程序首先根据以太网首部中的“上层协议”字段确定该数据帧的冇效

8、载荷(payload,指除去协议首部Z外实际传输的数据)是IP、ARP还是RARP协议的数据报,然后交给和应的协议处理。假如是IP数据报,IPI*议再根据IP首部中的“上层协议”字段确定该数据报的有效载荷是TCP、UDP、ICMP还是IGMP,然后交给和应的协议处理。假如是TCP段或UDP段,TCP或UDP协议再根抓TCP首部或UDP首部的“端口号”字段确定应该将应用层数据交给哪个用户进程。IP地址是标识网络中不同主机的地址,而端口号就是同一台主机上标识不

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。