面试带你飞:这是一份全面的 计算机网络基础 总结攻略

前言

  • 计算机网络基础 该是程序猿需掌握的知识,也是面试过程中常常考察的内容,但往往会被忽略
  • 今天,我将献上一份详细 & 清晰的计算机网络基础 学习指南,涵盖 TCP / UDP协议、Http协议、Socket等,希望你们会喜欢。

目录


1. 计算机网络体系结构

1.1 简介

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

1.2 结构介绍

  • 计算机网络体系结构分为3种:OSI体系结构、TCP / IP体系结构、五层体系结构
  • OSI体系结构:概念清楚 & 理念完整,但复杂 & 不实用
  • TCP / IP体系结构:含了一系列构成互联网基础的网络协议,是Internet的核心协议 & 被广泛应用于局域网 和 广域网
  • 五层体系结构:融合了OSITCP / IP的体系结构,目的是为了学习 & 讲解计算机原理

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

  • TCP / IP的体系结构详细介绍 由于 TCP / IP体系结构较为广泛,故主要讲解

  • OSI的体系结构详细介绍


2. TCP协议

Transmission Control Protocol,即 传输控制协议

  1. 属于 传输层通信协议
  2. 基于TCP的应用层协议有HTTPSMTPFTPTelnetPOP3

关于TCP的其他知识:如三次握手、四次挥手、无差错控制原理等,具体请看文章:计算机网络:这是一份全面 & 详细 的TCP协议攻略


3. UDP协议

3.1 定义

User Datagram Protocol,即 用户数据报协议

  1. 属于 传输层通信协议
  2. 基于UDP的应用层协议有 TFTPSNMPDNS

3.2 特点

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

3.3 优缺点

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

3.4 应用场景(对应应用层协议)

要求通信速度高

如: 域名转换:DNS协议 文件传输:FTP协议 网络管理:SNMP协议 远程文件服务器:NFS协议

3.5 报文段格式

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

3.6 TCP、UDP协议的区别


4. HTTP协议


5. Socket

5.1 简介

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

  1. Socket不是一种协议,而是一个编程调用接口(API),属于传输层(主要解决数据如何在网络中传输)
  2. 即:通过Socket,我们才能在Andorid平台上通过 TCP/IP协议进行开发
  3. 对用户来说,只需调用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地址::={<网络号>,<主机号>}

其中:

  1. 网络号:标志主机(或路由器)所连接到的网络。一个网络号在整个因特网范围内必须是唯一的。
  2. 主机号:标志该主机(或路由器)。一个主机号在它面前的网络号所指明的网络范围必须是唯一的。

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

  • 分类 传统的IP地址是分类的地址,分为A,B,C,D,E五类

区别在于网络号 & 主机号占的字节数不同

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

6.3 ICMP协议

  • 定义 Internet Control Message Protocol,即 网际控制报文协议
  1. 属于IP层协议
  2. 注:ICMP报文不是高层协议,而是作为IP层数据报的数据,加上数据报首部,组成IP数据报发出去
  • 作用 更有效地转发IP数据包 & 提高交付成功的机会

同时允许主机 / 路由器报告差错 & 异常情况

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

下面,将主要介绍Ping的过程

6.4 Ping的过程

  • 定义 Packet InterNet Groper,即分组网间探测
  1. ICMP报文的1个重要应用:使用了IPCM回送请求 & 回送回答报文
  1. 是应用层直接使用网络层ICMP的1个例子,无经过传输层的TCP、UDP
  • 作用 测试2个主机的连通性
  • 原理
    1. 向目的主机发送多个ICMP回送请求报文
    2. 根据 目的主机返回的ICMP回送回答报文中的时间戳,从而计算出往返时间
    3. 最终显示的结果:发送到目的主机的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的身份验证 & 验证流程


7. 总结

  • 本文全面讲解了 开发的基础知识:计算机网络
  • 下面我将继续讲解 编程开发的基础知识,有兴趣可以继续关注Carson_Ho的开发笔记

链接:https://juejin.im/post/5ad7e6c35188252ebd06acfa
来源:掘金

原文地址:https://www.cnblogs.com/Antwan-Dmy/p/10714360.html

时间: 2024-10-14 01:26:23

面试带你飞:这是一份全面的 计算机网络基础 总结攻略的相关文章

这里有一份工程师“变软”的修炼攻略

引言 工程师是一群非常可爱的人群,他们沉迷于技术,聪明.勤奋.坦率.专注,都是非常硬核的,一言不合就Show me the code.坚硬的内核固然重要,但要想过好一生,需要学习很多事情,尤其是人人都在讲的“软技能”,这是一项比技术还要花更多时间修炼的能力. 读书是学习最好的方式,而刻意的.体系化的学习效果更好,因此我们看看如何通过书单来构建自己的软实力. 知识图谱 知识图谱主要参考了<软技能:代码之外的生存指南>这本书,主要涵盖四个部分: 圣经:这类书籍是起到提纲挈领的作用,对于个人成长被誉

Tarjan 联通图 Kuangbin 带你飞 联通图题目及部分联通图题目

Tarjan算法就不说了 想学看这 https://www.byvoid.com/blog/scc-tarjan/ https://www.byvoid.com/blog/biconnect/ 下面是几份基本的模版 首先是无向图割点桥的代码 下面的代码是用于求割点数目的 其中add_block[u] = x  表示删除u点之后增加的联通块个数.注意是增加的联通块个数 const int MAXN = 1010; const int MAXM = 10010; const int INF = 0x

五一装修优惠那么大,云麦装修带你装修带你飞

"五一"小长假来临之际,看着别人都在做着出行计划,你还在埋头苦查装修攻略吗?想着别人又要晒美食晒美景,你还在计划到材料城跑断腿吗?不如,把房子装修交给我们,你免费旅游去! 云麦装饰-米图原创设计机构大明宫钻石店更推出"五一放松计划",活动期间签订装修合同客户,即可参加抽奖,旅游基金百分百中奖!韩国首尔五天四日双人游,追逐太阳的后裔宋欧巴的脚步!香港迪士尼,珠海长隆海洋王国双人套餐!更有丽江/成都/三亚/厦门/贵阳等往返机票!300/500携程旅游基金,你想去哪就去哪

带你理解带你飞——高斯混合模型算法

GMM这是图像处理,模式识别和深度学习领域一个百嚼不烂的话题.很多人被一堆数学公式,迭代求和和看似毫无联系的likehood EM算法搞得糊里糊涂. 其实就算羡慕着很多牛气哄哄的学霸炫耀公式推理的IT普工们,我们有没有问过自己,我们真的知道GMM吗?于是有些人和我一样有了如下的思考和疑问: 1.到底什么是高斯混合模型?最好能一句话或者简单的话说明白,至少让我一辈子也忘不掉这个该死的算法... 2.GMM是如此复杂有效,能让GMM算法向富士康的iphone流水线一样,虽然精密庞杂但却能完整直观的展

5个KO实例带你装B带你飞

Knockoutjs 以下简称 ko, 是一个 javascript 的 MVVM 框架. 在 MVC 4 的项目模板中, 默认会引用 knockoutjs, 我正式接触它也不过4个月的时间. 在没有使用它之前, 要做一个主从关系的维护, 大概要写一堆 CloneNode / Append, js 水平一般的同学, 要写这样一个业务页面, 大概要写几百几千行 js 才行. 本示例不是介绍 ko 的用法, 而是 以 我在项目中 处理过的 稍有些复杂的 业务 为原型, 做深入一步的理解如何用KO带你

带你装逼带你飞之微信群聊匿名消息

带你装逼带你飞之微信群聊匿名消息 记得八月份网上有个IOS版的微信匿名消息插件,可是2天后被封了...废话不说,其实封的是插件,不是原理~ 九月份,UWP 微信出来了(?),然而那个微信有BUG,比如模板消息可以随便转发...(就是类似微信支付消息,登陆通知消息etc…)所以可以利用这一点进行发送装逼消息.(如果还想长时间装逼,那么请关闭自动更新功能) 如果你有公众号那么就发个消息直接转发吧,如果没有的话照下面做... 发消息前的准备:退出UWP微信的登陆并清空所有数据.Windbg调试工具并于

尚学堂:带你装逼带你飞

在很多人看来,计算机很复杂,有数不清的代码和程序,可以完成各种各样的任务,功能千变万化,要掌握它是一件难比登天的任务,其实不然.计算机这种复杂性,完全是人赋予的,计算机只是单纯的按照人的指令去完成我们想要完成的事情,只要掌握了一些窍门,计算机还是简单的. 一.名师带你飞 有一个好的老师是很重要的.经过这一次的培训,我对java的各种对象.方法.类等方面上有了一个比较清晰的想法.当自学时你对计算机的了解是模糊的,学起来会比较迷茫点,但是有一个比较好的老师来指点下,那样的效果就不同了. 师者,所以传

***老华带你飞买房篇总结

首先,看完这个,心态上是更加坚定了,由之前的踌躇犹豫观望到现在非常坚定地一定要在年底把房子的事情搞定.其次,技术层面,知道了哪些房是不能买的,多久应该换房,要带着怎样的思维去买房.不过,由于期待过高,在房子的选择方面还是有很多疑问,当然,这个也只能靠自己花时间精力去选择了,不能指望老华啥都告诉你. 摘抄了一些笔记,和大家分享下:1.国家外汇储备不断增加导致国家不断发行人民币,导致市场上人民币不断贬值,导致通货膨胀越来越高,导致房价上涨.2.货币不断发行,钱不断贬值,买房是最好的投资.3.买房要越

Linux界顶级运维专家马哥今晚亲自带你飞,错过了再等一年!

良心提示:文末有彩蛋哦! 精彩纷呈.干货不能再多的马哥2016Linux运维公开课第一季完美落幕! 2016年的春天,每周三都有马哥Linux运维公开课,你都参加了吗?马哥Linux运维公开课第一季在来自阿里的罗老师的<应运而生的架构>完美落幕! 错过了第一季,你还要错过第二季吗? 本周三由马哥教育创始人-马哥作为先锋,先为小伙伴们带来一场Linux学习饕餮盛宴--<Linux运维工程师学习路线图>!速度带上你的运维小(hao)伙(ji)伴(you)报名马哥Linux运维公开课第二