#源端封装的MAC地址是路由器网卡/接口/网关接口(一般会配为(192.168.1.)254) 的MAC地址,不是目的端的MAC地址。
#路由器中的路由表只关注网段信息,不关注最后一位的信息。
#路由器只有3层 网络层-数据链路层-物理层
#路由器发送给目的端的封装信息中目的MAC地址是全FF.FF广播地址。全Fmac地址默认是会接受的。
#TCP/IP
应用层
HTTP 80 Telnet 23 FTp 20,21 SMTP 25 简单邮件传输协议,提供互联网电子邮件服务
POP3 110 邮局协议,提供互联网电子邮件服务
TFTP 69(UDP) 简单文件传输协议,提供简单的文件传输服务。
主机到主机层
TCP/IP(传输控制协议)属于 面向连接 的网络协议 类似同步
UDp(用户数据报文协议)属于 无连接 的网络协议 类似异步
因特网层
ICMP(ping) ARP RARP(反向ARP) IP
网络接入层
TCP端口占用16bit,所支持端口的个数为65536个,2^16=65536 0号端口不会被用到 实际65535个。
#使用端口号一般用系统中未使用的且大于1023的。
源端口随机分配,目标端口使用知名端口。
源端口定义取值的范围:
cat /proc/sys/net/ipv4/ip_local_port_range
32768 60999
#端口号后面的是sequence Number 序列号 32bit
过大数据拆分后,需要序列号来标号。拆分后按序列号进行传说。
#再后面是Acknowledgement Number 确认号 32bit
目标端收到数据段1后,返回确认号,提示发送端可以发送下一数据段。
#在后面
Header Length Reserved URG ACK PSH RST SYN FIN Window Size
4bit 6bit 16bit
##控制字段(重要)
#ACK字段 确认字段:表示确认控制字段。
目的端收到数据后返回ack给源端,确认已经收到数据。
#SYN字段:表示请求建立连接字段。
#FIN字段:请求断开连接字段。
说明:控制字段信息默认为0,控制字段功能不起作用。
孔子字段信息置为1,表示相应控制字段功能开启。
#三次握手见word自己总结
#四次挥手。
#为什么服务端要连续挥手两次?
因为,客户端申请断开连接后,是通过传输层发给服务端的,
服务端第一次返回消息,也是传输层的消息。但是真正断开请求的信息是需要
更上面的几层做决定的,需要判断还有没有数据正在传输,确认无误了才能再
次发送第二次消息,断开连接。
#为什么客户端在FIN_WAIT_2后要TIME_WAIT而不是直接变成CLOSED。
因为早期没有TIME_WAIT的时候,客户端发送完最后一次消息,直接CLOSED,
如果这个消息失败了,服务端就会一直处于LAST_ACK状态。太多的LAST_ACT状态
会导致服务端无法建立新的连接,而增加的15S到30S的TIME_WAIT状态里,客户端
会一直发送重复的消息给服务端,即使第一条消息没收到也总会收到的。
#网络TCP/IP涉及原理
#ARP协议原理
将IPv4地址解析为MAC地址
通过整个ARP协议原理的过程,会生成一个IP地址和MAC地址相应的一张表,
缓存到本地的主机或者网络设备上。
#DNS协议原理
域名转换为IP地址的过程。
#根域名服务器:所有域名如www.baidu.com实际上后面有个点(www.baidu.com.)为根域名服务器。
DNS解析相关命令
dig @8.8.8.8 www.xxx.com +trace
nslookup www.xxx.com
host www.xxx.com
ping www.xxx.com
例:dig www.baidu.com
nslookup www.baidu.com
作业:172.16.0.0 /18 做一下子网划分