概述
MAC 地址
计算机之间的数据传送,是通过MAC地址来寻找唯一的IP然后进行数据传输的。一台主机上,有多少个网络适配器(网卡),就有多少个MAC地址。
路由
route命令查看机器的路由表
在两个机器进行通信时,会在IP层查看路由表将数据发送给路由表上对应的网关
表头 | 含义 |
---|---|
Destination | 目标网络或目标主机。默认default(0.0.0.0)时为默认网关 |
Gateway | 网关地址 |
Genmask | Destination 字段的网络掩码 |
Flags | 标记 |
Metric | 路由距离 |
Ref | 路由项的引用次数 |
Use | 被路由查找的次数 |
Iface | 网卡名字 |
测试
tcpdump进行ARP抓包
命令: **tcpdump**
arp:arp能够实现ip地址和mac地址间的转换
sudo tcpdump -ent -c 2 arp
-c 抓包的数目
arp 只抓arp协议的包
-e 显示连接层级的文件头
-n 不把主机的网络地址转换成名字
-t 不显示时间戳记
这是两台服务器的抓包情况,都是
一个请求
一个应答
从第一张图可以看出:
第一条数据:
arp通讯端口物理地址为:ee:ff:ff:ff:ff:ff
目的端口的物理地址为: 00:16:3e:06:d8:ee
0x86 表示是数据是ARP协议
Request 表示arp请求
length 42 太网帧的长度是42字节
length 28 数据部分长度为28字节
who-has 172.21.89.54 tell 172.21.95.253
就是在网段广播,询问172.21.89.54地址。就比如:
我询问:谁有172.21.89.54的地址,请告诉172.21.95.253
第二条数据:
相同部分表示一样,
Reply 表示,这是ARP应答
nc命令测试TCP、UDP
nc是一个网络测试工具
tcp测试:
开启tcp服务器
nc -l 端口号
连接tcp服务器
nc 主机 端口
可以看到两天服务器已经实现tcp的连接
TCP 提供面向连接的服务。
在传送数据之前必须先建立连接,数据传送结束后要释放连接。
测试tcp连接是否成功:
nc -vz 主机 端口
可以看到tcp连接成功
udp监听端口
开启udp监听端口
nc -ul 端口
连接udp 端口
nc -u 主机 端口
测试udp端口
nc -zuv 主机 端口
可以看到udp端口也连接成功
UDP 在传送数据之前不需要先建立连接,远程主机在收到 UDP 报文后,不需要给出任何确认。
最后
以上就是冷艳小熊猫为你收集整理的计算机网络-学习两台计算机之间的通信过程的全部内容,希望文章能够帮你解决计算机网络-学习两台计算机之间的通信过程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复