linux学习day15笔记

今日内容

  • 互联网通信协议详解

    arp协议
    	# 简介
    	1.通信的第一步,先拿到目标主机的ip地址
        
    	2.判断出目标主机与源主机是否在一个子网里
    		如果在一个子网里,数据包的走向:
    			源主机->本地交换机->目标主机
    		如果不在一个子网里,数据包的走向:
    			源主机->本地交换机->本地路由器->公网->目标路由器->目标交换机->目标主机
                
    	# 详解1 如果在同一局域网
    	源主机:	172.16.10.10/24
    	目标主机:	172.16.10.11/24
        
    	1.拿到目标主机的ip与子网掩码
    		172.16.10.11/24
    		255.255.255.0
    	2.arp协议算出本机的网络地址、目标主机的网络地址
    		源:172.16.10.0
    		目标:172.16.10.0
    	3.判断源的子网地址与目标的子网地址是否一样
    		一样:那么通信就是在同一个子网内通信,靠的是mac地址定位到对方在哪里
    		发送arp协议的广播包拿到目标主机的mac地址,格式如下
    		自己的mac地址 FF-FF-FF-FF-FF-FF 172.16.10.10/24 172.16.10.11/24 数据
    		# F是16进制最大数  mac地址是由24位十六进制组成  FF-FF-FF-FF-FF-FF是特殊的mac地址,用来询问对方的mac地址
    		目标主机返回mac地址
    	4.发起真正的通信
    		自己的mac地址 目标主机的mac地址 172.16.10.10/24 172.16.10.11/24 数据
    	ps:交换机只有在两种情况下才会把包广播
    		1.目标mac是:FF-FF-FF-FF-FF-FF
    		2.目标mac不存在与mac地址表中
            
    	# 详解2 如果不在同一局域网
    	源主机:	172.16.10.10/24
    	目标主机:	101.200.10.22/24
        
    	1.拿到目标主机的ip与子网掩码
    		101.200.10.22/24
    		255.255.255.0
    	2.arp协议算出本机的网络地址、目标主机的网络地址
    		源:172.16.10.0
    		目标:101.200.10.0
    	3.判断源的子网地址与目标的子网地址是否一样
    		不一样:那么通信不在同一个子网内通信,靠路由器把数据包转发出去
    		# 本机会自动获取路由器ip地址
    		发送arp协议的广播包拿到网管的mac地址,格式如下
    		自己的mac地址 FF-FF-FF-FF-FF-FF 172.16.10.10/24 172.16.10.10/24 数据
    	4.发起真正的通信
    		自己的mac地址 网关的mac地址 172.16.10.10/24 101.200.10.22/24 源端口 
    目标端口 数据
    
    ip地址与子网划分
    	ip地址的两方面用途
    		1.arp协议会把ip地址解析成mac地址
    		2.标识子网地址
            
    二层隔离与三层隔离	
    	二层隔离:接到不同的交换机上
    	三层隔离:子网地址不同
            
    	结论:
    		1.二层隔离与三层隔离要保持一致
    		2.二层联通,三层可以隔离,即两台计算机接入了同一个交换机,不一定在一个局域网内
            
    tcp协议与udp协议
    	tcp可靠(需要建立链接)
    	udp不可靠(不需要建立链接)
        
    	tcp协议的三次握手与四次挥手
    	tcp必须先进行三次握手,建立双向链接  # 见下图1
        
    	tcp可靠:
    		每放一个数据包都需要对方回复ack确认信息之后,才会把本地的数据清除
    		否则会重复发送几次
    		ps:基于以上,tcp协议的程序需要事先启动服务端       
    
    	udp不可靠:
    		每放一个数据包不需要对方回复ack确认信息,会直接把本地的数据清除
    		ps:基于以上,udp协议的程序无需事先启动服务端
                
    		ps:udp协议传输数据效率比tcp更快,但是tcp协议传输数据更可靠
    
    	# tcp协议为何建立链接需要三次握手,而断开链接需要四次挥手?
    	# 为何tcp协议可靠?
    	# tcp协议与udp协议的对比
    

    linux学习day15笔记

上一篇:Docker两个网络命名空间互通


下一篇:arp协议,ip协议,子网划分