一、前言
计算机网络基础是网络/运维工程师都需掌握的知识,知识结构图可参考如下
二、 计算机网络体系结构
2.1 简介
- 定义
计算机网络的各层 + 其协议的集合。 - 作用
定义该计算机网络的所能完成的功能。
2.2 结构介绍
计算机网络体系结构分为3种:OSI体系结构、TCP / IP体系结构、五层体系结构。
- OSI 体系结构:概念清楚 & 理念完整,但复杂 & 不实用;
- TCP / IP 体系结构:含了一系列构成互联网基础的网络协议,是Internet的核心协议 & 被广泛应用于局域网和广域网;
- 五层体系结构:融合了OSI 与 TCP / IP的体系结构,目的是为了学习 & 讲解计算机原理。
- TCP / IP的体系结构详细介绍
由于 TCP / IP体系结构较为广泛,故主要讲解。
- OSI的体系结构详细介绍
三、 TCP协议
Transmission Control Protocol,即传输控制协议
- 属于传输层通信协议
- 基于TCP的应用层协议有HTTP、SMTP、FTP、Telnet 和 POP3。 关于TCP的其他知识:如三次握手、四次挥手、无差错控制原理等,涉及知识点较多可自行查阅。
四、UDP协议
4.1 定义
User Datagram Protocol,即用户数据报协议
- 属于传输层通信协议
- 基于UDP的应用层协议有 TFTP、SNMP 与 DNS
4.2 特点
无连接的、不可靠的、面向报文、无拥塞控制,具体介绍如下:
4.3 优缺点
- 优点:速度快
- 缺点:消息易丢失(特别是 网络较差时)
4.4 应用场景(对应应用层协议)
要求通信速度高
4.5 报文段格式
UDP的报文段共有2个字段:数据字段 & 首部字段
下面主要介绍首部(8字节、4个字段)
4.6 TCP、UDP协议的区别
五、HTTP协议
六、 Socket
6.1 简介
即套接字,是应用层 与 TCP/IP 协议族通信的中间软件抽象层,表现为一个封装了 TCP / IP协议族 的编程接口(API)
- Socket不是一种协议,而是一个编程调用接口(API),属于传输层(主要解决数据如何在网络中传输)
- 即:通过Socket,我们才能在Andorid平台上通过 TCP/IP协议进行开发
- 对用户来说,只需调用Socket去组织数据,以符合指定的协议,即可通信。
- 成对出现,一对套接字:
Socket ={(IP地址1:PORT端口号),(IP地址2:PORT端口号)}
- 一个 Socket 实例 唯一代表一个主机上的一个应用程序的通信链路