应用层
应用层协议定义的是应用进程间通信和交互的规则。我们把应用层交互的数据单元称为报文(message)
- HTML属于
表示层
的协议 - 何时建立通信连接何时发送数据的管理功能,从某种宽泛的意义上看属于OSI参考模型中
会话层
的功能
应用层的协议:
- HTTP(Hyper Text Transfer Protocol)超文本传输协议:TCP + 80
- HTTPS(Hyper Text Transfer Protocol over SecureSocket Layer)超文本传输安全协议:TCP + 443
- FTP(File Transfer Protocal)文件传输协议:TCP + 21
- Telnet远程登录(远程终端)协议:TCP + 23
- DNS(Domain Name System)域名系统:UDP + 53
网络层
网络层提供主机间的逻辑通信(负责为分组交换网上的不同主机提供通信服务)
IP(Internet Protocol)
:作用是将分组数据包发到目的主机
ICMP(Internet Control Message Protocol)
:用于在IP主机,路由器之间传递控制消息。控制消息是指网络通不通,主机是否可达,路由是否可用等网络本身的消息。
ARP(Address Resolution Protocol)
:地址解析协议,是根据IP地址获取物理地址的一个协议(从分组数据包的IP地址中解析出物理地址(MAC地址)的一种协议)
传输层
传输层为应用进程之间提供端到端的逻辑通信
(是负责向两台主机中进程之间的通信提供通用的数据传输服务)
复用 分用
TCP
传输控制协议 (Transmission Control Protocol)
------ 提供面向连接的,可靠的数据传输服务,其数据传输的单位是报文段(segment)。
- 面向字节流
- 需要将要传输的文件分段传输,建立会话,可靠传输,流量控制
- 全双工通信
- 点对点(一对一)
TCP的 “三次握手” 和 “四次挥手”
UDP
用户数据报协议 (User Datagram Protocol)
----- 提供无连接的,尽最大努力(best-effort)的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报
- 面向报文
- 一个数据包就能够完成数据通信,不分段,使用尽最大努力交付
- 不需要建立会话,不需要流量控制,
- 不可靠传输,屏幕广播,多播
- 一对一,一对多,多对一,多对多
数据链路层
NIC(network interface controller)网络接口控制器,网卡属于物理层,可以认为使NIC起作用的“驱动程序”属于数据链路层。驱动程序是在操作系统与硬件之间起桥梁作用的软件。
数据链路层将网络层交下来的IP数据报组装成帧,每帧包括数据和必要的控制信息(地址信息mac,流量控制,差错控制等)
物理层:考虑用多大的电压代表“1”或“0”,物理媒体(如电缆,光缆)
早上好的实例图,和书的封面
- 每个包首部中至少都会包含两个信息:一个是发送端和接收端地址,另一个是上一层的协议类型