我的计算机网络(总览篇)
总览--网络协议的角度在一个庞大的网络中,该从哪里去了解呢?我先细细的讲一下我们访问一个网站的全部流程,当我们的电脑连上网络的时候,就会启动DHCP协议,来举行IP地点,MAC地点,DNS地点的分配,拿到我们的IP地点后,利用UDP协议举行DNS服务器的查询,DNS有什么?查询什么?可以将DNS服务器理解成一个域名和IP的映射集合,通过域名举行IP的查找,查找到我们所需要访问的网站的IP之后,再次通过UDP数据报返回给我们,然后我们就要面对选择了,如果我们需要实时性,就选择UDP协议,需要安全性就选择TCP协议,我先先容TCP协议,由于UDP太简朴了。首先我们知道了各自的IP,但是还不知道MAC地点,MAC地点在全球具有唯一标识,跟IP地点相比更类似于一个物理标识,而IP更偏向于软件。此时我们通过IP地点,在ARP协议中探求对应的MAC地点,ARP协议包含了IP和MAC的映射集,然后我们就拥有了和我们目标服务器创建连接的根本条件--IP和MAC,然后就通过TCP三次握手创建连接,之后就可以通过HTTP协议举行数据的交换,但是为什么说TCP协议可以包管安全性呢?由于有HTTPS协议,那么HTTP和HTTPS有什么差别的呢?请记着一个等式:HTTPS=HTTP+SSL/TSL,HTTP协议中文就是超文本传输协议,而SSL/TSL协议就是一种非对称加密协议,颠末加密之后别人就别想看了,然后就可以利用HTTP协议举行数据交换了,但是交换的前提就是利用IP协议,IP协议最重要的两个功能就是分组转发和路由选择,何为分组转发?我们将分组(上一层的PDU)转发到目标IP,何为路由选择?我们不能只知道IP目标地,还得知道怎么走,而路由选择就是告诉我们再去往目标IP的这个过程中怎么走,走哪些路由器。我们做完这些之后就可以举行数据交换了,但是数据交换的过程仍旧提心吊胆,由于数据如果错误怎么办?数据如果丢失怎么办?数据如果超时怎么办?该怎么包管数据的可靠传输呢?别急!!!针对这三个问题,巨大的前人已经想好了各种协议去解决,我们一个一个来:
面对数据的错误-首先我们可以利用差错校验去举行数据错误的判断,详细的方法有奇偶校验和循环冗余校验,但是奇偶校验会发生漏码,就是特定情况下不能检测出误码,但是循环冗余校验则不会,如果发现误码,汲取方就会丢掉。
面对数据的超时-首先辈行数据交换的双方非常的有礼貌,当他们收到数据的时候都会回复一个收到,而正是由于这个收到发送方才华知晓对方收到,而这个收到在他们的语言里叫做ACK,如果在规定时间里发送方没有收到ACK,那么就会触发发送方的超时重传,所以无论是超时还是丢失,只要汲取方没有发送ACK,那么发送方就会重传。
数据的可靠传输-我们之前所说的超时重传依赖的就是ACK,而这种方式又叫做制止-等候协议(SW),顾名思义如果没有汲取到ACK,那就制止发送,等候至规定时间,然后触发重传,除此之外另有回退N帧协议(GBN)。
在举行完数据交换之后,就举行TCP四次挥手,至此连接断开。
总览--网络分层的角度
我们现在换一个角度去理解计算机网络,那就是分层协议,分层协议可以有两种,一种就是法律意义上的OSI协议,总共有七层,依次是物理层,数据链路层,网络层,传输层,会话层,表现层,应用层,另一个就是在商业被广泛利用的TCP/IP四层模子:网络接口层,网络层,传输层,应用层。一个数据会颠末这些层层包装,然后转发,转发,之后又会层层卸掉包装,那为什么OSI有七层,TCPIP只有四层呢?首先要说的是OSI协议已经不被利用了,由于过于复杂,而且运行效率很低,而且成本很高,缺乏实际经验,没有商业驱动力,所以可以或许占领市场的就是标准--TCP/IP协议,OSI的表现层,会话层被合并到了TCPIP的应用层,数据链路层和物理层被合并到了网络接口层。那每一层都是干嘛的呢?我们先从繁琐的OSI七层开始讲起。
OSI七层模子概述
物理层:我们熟知的光纤电缆,这种通过物理介质传输的就是物理层的作用
数据链路层:将比特流封装成帧,而且举行流量控制,差错查验,MAC寻址
网络层:通过IP协议举行路由选择,分组转发,实现主机之间的连接
传输层:创建端口到端口的通讯,利用TCP/UDP协议
会话层:管理应用之间的对话,支持断点续传和同步
表现层:处置惩罚数据格式之间的转换
应用层:直接面向用户,提供网络服务接口,如:HTTP,HTTPS
TCP/IP四层模子概述
网络接口层:封装成帧,将帧转化为比特流,在物流层面举行传输
网络层:通过IP协议,举行路由选择和分组转发,实现主机之间的通讯
传输层:通过TCP或者UDP协议实现端口之间的通讯,也就是应用之间的通讯
应用层:OSI的会话层,表现层,应用层
通过以上的先容,我们不难发现OSI有两层没有和其他层整合在一起--传输层和网络层,这两层也是全部分层中最重要的。现在我们详细先容一下,一个数据在每一层都会发生什么,又是通过什么协议发生改变的?
数据在各个分层的状态
首先在应用层,我们的要发送的数据位于应用层,这些数据被称为应用层的PDU,然后这些数据到了传输层,传输层创建端口之间的链接,将这些数据拆分成多少个报文段,将这些报文段举行改造,改造成本层的PDU,颠末哪些改造呢?对原报文段增加头部,头部包含源端口和目标端口。然后来到了网络层,还是得在夸大一下网络层的作用:分组转发和路由选择,以此实现主机之间的通讯,这个分组就是指数据报,这着实是太重要了,网络层拿到了传输层的PDU,然后还要改造,也是要添加头部,头部里包含源IP地点和目标IP地点,这就构成了网络层的IP数据包,然后到了数据链路层,数据链路层给IP数据报添加帧首部和帧尾部,这就是数据链路层的分装成帧,帧首部包含了帧开始符,帧的源地点和目标地点,而帧尾部包含了帧结束符,到了物理层,怎样识别比特流中的帧呢?就是靠帧的开始符和结束符,也就是帧定界。
从网络分层和网络协议两个角度去理解计算机网络的全过程就结束了,接下来就是逐个先容一些很重要的协议了!!!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]