今天我们来看下各层的网络协议 , 虽然开发过程中写代码不会直接涉及 , 但是理解好网络协议对编程和理解系统的整个运行过程是非常有帮助的哦 。
文章插图
一、应用层协议1、HTTP
HTTP(HyperText Transfer Protocol , 超文本传输协议)用于从万维网(WWW)服务器传输超文本到本地浏览器 , 是一个基于TCP/IP通信协议来传递数据(html 文件, 图片文件, 查询结果等)的协议 。
2、FTP
FTP(File Transfer Protocol) , 即文件传输协议 。FTP协议包含FTP服务器和FTP客户端两部分 , 其中FTP服务器用来存储文件 , 用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源 。
3、NFS
NFS(NetworkFileSystem) , 即网络文件系统 , 是一种用于文件共享的协议 , 主要用于主机之间进行文件的共享 。通过使用NFS , 用户和程序可以像访问本地文件一样访问远端系统上的文件 。
4、SMTP
SMTP(Simple Mail Transfer Protocol) , 即简单邮件传输协议 , 是互联网上传输邮件的事实标准 , 用于由源地址到目的地址传送邮件并控制信件的中转方式 。
5、DNS
DNS(DomainNameSystem) , 即域名系统 , 是用来将域名解析到IP地址的一种协议(而ARP协议是用来将IP地址转换为mac地址的协议) 。
二、传输层协议
1、TCP
TCP(Transmission Control Protocol) , 即传输控制协议 , 是一种面向连接的、可靠的、面向字节流的、全双工的传输层通信协议 。
2、UDP
UDP(User Datagram Protocol) , 即用户数据报协议 , 是无连接的、不可靠的、面向报文的传输层协议 。UDP始终以恒定的速率发送数据 , 没有拥塞控制;UDP支持一对一、一对多、多对多、多对一通信,而TCP只支持一对一通信;UDP首部开销小 , 只有8字节 , 而TCP头部至少由20字节 , 相比于TCP要高效很多 。
三、网络层协议
1、IP协议
IP(Internet Protocol Address) , 网络之间互连的协议 , 协议由主机到主机协议调用 , 负责调用本地网络协议将数据包传送以下一个网关或目的主机 。可以理解为 , 为了实现各主机间的通信 , 每台主机都必须有一个唯一的网络地址 , 不至于在传输数据时出现混乱 。IP地址是门牌号 , 而IP协议负责找到门牌号 。
IP协议的主要功能是:寻址和路由、传递服务和数据包的分片重组 。
2、ARP协议
ARP(Address Resolution Protocol)协议 , 又叫地址解析协议 , 是根据IP地址获取物理地址的一个TCP/IP协议 。其中有个ARP攻击的概念 , 大家可以了解下 。ARP攻击主要存在于在局域网中 , 就是通过伪造IP地址和MAC地址实现ARP欺骗 , 能够在网络中产生大量的ARP通信量使网络阻塞 。
【程序员需要掌握的一些网络协议汇总】
推荐阅读
- Web全栈开发者需要具备哪些技能?
- 直播APP开发真正需要“烧钱”的是哪个环节
- 初学 Python 需要安装哪些软件?
- 2020淘宝直播需要什么条件 2020年淘宝直播好做吗
- 签订劳动合同,这些知识需要了解!
- 养壶需要哪几个最基本的心
- 小户型中式家居装修有哪些需要注意的地方
- 泡普洱茶最少需要几个茶具就行了
- 选好把壶不简单 需要遵守七大要领
- 酷动城怎么加入,淘宝酷动城报名入口 入驻酷动城需要什么条件