网络协议1 : 计算机网络基础知识
1、互联网(internet)
你心中的互联网 :
实际的互联网 :
如果想发一条消息给另外一台计算机的话,需要经过一系列设备,比如交换机、路由器等等,抵达另外一台计算机。
那么我们需要解决的问题就是:
数据是如何从一个设备传递到另一个设备的呢?
目前我们可以给出一个粗略的回答 : 这一切都是由网络协议来规定的,即网络协议规范了数据在不同节点之间该如何传输
2、为什么要学习网络协议
- 互联网、移动互联网、物联网,都离不开网络协议
- 作为开发人员最熟悉的网络协议 : HTTP协议
- 为了满足各种需求,有各式各样的网络协议 : HTTPS、SMTP、MQTT、RTMP等。
- 功利一点说,随着物联网、音视频、直播等领域的发展,企业提高了对开发人员网络基本功的要求,经常问网络协议的面试题
为什么有那么多网络协议呢?可以这样理解,不同协议的应用场景都不太一样。如果我们仅仅是从一台设备向另一台设备获取数据(图片,网页等),那么我们使用HTTP协议就比较方便;但如果另一台设备中有很多文件(视频文件、音频文件等),并允许我下载、修改、删除或上传新的文件。针对这种场景,我们适合采取FTP协议。总结来讲,对于特定的场景,如果使用特定的协议,效率会更高。对于HTTP协议来讲,很多场景下用它也能实现效果,比如它也能办到直播,做流媒体,做即时通讯,只不过用其他的特定协议可能会做的更好
关于网络协议的面试题举例
- TCP和UDP的区别?说一下它们的报文格式?
- TCP的流量控制是什么?拥塞控制是什么?TCP如何实现可靠性传输?
- 为什么连接是3次握手,关闭是4次握手?
- 7层模型与4层模型的区别?每一层的作用是什么?
- 交换机与路由器的区别?
3、学习中需要搭建的环境
- 客户端-服务器开发环境
- 网络抓包 Fiddler、Wireshark
- 模拟工具(模拟网络环境) : Xshell、Packet Tracer、GNS3
IT资料领取请添加微信:fiji12458