计算机网络知识补习

协议

Ethernet_II 帧

14个字节

dst MAC + src Mac + Type = 6 + 6 + 2 = 14Bytes

在数据链路层还会在报文结尾添加FCS(帧校验序列),但是Wireshark里并不会把他显示出来

ARP和RARP协议

(Reverse) Address Resolution Protocal

将32位网络层地址转为链路层48位MAC地址,逆地址解析协议相反。

关于属于哪一层协议比较模糊,目前比较多的人认为:

在tcp/ip里属于网络层,在OSI里属于链路层(存疑)

报文格式:

Ethernet_IIARP两部分构成(所以从这里来看还是当成网络层比较好)

ARP部分共28字节

包括8字节的报头(硬件类型,上层协议类型,MAC地址长度,IP地址长度,操作类型)

剩下20字节为:源mac,源IP,目的mac(00填充),目的IP

某个主机收到一个arp广播之后,查看报文里的IP是不是自己的IP,如果不是就只将对方IP/MAC记录到arp表里

arp -a # 查看arp表

如果是自己的IP,返回

ARP协议在IPV6中不再使用,取代其的是NDP

ICMP协议

Internet Control Message Protocol,”主要用来检测网络通信故障和实现链路追踪“

虽然从报文格式来看,ICMP报文在IP报头之后,但ICMP属于网络层协议,常见的用途包括PING和traceRoute

例如PING:

包括8字节的报头,以及后面的报文,PING的报文为32个小写的英文字母(请求和响应都是这个结构)

内网IP

因特网分配编号委员会(IANA)保留了3块IP地址做为私有IP地址:

10.0.0.0 ——— 10.255.255.255

172.16.0.0——— 172.16.255.255

192.168.0.0———192.168.255.255

NAT机制

Network Address Translation

静态NAT:内网IP与公网IP一一对应,静态NAT不能减少公网IP地址的使用

动态NAT:将公有地址池以先到先得的方式分配(公网IP少于内网IP)

**端口地址转换(NAPT/PAT)**:路由器通过报文的IP是0~65535的哪个,决定将报文发送给内网哪台主机

DNS

DNS解析:UDP协议,端口53

解析顺序:浏览器缓存,本地Hosts文件,路由器缓存,然后才是DNS服务器解析(循环解析,递归解析)

DHCP

Dynamic Host Configuration Protocol,UDP协议

简单来说,DHCP就是一个不需要账号密码登录的、自动给内网机器分配IP地址等信息的协议。

在DHCP报文开始会有一个op字段,包括:

请求报文:DHCP Discover、DHCP Request、DHCP Release、DHCP Inform和DHCP Decline。
应答报文:DHCP Offer、DHCP ACK和DHCP NAK。

首先客户端广播(Discover),然后服务器应答(Offer),客户端选择最先收到的offer进行广播(Request),服务器对其进行IP地址分配(DHCP ACK)

IPv4

为什么要用子网掩码?

分离网络地址和主机地址,两台主机通信时,对子网掩码进行与操作得到网络地址

网络地址相同,就用ARP协议发现mac地址,如果不同就发送到网关(路由器的IP地址)

192.168.1.1/30 斜杠后面的就是子网掩码,表示有几个1,例如24就是255.255.255.0

IPv4数据包的选项部分

变长、可选。有一个一字节的选项码。例如

严格源路由,选项后面会跟着一个列表,数据包必须严格经过上面所有路由器

宽松源路由,只给出关键点,剩下的由自动路由选择功能补充

广播

受限广播:ip.dst==255.255.255.255,只能本地广播,路由不会转发。(Ether帧的dst是ff:ff:ff:ff:ff:ff)

直接广播:ip.dst的主机地址全设置为1,网络地址同ip.src(Ether的dst还是6个ff),例如:

192.168.1.1/30可以发送广播包(192.168.1.7),使主机192.168.1.5/30 也可以接收到该数据包,前提是之间的路由器要开启定向广播功能。

ICMP

ping of death

数据包分片之后重组,重组之后缓冲区溢出

ICMP Smurf 反射放大攻击

伪造ip.src,大量机器向被攻击主机返回icmp echo


计算机网络知识补习
https://isolator-1.github.io/2023/09/15/学习笔记/计算机网络/
Author
Isolator
Posted on
September 15, 2023
Licensed under