前言
前面给大家分享了一段时间的网络基础部分,现在总结整个网络基础部分的一些重点分享给你们,绝对经典 不看后悔!
一、OSI七层模型、TCP/IP四/五层模型
1.OSI (7层)
应用层——网络服务与最终用户的一个接口**——PC机**
表示层——数据的表示、安全、压缩
会话层——建立、管理、中止会话
传输层——定义传输数据的协议端口号,以及流控和差错校验**——防火墙**
网络层——进行逻辑地址寻址,实现不同网络之间的路径选择**——路由器**
数据链路层——建立逻辑连接、进行硬件地址寻址、差错校验**——交换机**
物理层——建立、维护、断开物理连接**——网卡**
2.TCP/IP(5层)
应用层、传输层、网络层、数据链路层、物理层
3.TCP/IP(4层)
应用层、传输层、网络层、网络接口层
二、模型对应的一些协议
1.应用层
HTTP(超文本传输协议 80):用于浏览器和Web服务器之间的请求和响应的交互 FTP(文件传输协议 21):用于控制连接FTP服务器 SMTP(简单邮件传输协议 25):用于接收邮件 DNS(域名系统 53):用于连接DNS服务器
2.传输层
TCP(传输控制协议)
面向连接(三次握手,四次挥手);可靠的(重新传输)
UDP(用户数据报协议)
面向无连接,不可靠的
3.网络层
本层TCP/IP定义了IP协议,而IP协议又由四个支撑协议组成
ARP(正向地址解析协议):用于在局域网中根据IP地址获取物理地址
数据传输通讯地址:源IP、源MAC、目标IP、目标MAC
使用场合:已知目标源IP,未知目标MAC时候用
工作原理:PC1已知PC2的IP地址,未知PC2的MAC地址,PC1发送ARP广播给二层交换机,二层交换机接收到ARP广播消息后无条件泛洪处理,连接到二层交换机下的所有PC都将接收到此广播,每个PC都会把自身的IP地址和目标IP地址进行对比,若一致则接收此广播消息,并回数据包给PC1,PC1接收到返回的数据包后会记录下PC2的IP和MAC地址,记录到ARP缓存表中;若不一致则丢弃处理。
RARP(反向址解析协议):用于在局域网中通过ARP表根据物理地址请求IP地址
使用场合:已知目标MAC,未知目标IP时候用
工作原理:PC1已知PC2的MAC地址,未知PC2的IP地址,PC1发送ARP广播给二层交换机,二层交换机接收到ARP广播消息后无条件泛洪处理,连接到二层交换机下的所有PC都将接收到此广播,每个PC都会把自身的MAC地址和目标MAC地址进行对比,若一致则接收此广播消息,并回数据包给PC1,PC1接收到返回的数据包后会记录下PC2的IP和IP地址,记录到ARP缓存表中;若不一致则丢弃处理。
ICMP(网际控制报文协议):测试网络的联通性并给予一定的反馈
组成:ping/traceroute(tracert)
IGMP(网际组管理协议):用于主机与组播路由器之间组播通信
4.物理层和数据链路层
IEEE802.3 有线局域网(以太网)标准 IEEE802.11 无线局域网标准
三、TCP三次握手和四次挥手
1.TCP 建立连接的过程称为三次握手,为了确认双方收发数据的能力
1.发送方向接收方发送SYN请求
⒉接收方接收到此请求后会主动回复一个ACK,并且同时也发送一个SYN请求
3.发送方接收到接收方发来的SYN请求后,给出一个ACK确认
2.TCP 断开连接的过程为四次挥手,目的是关闭一个连接
1.发送方向接收方发送一个FIN请求
⒉接收方收到此请求后给出一个ACK确认(半关闭状态)
3.接收方发送一个FIN请求给发送方
4.发送方收到接收方的FIN请求后,回复一个ACK
3.为什么TCP连接的时候是3次?2次不可以吗?
因为需要考虑连接时丢包的问题,如果只握手2次,第二次握手时如果服务端发给客户端的确认报文段丢失,此时服务端已经准备好了收发数(可以理解服务端已经连接成功)据,而客户端一直没收到服务端的确认报文,所以客户端就不知道服务端是否已经准备好了(可以理解为客户端未连接成功),这种情况下客户端不会给服务端发数据,也会忽略服务端发过来的数据。
如果是三次握手,即便发生丢包也不会有问题,比如如果第三次握手客户端发的确认ack报文丢失,服务端在一段时间内没有收到确认ack报文的话就会重新进行第二次握手,也就是服务端会重发SYN报文段,客户端收到重发的报文段后会再次给服务端发送确认ack报文。
4、为什么TCP连接的时候是3次,关闭的时候却是4次?
因为只有在客户端和服务端都没有数据要发送的时候才能断开TCP。而客户端发出FIN报文时只能保证客户端没有数据发了,服务端还有没有数据发客户端是不知道的。而服务端收到客户端的FIN报文后只能先回复客户端一个确认报文来告诉客户端我服务端已经收到你的FIN报文了,但我服务端还有一些数据没发完,等这些数据发完了服务端才能给客户端发FIN报文(所以不能一次性将确认报文和FIN报文发给客户端,就是这里多出来了一次)。
四、交换机的工作原理
1.基于MAC地址学习 2.基于已知目标MAC地址转发 3.当目标MAC地址未知时,泛洪处理 4.交换机收到广播/组播帧时,无条件泛洪处理 5.交换机一个接口可以学习多个MAC地址 6.交换机学习到同一个MAC地址,但是从不同端口学习到的,此时,将此MAC与后学到的端口绑定起来
MAC地址表:交换机根据MAC地址表做地址转发
更新:老化时间300秒
五、路由器
1.路由器作用
——路由+选路
2.路由器的工作原理
——根据路由表转发数据
路由:跨越从源主机到目标主机的一个互联网络来转发数据包的过程。
路由表:路由器根据路由表做路径选择
六、TCP和UDP的区别
工作在传输层
TCP提供面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。TCP传输单位称为TCP报文段,UDP传输单位称为用户数据报。TCP注重数据安全性,UDP数据传输快,因为不需要连接等待,少了许多操作,但是其安全性却一般
运行在TCP协议 上的协议:
HTTP(Hypertext Transfer Protocol,超文本传输协议) ,主要用于普通浏览。HTTPS(HTTP over SSL,安全超文本传输协议) ,HTTP 协议的安全版本。FTP(File Transfer Protocol,文件传输协议) ,用于文件传输。POP3(Post Office Protocol, version 3,邮局协议) ,收邮件用。SMTP(Simple Mail Transfer Protocol,简单邮件传输协议) ,用来发送电子邮件。TELNET(Teletype over the Network,网络电传) ,通过一个终端(terminal) 登陆到网络。SSH(Secure Shell,用于替代安全性差的TELNET) ,用于加密安全登陆用。
运行在UDP协议 上的协议:
BOOTP(Boot Protocol,启动协议) ,应用于无盘设备。NTP(Network Time Protocol,网络时间协议) ,用于网络同步。DHCP(Dynamic Host Configuration Protocol,动态主机配置协议) ,动态配置IP地址。
运行在TCP 和UDP 协议上:
DNS(Domain Name Service,域名服务) ,用于完成地址查找,邮件转发等工作。
七、DNS域名系统,简单描述其工作原理
默认端口为53
当DNS客户机需要在程序中使用名称时,它会查询DNS服务器来解析该名称。客户机发送的每条查询信息包括三条信息:包括:指定的DNS域名,指定的查询类型,DNS域名的指定类别。基于UDP服务,端口53.该应用一般不直接为用户使用,而是为其他应用服务,如HTTP,SMTP等在其中需要完成主机名到IP地址的转换
DNS端口分为TCP和UDP。DNS协议运行在UDP协议之上
一、TCP是用来做区域传送
二、UDP是用来做DNS解析的
八、网关的作用
通过它可以访问外网
总结
以上是我吐血整理出来的网络基础重要部分,绝对有用!先收藏起来吧!
|