TCP/IP协议栈概述及各层包头分析

一、摘要

  对之前几篇博文涉及到的网络通信协议进行分析,概述出TCP/IP的协议栈模型,最后根据实例对各层包头进行分析。

 

二、标准TCP/IP协议栈模型

  标准TCP/IP协议是用于计算机通信的一组协议,通常被称为TCP/IP协议栈,以它为基础组建的互联网是目前国际上规模最大的计算机网络。正因为互联网的广泛应用,使得TCP/IP成为了事实上的网络标准。

1、OSI模型和TCP/IP协议模型

  图1是OSI模型和TCP/IP协议模型的对比。

图1 OSI模型和TCP/IP协议模型

2、TCP/IP协议模型分层

(1)网络接口层

  TCP/IP协议模型的基层,负责数据帧的发送和接收。对应OSI模型中的物理层和数据链路层,是TCP/IP的最底层,不过通常在描述TCP/IP模型时还是会划分具体为物理层(PHY)和数据链路层(MAC)。

(2)网络层

  通过互联协议将数据包封装成互联网数据包,并运行必要的路由算法。这里有4种互联协议。

  (a)网际协议IP:负责在主机和网络之间的路径寻址和数据包路由。

  (b)地址解析协议ARP:获得同一物理网络中的主机硬件地址。

  (c)网际控制消息协议ICMP:发送消息,并报告有关数据包的传送错误。

  (d)互联组管理协议IGMP:用来实现本地多路广播路由器报告。

(3)传输层

  传输协议在主机之间提供通信会话。传输协议的选择根据数据传输方式而定。主要有以下2种传输协议:

  (a)传输控制协议TCP:为应用程序提供可靠的通信连接,适用于要求得到响应的应用程序。

  (b)用户数据包协议UDP:提供无连接通信,且不对传输包进行可靠性确认。

(4)应用层

  应用程序通过这一层访问网络,主要包括常见的FTP、HTTP、DNS和TELNET协议。

3、TCP/IP协议模型对数据的封装

图2 各层数据包之间的相关性

  在TCP/IP协议模型的4层协议中,各层数据包封装情况如图2所示。在发送数据时,将数据从最上层到最下层一次打包(加上包头和部分尾部信息);在接收数据时,则将从数据从最下层到最上层依次拆包(去掉包头和部分尾部信息)。这些打包和拆包操作就是由TCP/IP协议栈实现的。下面根据实例对上述包头进行详细分析。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值