网络问题相关sub
局域网内,如果是hub,则走数据链路层,以太网标准通信CSMA/CD (Carrier Sense Multiple Access with Collision Detection) ,带上mac地址,广播形式通信。 通过arp可获知ip对于mac地址。广播的消息每台主机都能收到,对比mac地址后,丢弃target不是当前mac的包。并且,同一时间,只能有一个主机通信。发送前需要监听空闲,碰撞后,需要等待一段时间。
通过ip、mask可以知道目标地址的网段。如果是在局域网内的,则通过以太网标准,进行广播。如果在外部网段,则发送到网关,由网关根据ip地址转发。
路由器,走第三层协议,根据IP进行转发。在内部网络使用广播形式通信。路由器可适应不同网段不同协议的转发。
对于两边网段相同的路由,走IP路由行不通,通过ARP代理,网关代理内部主机的所有MAC地址,从而代理接收广播到的数据包,并转发到内部网。
交换机用于第二层,以太网交换机只支持局域网的广播传输。广域网的交换机可记忆mac和端口的映射关系,从而直接将消息对应发送。当mac地址不存在时,依然需要ARP协议广播查找对应的MAC
局域网A hostA 192.168.0.1 -> 广播 -> 路由器A 192.168.0.254 -> 路由查找,找到网B的gateway 192.168.1.254 -> 交换机 ->根据mac指定发送至端口 -> 路由器B 192.168.1.254 -> 广播 -> hostB 192.168.1.1
两个路由器必须同时在一个交换机上。
广域网通信,使用协议:
pppoe: point 2 point over ethernet ADSL拨号, 目的是使得以太网中的主机可以连接到交换机上。拨号的model和pppoe的服务器端进行1、探测并确定服务节点 2、session会话阶段
DSL: digital subscribe line,基于电话线的拨号协议
STM 同步传输协议,每个信号段使用自有频率,互补干扰。 ATM 异步传输协议,信号段使用无固定的共用频率,通过数据包头部标示信号段。
ICMP是(Internet Control Message Protocol)Internet控制报文协议
ip可以通过配置写死,也可以通过DHCP协议从ip分配服务上获取。
一个192.168.1.*的局域网中,手工设置host ip为 192.168.2.1,则数据包可以通过广播形式发送到gateway,但是回包从广域网回到gateway时,将直接丢弃(因为gateway只负责路由192.168.1.*)
命令相关route -n 当前主机的路由表
例如10.250.4.49这台机器下
Destination Gateway Genmask Flags Metric Ref Use Iface10.250.4.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 (说明10.250.4.*这个网段下,无需发送网关,直接以以太网广播形式发送)0.0.0.0 10.250.4.254 0.0.0.0 UG 0 0 0 eth0 (说明,默认情况下,发送到10.250.4.254这个网关,由其帮助转发。UG的G代表需要gateway帮助)
route -n, netstat -r 中的gateway
traceroute 163.com 第一行即为网关
跟踪路由:
traceroute -n -T aliyun.com -n代表不用域名解析,更快。 -T 代表使用tcp探测
traceroute包发出去后,途经的每个站点都会发回一个 类型代码为11 0的icmp 包回去,到了终点,才回发送一个代码为3 3的icmp包回到源
本地路由管理
hostA: 192.168.1.1
hostB: 192.168.1.100, hostB同时作为192.168.100.*网段的网关,例如hostC: 192.168.100.1
gateway:192.168.1.254
则,hostA -> hostC的请求两种方式:
gateway增加下列路由,
route add -net 192.168.100.0 netmask 255.255.255.0 gw 192.168.1.100,则 hostA -> gateWay -> hostB ->hostC
或者,hostA增加下列路由
route add -net 192.168.100.0 netmask 255.255.255.0 gw 192.168.1.100,则hostA直接知道100.*这个网段的请求,直接转给hostB即可。于是hostA -> hostB -> hostC
ip, gateway, mask 信息
/etc/sysconfig/network-scripts/ifcfg-eth0 ip,mask
/etc/sysconfig/network gateway
/etc/resolv.conf dns (dig g.cn最后一行的server地址应该就是dns地址)
keepalived由于lvs这样的负载均衡点上,监听lvs状态,负责lvs的主备切换。 切换时,通过vip漂移的形式进行。