粉丝面试华为并成功入职总结的超详细的计算机网络基础!

你知道的越多,不知道的就越多,业余的像一棵小草!

你来,我们一起精进!你不来,我和你的竞争对手一起精进!

编辑:业余草

来源:jianshu.co/p/45d27f3e1196

推荐:https://www.xttblog.com/?p=5097

可喜可贺,最近又一粉丝收到大厂 Offer,并总结了一套超详细的计算机网络基础知识,今天分享给大家!

前言

计算机网络基础,应该是程序猿需掌握的知识,但往往会被忽略。而在校招上,基本是必问必会的知识。

今天,这份详细 & 清晰的计算机网络基础学习指南,涵盖 TCP / UDP协议、Http协议、Socket等,送给大家,希望能够帮助到更多的人。

粉丝面试华为并成功入职总结的超详细的计算机网络基础!_第1张图片

计算机网络体系结构

定义:计算机网络的各层 + 其协议的集合。作用:定义该计算机网络的所能完成的功能。

结构介绍

计算机网络体系结构分为3种:OSI体系结构、TCP / IP体系结构、五层体系结构。

  • OSI体系结构:概念清楚 & 理念完整,但复杂 & 不实用

  • TCP / IP体系结构:含了一系列构成互联网基础的网络协议,是Internet的核心协议 & 被广泛应用于局域网和广域网

  • 五层体系结构:融合了OSI 与 TCP / IP的体系结构,目的是为了学习 & 讲解计算机原理

粉丝面试华为并成功入职总结的超详细的计算机网络基础!_第2张图片

低三层为通信子网,负责数据传输。高三层为资源子网,相当于计算机系统,完成数据处理;传输层承上启下。

TCP/IP的体系结构详细介绍

由于 TCP/IP体系结构较为广泛,故主要讲解。

粉丝面试华为并成功入职总结的超详细的计算机网络基础!_第3张图片 粉丝面试华为并成功入职总结的超详细的计算机网络基础!_第4张图片

OSI的体系结构详细介绍。

粉丝面试华为并成功入职总结的超详细的计算机网络基础!_第5张图片 粉丝面试华为并成功入职总结的超详细的计算机网络基础!_第6张图片

TCP协议

Transmission Control Protocol,即传输控制协议。属于传输层通信协议。基于TCP的应用层协议有HTTP、SMTP、FTP、Telnet 和 POP3 等。关于TCP的其他知识:如三次握手、四次挥手、无差错控制原理等本文先不讲,后面再给大家分享。

UDP协议

User Datagram Protocol,即用户数据报协议,属于传输层通信协议。基于UDP的应用层协议有 TFTP、SNMP 与 DNS 等。

其特点是无连接的、不可靠的、面向报文、无拥塞控制,具体介绍如下:

粉丝面试华为并成功入职总结的超详细的计算机网络基础!_第7张图片

优点:速度快,缺点:消息易丢失(特别是 网络较差时)。

应用场景(对应应用层协议),要求通信速度高。如:域名转换:DNS协议;文件传输:FTP协议;网络管理:SNMP协议;远程文件服务器:NFS协议等。

UDP的报文段共有2个字段:数据字段 & 首部字段。下面主要介绍首部(8字节、4个字段)。

粉丝面试华为并成功入职总结的超详细的计算机网络基础!_第8张图片 粉丝面试华为并成功入职总结的超详细的计算机网络基础!_第9张图片

TCP、UDP协议的区别

粉丝面试华为并成功入职总结的超详细的计算机网络基础!_第10张图片

HTTP协议

粉丝面试华为并成功入职总结的超详细的计算机网络基础!_第11张图片

关于其工作方式、报文段等知识,下回分解。

Socket

即套接字,是应用层 与 TCP/IP 协议族通信的中间软件抽象层,表现为一个封装了 TCP / IP协议族 的编程接口(API)。

粉丝面试华为并成功入职总结的超详细的计算机网络基础!_第12张图片

注意:

  • Socket不是一种协议,而是一个编程调用接口(API),属于传输层(主要解决数据如何在网络中传输)

  • 即:通过Socket,我们才能在 Java 平台上通过 TCP/IP协议进行开发

  • 对用户来说,只需调用Socket去组织数据,以符合指定的协议,即可通信

成对出现,一对套接字:

Socket ={(IP地址1:PORT端口号),(IP地址2:PORT端口号)}

一个 Socket 实例唯一代表一个主机上的一个应用程序的通信链路。

面试要点

在浏览器中输入url地址 -> 显示主页的过程

或者问:打开一个网页,整个过程会使用哪些协议?

粉丝面试华为并成功入职总结的超详细的计算机网络基础!_第13张图片

IP地址(IPv4地址)

定义:连接在 Internet 中的每一台主机(或 路由器)的全球唯一的标识符

组成:IP地址 = 32位 = 网络号 + 主机号;即IP地址::={<网络号>,<主机号>}。

其中:

  • 网络号:标志主机(或路由器)所连接到的网络。一个网络号在整个因特网范围内必须是唯一的。

  • 主机号:标志该主机(或路由器)。一个主机号在它面前的网络号所指明的网络范围必须是唯一的。

不同类型的IP地址,其主机号 & 网络号所占字节数不同;故:一个IP地址在整个网络范围内是唯一的。

分类:传统的IP地址是分类的地址,分为A,B,C,D,E五类。区别在于网络号 & 主机号占的字节数不同。

粉丝面试华为并成功入职总结的超详细的计算机网络基础!_第14张图片

特别注意:在各类IP地址中,有一些IP地址用于特殊用途,不能用于做主机IP地址。

粉丝面试华为并成功入职总结的超详细的计算机网络基础!_第15张图片

ICMP协议

定义:Internet Control Message Protocol,即网际控制报文协议。属于IP层协议,ICMP报文不是高层协议,而是作为IP层数据报的数据,加上数据报首部,组成IP数据报发出去。

作用:更有效地转发IP数据包 & 提高交付成功的机会,同时允许主机 / 路由器报告差错 & 异常情况。

分类:ICMP差错报告报文 & ICMP询问报文。主要应用 PING(分组网间探测)、Traceroute(跟踪1个分组从源点到终点的路径,原理 = 从源主机向目的主机发送一连串的IP数据报)。

面试:说说Ping的过程

定义:Packet InterNet Groper,即分组网间探测。是 ICMP报文的1个重要应用:使用了IPCM回送请求 & 回送回答报文。是应用层直接使用网络层ICMP的1个例子,无经过传输层的TCP、UDP。

其作用是测试2个主机的连通性。

工作原理:向目的主机发送多个ICMP回送请求报文,根据目的主机返回的ICMP回送回答报文中的时间戳,从而计算出往返时间。最终显示的结果:发送到目的主机的IP地址、发送 & 收到 & 丢失的分组数、往返时间的最小、最大 & 平均值。

下面简单说一下 ping 的过程。

假设有两台主机:

(目的主机)PC1:IP = 192.168.1.1 (源主机)PC2:IP = 192.168.1.2

粉丝面试华为并成功入职总结的超详细的计算机网络基础!_第16张图片

面试:路由器与交换机的区别

粉丝面试华为并成功入职总结的超详细的计算机网络基础!_第17张图片

面试:Cookie 与 Session

看下图简介。

粉丝面试华为并成功入职总结的超详细的计算机网络基础!_第18张图片

区别 & 对比。

粉丝面试华为并成功入职总结的超详细的计算机网络基础!_第19张图片

面试:Cookie 与 Token

粉丝面试华为并成功入职总结的超详细的计算机网络基础!_第20张图片

面试:基于Cookie的身份验证 & 验证流程

粉丝面试华为并成功入职总结的超详细的计算机网络基础!_第21张图片 粉丝面试华为并成功入职总结的超详细的计算机网络基础!_第22张图片

面试:基于Token的身份验证 & 验证流程

粉丝面试华为并成功入职总结的超详细的计算机网络基础!_第23张图片 粉丝面试华为并成功入职总结的超详细的计算机网络基础!_第24张图片

限于时间和篇幅,本文先总结到这里。还有很多知识点,后面再通过文章的形式分享给大家!

你可能感兴趣的:(网络,路由器,编程语言,网络协议,java)