计算机网络知识简单介绍

 

一、网络基础

1.网络指的是什么?

  计算机与计算机之间通过物理链接介质(网络设备)连接到一起。

  计算机与计算机之间基于网络协议通信(网络协议就相当于计算机界的英语)

2.osi七层协议:

互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层

 

每层运行常见物理设备:

 

3.五层模型讲解

物理层:由来:计算机和计算机之间要想通信,就必须接入internet,言外之意就是计算机之间必须完成组网。

        功能:主要基于电器特性发送高低电压,高电压对应数字1,低电压对应数字0(提供电信号)

数据链路层:

       1.由来:单纯的电信号0和1没有任何意义,必须规定电信号多少位

       2.功能:定义了电信号的分组方式

       3.以太网协议ethernet:早期的时候各个公司都有自己的分组方式,后来形成了统一的标准,即以太网协议ethernet

       4.以太网协议ethernet规定:

      1.一组电信号构成一个数据包,叫做“帧”

      2.每一数据帧分成:报头head和数据data两部分

          head包含:发送者/源地址,6个字节

                             接受者/目标地址,6个字节

                             数据类型:6个字节

          data包含:数据包的具体内容(最短64字节,最长1500字节)

    5.mac地址:ethernet规定接入internet的设备都必须具备网卡,发送端和接收端的地址便是指网卡的地址,即mac地址。

    6.广播:有了mac地址,同一网络内的两台机器就可以通信了(一台主机通过arpmac协议获取另外一台主机的mac地址)

网络层:

   1.由来:有了ethernet,mac地址,广播的发送方式,计算机与计算机之间就可以通信了,问题是世界范围的互联网由一个个彼此隔离的小的局域网组成的,那么发送一条消息全世界都能收到,这样会导致效率很低了。所以,必须找到一种方法来区分计算机是在局域网还是不在局域网里。如果在同一个局域网里,就采用广播的方式发送,如果不是,就采用路由的方式。

   2.功能:引入一套新的地址用来区分不同的广播域/子网,这套地址即网络地址。

     3. IP地址:规定网络地址的协议叫ip地址,广泛采用V4版本即ipv4,它规定网络地址由32位二进制表示

               范围:0.0.0.0-255.255.255.255

     一个ip地址通常写成四段十进制数,例:172.16.10.1

     4.子网掩码:所谓”子网掩码”,就是表示子网络特征的一个参数。它在形式上等同于IP地址,也是一个32位二进制数字,它的网络部分全部为1,主机部分全部为0。比如,IP地址172.16.10.1,如果已知网络部分是前24位,主机部分是后8位,那么子网络掩码就是11111111.11111111.11111111.00000000,写成十进制就是255.255.255.0。

    知道”子网掩码”,我们就能判断,任意两个IP地址是否处在同一个子网络。方法是将两个IP地址与子网掩码分别进行AND运算(两个数位都为1,运算结果为1,否则为0),然后比较结果是否相同,如果是的话,就表明它们在同一个子网络中,否则就不是。

     5.arp协议:就是讲IP地址解析成mac地址。

传输层:

   1. 由来:我们通过ip地址和mac地址找到了一台特定的主机,如何标识这台主机上的应用程序,答案就是端口。端口即应用程序与网卡关联的编号。

     2. 功能:建立端口到端口的通信。

   3.TCP:通过双向链接,客户端向服务端发送消息后,等待服务端回复消息后才算发送成功。

      缺点:速度慢

      优点:可靠(可靠在对方要回应一个包确保发送成功)

   4.UDP: 没有链接,直接发送。

 

       缺点:不可靠

       优点:速度快

    5.三次握手(连接)和四次挥手(断开):

      三次握手的目的:建立双向通信链路。SYN代表客户端向服务端发送的一个请求,ACK代表服务端向客户端发送的回应。

      三次握手就像谈恋爱确定关系一样,四次挥手就像分手一样。此处只是打比方而已。

 

应用层:

   由来:用户使用的都是应用程序,均工作于应用层,互联网是开发的,大家都可以开发自己的应用程序,数据多种多样,必须规定好数据的组织形式 

     功能:规定应用程序的数据格式。

URI(uri)地址:例如

    http://www.cnblogs.com/haiyan123

以上网址有三部分构成:

   协议部分:http://    应用层的协议

      域名:www.cnblogs.com

   资源:haiyan123

转载于:https://www.cnblogs.com/ZT152156/p/10115440.html

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

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

相关文章

Linux下安装FFmpeg

FFmpeg官网:http://www.ffmpeg.org 官网介绍 FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure…

【Python web 开发】viewset 实现商品详情页的接口

我们如何来完成商品详情页的接口呢? 首先要配置一个商品详情的url 按照我们正常的接口配法 ,应该是后面要加一个id 的,为什么这里没有加id 呢? ,应该是rooter register 的作用吧,等我在学习一遍基础再来回答? 那么我…

Ignite中的机器学习介绍

为什么80%的码农都做不了架构师?>>> 本系列共6篇文章,会通过一些代码示例,讲解如何在Ignite中使用机器学习库,本文是本系列的第一篇。 从Ignite的2.4版本开始,机器学习就可以用于生产环境了。在这个版本中…

新架构让数据中心犹如PC

摘要:随着VL2网络拓扑结构带来了对等带宽,大量数据可以存放在远方的数据中心,访问起来却犹如它们就在本地,这将对数据中心的架构产生重大影响。Todd Hoff参加了Hot Interconnects大会,对微软VL2架构做了详细解读。CSDN…

mongodb分片概念和原理-实战分片集群

一、分片分片是一种跨多台机器分发数据的方法。MongoDB使用分片来支持具有非常大的数据集和高吞吐量操作的部署。问题:具有大型数据集或高吞吐量应用程序的数据库系统可能会挑战单个服务器的容量。例如,高查询率会耗尽服务器的CPU容量。工作集大小大于系…

加入初创企业需要想清楚的几个问题

摘要:加入一家初创企业是一段充满冒险的旅程。沿途不会都是美景,更别忘了最初的梦想。 去初创公司面试,你一般会纠结于被问到什么问题。但更重要的是问自己:你下定决心在接下来的5年中“从头再来”吗?你能接受这份薪资…

地图市场三足鼎立:诺基亚官方确认与亚马逊合作

摘要:诺基亚确认为亚马逊新推出的平板提供地图服务,至此地图市场“三家分晋”的格局已趋明朗。 路透社之前曾报道称亚马逊在新版Kindle中将使用诺基亚提供的地图服务。但直到今日,这则消息才得到双方的确认。诺基亚方面确认将为亚马逊提供地图…

关于明晚即将发布的新款 iPad Pro,最大的亮点也许不是 Face ID

北京时间 10 月 30 日晚间 10 点,苹果将会在美国纽约的布鲁克林音乐学院举行新品发布会。考虑到此前苹果已经在 9 月的发布会上宣布了 Apple Watch Series 4 和 iPhone XS/Max、iPhone XR 等新品,因此苹果此次的纽约发布会,大家的目光更多地投…

11. Container With Most Water

题意 给定n个非负整数\(a_1,a_2,...,a_n\),其中每个数表示坐标点\((i,a_i)\),i是数组下标,\(a_i\)是对应高度.寻找两条线,使得两条线构成的长方形面积最大,盛水最多. Example: Input: [1,8,6,2,5,4,8,3,7] Output: 49 解 暴力破解 对每种情况进行循环,计算对应的面积,同时保存最…

先思再行 闭着眼睛编程

摘要:解决问题最重要的习惯不是一直盯着屏幕和编写修改代码,某些时候,阻止你成功的东西恰恰会是过于努力。这时候你需要暂停一下,平缓你的思绪,换一种方法或许能带给你不一样的效果。你会花多少时间思考如何编写代码&a…

javaScript复习

ES6字符串方法: //console.log(String.prototype);var str "abcdefabc";//console.log(str.includes("a"));//结果true//console.log(str.includes("abf"));//结果false//console.log(str.startsWith("d"));//false//cons…

STS的安装教程-鹏鹏

STS全称Spring Tools Suite。 简介:Spring Tools Suite (STS)其实就是一个被包装过的Eclipse,主要用于快速的开发Spring项目,我们不用再去编辑繁琐的xml配置文件,而是由工具自动生成。STS有两种安装方式,一种是直接在E…

linux逻辑卷管理

2019独角兽企业重金招聘Python工程师标准>>> 摘要: Linux用户安装Linux操作系统时遇到的一个最常见的难以决定的问题就是如何正确地给评估各分区大小,以分配合适的硬盘空间。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符…

github 如何设置项目的语言显示

github 会根据一个项目文件最多的那个种类的文件显示为对应的语言项目 如果想让整个项目显示为 HTML 项目, 需要进行以下步骤的设置 1.在根目录下创建一个文件 .gitattributescreate .gitattributes2.在 .gitattributes 内编辑以下内容: *.js linguist-languageHTML…

postman界面变成了左右结构怎么办

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 在左上角 file -- settongs中设置一下:

1.springboot:入门程序

一、Spring Boot 简介 官网英文: Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”. We take an opinionated view of the Spring platform and third-party libraries so you can get st…

javax.ws.rs.NotSupportedException: Cannot consume content type

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 报错如题:javax.ws.rs.NotSupportedException: Cannot consume content type 解决:使用postman发送 post 请求访…

kotlin使用spring data jpa(一)

2019独角兽企业重金招聘Python工程师标准>>> 简单查询 spring data jpa是spring全家桶成员之一,用于操作各种数据库,下面写一个查询订单的简单示例 引入sqlserver驱动包及jpa所需包implementation(org.springframework.boot:spring-boot-star…

csvn(apache+svn)管理工具搭建

系统环境:centos7.4一、服务端下载这个文件并解压(如果打不开,请下方留言)https://pan.baidu.com/s/1miwdBc81、安装jdk,上传到服务器上,解压[rootslave2 opt]# tar -zxvf jdk-8u91-linux-x64.gz[rootslave2 opt]# vim…

编程复杂性等级划分

摘要:相信开发人员一定对初级、中级、高级软件工程师这类词汇很熟悉吧!你们是否对编程进行过等级划分?这个又是如何划分的呢?本文作者把编程复杂性从简到难化成27个等级,你同意这样的划分吗?通常来说&#…