Linux网络编程(四)-协议01:概述(数据传输、解释的规则)【应用层协议:HTTP、FTP...】【传输层协议:TCP、UDP】【网络层协议:IP】【链路层协议:ARP、RARP】
2023-09-27 14:20:40 时间
一、什么是协议
从应用的角度出发,协议可理解为“规则”,是数据传输和数据的解释的规则。
假设,A、B双方欲传输文件。规定:
- 第一次,传输文件名,接收方接收到文件名,应答OK给传输方;
- 第二次,发送文件的尺寸,接收方接收到该数据再次应答一个OK;
- 第三次,传输文件内容。同样,接收方接收数据完成后应答OK表示文件内容接收成功。
由此,无论A、B之间传递何种文件,都是通过三次数据传输来完成。A、B之间形成了一个最简单的数据传输规则。双方都按此规则发送、接收数据。A、B之间达成的这个相互遵守的规则即为协议。
这种仅在A、B之间被遵守的协议称之为原始协议。
当此协议被更多的人采用,不断的增加、改进、维护、完善。最终形成一个稳定的、完整的文件传输协议,被广泛应用于各种文件传输过程中。该协议就成为一个标准协议。
最早的ftp协议就是由此衍生而来。
TCP协议注重数据的传输。http协议着重于数据的解释。
二、典型协议
![](https://img-blog.csdnimg.cn/7039fb30a7124054bf854947767b55f7.png)
1、应用层
应用层 常见的协议有HTTP协议,FTP协议。
- HTTP超文本传输协议(Hyper Text Transfer Protocol)是互联网上应用最为广泛的一种网络协议。
- FTP文件传输协议(File Transfer Protocol)
2、传输层
传输层 常见协议有TCP/UDP协议。
- TCP 传输控制协议(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。
- UDP 用户数据报协议(User Datagram Protocol)是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
3、网络层
网络层 常见协议有IP协议(最常用)、ICMP协议、IGMP协议。
- IP协议是因特网互联协议(Internet Protocol)
- ICMP协议是Internet控制报文协议(Internet Control Message Protocol)它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。
- IGMP协议是 Internet 组管理协议(Internet Group Management Protocol),是因特网协议家族中的一个组播协议。该协议运行在主机和组播路由器之间。
4、链路层(网络接口层)
网络接口层 常见协议有ARP协议、RARP协议。
- ARP协议:正向地址解析协议(Address Resolution Protocol),通过IP地址寻找对应主机的Mac地址。
- RARP:反向地址转换协议,通过MAC地址找IP地址。
相关文章
- Linux下查看日志用到的常用命令
- Linux有问必答:如何为CentOS 7配置静态IP地址
- 如何使用 SSHFS 通过 SSH 挂载远程的 Linux 文件系统或者目录
- 在 Linux 上安装使用 VirtualBox 的命令行管理界面 VBoxManage
- linux kernel 提示VFS: Cannot open root device "mmcblk0p1" or unknown-block(179,1): error -19等信息后发生panic
- Centos7 卸载mysql5.7详细步骤,Linux删除Mysql5.7详细操作
- 嵌入式Linux内核代码风格
- Linux中网卡的命名规则
- 每天一个linux命令(39):iostat命令
- linux下库的使用--动态库