网络架构

  • C\S架构:客户端服务端架构

    客户端(client) : 享受服务端提供的服务

    服务端(server) : 给客户端提供服务

    • 软件CS架构: 京东,淘宝,qq,微信,暴风影音,快播 硬件CS架构: 打印机

  • B\S 浏览器和服务端 B(browser)

    • 谷歌,360,IE

名词 硬件

网络通信当中遇到的名词 硬件

    网卡:     接收电信号 mac地址: 网卡的唯一标识,全球唯一, 6位点分16进制 8C-EC-4B-87-99-D7 16进制的6个数表示,前三位厂商    编号,后三位生产流水号

 广播 : 信息发给所有人 单播 : 单独发给某个人或者说某个设备 广播风暴 : 不安全,容易拥堵网络 IP地址 : 划分广播域           192.168.15.113 四个点分十进制           IPv4 :             IPv6 : 6个冒号分十六进制           IPv6 地址: fe80::48c3:8f81:8474:c7d0%2

 集线器 : 将所有连电脑连通起来 交换机 : 升级版集线器 DHCP协议 : 自动分配IP地址 划分广播域--> IP网段 : 192.168.15.0 - 192.168.15.255 属于同一子网        192.168.16.0 - 192.168.16.255 子网掩码 : 计算目标IP地址是否和咱们是同一网段  同一网段的:广播发送  不同网段的:发送给路由器  255.255.255.0,   例外一个班的同学的IP地址为:192.168.14.12   192.168.14.12   255.255.255.0

   11000000.10101000.00001110.00001100   11111111.11111111.11111111.00000000   11000000.10101000.00001110.00000000   192.168.14.0   计算是否属于同一网段   属于同一个网段的,我们成为属于同一子网

 路由器(内网的作用) : 管理局域网 连接外网

 找外部网路的设备:

  域名:www.jd.com --> IP地址  DNS服务器:记录着所有的域名和他网站对应的那台服务器的IP地址的对应关系,理解为一个字典   {'www.jd.com':192.168.15.12}

  网关:在路由器这儿,把关你对外的请求  NAT技术: 将你的IP地址,转换为网关的IP地址  外网又称为公网 ,网关的IP地址又称为外网IP地址或者公网IP地址

  路由器(外网的作用) : 转发消息  路由协议 : 计算一个最优路径,然后进行路由转发  发到京东的路由器上,京东的路由器做了端口映射(看图)

 端口:标识电脑上某个应用程序,范围0-65535 0-1024 内部程序用的,我们一般使用的都是8000以后的

 通过IP地址+端口:我就能唯一确定一台电脑上的某个应用程序

网络通信协议

应用层:

  • HTTP(Hypertext Transfer Protocol 超文本传输协议,显示网页)

  • DNS(Domain Name System)域名系统

  • FTP(File Transfer Protocol)文件传出协议

  • SFTP(SSH File Transfer Protocol,和FTP不一样)安全文件传送协议

  • SCP(Secure copy,based on SSH)SCP是智能网的核心部件,一般由小型机、高性能微机和大型实时高速数据库组成。

  • SSH (Secure Shell)

通信层:

  • TCP(Transmission Control Protocol 三次握手传输协议)

  • UDP

网络层:

  • IP(Internet Protocol)

  • ICMP(Internet Control Message Protocol,主要用于路由发送错误报告)

链路层:

  • MAC(media access control)

tcp\ip五层    arp协议:通过IP地址找到mac地址

OSI 协议

博客资料: https://blog.csdn.net/taotongning/article/details/81352985

互联网的本质就是一系列的网络协议,这个协议就叫OSI协议(一系列协议),按照功能不同,分工不同,人为的分层七层。实际上这个七层是不存在的。没有这七层的概念,只是人为的划分而已。

  • 七层划分为(osi七层):应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。

  • 五层划分为(tcp/ip五层) : 应用层、传输层、网络层、数据链路层、物理层。

  • 四层划分为:应用层、传输层、网络层、网络接口层。

每层中的 设备

每层中的作用:

  • 应用层:

    提供应用程序间的通信, 应用层是实际应用程序间的接口

  • 表示层:

    处理数据格式,数据 加密 解密 压缩 解压缩 像应用层提供数据 负责数据转换和代码格式化

  • 会话层:

    建立维护和管理会话,将不同的应用程序数据分离

  • 传输层:

    建立主机端到端的链接,提供流量控制,差错校验,分片上层数据,保证数据正确传输

    端口范围 0 - 65535 0-1024 为系统占用 一般使用 8000 以上

  • 网络层:

    IP地址寻址 和 路由选择 定义网络地址 路由选择

  • 数据链路层:

    介质访问,链路管理,mac 地址寻址

  • 物理层:

    规范介质,传输bit流

OSI中的层 功能 TCP/IP协议族
应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet
表示层 数据格式化,代码转换,数据加密 没有协议
会话层 解除或建立与别的接点的联系 没有协议
传输层 提供端对端的接口 TCP,UDP
网络层 为数据包选择路由 IP,ICMP,RIP,OSPF,BGP,IGMP
数据链路层 传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,ARP,RARP,MTU
物理层 以二进制数据形式在物理媒体上传输数据 ISO2110,IEEE802,IEEE802.2

详细解释

物理层:

  • 字面意思解释:物理传输、硬件、物理特性。在深圳的你与北京的朋友聊天,你的电脑必须要能上网,物理体现是什么?是不是接一根网线,插个路由器,北京的朋友那边是不是也有根网线,也得插个路由器。也就是说计算机与计算机之间的通信,必须要有底层物理层方面的连通,就类似于你打电话,中间是不是必须得连电话线。

  • 中间的物理链接可以是光缆、电缆、双绞线、无线电波。中间传的是电信号,即010101...这些二进制位。

  • 底层传输的010010101001...要让这些010010101001...有意思,人为的分组再适合不过了,8位一组,发送及接收都按照8位一组来划分。接收到8位为一组的话,那么就可以按照这8位数来做运算。如果没有分组,对方接收的计算机根本就不知道从哪一位开始来做计算,也解析不了收到的数据。我发了16位你就按照16位来做计算吗?我发100位你就按照100位做计算吗?没什么意义是吧。因此要想让底层的电信号有意义,必须要把底层的电信号做分组。我做好8位一组,那么我收到数据,我就知道这几个8位做一组,这几个8位做一组。那么每个8位就可以得到一个确定的数。分组是谁干的活呢?物理层干不了,这个是数据链路层干的。

数据链路层:

  • 早期的时候,数据链路层就是来对电信号来做分组的。以前每个公司都有自己的分组方式,非常的乱,后来形成了统一的标准(标准就是协议),即以太网协议Ethernet。

  • Ethernet规定

    一组电信号称之为一个数据包,或者叫做一个“帧”

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

    • head包含:(固定18个字节)

      发送者(源地址,6个字节) 接收者(目标地址,6个字节) 数据类型(6个字节)

    • data包含:(最短46字节,最长1500字节)

  • 数据包的具体内容

    head长度+data长度=最短64字节,最长1518字节,超过最大限制就分片发送。

    这就像写信,发送者的地址(源地址)就是你家的地址,接收者地址(目标地址)就是对方的收信地址,你家的路由器就相当于邮局。其实在计算机通信中的源地址和目标地址指的是mac地址。

  • Mac地址的由来:

    head中包含的源和目标地址由来:Ethernet规定接入Internet的设备都必须具备网卡,发送端的和接收端的地址便是指网卡的地址,即Mac地址。

    每块网卡出厂时都被烧录上一个实际上唯一的Mac地址,长度为48位2进制,通常由12位16进制数表示,(前六位是厂商编码,后六位是流水线号)

  • 有了mac地址以后,计算机就可以通信了,假设一个教室就是一个局域网(隔离的网络),这个教室里面有几台计算机,计算机的通信和人的通信是一个道理,把教室里面的人都比作一个个计算机,假设教室里面的人都是瞎子,其实计算机就是瞎子的,计算机通信基本靠吼,现在我要找教室里面的飞哥要战狼2的片,然后我就吼一声,说我要找飞哥要战狼2的片,战狼2的片就属于我的数据,但是我在发的时候我是不是要标识我是谁,我要找谁,我是谁就是我的mac地址,我要找谁就是飞哥的mac地址,这两个地址做数据包的头部,再加上数据战狼2的片就构成了一个数据帧。

  • 这个数据包封装好以后就往外发,到物理层以后就全部转成二级制,往外发是怎么发的呢?就是靠吼。即“我是Edison,我找飞哥要战狼2的片”。这么吼了一嗓子以后,全屋子的人都能听到,这就是广播。

    计算机底层,只要在一个教室里(一个局域网),都是靠广播的方式,吼。

  • 局域网的理解:什么是互联网,互联网就是由一个个局域网组成,局域网内的计算机不管是对内还是对外都是靠吼,这就是数据链路层的工作方式-----广播。

    广播出去以后,所有人都听得见,所有人都会拆开这个包,读发送者是谁,接收者是谁,只要接收者不是自己就丢弃掉。对计算机来说,它会看自己的Mac地址,飞哥收到以后,他就会把片发给我,发送回来同样采用广播的方式了,靠吼。

    同一个教室(同一个局域网)的计算机靠吼来通信,那不同教室的计算机又如何?

    比如说局域网1的pc1与局域网2的pc10如何通信?你在教室1(局域网1)吼,教室2(局域网2)的人肯定是听不见的。这就是跨网络进行通信,数据链路层就解决不了这个问题了,这就得靠网络层出面了。

  • 在讲网络层之前,其实基于广播的这种通信就可以实现全世界通信了,你吼一声,如果全世界是一个局域网,全世界的计算机肯定可以听得见,从理论上似乎行得通,如果全世界的计算机都在吼,你想一想,这是不是一个灾难。因此,全世界不能是一个局域网。于是就有了网络层。

网络层:

  • 网络层定义了一个IP协议,

    你想,我是这个教室的一个学生,我想找隔壁教室一个叫老王的学生,我也不认识老王,那怎么办,我吼?老王在另外一个教室肯定是听不到的。找教室的负责人,这个教室的负责人就负责和隔壁教室的负责人说话,说我们教室的有个学生要找你们教室的老王。往外传的东西交给负责人就可以了,内部的话上面已经提到,通过广播的方式,对外的东西广播失效。教室的负责人就是网关,网关即网络关口的意思。

  • Mac地址是用来标识你这个教室的某个位置,IP地址是用来标识你在哪个教室(哪个局域网)。你要跨网络发包你是不是要知道对方的IP地址,比如你要访问百度,你肯定得知道百度服务器的IP地址。计算机在发包前,会判断你在哪个教室,对方在哪个教室,如果在一个教室,基于mac地址的广播发包就OK了;如果不在一个教室,即跨网络发包,那么就会把你的包交给教室负责人(网关)来转发。Mac地址及IP地址唯一标识了你在互联网中的位置。

    数据链路层中会把网络层的数据包封装到数数据链路层的数据位置,然后再添加上自己的包头,再发给物理层,物理层发给网关,网关再发给对方教室的网关,对方教室的网关收到后在那个教室做广播。

    在数据链路层看,数据封装了两层,跟玩俄罗斯套娃有点类似,一层套了一层。

    现在来看另一个问题,在吼之前怎么知道对方的Mac地址?这就得靠ARP协议。

  • ARP协议的由来:在你找飞哥要片之前,你的先干一件事,想办法知道飞哥的Mac地址。即你的机器必须先发一个ARP包出去,ARP也是靠广播的方式发,ARP发送广播包的方式如下:

  • 局域网中怎么获取对方的Mac地址:

    肯定要知道对方的IP地址,这是最基本的,就像你要访问百度,肯定得知道百度的域名,域名就是百度的IP地址。自己的IP可以轻松获得,自己的Mac也轻松获取,目标Mac为16个F,我们叫广播地址,表达的意思是我想要获取这个目标IP地址172.16.10.11的机器的Mac地址。Mac为16个F代表的是一种功能,这个功能就是获取对方的MAC地址,计算机的Mac永远不可能是16个F。假设是在本教室广播,一嗓子吼出去了,所有人开始解包,只有IP地址是172.16.10.11的这个人才会返回他的Mac地址,其他人全部丢弃。发回来源Mac改成飞哥自己的Mac地址,同时把飞哥的Mac地址放在数据部分。

    跨网络怎么获取对方的Mac地址:

    通过IP地址区分,计算机运算判断出飞哥不在同一个教室,目标IP就变成了网关的IP了。网关的IP在计算机上配死了,可以轻松获取。

    样网关就会把它的Mac地址返回给你,然后正常发包

    网关帮你去找飞哥,但对用户来说,我们根本就感觉不到网关的存在。

传输层

  • 传输层的由来:网络层的ip帮我们区分子网,以太网层的mac帮我们找到主机,然后大家使用的都是应用程序,你的电脑上可能同时开启qq,暴风影音,等多个应用程序,

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

    传输层功能:建立端口到端口的通信

    补充:端口范围0-65535,0-1023为系统占用端口

    tcp协议:
    • 可靠传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。

    • 以太网头 ip 头               tcp头               数据

    udp协议:
    • 不可靠传输,”报头”部分一共只有8个字节,总长度不超过65,535字节,正好放进一个IP数据包。

    • 以太网头 ip头               udp头              数据

应用层

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

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

    例:TCP协议可以为各种各样的程序传递数据,比如Email、WWW、FTP等等。那么,必须有不同协议规定电子邮件、网页、FTP数据的格式,这些应用程序协议就构成了”应用层”。

三次握手

  • 用户发出链接请求, 服务端确认可以进行链接 并返回响应,用户端发出链接请求

四次挥手

  • 用户发出请求断开的请求,服务端返回需要等待完成后续的工作 响应,再次返回 可以断开链接的响应,用户发出正式断开链接的请求

tcp和udp的区别

tcp协议:面向连接,消息可靠,相对udp来讲,传输速度慢,消息是面向流的,无消息保护边界0 ​ udp协议:面向无连接,消息不可靠,传输速度快,消息是面向包的,有消息保护边界.

socket 是在应用层 跟传输层之间 的 一个抽象层

转载于:https://www.cnblogs.com/zhang-zi-yi/p/9623075.html

基础 网络架构 网络硬件名词 网络通信协议相关推荐

  1. 网络知识梳理--OSI七层网络与TCP/IP五层网络架构及二层/三层网络

    作为一个合格的运维人员,一定要熟悉掌握OSI七层网络和TCP/IP五层网络结构知识. 废话不多说!下面就逐一展开对这两个网络架构知识的说明: 一.OSI七层网络协议 OSI是Open System I ...

  2. OSI七层网络、TCP/IP五层网络架构、二层/三层网络

    一.OSI七层网络协议 OSI是Open System Interconnect的缩写,意为开放式系统互联. OSI参考模型各个层次的划分遵循下列原则: 1)根据不同层次的抽象分层 2)每层应当有一个 ...

  3. 数据中心网络架构 — 云数据中心网络 — 新型叶脊二层网络架构

    目录 文章目录 目录 Spine Leaf 二层网络架构 Spine Switch Leaf Switch Spine Leaf 的组网规模 Spine Leaf 的特性 Spine Leaf 的不足 ...

  4. 胶囊网络架构_了解胶囊网络-AI的诱人新架构

    胶囊网络架构 by Nick Bourdakos 由Nick Bourdakos 了解胶囊网络-AI的诱人新架构 (Understanding Capsule Networks - AI's Allu ...

  5. IT人的5G网络架构视点:从网络架构演进的前世今生详解5G各NF网络功能体

    一.引言 以前从来没关注电信无线上网网络的具体架构(也即PS域架构),现在开始学5G接触这些东西时,理解起来很痛苦,资料也少,于是一方面到处找人咨询,一方面到处查资料,最后发现应该从3G.4G时代的架 ...

  6. 数据中心网络架构 — 云数据中心网络 — SDN 网络技术

    目录 文章目录 目录 SDN 网络技术 Overlay Controller Underlay Network 如何大一统的全域 SDN 管控? SDN 网络技术 通过 SDN 网络技术,可以将数据中 ...

  7. 数据中心网络架构 — 传统数据中心网络 — 胖树型三层网络架构

    目录 文章目录 目录 胖树型(Fat-Tree)网络架构 Fat-Tree 是一种无带宽收敛的网络架构 Fat-Tree 的网络拓扑 Fat-Tree 的缺点 胖树型(Fat-Tree)网络架构 为了 ...

  8. 数据中心网络架构 — 云数据中心网络 — 大二层网络技术

    目录 文章目录 目录 大二层网络诞生的背景 数据中心的东西流量成为了主流 服务器虚拟化带来的虚拟机迁移问题 大二层网络 大二层网络的问题 大二层网络诞生的背景 数据中心的东西流量成为了主流 早期数据中 ...

  9. 数据中心网络架构 — 传统数据中心网络 — 传统树型三层网络架构

    目录 文章目录 目录 数据中心组网架构 传统三层网络架构 核心层(Core Layer) 汇聚层(Aggregation Layer) 接入层(Access Layer) 三层网络架构的设计原则 三层 ...

  10. 5g网络架构_【5G网络架构】系列之二:5G基站—gNodeB。为什么叫gNodeB?取个名而已,需要理由吗?...

    编者按:要想使用5G网络,必须要有5G基站做支撑.3G基站叫NodeB,4G基站叫eNodeB,5G基站叫什么?3GPP给5G基站取了个名,叫gNodeB.尽管我们一直没弄明白3G基站为何叫NodeB ...

最新文章

  1. Golang for range陷阱
  2. ubuntu将mysql、nginx添加到环境变量中
  3. 一天1个机器学习知识点(四)
  4. 虚幻引擎学习资源汇总
  5. oracle load select,Oracle数据库的Load详解
  6. github开源项目大集合(1)
  7. alwayson 增加节点_用于AlwaysON高可用性的域控制器和域客户端节点设置
  8. 你的 App 在 iOS 13 上被卡死了吗?
  9. 影响工业镜头成像效果的两大技术指标
  10. iframe并没有错
  11. git学习(九)跨团队协作-非团队成员参与git项目开发
  12. php学习的一些笔记
  13. 持续集成(4)工具对比
  14. 一些有意思的博客收藏
  15. 去掉jsp页面自动生成的空行
  16. css实现数字钟表字体实现 fonts
  17. 【转】最落魄的日子你是怎样熬过来的?
  18. 推动服务网格社区前进
  19. NYOJ234吃土豆(双层动态规划)
  20. 手把手教你玩转android应用Microsoft Remote Desktop

热门文章

  1. 启动一个SpringBoot的maven项目
  2. O365 打开或关闭脚本功能
  3. MSSQL的表备份成INSERT脚本的存储过程
  4. centos安装python3、redis和虚拟环境
  5. P(Y|X) 和 P(X,Y)
  6. P1279 字串距离
  7. 拖拽图片到另一个div里
  8. 19_debug断点调试
  9. dropify插件的字符串
  10. ROS Learning-008 beginner_Tutorials ROS话题