笔记:TCP/IP常用协议

TCP/IP 网络支撑协议

ARP

ARP(Address Resolution Protocol,地址解析协议)是一种用于将网络层的IP地址解析为链路层的物理地址的协议。它主要工作在网络层与数据链路层之间,用于解决在同一局域网中,主机或路由器如何将IP地址与物理地址进行映射的问题。

将IP地址转换成MAC地址

ARP封装与报文格式

封装格式及报文格式

在这里插入图片描述

1)硬件地址长度:6(MAC地址长度)
2)协议地址长度:4(IP地址长度)

模拟器抓包-请求

在这里插入图片描述

1)封装过程中的类型0x0806 是指封装类型是ARP,而报文里面的类型是指的协议类型,一般是0x0800 (IPV 4)
2)封装中目标MAC是未知的,所以是FFFF:FFFF:FFFF 广播形式(报文里面是0000:0000:0000:0000)。但是因为是将IP地址解析成MAC地址,所以报文里面的目标IP地址target IP是已知的。

模拟器抓包-响应

在这里插入图片描述

1)这里因为响应者接收了请求者的报文,所以响应者知道请求者IP及MAC地址。值得注意的是这里源IP、MAC与目的IP、MAC和请求报文是相反的。

ARP表

主机、交换机、路由器通过ARP报文查找到IP对应的MAC地址后会生成ARP地址表,后面就不需要广播获得MAC地址了,直接查表就可以了。

1)ARP表一般默认是有时效性的,会主动更新
2)管理员写入的ARP表是永久保存的

在这里插入图片描述

ARP工作流程

在这里插入图片描述

无故ARP

无故ARP(gratuitious ARP): 使用广播方式主动发送自己IP地址的ARP。
请求型无故APR:请求自己IP的MAC地址表

用于重复IP地址检测。配置IP的时候就会发出请求型无故ARP。

应答型无故ARP:用于刷新其他主机或设备的ARP表。用于刷新交换机的MAC表。

抓包-请求

在这里插入图片描述

以广播的格式将自己的IP广播出去,源IP及目的IP都是自己。

未检测到重复IP就没有回应,有重复IP就会产生回应报文。

抓包-回应报文

在这里插入图片描述
在这里插入图片描述

回应报文与请求报文内容一模一样,当计算机收到回应报文后,就知道这个IP地址被占用了,所以就配置不上该IP。

代理ARP

代理 ARP 是指由一台设备(通常是路由器)代替其他主机来回应 ARP请求的机制。在一个局域网或者跨网段的网络环境中,当主机 A 想要与另一个网段的主机 B 通信时,主机 A 会先通过 ARP 去查找目的 IP 地址对应的 MAC 地址。正常情况下,它应该向自己所在网段的默认网关(路由器接口)发送 ARP 请求,而路由器收到这个 ARP 请求后,如果启用了代理 ARP 功能,它就会代替主机 B 向主机 A 回复 ARP 响应,告知主机 A 自己(路由器对应接口)的 MAC 地址,让主机 A 认为它所请求的主机 B 的 IP 对应的 MAC 地址就是路由器接口的 MAC 地址,后续主机 A 发往主机 B 的数据就会先发送到路由器,再由路由器进行转发。

RARP

知道自己的MAC地址,但不知道自己的IP地址,通过RARP来获取IP地址,早期用于无盘工作站的开机引导,现已经完全淘汰。

ICMP

ICMP 协议概述

ICMP(Internet Control Message Protocol)即 Internet 控制报文协议,它是 TCP/IP 协议族的一个重要组成部分。ICMP 协议主要用于在 IP 主机、路由器之间传递控制消息,提供差错报告以及网络探测等功能,帮助网络设备间进行通信状态的反馈和协调。

工作与网络层

ping

ping命令属于回送请求和回送回答报文,源主机向目的主机发送回送请求报文,目的主机收到后会回复回送回答报文,通过这种方式可以测试目的主机是否可达以及网络的连通性情况。
在这里插入图片描述

tracert

TraceRoute 通过向目标主机发送一系列具有不同生存时间(TTL)值的 Internet 控制消息协议(ICMP)数据包来确定路径。

(测试重主机到服务器经过哪些设备)

每个路由器在转发数据包时会将其 TTL 值减 1,当 TTL 值减为 0 时,路由器会向源主机发送一个 ICMP 超时消息,指示该数据包已被丢弃。

TTL是防止各种数据在网络中重复传播的一个限制。以减少网络负荷

通过记录这些超时消息的来源,TraceRoute 可以确定数据包经过的路由器序列。
在这里插入图片描述

这里有些设备不回应IP是因为为了保护网络信息安全,有些设备设置了禁止回复了。
原理,利用TTL丢包回复,计算机将数据包的TTL重1开始依次递增,直到目标主机回应为止。

目标不可达

目标不可达常见的分为四种情况:

  1. 网络不可达
  2. 主机不可达
  3. 协议不可达
  4. 端口不可达
    回应报文
    在这里插入图片描述

ICMP重定向

ICMP 重定向是指当路由器发现某个数据包的发送路径不是最优时,会向源主机发送一个 ICMP 重定向消息,通知源主机使用更优的路径来发送后续数据包,以提高网络传输效率,优化路由选择。

当路由器接收到一个数据包时,它会检查自己的路由表,以确定该数据包的下一跳地址。如果路由器发现数据包的源主机发送数据包的路径不是最优的,即源主机本可以通过另一个更直接的路由器到达目标地址,那么路由器就会向源主机发送一个 ICMP 重定向消息。
这个消息中包含了更优的下一跳路由器的地址信息,源主机收到重定向消息后,会更新自己的路由缓存,将后续发往该目标地址的数据包直接发送到新的下一跳路由器,从而实现路由的优化。

在这里插入图片描述

常见TCP应用协议

在这里插入图片描述

常见UDP应用协议

在这里插入图片描述

DNS

定义与作用

DNS 是一种分布式数据库系统,它将人类可读的域名(如www.example.com)转换为计算机可识别的 IP 地址(如 192.168.1.1)。这就如同电话簿将人名与电话号码对应起来一样,使得用户能够方便地访问互联网资源,而无需记住复杂的 IP 地址。

相当于给IP地址起个外号方便记忆,而DNS服务器一看到这个外号就知道是哪一个主机的IP。

工作原理

  1. 递归查询:当用户在浏览器中输入一个域名时,本地计算机首先会向本地 DNS 服务器发送查询请求。如果本地 DNS 服务器不知道该域名对应的 IP 地址,它会代表用户向其他 DNS 服务器进行查询,直到找到目标域名的 IP 地址并返回给用户。

计算机本地域名表存储在Hosts文件里面。

  1. 迭代查询:在迭代查询中,DNS 服务器会根据自己的缓存或配置,给客户端返回一个更接近目标的 DNS 服务器地址,让客户端继续向该服务器发送查询请求,如此反复,直到客户端获取到目标域名的 IP 地址。

FTP

FTP协议简介

FTP(File Transfer Protocol,文件传输协议)采用客户端/服务器架构,基于TCP协议,采用双TCP连接方式:

  • 控制连接:使用TCP端口号21,主要用于传输命令和响应,如用户登录验证、文件操作指令等。
  • 数据连接:使用TCP端口号20,专门负责实际的文件内容传输 。
    在这里插入图片描述

FTP支持两种文件传输模式:

  • ASCII模式:这是FTP默认的文件传输模式。在此模式下,本地文件会先转换成标准的ASCII码格式再进行传输,适用于传输文本文件,如.txt、.html等。
  • Binary模式:也称为二进制流模式或图像文件传输模式,文件按照原始的比特流方式进行传输,适用于传送程序文件、压缩包、图片、音频、视频等非文本文件。

此外,FTP存在两种数据传输方式:

  • 主动方式:客户端随机打开一个端口(大于1023)并告知服务器,服务器通过端口20主动连接客户端指定端口进行数据传输。

主动方式也称为PORT方式
• FTP客户端通过向FTP服务器发送PORT命令,告诉服务器该
客户端用于传输数据的临时端口号
• 当需要传送数据时,服务器通过TCP端口号20与客户端的临
时端口建立数据传输通道,完成数据传输
在这里插入图片描述

  • 被动方式:服务器随机开启一个端口(大于1023)并将端口号告知客户端,客户端主动连接该端口完成数据传输,此方式更适合存在防火墙的网络环境。

被动方式也称为PASV方式
• FTP客户端通过向FTP服务器发送PASV命令,告诉服务器进
入被动方式。服务器选择临时端口号并告知客户端
• 当需要传送数据时,客户端主动与服务器的临时端口号建立数
据传输通道,完成数据传输在这里插入图片描述

Telnet

定义

Telnet 是基于 TCP/IP 协议族的应用层协议,它允许用户通过网络远程登录到其他计算机系统,并在远程系统上执行命令、运行程序、管理文件等操作,就像直接在远程计算机的终端上进行操作一样。

作用

Telnet 主要用于远程管理计算机设备,如服务器、网络设备等,也可用于访问远程主机上的各种服务和资源,方便用户在不同地点对远程系统进行操作和维护。

Telnet工作过程

Telnet客户端

  1. 建立连接:与远程服务器建立TCP连接,默认使用端口号23。
  2. 输入接收:接收从键盘上输入的字符。
  3. 格式转换与发送:将输入的字符转换为NVT(Network Virtual Terminal,网络虚拟终端)标准格式,并发送给远程服务器。通过NVT格式,Telnet可屏蔽不同终端设备之间的差异,实现跨系统的互操作性。
  4. 结果展示:从远程服务器接收输出信息,并将这些信息显示在屏幕上。

Telnet服务器
5. 连接接受:接受客户端发起的TCP连接请求。
6. 用户认证:对客户端进行用户身份认证,确认用户是否有权限访问和操作服务器资源。
7. 命令等待:等待客户端输入命令,进入监听状态。
8. 命令执行:解析并执行客户端输入的命令。
9. 结果返回:将命令执行结果送回给客户端,供客户端展示。

SMTP与POP3协议简介

SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)

  • 定义:SMTP是一种用于发送和传输邮件的标准协议,负责将邮件从发件人的邮件服务器传送到收件人的邮件服务器。
  • 端口号:默认使用TCP端口号25,常用于邮件服务器之间的通信以及客户端向服务器发送邮件。

POP3(Post Office Protocol v3,邮局协议版本3)

  • 定义:POP3是用于客户端从邮件服务器接收邮件的协议。客户端通过POP3协议连接到邮件服务器,将邮件下载到本地设备进行阅读和管理。
  • 端口号:默认使用TCP端口号110,为客户端提供接收邮件的服务 。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值