基本概念
- TCP: Transmission Control Protocol 传输控制协议,提供了任意长度消息的可靠传输,定义了所有类型数据在网络中的一种健壮传递机制
- IP: Internet Protocol 网际协议 ,管理从发送方到接受方的网络传输的路由,并处理与网络和计算机寻址相关的问题,以及其他一些问题。
- RFC :Internet 协议标准
- PDU :Protocol Data Unit 通常被称为分组或数据包,不管它位于网络参考模型的哪一个分层中。
ISO/OSI 网络参考模型
自顶向下表示:
![](https://i-blog.csdnimg.cn/blog_migrate/192235070ef2c0aace71ad3312ba9bf5.png)
- 物理层 :包括物理传输介质(电缆或无线介质),任何网络都必须使用传输介质来发送和接收信号,这些信号构成了网络通信的物理表示。物理层 PDU 由特定的串行信号组成,这些信号对应于数据链路层里数据帧的 比特位
- 数据链路层 : 在物理层和网络层之间,确保在发送方实现物理层数据的可靠传输,在接收方检验所收到数据的可靠性,还能控制从发送方到接收方数据传输的节奏(这个过程称为:介质流控制)该层PDU 称为帧(Frame) 或 数据帧(Data Frame)
- 网络层 : 主要功能是对Internet 上的每一台主机提供一个全球唯一的地址,并提供主机之间的通信路径。也具体化了不同IP地址之间能够多并发连接的表示方法,因此,多个程序能够同时保持网络连接。网络层 PDU 称为数据包
- 传输层:确保从发送方到接收方PDU 可靠的端到端传输,因此传输层通常包含了端到端的错误检测和错误回复数据。该层 PDU 通常称为 分段(segment)或数据段(data segment)
- 会话层 : 主要任务是负责两个网络参与者之间的通信,会话层定义了一种机制,允许发送方和接收方启动或停止请求会话。该层 PDU 通常称为 会话PDU
- 表示层 : 管理到网络上(从其往下到协议栈)以及到特定机器/应用程序上(从其往上到协议栈)的数据的表示方法。表示层处理从一般的、面向网络形式表示的数据到更专用的、面向平台形式的数据的交换,以及完成相反方向的变换。该层 PDU 通常称为 表示 PDU
- 应用层 : 定义了一组对网络的访问控制,决定了应用程序能够请求网络完成什么类型的事情,或网络支持什么类型的活动。如,应用层规定了对特定文件或服务的访问权限,以及允许哪些用户能对特定数据执行什么类型的动作。 该层 PDU 通常称为 应用 PDU 。
总结:OSI的下三层的主要任务是数据传输,上三层的主要任务是数据处理。而传输层是第四层,因此该层是通信子网和资源子网的接口和桥梁,起到承上启下的作用
TCP/IP 网络参考模型
与OSI/ISO 参考模型很类似,但不是等同的,看图表示两种模型的大致对应关系
1.网络访问层(数据链路层/网络接口层/链路层):包括操作系统中的设备驱动程序、计算机中对应的网络接口卡,最重要的TCP/IP网络访问层协议是 PPP :用于在两个网络设备之间创建一个直接的连接,可以提供连接认证以识别双方的身份,应用加密技术进行传输以实现保密,常见变体:PPPoE 表示“以太网上的PPP”
2.网络层(互联网层):处理跨越多个网络的机器之间的路由问题,管理网络名称和寻址,以利于解决路由问题。网络层发挥作用的协议:
- IP协议:负责把数据包从发送方路由到接收方
- ICMP (Internet Control Message Protocol )Internet 控制消息协议:处理基于IP路由和网络行为的消息,特别是与“数据流状况”和出错相关的信息。
- OSPF(Open Shortest Path First)开放式最短路径优先协议 : 定义了一个本地网内用于本地或内部路由区域的,广泛使用的链路状态路由协议。
- ARP(Address Resolution Protocol)地址解析协议 在特定电缆网段上将数字IP网络地址转换为媒体访问控制(MAC)地址(该协议总是应用在数据包传递的最后阶段)
- BGP(Border Gateway Protocol)边界网关协议:定义了一种连接到公共互联网主干网或互联网其他路由区域(这些区域多方联合负责管理数据流)的广泛应用路由协议。
- RIP(Routing Information Protocol)路由信息协议:定义了原始距离向量和本地网内用于本地路由区域的最基本路由协议
3.传输层(运输层):主要为两台主机上的应用提供端到端的通信。传输层有两个协议
- TCP(Transmission Control Protocol)传输控制协议:面向连接的协议,发送数据之前在发送方和接收方之间协商并维持连接(数据成功发送得到正确确认,数据丢失或错误得到重新传输请求)
- UDP(User Datagram Protocol)用户数据报协议:无连接的协议,以一种称为“尽最大努力交付”的方式简单地发送数据,在接收方没有任何后续的检验。
TCP比UDP更加可靠,但是速度更慢一些且更笨拙一些,但这样可以使TCP在协议层提供可靠的交付,UDP却不能
4.应用层(处理层): 定义了与进程或应用程序进行交互的用户接口,负责处理特定的应用程序细节。主要协议:
- FTP(File Transfer Protocol)文件传输协议:用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。