2021-12-12 网工基础(九)ARP协议、ICMP协议、传输层协议、TCP报文头部

本文详细介绍了网络中的地址解析协议ARP、Internet控制消息协议ICMP及其在网络诊断中的应用,以及传输层的TCP和UDP协议。通过实验展示了ARP的解析过程、ICMP的差错检测和错误报告功能,以及TCP报文头部的关键字段。此外,还探讨了端口号的重要性,以及Telnet配置和TCP报文头部在Telnet连接中的作用。
摘要由CSDN通过智能技术生成

一 地址解析协议(ARP)

作用:根据已知的IP地址解析获得其对应的MAC地址。

实验:组件以下网络并观察抓包,对报文处理过程进行描述

ARP解析过程(包括交换机MAC地址表学习)描述: 

1 主机1 对指定的IP地址(192.168.1.2)发送数据包

2 主机1 查看自己的ARP缓存表-查看结果如果有则开始发送数据包,如果没有指定的IP对应的MAC地址则进行下一步

3 主机1 发送ARP请求(广播帧)

4 交换机记录主机1的MAC到MAC地址表

5 交换机对主机1的ARP请求(广播帧)进行泛洪处理

6 主机2 收到主机1的ARP请求

7 主机2 查看自己的ARP缓存表-查看发现没有主机1的IP对应的MAC-于是将它记录下来

8 主机2 发现主机1的ARP请求是找的是自己的IP地址

9 主机2 回复主机1的ARP回复(单播帧)

10 交换机记录主机2的MAC到MAC地址表

11 交换机发现主机2的ARP回复在自己的MAC地址表中,对对应的端口发送主机2的ARP回复

12 主机1 收到主机2的ARP回复

13 主机1 将主机2的MAC地址记录到ARP缓存表中

14 主机1 开始对指定的IP地址发送数据包

查看arp缓存表命令:arp -a

清空arp缓存表命令:arp -d

二 ICMP协议

Internet控制消息协议ICMP(Internet Control Message Protocol)是IP协议的辅助协议。

ICMP协议用来在网络设备间传递各种差错和控制信息,对于收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用。

ICMP的报文内容: Type类型、Code代码、Checksum校验和

根据Type和Code确定意义:

Type  Code  描述
0     0     Echo Reply
3     0     网络不可达
3     1     主机不可达
3     2     协议不可达
3     3     端口不可达
5     0     重定向
8     0     Echo Request

1 ICMP差错检测

ICMPEcho消息常用于诊断源和目的地之间的网络连通性,同时还可以提供其他信息,如报文往返时间等。

功能:ping

Ping是网络设备、Windows、Unix和Linux平台上的一个命令,其实是一个小巧而实用的应用程序,该应用基于ICMP协议。Ping常用于探测到达目的节点的网络可达性。

2 ICMP错误报告

ICMP定义了各种错误消息,用于诊断网络连接性问题;根据这些错误消息,源设备可以判断出数据传输失败的原因。如:当网络设备无法访问目标网络时,会自动发送ICMP目的不可达报文到发送端设备。

功能:tracert

Tracert基于报文头中的TTL值来逐跳跟踪报文的转发路径。Tracert是检测网络丢包和时延的有效手段,同时可以帮助管理员发现网络中的路由环路。

实验:使用ping后抓包观察分析

From 192.168.1.5: 表示收到此地址的回复 、bytes=32表示过去的数据包大小是32字节 、seq=3 表示第3次回复、ttl=128表示生存时间128、time=32 ms表示延时32毫秒。

 

Type:8、Code:0 ----- 表示是ping请求

Sequence Number:3 ----- 表示第3次请求

三 传输层

传输层协议接收来自应用层协议的数据,封装上相应的传输层头部,帮助其建立“端到端”

(PorttoPort)的连接。

传输层的PDU被称为Segment(段)。

1 传输层协议:

TCP:一种面向连接的、可靠的传输层通信协议,由IETF的RFC 793定义。

UDP:一种简单的无连接的传输层协议,由IETF的RFC 768定义。

TCP协议头部20字节,TCP可靠有差错回复(序列号和确认号)。特点、慢、面向连接有对象。

(适合在不可靠的链路上传输可靠的数据)

UDP协议头部8字节,UDP没有差错报告 。特点:快、无连接的。

(适合在可靠的链路上快输的的传输数据)

2 常见应用层协议-Telnet

Telnet协议,是一个远程终端的协议,使用TCP 23号端口实现,效果是类似于Console接口这样面对面的去控制网络设备。

VTY界面称为虚拟类型终端用户界面,是一个类似于Console的远程连接界面。

用户通过Telnet连接后就会进入VTY界面。

实验:Telnnet配置

system-view     \\进入系统视图

user-interface vty 0 4     \\进入接口视图VTT 0 4

authentication-mode password     \\设置密码认证

protocol inbound all     \\对所有协议放行

user privilege level 15     \\配置远程连接的权限为15

关于VRP用户级别 

VRP提供基本的权限控制,可以实现不同级别的用户能够执行不同级别的命令,用以限制不同用户对设备的操作。

3 端口号

TCP和UDP的端口用区分不同的服务,要只要开启相应的服务,对应的端口就会被打开。

著名的端口如TCP 23(telnet) TCP 80(HTTP) TCP 21(FTP)。

1-1024这些端口被称为著名的众所众知的端口,因此在源在使用端口时,是一个大于1023的随机高位端口。

4 TCP报文头部

Source Port:源端口(高位随机数),标识哪个应用程序发送。长度为16比特。

Destination Port:目的端口,标识哪个应用程序接收。长度为16比特。

Sequence Number:序号字段。TCP链接中传输的数据流每个字节都编上一个序号。序号字段的值指的是本报文段所发送数据的第一个字节的序号。长度为32比特。

Acknowledgment Number:确认序列号,是期望收到对方下一个报文段数据的第1个字节的序号,即上次已成功接收到的数据段的最后一个字节数据的序号加1。只有Ack标识为1,此字段有效。长度为32比特。

Header Length:头部长度,指出TCP报文头部长度,以32比特(4字节)为计算单位。若无选项内容,则该字段为5,即头部为20字节。

Reserved:保留,必须填0。长度为6比特。

Control bits:控制位,包含FIN、ACK、SYN等标志位,代表不同状态下的TCP数据段。

Window:窗口TCP的流量控制,这个值表明当前接收端可接受的最大的数据总数(以字节为单位)。窗口最大为65535字节。长度为16比特。

Checksum:校验字段,是一个强制性的字段,由发端计算和存储,并由收端进行验证。在计算检验和时,要包括TCP头部和TCP数据,同时在TCP报文段的前面加上12字节的伪头部。长度为16比特。

Urgent:紧急指针位,表示需要加急传送的数据

Data:数据

实验:观察Telnet包的TCP头

1 源端口为49553

2 目标端口为23(Telnet协议)

3 序列号2

4 确认序列号3,表示期望收到对方的下一包的序列号是3

5 报文头部长度20字节

6 窗口流量8192字节

7 校验码0xe1ea

8 紧急指针位0

9 传送的数据大小为1字节

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

鹅一只

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

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

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

打赏作者

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

抵扣说明:

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

余额充值