Android 面试:计算机网络面试知识点系统总结,拔剑金九银十 (1)
计算机网络基础 该是程序猿需掌握的知识,也是面试过程中常常考察的内容,但往往会被忽略
今天,我将献上一份详细 & 清晰的计算机网络基础 学习指南,涵盖
TCP / UDP
协议、Http
协议、Socket
等,希望你们会喜欢。
作者:Carson_Ho 链接:https://juejin.im/post/6844903592965439501
目录
1. 计算机网络体系结构
1.1 简介
定义 计算机网络的各层 + 其协议的集合
作用 定义该计算机网络的所能完成的功能
1.2 结构介绍
计算机网络体系结构分为 3 种:
OSI
体系结构、TCP
/IP
体系结构、五层体系结构
OSI
体系结构:概念清楚 & 理念完整,但复杂 & 不实用
TCP
/IP
体系结构:含了一系列构成互联网基础的网络协议,是Internet
的核心协议 & 被广泛应用于局域网 和 广域网五层体系结构:融合了
OSI
与TCP
/IP
的体系结构,目的是为了学习 & 讲解计算机原理
低三层为通信子网,负责数据传输 高三层为资源子网,相当于计算机系统,完成数据处理; 传输层承上启下
TCP
/IP
的体系结构详细介绍 由于TCP
/IP
体系结构较为广泛,故主要讲解
OSI
的体系结构详细介绍
2. TCP 协议
Transmission Control Protocol
,即 传输控制协议
属于 传输层通信协议
基于
TCP
的应用层协议有HTTP
、SMTP
、FTP
、Telnet
和POP3
关于TCP
的其他知识:如三次握手、四次挥手、无差错控制原理等,具体请看文章:计算机网络:这是一份全面 & 详细 的TCP协议攻略
3. UDP 协议
3.1 定义
User Datagram Protocol
,即 用户数据报协议
属于 传输层通信协议
基于
UDP
的应用层协议有TFTP
、SNMP
与DNS
3.2 特点
无连接的、不可靠的、面向报文、无拥塞控制,具体介绍如下:
3.3 优缺点
优点:速度快
缺点:消息易丢失(特别是 网络较差时)
3.4 应用场景(对应应用层协议)
要求通信速度高
如: 域名转换:
DNS
协议 文件传输:FTP
协议 网络管理:SNMP
协议 远程文件服务器:NFS
协议
3.5 报文段格式
UDP 的报文段共有 2 个字段:数据字段 & 首部字段
下面主要介绍首部(8 字节、4 个字段)
3.6 TCP、UDP 协议的区别
4. HTTP 协议
简介
关于其工作方式、报文段等知识,请看文章:这是一份全面& 详细 HTTP知识讲解
5. Socket
5.1 简介
即套接字,是应用层 与
TCP/IP
协议族通信的中间软件抽象层,表现为一个封装了 TCP / IP 协议族 的编程接口(API)
Socket
不是一种协议,而是一个编程调用接口(API
),属于传输层(主要解决数据如何在网络中传输)即:通过
Socket
,我们才能在 Andorid 平台上通过TCP/IP
协议进行开发对用户来说,只需调用 Socket 去组织数据,以符合指定的协议,即可通信
成对出现,一对套接字:
Socket ={(IP 地址 1:PORT 端口号),(IP 地址 2:PORT 端口号)}复制代码
一个
Socket
实例 唯一代表一个主机上的一个应用程序的通信链路
5.2 其他知识
关于Socket
的原理、机制过程 & 使用方式,具体请看文章:Android:这是一份很详细的Socket使用攻略
6. 其他知识
6.1 在浏览器中输入url
地址 ->> 显示主页的过程
打开一个网页,整个过程会使用哪些协议
6.2 IP 地址(IPv4 地址)
定义 连接在
Internet
中的每一台主机(或 路由器)的全球唯一的标识符组成 IP 地址 = 32 位 = 网络号 + 主机号;即 IP 地址::={<网络号>,<主机号>}
其中:
评论