简述我抓的一个数据包MAC&IP&TCP

MAC&IP&TCP

一、说明应用层数据是如何被封装传输的?

1.数据发送处理过程数据封装协议数据单元

数据包分析
(1)应用层将数据交给传输层,传输层添加上TCP的控制信息(称为TCP头部),这个数据单元称为段(Segment),加入控制信息的过程称为封装。然后,将段交给网络层。
(2)网络层接收到段,再添加上IP头部,这个数据单元称为包(Packet)。然后,将包交给数据链路层。
(3)数据链路层接收到包,再添加上MAC头部和尾部,这个数据单元称为帧(Frame)。然后,将帧交给物理层。
(4)物理层将接收到的数据转化为比特流,然后在网线中传送。

2.数据接收处理过程数据封装协议数据单元

(1)物理层接收到比特流,经过处理后将数据交给数据链路层。
(2)数据链路层将接收到的数据转化为数据帧,再除去MAC头部和尾部,这个除去控制信息的过程称为解封装,然后将包交给网络层。
(3)网络层接收到包,再除去IP头部,然后将段交给传输层。
(4)传输层接收到段,再除去TCP头部,然后将数据交给应用层。
应用层数据被封装图

二、根据截获的数据包说明MAC,IP和TCP协议头信息各字段的含义

1、我用WireShark抓的一个包

在这里插入图片描述

2、分析这个数据包
[1] MAC头部

在这里插入图片描述

目的地址:40 a3 cc c0 e7 66

源地址:54 75 95 15 b3 d6

类型:08 00 表示上层使用的是ip数据包

MAC尾部:MAC帧的帧尾也只有一个字段,为4字节长,包含的信息是帧校验序列FCS(使用CRC校验)。

[2] IP头部

(1)说明:ip数据包首部最大40字节,最小20字节,一个字节8比特,比如45就是一个字节。

(2)解析该数据包
在这里插入图片描述
版本:4,ipv4

首部长度:5,单位为4字节,因此首部长度为20字节

服务类型:04

总长度:00 28,单位为字节,因此该ip数据包的总长度为28字节

标识:f1 00

标志和片偏移 04 00

  • 标志:占3位 010 (中间的一位记为DF,Don’t Fragment;最后一个位为MF,More Fragment)
  • 片偏移:占13位 13个0

生存时间(TTL):37

协议:06 表示上层使用的是TCP数据段

1:ICMP  4:IP  6:TCP  17:UDP  21:ftp  22:ssh  23:telnet  80:http  88:eigrp 89:ospf 

首部检验和:9e 73

源地址:df 6f 12 d8

目的地址:c0 a8 01 68

[3] TCP头部

在这里插入图片描述

源端口号:00 50

目的端口号:cb 70

序号:a6 62 ce 4a

确认号:c7 9e 0d f7

头部长度 保 留 保留 标志位:50 10

  • 头部长度:5(单位为4字节) 因此长度为20字节

  • 保留:(6bits)000000

  • 标志位:010000

    • URG: 表示紧急指针是否有效

    • ACK: 表示确认号是否有效(携带ACK标志的TCP报文段称为确认报文段)

    • PSH: 提示接收端应用程序要立即从TCP接收缓冲区读走数据,以腾出空间接收后续的数据。(若应用程序

      不读走数据,数据会一直留在TCP模块的接收缓冲区)

    • RST: 表示要求对方重新建立连接(携带RST标志的TCP报文段为复位报文段)

    • SYN: 表示请求建立一个连接(携带SYN标志的TCP报文段称为同步报文段)

    • FIN: 表示通知对方要关闭连接(携带FIN标志的TCP报文段为结束报文段)

窗口大小:09 e5(TCP流量控制的一个手段)

校验和:db 93(作为TCP可靠传输的重要保障,这个校验不仅包括TCP头部,也包括数据部分)

紧急指针:00 00

@CopyRight 名侦探柯小启

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TCP/IP协议栈是一个由五层组成的网络协议体系,包括物理层、数据链路层、网络层、传输层和应用层。下面是简要的TCP/IP五层协议数据转发过程: 1. 物理层:将比特流转换为可以在物理介质上传输的信号,例如电压或光信号。 2. 数据链路层:将数据包分成帧,并为每个帧添加物理地址(MAC地址),以便在局域网中传输。在发送方,数据链路层将帧传递给物理层。在接收方,数据链路层接收帧,并检查帧的完整性和准确性。 3. 网络层:使用IP协议将数据包从源主机传输到目标主机。发送方的网络层将数据包封装IP数据报,其中包含源IP地址和目标IP地址。路由器是网络层的设备,用于转发数据包到目标主机。 4. 传输层:提供端到端的通信,确保数据可靠地传输。TCP是传输层的协议之一,它使用可靠的连接来传输数据。在发送方,TCP数据分割为多个小的数据段,并为每个数据段添加序列号和校验和。在接收方,TCP重新组装数据段,并使用序列号和校验和进行错误检测和纠正。 5. 应用层:负责处理特定的应用程序协议,例如HTTP、FTP和SMTP。应用层协议将数据封装为消息或报文,并将其传递给传输层。在接收方,应用层协议解析消息或报文,并将数据提供给应用程序。 总的来说,数据TCP/IP协议栈中的转发过程是从应用层到传输层,再到网络层,然后到数据链路层,最后在物理层进行传输。在接收方,数据按照相反的顺序进行解析和传递,直到到达应用层。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值