现在我们每天都在上网,互联网已经占据了我们生活的大部分。互联网到底是如何实现的?
互联网的核心是一系列的互联网协议,了解了互联网协议才能更进一步了解互联网。
网络层次划分
1.标准的OSI七层模型
除了OSI七层模型,常见的还有TCP/IP 4层协议,以及TCP/IP 5层协议。越靠下的层,越靠近硬件;越往上的层,越靠近用户。
1.物理层(physial layer)
OSI模型的最底层,把电脑连接起来的物理手段。它主要规定了网络的一些电气特性,作用是负责传送0和1的电信号。
该层上的设备包括集线器、发送器、接收器、电缆、连接器和中继器等。
2.数据链路层(data link layer)
在物理层的基础上向上提供网络服务,将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。数据链路层在不可靠的物理介质上提供可靠的传输。
1.数据链路层为网络层提供可靠的数据传输
2.基本数据单位为:帧
3.主要协议:以太网协议
4.包含两个子层:介质访问控制(MAC)和逻辑链路控制(LLC)
5.包含网桥,网络接口卡,交换机等设备
3.网络层(network layer)
把数据包传送到其目的地的路径。就是把逻辑网络地址转换为物理地址。基本数据单位为IP数据报。
网络层包含众多重要的协议:
1.IP协议:规定网络地址的协议,叫做IP协议。它所定义的地址,就被称为IP地址。提供不可靠、无连接的传送服务。
2.ICMP协议:因特网控制报文协议。
3.ARP协议:地址解析协议。IP地址转换为物理地址(MAC地址)
4.RARP协议:逆地址解析协议。顾名思义,是将物理地址转换为IP地址
网络层的重要设备是路由器。
4.传输层(transport layer)
传输层建立端口到端口的通信。网络层只是根据网络地址将源结点发出的数据包传送到目的结点,而传输层则负责将数据可靠地传送到相应的端口。
传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输以及端到端的差错控制和流量控制问题。
重要协议:
TCP协议:传输控制协议。
- TCP提供一种面向连接的、可靠的字节流服务
- 在一个TCP连接中,仅有两方进行彼此通信。广播和多播不能用于TCP
- TCP使用校验和,确认和重传机制来保证可靠传输
- TCP给数据分节进行排序,并使用累积确认保证数据的顺序不变和非重复
- TCP使用滑动窗口机制来实现流量控制,通过动态改变窗口的大小进行拥塞控制
UDP协议:用户数据报协议。
- UDP 缺乏可靠性。UDP 本身不提供确认,序列号,超时重传等机制。UDP 数据报可能在网络中被复制,被重新排序。即 UDP 不保证数据报会到达其最终目的地,也不保证各个数据报的先后顺序,也不保证每个数据报只到达一次
- UDP 数据报是有长度的。每个 UDP 数据报都有长度,如果一个数据报正确地到达目的地,那么该数据报的长度将随数据一起传递给接收方。而 TCP 是一个字节流协议,没有任何(协议上的)记录边界。
- UDP 是无连接的。UDP 客户和服务器之前不必存在长期的关系。UDP 发送数据报之前也不需要经过握手创建连接的过程。
- UDP 支持多播和广播。
重要设备:网关
5.会话层
会话层管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。会话层还利用在数据中插入校验点来实现数据的同步。
6.表示层
表示层对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。表示层的数据转换包括数据的加密、压缩、格式转换等。
7.应用层
为操作系统或网络应用程序提供访问网络服务的接口。数据单位为报文。
主要协议:FTP(文件传送协议)、Telnet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传送协议),POP3协议(邮局协议),HTTP协议(Hyper Text Transfer Protocol)。