
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习计算机编程开发技术,而本文我们就通过案例分析来了解一下,软件开发程序员需要掌握哪些网络基础知识。
当前的应用系统主要分两大类,一类是C/S(Client/Server)客户端/服务器架构的,一类是B/S(Browser/Server)浏览器/服务器架构的。无论是C/S架构,还是B/S架构,客户端都需要和远端的服务器进行网络通信,进行数据交互。不需要进行网络通信的纯单机版的程序已经很少了。
PC上安装的QQ程序,就是的C/S架构中的客户端程序,需要和远端的服务器通信,发送和接收数据。通过在浏览器中输入淘宝的网址打开淘宝的主页,就是的B/S架构,浏览器通过网址向web服务器请求HTML网页在浏览器中展现出来,也是通过网络和远端的web服务器进行通信。
不仅仅客户端和浏览器需要和远端平台侧的服务器进行网络通信,平台侧部署了多台服务器,比如web服务器、业务服务器、集群服务器、负载均衡服务器,这些服务器之间也要进行网络通信。一旦通过网络进行通信,就会不可避免地出现各种网络问题或网络故障。客户端与远端的服务器之间可能有多台服务器和网路设备,比如DNS服务器、路由器、交换机、集线器等,一旦客户端与服务器之间出现网络问题和数据交互问题,就可能是多个原因引起的,需要逐步地进行排查。
我们这里讲的网络问题主要有两大类,一类是客户端与服务器无法建立连接的问题,一类是建立连接后有网络延时或严重丢包问题。至于建立通信连接后,客户端与服务器之间收发的数据内容不正确等问题,可能和网络有关,也可能是业务上存在的问题导致的。对于客户端无法和服务器建立连接,可能有多种原因,可能是客户端与服务器之间的网络是不通的,也有可能是客户端使用了错误的地址或端口,也有可能服务器侧没有开启监听端口导致的,也有可能是中间的网络设备故障了或者中间网络设备启动了部分安全规则将数据包拦截了。对于网络延时和丢包问题,可能是业务上的问题,也有可能是网络不稳定,也有可能是中间的网络设备拦截数据导致的。
对于网络不稳定的场景,比如一般在家里或公司,我们尽量使用网线连接路由器,即使用有线网络,不使用无线网络。无线网络会因为距离、信号强弱等原因,会出现网络信号弱或网络不稳定,所以走无线网络可能会导致延时或丢包,与服务器频繁断链等问题。
对于网络设备拦截数据包的场景,比如网络环境中的网络设备设置了安全规则,拦截了部分或全部数据包,再比如有些路由器会拦截SIP协议下的TCP包和UDP包。
要排查网络通信过程中遇到的一系列网络问题,需要掌握一些基础的网络知识,了解一些常用的网络命令,必要时要使用wireshark进行抓包分析。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。