博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
程序员需要掌握的一些网络协议汇总
阅读量:4068 次
发布时间:2019-05-25

本文共 1207 字,大约阅读时间需要 4 分钟。

今天我们来看下各层的网络协议,虽然开发过程中写代码不会直接涉及,但是理解好网络协议对编程和理解系统的整个运行过程是非常有帮助的哦。

程序员需要掌握的一些网络协议汇总

 

一、应用层协议

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通信量使网络阻塞。

转载地址:http://qqoji.baihongyu.com/

你可能感兴趣的文章
Windows CE下USB摄像头驱动开发(以OV511为例,附带全部源代码以及讲解) [转]
查看>>
出现( linker command failed with exit code 1)错误总结
查看>>
iOS开发中一些常见的并行处理
查看>>
iOS获取手机的Mac地址
查看>>
ios7.1发布企业证书测试包的问题
查看>>
如何自定义iOS中的控件
查看>>
iOS 开发百问
查看>>
Mac环境下svn的使用
查看>>
github简单使用教程
查看>>
如何高效利用GitHub
查看>>
环境分支-git版本管理
查看>>
uni-app 全局变量
查看>>
js判断空对象的几种方法
查看>>
java 不用递归写tree
查看>>
springboot2 集成Hibernate JPA 用 声明式事物
查看>>
fhs-framework jetcache 缓存维护之自动清除缓存
查看>>
SpringBoot 动态编译 JAVA class 解决 jar in jar 的依赖问题
查看>>
fhs-framework springboot mybatis 解决表关联查询问题的关键方案-翻译服务
查看>>
ZUUL2 使用场景
查看>>
Spring AOP + Redis + 注解实现redis 分布式锁
查看>>