一篇就够了!全网最全计算机网络基础总结攻略!
计算机网络基础 该是程序猿需掌握的知识,也是面试过程中常常考察的内容,但往往会被忽略今天,我将献上一份详细 & 清晰的计算机网络基础 学习指南,涵盖TCP / UDP协议、Http协议、Socket等,希望你们会喜欢。定义 计算机网络的各层 + 其协议的集合作用 定义该计算机网络的所能完成的功能OSI体系结构、TCPIP体系结构、五层体系结构OSI体系结构:概念清楚 & 理念完整,但复杂 & 不实
前言
- 计算机网络基础 该是程序猿需掌握的知识,也是面试过程中常常考察的内容,但往往会被忽略
- 今天,我将献上一份详细 & 清晰的计算机网络基础 学习指南,涵盖
TCP / UDP
协议、Http
协议、Socket
等,希望你们会喜欢。
目录
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地址::={<网络号>,<主机号>}
其中:
- 网络号:标志主机(或路由器)所连接到的网络。一个网络号在整个因特网范围内必须是唯一的。
- 主机号:标志该主机(或路由器)。一个主机号在它面前的网络号所指明的网络范围必须是唯一的。
不同类型的IP地址,其主机号 & 网络号所占字节数不同;故:一个IP地址在整个网络范围内是唯一的
- 分类 传统的IP地址是分类的地址,分为A,B,C,D,E五类
区别在于网络号 & 主机号占的字节数不同
- 特别注意:在各类IP地址中,有一些IP地址用于特殊用途,不能用于做主机IP地址
6.3 ICMP协议
- 定义
Internet Control Message Protocol
,即 网际控制报文协议
- 属于IP层协议
- 注:ICMP报文不是高层协议,而是作为IP层数据报的数据,加上数据报首部,组成IP数据报发出去
- 作用 更有效地转发IP数据包 & 提高交付成功的机会
同时允许主机 / 路由器报告差错 & 异常情况
- 分类
ICMP
差错报告报文 &ICMP
询问报文 - 主要应用 PING(分组网间探测)、Traceroute(跟踪1个分组从源点到终点的路径,原理 = 从源主机向目的主机发送一连串的IP数据报)
下面,将主要介绍Ping
的过程
6.4 Ping的过程
- 定义
Packet InterNet Groper
,即分组网间探测
-
是
ICMP
报文的1个重要应用:使用了IPCM回送请求 & 回送回答报文 -
是应用层直接使用网络层ICMP的1个例子,无经过传输层的TCP、UDP
- 作用 测试2个主机的连通性
- 原理
- 向目的主机发送多个ICMP回送请求报文
- 根据 目的主机返回的ICMP回送回答报文中的时间戳,从而计算出往返时间
- 最终显示的结果:发送到目的主机的IP地址、发送 & 收到 & 丢失的分组数、往返时间的最小、最大 & 平均值
- 过程 假设有两台主机: (目的主机)PC1:IP = 192.168.1.1 (源主机)PC2:IP = 192.168.1.2
6.5 路由器与交换机的区别
6.6 Cookie 与 Session
- 简介
- 区别 & 对比
6.7 Cookie 与 Token
- 简介
- 基于
Cookie
的身份验证 & 验证流程
- 基于
Token
的身份验证 & 验证流程
题外话
初入计算机行业的人或者大学计算机相关专业毕业生,很多因缺少实战经验,就业处处碰壁。下面我们来看两组数据:
- 2023届全国高校毕业生预计达到1158万人,就业形势严峻;
- 《新职业在线学习平台发展报告》 ,显示国内Python人才缺口高达40万,而人工智能人才目前缺口超过500万。
在这个大数据的时代,你要想走在潮流前端,就必须要学习前沿有用的知识。而今人工智能和数据分析爆发,python就是一颗冉冉升起的新星。
全球知名TIOBE编程语言社区发布了2023年最新的编程语言排行榜。我们一起来看看
口说无凭,请大家继续来看一下Python的招聘数据。
据职友集数据显示,分别来自50家招聘网站,与Python有关的招聘职位薪资待遇如下:
那么为什么各地对Python工程师需求这么大?工资给的这么高?因为Python程序员太少啦!很多高校并未开设Python课程,因此市场上Python开发人才供小于求。很多企业为了争夺有限的Python程序员,不得不给出极其丰厚的薪资待遇,现在初级Python开发工程师的起薪一般在10-20K!
目前来学的人群分为以下几类:
第一类:入行编程新手:大学刚毕业或者其他行业转岗,想从事编程开发的工作,目前认为Python比较火,想入行;Python简单易学,非常适合新手入门。
第二类:Linux系统运维人员:Linux运维以繁杂著称,对人员系统掌握知识的能力要求非常高,那么也就需要一个编程语言能解决自动化的问题,Python开发运维工作是首选,Python运维工资的薪资普遍比Linux运维人员的工资高。
第三类:做数据分析或者人工智能:不管是常见的大数据分析或者一般的金融分析、科学分析都比较大程度的应用了数据分析,人工智能的一些常见应用也使用了Python的一些技术。
第四类:在职程序员转Python开发:平常只关注div+css这些页面技术,很多时候其实需要与后端开发人员进行交互的,现在有很多Java程序在转到Python语言,他们都被Python代码的优美和开发效率所折服。
第五类:其他:一些工程师以前在做很多SEO优化的时候,苦于不会编程,一些程序上面的问题,得不到解决,只能做做简单的页面优化。现在学会Python之后,你和我一样都可以编写一些查询收录,排名,自动生成网络地图的程序,解决棘手的SEO问题。
当然,这里总结的只是常见的一些情况,关于职业和岗位。
Python的优点:
- 易于学习:简单、易学、对新手极度友好。
- 免费开源:Python的所有内容都是免费开源的,不需要花一分钱就可以免费使用Python,并且可以自由地发布这个软件的拷贝、阅读其源代码、对其做改动、把其一部分用于新的自由软件中;
- 可扩展:Python除了使用Python本身编写外,还可以混合使用像C语言、Java语言等编写;
对于0基础小白入门:
如果你是零基础小白,想快速入门Python是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案
包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等习教程。带你从零基础系统性的学好Python!
👉Python学习路线汇总👈
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)
👉Python必备开发工具👈
温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
👉Python学习视频600合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉实战案例👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉100道Python练习题👈
检查学习结果。
👉面试刷题👈
👉python副业兼职与全职路线👈
上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码 即可领取↓↓↓
更多推荐
所有评论(0)