For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
计算机网络是大多数程序员在学习过程中需要重点掌握的一个编程知识点,而本文我们就通过案例分析来简单了解一下,计算机网络编程入门需要掌握哪些概念。
应用层:应用层协议中的内容,是整个网络传输的核心,网络五层体系服务的终目标就是它。
它类似于一名乘客,需要从百度服务器乘车到你的电脑中。
应用层协议的内容,就是我们程序直接面对的,要使用的数据。
常见的应用层协议(乘客)有:
DNS协议
DNS协议,DomainNameSystem,用来把域名转化为IP。
DNS这个协议帮我们完成这个记忆,有了个域名,想知道对应的IP,
DNS从本地查。如果本地没有记录,又会去本地的域名服务器查...直到根域名服务器,
是一个分布式的过程。如果服务器迁移,IP地址修改,域名服务商是会帮忙刷新DNS服务器的缓存的。
为什么有这么一个协议存在?我知道目标主机的IP,直接填不就好了?这个当然没问题,但是全世界这么多网址,IP数量庞大,
要真的使用数字记忆的话,那是很困难的。如果又发生了更换了服务器,那IP也要跟着换,客户端没有即使更换又会造成大量问题。
还有有的时候用CDN加速,如果直接填IP,就直接绕开了CDN去源服务器取数据了。
HTTP协议
在格式各样的计算机网络中,有一个圣地那就是万维网WWW。
在这个网络中行走的乘客就是HTTP协议,带着文本,图像、视频等数据,往来于不同的站点。
所以也可以把它们看成携带着大量货物的商队,来往于各个城市站点。
-----------------------
运输层:运输层是体系结构的调度者,管理着数据的传输的一些策略。
什么时候可以传?要传多少?要不要接收?什么时候结束?
运输层有两个调度者,两种不同的风格,分别为TCP和UDP。
TCP很严格,一个包都不能有失,完美主义的处女座,因为纪律严明且要求严格的TCP工作效率并不高,
每次发完一阵子都要确认一下是否顺序正确,不正确的话再发个包。UDP就比较不拘小节,丢包了乱序了都不管,
所以在网络环境好的情况下,UDP可以做到快速而且正确率高。
TCP调度者的工作内容主要三大块,分别为可靠传输、流量控制和拥塞避免。简单理解,可靠传输就是希望传输过程中有丢包或者错误包的现象,
让发送端重传;流量控制就是建了个缓冲池,让接收方和发送方用合适的速率传输,不会因为传输太快导致数据丢失。
比如我们有一个仓库大小就那么大,东西都还没用完,又不停地往里面存东西,那么直接结果是仓库爆了后后面送过来的货物还要重新送,
还不如直接告诉发送端,仓库满了,等等吧。这就是后面会提到的TCP部的窗口大小;拥塞避免就是在网络环境差的情况下,
有好的机制减低发包节奏,缓解网络环境。比如在某个城市开车,出行的人突然增加,那么等个时间再出来。
UDP调度者因为不需要严格的建立连接,又不需要各种确认机制保证包不乱,所以整个协议非常轻量。
如果想要保证数据的完整且接收的顺序无误,那么得应用层协议自己来。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!请读者仅作参考。更多内容请加抖音太原达内IT培训学习了解。