现实情境下的网络数据包

《计算机通信与网络》明天就要考了,题目看熟了,书看多了,也无感。不如实战看一下。

DHCP(动态主机配置协议)

DHCP和BOOTP(引导程序协议)兼容,允许一台计算机加入新网可以自动获得IP地址。DHCP使用C/S服务模式。如果想避免在每个网络上都设置一台DHCP服务器,则需要设置一台DHCP中继代理,该代理保存DHCP服务器的IP地址信息。

1.首先看一下总体的包结构:

2.网络接入层。帧结构为前六个字节为目的MAC地址,后六个为源MAC地址。这个结构和IP、TCP的源目位置相反。说真的,我觉得这种设计对数据链路层来说是最为合适的。首先,主机在局域网内是可以接收到很多不是自己的帧,最先关注的应该就是目的MAC是不是自己的;再者呢,在以太网交换机的转发中有三种方式,直接转发就是只看目的MAC,六个字节就可以了,而并非十二个字节。

可以看到,主机在申请动态IP时,源MAC地址是自己的,目的MAC地址为ff:ff:ff:ff:ff:ff(全1)。因为这里是用的是广播形式,即让在同一物理子网中的所有主机都能够收到这个报文。在Ethernet_II格式的网络中,就是目标MAC为全1。

3.互连网络层

直接看IP数据报的内容,4即IPv4,5即IP首部长度为5*4字节,00服务类型没有用到,因此IPv6也给取消了这个。0148是IP首部和数据的总长度,因为这是在以太网中进行的,所以不会超过MTU=1500字节。1C9A是标识,和00 00共同在分片时进行使用。而从理论上来说,总长度表示占据了16个字节,意味着理论上最大是65535个字节(需要明确单位)。ff即为1111 1111 ,则设定初始TTL值为255,协议为11即UDP,9e 0b是首部校验和。这里使用首部校验和是为了降低路由器负担。00 00 00 00是源IP,ff ff ff ff是目的IP,由于终端没有IP地址,IP头中的原IP规定填为全0。当终端发出DHCP请求报文,它并不知道DHCP SERVER的IP地址,因此IP头中的目标IP填为子网广播IP——全1,以保证DHCP SERVER的IP协议栈不丢弃这个报文。

4.传输层

从步骤三我们知道,IP数据报中封装的是UDP报文。前两个字节00是源端口,44是目的端口即端口68.DHCP服务端口是UDP67和UDP68,这两个端口是正常的DHCP服务端口,可以理解为一个发送,一个接收。即客户端向68端口(bootps)广播请求配置,服务器向67端口(bootpc)广播回应请求。长度为00,校验和为43,数据为01 34 d6 ba。

UDP是无连接、不可靠的,可以支持点到点和点到多点之间的通信。UDP是面向报文的。

因为DHCP使用了UDP,后面也就不再单独拿出UDP来讲了。不同在于UDP传递数据时就是数据DATA。

5.应用层

前面提到,DHCP和BOOTP(引导程序协议)兼容。

DNS(域名系统)

DNS是个交互的对域名解析为IP地址的过程。DNS是一个分布式数据库连机系统,采用C/S应用模式,提供域名解析服务。域名解析的方法有递归解析、重复解析,也有递归加重复解析。

1.整体观察

可以看到两个报文一问一答。具体接下来再说。

2.网络接入层

目的MAC地址为00:5e:0: 8a:01:00,目的MAC地址为f0:18:98:09:4c:65。0800说明是IPv4.

3.互连网络层

IPv4,20字节,服务类型无定义。数据校验和003f。80 96 00 00显示未分片。TTL为255,协议类型为UDP。首部校验和2c1c。源IP地址ac 13 f6 1e即为172.19.246.30。目的IP地址为dd 83 8f 45,即为221.131.143.69

4.传输层

ff c9即为源端口,00 53(UDP83端口)为目的端口。

5.应用层

提问:

回答:

3.ICMP(差错与控制报文协议)

ICMP报文分为两类(1)差错报告报文:类型值为3时:表示终点不可达;类型值为4时:表示源点抑制;类型值为5时:表示改变路由(Redirect);类型值为11时:表示超时;类型值为12时:表示参数问题。(2)询问报文:类型值为8或者0时:表示回送(Echo)请求或应答;类型值为13或14时:表示时间戳(Timestamp)请求或应答。

ICMP位于网络层,但它的传递依赖于IP的支持。

1.整体观察

2.网络接入层

目的MAC地址:f0:18:98:09:4c:65,源MAC地址c4:47:3f:47:33:46,0800,IP协议

3.互连网络层

IPv4,20字节首部,ICMP服务,38H字节总长度,5427标识,标志和片偏移量0000,生存时间255,01协议类型ICMP,首部校验和2c81,源IP0a 50 00 01,目的IP0a 50 25 bc。

4.HTTP(超文本传输协议)

这是一个应用层协议,使用TCP连接为分布式超媒体信息系统提供可靠传送。HTTP是面向事物的应用层协议。

1.整体观察

2.网络接入层

3.互连网络层

协议字段为06H即TCP。

这里重点关注一下目的IP为0a 50 25 bc,即为10.80.37.188,是一个典型的私有地址。

私有地址一共分为三块:10/8、172.16/12、192.168/16。

私网地址如果想访问公网,必须使用NAT(网络地址转换)或NAPT(网络地址和端口转换)。

4.传输层

TCP是面向连接的,提供可靠的服务,只能进行点到点的通信,面向字节流。

TCP五元组格式为(源IP地址、源端口、目的IP地址、目的端口、TCP)

TCP的首部为20个字节,00 50为源端口80,c1 1b是目的端口49435。序号为00 00 00 01,确认号为75 8b c9 37。后面两个字节为50 19,最后六位为011001,即ACK、PSH、FIN置1,PSH表示应尽快将此报文段交付给接受应用程序,ACK和FIN确认释放请求。接收窗口为ff ff,校验和72 4d,紧急指针00 00。

TCP的可靠传输是通过确认机制和超时重传机制实现的。确认机制就是返回的确认序号是已收到的数据的最高序号加1,也可以理解为期望下次收到的第一个数据字节的序号。具有累计确认效果。

TCP流量控制是使用滑动窗口吗,通过WIN值接收端可以动态的控制发送端,实现端到端的流量控制。

TCP拥塞控制,有慢启动算法、拥塞避免算法等算法来辅助。

5.应用层

5.ARP(地址解析协议)

ARP协议是将IP地址解析为MAC地址。不可反向,那是RARP干的事。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东方隐侠安全团队-千里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值