网络编程——1、协议基础,点击此处。
网络编程——2、通信基础,本篇。
网络编程——3、服务器基础,点击此处。
本文为网络通信基础。
目录
一、交换机与集线器
集线器的作用
1、连接多台电脑组成局域网。
2、收到的每个数据包的发送都是以广播的形式进⾏的。
交换机的作用
1、交换机能够完成多个电脑的链接
2、如果每个数据包的发送都是以广播的形式进⾏的, 容易堵塞⽹络
3、如果PC不知⽬标IP所对应的的MAC, 那么, pc会先发送arp广播, 得到对⽅的MAC然后, 在进⾏数据的传送
4、当switch第⼀次收到arp⼴播数据, 会把arp⼴播数据包转发给所有端⼝(除来源端⼝) ; 如果以后还有pc询问此IP的MAC, 那么只是向⽬标的端⼝进⾏转发数据
集线器和交换机的区别?
集线器和交换机都可以组成一个局域网,集线器在收到网络中一个包时全部以广播的形式发送给局域网中每台电脑,而交换机有一个学习的功能,如果某个电脑与交换机发送过数据,交换机会记录这个电脑的mac地址和ip地址,下一次需要发送到这台电脑时会直接发送到这一台电脑上而不是广播到每台电脑。
二、arp和icmp
icmp协议:ping命令使用的是icmp协议。在第一次ping对方电脑时,通常不知道对方的mac地址,需要用到arp协议获取。
arp协议:用广播的形式来获取对方mac地址(根据ip找mac地址)。由于不知道对方mac地址,发送的mac地址全为F的mac地址(广播mac地址),局域网中每个电脑都会受到,如果对方ip地址匹配时会用arp协议将自己的mac地址传输到本机。
rarp协议:根据mac地址找ip。
三、路由器简介
路由器:用于连接多个子网,具有判断网络地址和选择ip路径的功能。
注意:路由器有多个网卡,所以可以连接多个子网。
纠正:下图路由器两边红色表示不通,需要在路由器上设置每个端口时在“Port Status”的“on”上打勾!
路由器连接两个子网如下图所示:
但是现在1.X网段和2.X网段还不能ping通,因为只有路由器右边的网段是目标网段时才能ping通,即是基于下一跳的。
这时需要设置路由表!(实际使用的是RIP协议,在此手动配置)
手动设置第一个路由器表如下图:
注意:1、设置好后需要点击add才能添加到路由表中
2、子网中每台电脑需要设置正确的网关,左边电脑的网关为第一个路由器左边的ip地址,即192.168.1.254。
3、若要ping通两边需要对每个路由器设置来回的路由表!
总体如下图所示:
四、ip地址与mac地址的不同
有了ip地址为什么还要用mac地址?
mac地址,在两个设备之间通信时在变化