计算机网络:我把所有计算机网络的基础都汇总到这里了!

原文链接:https://cloud.tencent.com/developer/article/1388529

前言

  • 计算机网络基础 该是程序猿需掌握的知识,但往往会被忽略
  • 今天,我将献上一份详细 & 清晰的计算机网络基础 学习指南,涵盖 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协议

  • 简介
  • 关于其工作方式、报文段等知识,请看文章:这是一份全面& 详细 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回送请求 & 回送回答报文
  2. 是应用层直接使用网络层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的开发笔记

请帮顶或评论点赞!因为你的鼓励是我写作的最大动力!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/480423.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法--递归--走台阶问题(2种递归+递归改循环)

文章目录递归&#xff1a;注意事项&#xff1a;问题1思路1.递归代码&#xff08;未考虑重复计算问题&#xff09;2.循环代码3.递归代码&#xff08;避免重复计算问题&#xff09;测试运行时间问题2递归&#xff1a; 一个问题可以分解成若干子问题&#xff0c;且求解思路一样&a…

最新2019 蚂蚁金服4面(Java)面试题

蚂蚁金服Java一面 1 自我介绍和项目 2 Java的内存分区 3 Java对象的回收方式&#xff0c;回收算法。 4 CMS和G1了解么&#xff0c;CMS解决什么问题&#xff0c;说一下回收的过程。 5 CMS回收停顿了几次&#xff0c;为什么要停顿两次。 6 Java栈什么时候会发生内存溢出&…

论文浅尝 | 基于表示学习的大规模知识库规则挖掘

链接&#xff1a;www.ict.griffith.edu.au/zhe/pub/OmranWW18.pdf动机传统的规则挖掘算法因计算量过大等原因无法应用在大规模KG上。为了解决这个问题&#xff0c;本文提出了一种新的规则挖掘模型RLvLR(Rule Learning via LearningRepresentation)&#xff0c;通过利用表示学习…

深度学习推荐系统中各类流行的Embedding方法

Embedding技术概览&#xff1a;对其它Embedding技术不熟悉&#xff0c;可以看我的上一篇文章&#xff1a;深度学习推荐系统中各类流行的Embedding方法&#xff08;上&#xff09;Graph Embedding简介Word2Vec和其衍生出的Item2Vec类模型是Embedding技术的基础性方法&#xff0c…

超强干货!7个腾讯最常用的用户研究方法

超强干货&#xff01;7个腾讯最常用的用户研究方法调查知识2017-09-19每天都有互联网产品上市&#xff0c;人们电脑上、手机上的应用在短期之内就可能增增减减换了很多波&#xff0c;最终留下的、那些最经典的产品&#xff0c;都是以好的体验设计取胜。这些产品或许看似很“简单…

算法--递归--汉诺塔问题

文章目录1. 问题分析2. 面试题1. 问题分析 游戏规则&#xff1a;一次只能挪一片&#xff1b;小的只能在大的上面&#xff1b;把所有的从A柱挪到C柱。 递推公式&#xff1a; 上部 n - 1 个 A 到 B&#xff1b;最底下 1 个 A 到 C &#xff1b;上部 n - 1 个 B 到 C&#xff1b;…

论文浅尝 | 面向跨语言实体对齐的知识图谱与实体描述协同嵌入方法

来源: IJCAI2018链接: https://www.ijcai.org/proceedings/2018/0556.pdf动机近年来&#xff0c;随着多语言知识图谱嵌入(Multilingual KG embedding)的研究&#xff0c;实体的潜在语义表示以及跨语言知识推理等任务均取得一定成效&#xff0c;因此也推动了许多知识驱动的跨语言…

最新阿里聚划算Java 5轮面试题,涵盖GC收集器、多线程锁等

一面 详细的介绍JVM的内存模型结构 JVM最常用的参数配置讲讲 GC垃圾收集算法、GC垃圾收集器有哪些&#xff0c;以及新生代老生代 分别用什么算法 多线程的几种加锁方式详细介绍 实现线程安全的方式&#xff1f;ThreadLocal原理&#xff1f;线程池了解吗说说看&#xff1f;自…

2004-2019十六年热点事件库HistoryHotEventBase项目

HistoryHotEventBase historyhotevent projrct ,which concentrate on the dayily hot event covers the time range from 2004 to 2019, 16 years in total&#xff0c;从2004年至2019年共16年的每日热点事件项目&#xff0c;目标包括构建起从2004年至今共16年的历时热点标题数…

OSI七层模型详解-开放系统互联参考模型详解

原文链接&#xff1a;https://blog.csdn.net/yaopeng_2005/article/details/7064869 OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯&#xff0c;因此其最主要的功能就是帮助不同类型的主机实现数据传输 。 完成中继功能的节点通常称为中继系…

最新天猫Java3轮面试题目:虚拟机+并发锁+Sql防注入+Zookeeper

天猫一面 自我介绍、项目介绍 Spring拦截器、实现了哪些方法&#xff1f;底层原理 AOP如何配置&#xff0c;底层原理、2种动态代理&#xff0c;aop注解实现&#xff0c;xml定义切面 Bean的作用域&#xff0c;单例模式是否线程安全&#xff1f;恶汉模式是否线程安全&#xff…

NLP中的少样本困境问题探究

一只小狐狸带你解锁 炼丹术&NLP 秘籍作者&#xff1a;JayLou娄杰&#xff08;NLP算法工程师&#xff0c;信息抽取方向&#xff09;前言在医疗、金融、法律等领域&#xff0c;高质量的标注数据十分稀缺、昂贵&#xff0c;我们通常面临少样本低资源问题。本文从「文本增强」和…

军事武器知识图谱构建与自动问答项目QAonMilitaryKG

QAonMilitaryKG QAonMilitaryKG&#xff0c;QaSystem based on military knowledge graph that stores in mongodb which is different from the previous one, 基于mongodb存储的军事领域知识图谱问答项目&#xff0c;包括飞行器、太空装备等8大类&#xff0c;100余小类&#…

python--从入门到实践--chapter 9 类

类的定义格式&#xff1a; class Name(Father_class):def __init__(self, para, ...):self.para xdef __init__(self, para, ...):super().__init__(para, ...) #调用父类的构造函数class Car():def __init__(self,make,model,year): #构造函数self.make makeself.model mo…

连载 | 知识图谱发展报告 2018 -- 前言

OpenKG 将开始连载《知识图谱发展报告(2018)》&#xff0c;希望该连载能够让更多的人深入了解知识图谱。欢迎各位读者留言讨论。1. 知识图谱的研究目标与意义 知识图谱&#xff08;Knowledge Graph&#xff09;以结构化的形式描述客观世界中概念、实体及其关系&#xff0c;将互…

网址(url),域名,ip地址,dns,hosts之间的关系

网址&#xff08;url&#xff09;&#xff0c;域名&#xff0c;ip地址&#xff0c;dns&#xff0c;hosts之间的关系 什么是ip&#xff1f; 我们知道&#xff0c;在Internet上有千百万台主机&#xff0c;为了区分这些主机&#xff0c;人们给每台主机都分配了一个专门的地址&…

事理图谱概念辨析及其与风险标签分类结合的应用探讨

以事件为描述核心&#xff0c;以揭示事件之间的演化逻辑关系的事理图谱自提出后&#xff0c;引起了工业界的极大兴趣&#xff0c;在积极探索事理图谱本质、事理图谱构建技术细节的同时&#xff0c;如何找到技术与应用场景之间的结合成为目前广泛讨论的问题。我们团队持续对以上…

一篇文章带你熟悉 TCP/IP 协议(网络协议篇二)

涤生_Woo2017年11月11日阅读 15544关注一篇文章带你熟悉 TCP/IP 协议&#xff08;网络协议篇二&#xff09;同样的&#xff0c;本文篇幅也比较长&#xff0c;先来一张思维导图&#xff0c;带大家过一遍。一图看完本文一、 计算机网络体系结构分层计算机网络体系结构分层计算机网…

PyTorch数据Pipeline标准化代码模板

前言PyTorch作为一款流行深度学习框架其热度大有超越TensorFlow的感觉。根据此前的统计&#xff0c;目前TensorFlow虽然仍然占据着工业界&#xff0c;但PyTorch在视觉和NLP领域的顶级会议上已呈一统之势。这篇文章笔者将和大家聚焦于PyTorch的自定义数据读取pipeline模板和相关…

2019 最全支付宝高级Java现场面试37题

支付宝现场三面面试题目,文末有福利&#xff1a;阿里经典面试88题目答案 01 支付宝一面 介绍一下自己。 项目参与的核心设计有哪些 ArrayList和LinkedList底层 HashMap及线程安全的ConcurrentHashMap&#xff0c;以及各自优劣势 Java如何实现线程安全 Synchronized和Lock…