今日内容
-
互联网通信协议详解
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协议的对比