网络参考模型
目录
2.1.应用与数据
应用的存在,是为了满足人们的各种需求,比如访问网页,在线游戏,在线视频等。
伴随着应用会有信息的产生。比如文本,图片,视频等都是信息的不同呈现方式。
数据的产生:在计算机领域,数据是各种信息的载体。
数据传输:中大部分应用程序所产生的数据需要在不同的设备之间传递。
2.2.网络参考模型与标准协议
2.2.1.OSI参考模型
2.2.2.TCP/IP参考模型
因为OSI协议栈比较复杂,且TCP和IP两大协议在业界被广泛使用,所以TCP/IP参考模型成为了互联网的主流参考模型
TCP/IP常见协议
TCP/IP协议定义了一系列的标准协议
IETF
IEEE
ISO
2.2.3.应用层
常见应用层协议-FTP
FTP(File Transfer Protocol)是一个用于从一台主机传送文件到另一台主机的协议,用于文作的“下载”和“上传”,它采用C/S(Client/Server)结构。
常见应用层协议-Telnet
Telnet是数据网络中提供远程登录服务的标准协议。Telnet为用户提供了在本地计算机上完成远程设备工作的能力。
常见应用层协议-HTTP
HTTP(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。设计Http最初的目的是为了提供一种发布和接收HTML页面的方法。
2.2.4.传输层
传输层协议接收来自应用层协议的数据,封装上相应的传输层头部,帮助其建立“端到端”(Port to Port)的连接。
传输层的PDU被称为Segment(段)
2.2.5.TCP和UDP
报文格式
端口号
客户端使用的源端口一般随机分配,目标端口则由服务器的应用指定;
源端口号一般为系统中未使用的,且大于1023:
目的端口号为服务端开启的应用(服务)所侦听的端口,如HTTP缺省使用80。
TCP的建立- 三次握手
任何基于TCP的应用,在发送数据之前,都需要有TCP进行“三次握手
一次性发送多个
TCP的序列号与确认序列号
TCP使用序列号和确认序列号字段实现数据的可靠和有序传输。
TCP的窗口滑动机制
TCP通过滑动窗口机制来控制数据的传输速率
TCP的关闭 - 四次挥手
2.2.6.网络层
传输层负责建立主机之间进程与进程之间的连接,而网络层则负责数据从一台主机到另外一台主机之间的传递。
网络层的PDU被称为Packet(包)。
网络层协议工作过程
2.2.7.数据链路层
数据链路层位于网络层和物理层之间,可以向网络层的IP、IPv6等协议提供服务。数据链路层的PDU被称为Frame(帧)
以太网(Ethernet)是最常见的数据链路层协议。
以太网与MAC地址
地址解析协议(ARP)
ARP(Address Resolution Protocol)地址解析协议:
根据已知的IP地址解析获得其对应的MAC地址。
ARP的工作原理
未知的用00-00-00-00-00填充
2.2.8.物理层
数据到达物理层之后,物理层会根据物理介质的不同,将数字信号转换成光信号、电信号或者是电磁波信号。
物理层的PDU被称为比特流(Bitstream)
2.3.数据通信过程
发送方数据封装
中间网络数据传输
封装好的完整数据,将会在网络中被传递
接收方数据解封转
总结:
-
不论是OSI参考模型还是TCP/IP参考模型,都采用了分层的设计理念。
-
各个层次之间分工、界限明确,有助于各个部件的开发、设计和故障排除
-
通过定义在模型的每一层实现什么功能,鼓励产业的标准化
-
通过提供接口的方式,使得各种类型的网络硬件和软件能够相互通信,提高兼容性
-
数据的产生与传递,需要各模块之间相互协作,同时每个模块又需要“各司其职”
思考题:
1.分层模型的概念有什么好处?
各个层次之间分工、界限明确,有助于各个部件的开发、设计和故障排除
通过定义在模型的每一层实现什么功能,鼓励产业的标准化
通过提供接口的方式,使得各种类型的网络硬件和软件能够相互通信,提高兼容性
2.常见的应用层、传输层、网络层、数据链路层有哪些协议?
应用层:HTTP、FTP、Telnet等
传输层:UDP、TCP
网络层:IP、ICMP等
数据链路层:Ethernet、PPP、PPPcE等
物理层:.....