TCP/IP协议

TCP/IP 是一类协议系统,它是用于网络通信的一套协议集合

物理层

所谓的物理层,是指光纤、电缆或者电磁波等真实存在的物理媒介。这些媒介可以传送物理信号,比如亮度、电压或者振幅。对于数字应用来说,我们只需要两种物理信号来分别表示0和1,比如用高电压表示1,低电压表示0,就构成了简单的物理层协议

数据链路层

负责物理层面上的互联的、节点间的通信传输(例如一个以太网项链的2个节点之间的通信)
该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等
数据链路层,信息以帧(frame)为单位传输,帧代表一段有限的0/1序列。

数据链路层协议的功能就是识别0/1序列中所包含的帧。比如说,根据一定的0/1组合识别出帧的起始和结束
在帧中,有收信地址(Source, SRC)和送信地址(Destination, DST),以及能够探测错误的校验序列(Frame Check Sequence)。当然,帧中最重要的是所要传输的数据 (payload),链路层协议不关心数据中包含什么。帧就像是一个信封,把数据包裹起来
以太网和WiFi是现在最常见的链路层协议。通过链路层协议,我们可以建立局域以太网或者WiFi局域网,并让位于同一局域网络中的两台计算机通信
数据链路层协议的代表包括:ARP、RARP、SDLC、HDLC、PPP、STP、帧中继等

网络层

如何让WiFi上的一台计算机和以太网上的另一台计算机通信呢?

我们需要一个"中间人"。这个"中间人"必须有以下功能:

  1. 能从物理层上在两个网络上接收和发送0/1序列,

  2. 能同时理解两种网络的帧格式
    路由器(router)就是为此而产生的"中间人"。一个路由器有多个网卡(NIC),每个NIC可以接入多个网络,并理解相应的链路层协议。在帧经过路由到达另一个网络的时候,路由会读取帧的信息,改写后发送到另一个网络

WiFi上的计算机 -> 路由WiFi接口 -> 路由以太网接口 -> 以太网上的计算机
网络层协议的代表包括:IP、IPX、RIP、OSPF等

传输层

上面的三层协议让不同的计算机之间可以通信。但计算机中实际上有许多个进程,每个进程都可能有通信的需求。如何让信息发送到指定进程?

传输层协议,比如TCP和UDP,使用端口号(port number)来识别收信人(某个进程)
包括的协议如下:

TCP:传输控制协议,传输效率低,可靠性强

UDP:用户数据报协议,适用于传输可靠性要求不高,数据量小的数据(比如QQ)

DCCP、SCTP、RTP、RSVP、PPTP等协议

应用层

通过上面的几层协议,我们已经可以在任意两个进程之间进行通信。不同进程可能来自不同的行业,不同行业的用语规范不尽相同,格式不同或者有加密的需求,应用层协议是对信息内容做进一步的用语规范
应用层的协议包括用于Web浏览的HTTP协议,用于传输文件的FTP协议,用于Email的IMAP等等

相关推荐
JoyCong19988 小时前
打破远程协助的安全信任困局,ToDesk AI审计功能自动操作留痕
网络·人工智能·科技·安全·电脑·远程工作
CHANG_THE_WORLD8 小时前
12.总结:深入理解 Linux I/O 多路复用:select、poll、epoll 全解析
linux·运维·服务器
风曦Kisaki8 小时前
# Linux笔记:操作系统优化与资源管理
linux·运维·服务器·笔记
Mr.HeBoYan9 小时前
一次持续三天才出现的丢包故障——深入解析 DPDK Memory Ordering、rte_ring 与 CPU Memory Barrier (下)
linux·网络·算法·架构·dpdk
初願致夕霞11 小时前
C++懒汉单例设计详解
服务器·开发语言·c++
啊哦11112 小时前
安装VMware Workstation
linux·运维·服务器
我是唐青枫12 小时前
Java Netty 实战指南:从 NIO 线程模型到 TCP 编解码和心跳机制
java·tcp/ip·nio
持敬chijing12 小时前
Linux基础命令与目录命令
linux·运维·服务器
小张成长计划..13 小时前
【Linux】12:进程状态
linux·运维·服务器
kp0000013 小时前
System Prompt Leakage(系统提示词泄露)及安全防御
网络·安全·网络安全·信息安全·prompt·ai安全