文章目录

  • 5层模型及各层功能
  • 网络层
    • ip协议作用
    • 为什么有了IP地址还需要mac地址
      • ip地址有什么用,为何不直接使用mac地址定位
      • 为何不放弃使用mac地址
    • NAT网络地址转换
    • 如何解决ipv4不够用的问题
    • 交换机和路由器区别
    • 什么是ARP
    • 两台电脑连起来后 ping 不通,你觉得可能存在哪些问题
    • ping过程
      • 在同一个局域网中
      • 不再同一局域网中
    • 网络延迟计算
    • 如果访问一个网站很慢,如何排查解决
    • 多播
    • 单台服务器最大支持多少TCP连接数
  • 计算机安全
      • 摘要算法:
    • Linux网络指令
    • 什么是负载均衡Ngix

5层模型及各层功能

  1. 应用层:不关心数据传输,只关心业务逻辑,只关心产生什么数据产生多大的数据。然后发送给下层。

  2. 传输层:

    1. 数据的拆分重组:比如10个G数据,传输层对数据进行分包,组包(分割和重组),拆分并组包成不同大小(TCP)。UDP不拆分直接发
    2. 提供不同可靠性传输,TCP可靠,UDP不可靠
    3. 端口寻址:IP层找到某个IP地址,然后传输层找到对应的应用进程端口号,将数据发送给相应进程。
    4. 其他TCP流控,拥塞控制等功能。
  3. 网络层:

    1. 路由寻址:通过路由选择算法为分组通过通信子网选择最适当的路径。将数据包从一个ip通过各个路由跳传到目的ip
    2. 流量控制
      网络中多个层次都存在流量控制问题,网络层的流量控制则对进入分组交换网的通信量加以 一定的控制,以防因通信量过大造成通信子网性能下降。
    3. 网络连接建立与管理
  4. 数据链路层:
    https://blog.csdn.net/jinjiniao1/article/details/90633477

    1. MAC寻址
      这是数据链路层中的MAC子层主要功能。这里所说的“寻址”与“IP地址寻址”是完全不一样的,因为此处所寻找地址是计算机网卡的MAC地址,网络层找到目的网络IP,数据链路层会确定mac地址,也就是定位到哪一个设备,因为每个设备都有独立的mac地址。我们如何把数据从一个设备传输给另一个设备。
    2. 封装成帧:因为物理层只提供比特流传输,mac层把上层的发来的IP数据包封装成帧,加上头部和尾部,这样接收方就可以界定数据的大小和是否传输完整。提供差错控制功能:采用帧传输方式的好处是,在发现有数据传送错误时,只需将有差错的帧再次传送,而不需要将全部数据的比特流进行重传,这就在传送效率上将大大提高。
    3. 向上层提供服务:链路层向网络层提供的服务这个在5G中是通过RLC层也就是mac层的上一层来做的。
      无确认无连接,不做检测与控制由上层来做,提高效率。
      有确认无连接,不需要建立链路,但是会对帧进行确认,不一定按顺序发送
      确认有连接,建立连接按顺序发送并且确认接收
  5. 物理层:在何种媒介上进行传输,比如wifi,或者光纤,或者5G。

网络层

ip协议作用

主要功能:

  1. 路由包括两个基本动作:寻址和转发。寻址就是选择到达目的的最佳路径,有路由选择算法来实现的。寻址分为:直接寻址和间接寻址。直接寻址:源主机和目的主机在相同网络中,则可以直接将数据发送。间接寻址:源主机和目的主机在不同网络中,发生在三层的。就需要通过路由选择算法来选择下一条路由,一直到目的IP。
  2. IP子网机制:
    于是人们想了一个办法,就是把网络划分成很多个子网。
    这样,在路由的时候,路由器可以把其他子网看成一个整体来进行计算。对于目的地在其他子网的数据包,路由器只需要让数据包到达那个子网即可,而剩下的工作由子网内部解决。

为什么有了IP地址还需要mac地址

ip地址有什么用,为何不直接使用mac地址定位

如果直接使用mac地址相当于全网搜索目的mac,那么计算量太大。而使用ip子网机制,大大减小计算量和存储量。
虽然这种方法只能让寻找到的路径接近最优而不保证最优,不过它大大减少了路由器的计算量,利大于弊,所以被采用了。如果直接使用mac地址,,我们会发现路由器需要记住每个MAC地址所在的子网是哪一个这个需要占用内存就太大了。

为何不放弃使用mac地址

由于IP只是逻辑上标识,任何人都随意修改,因此不能用来标识用户;也就是说我们给某个设备分配一个ip地址,我可以随时修改这个分配的IP,这是不安全也不方便的。那么我们需要一个固定的标识来确保设备的唯一性,这个就是mac地址。

类比形象理解:
IP地址好比住址的门牌号,住在不同的地方就有不同的门牌号,邮局送信的时候回根据这个门牌号找到你的位置。但是门牌号可能改变,也就是过段时间重新编排门牌号,你这个门牌号就变了。IP地址也是,分配给你的ip地址过一段时间可能就改变了,重新分配另一个。
MAC地址好比身份证号码,一出生就有的且不会发生改变。我想找到你这个人,仅根据IP地址找到了你家,却发现你不在家,你可能移动到其他地方,但是我还是可以根据身份证确定你的身份。

NAT网络地址转换

主要是将内部的私有IP地址映射成可以在公网使用的公网IP
因为一个ip地址定位一个网络设备,ipv4的地址肯定不够用。可以使用NAT方式来进行一个公网IP对应多个私网IP地址进行联网。
比如给一个家庭分配一个公网ip,这个家里的所有设备上网都可以使用端口多路复用技术。具体的表现形式就是,对外只有一个公网IP,通过端口来区别不同私有IP主机的数据。
NAT可以同时让多个计算机同时联网,并隐藏其内网IP,因此也增加了内网的网络安全性

如何解决ipv4不够用的问题

  1. 动态分配IP地址,不联网的设备就不给他分配ip地址,腾出来给其他人用
  2. NAT,将一个公网ip,通过+端口号的形式映射成多个私网ip。
  3. ipv6,下一代,可以给地球上每一个沙子都分配一个IP地址

交换机和路由器区别

  • 一般交换机用于局域网,工作在数据链路层和物理层,也有三层交换机工作在网络层,硬件实现路由转法,速度快,但只能实现简单转发
  • 路由器使用软件实现,较慢,能实现复杂网络路由,他是IP层的传输

什么是ARP

使用ARP协议可实现通过IP地址获得对应主机的物理地址(MAC地址)。
在局域网的任意一台主机中,都有一个ARP缓存表,里面保存本机已知的此局域网中各主机和路由器的IP地址和MAC地址的对照关系。

两台电脑连起来后 ping 不通,你觉得可能存在哪些问题

  1. 物理层检查:检查是否正确连上网络
  2. 网络层:检查是否处在同一个局域网,或者路由设置不合理,网络延迟过大。
  3. 应用层,检查是否被防火墙或者软件拦截。

ping过程

给某台设备通信,我们最主要的任务是获取到该设备的mac地址

在同一个局域网中

  1. 首先封装icmp报文,然后查询自己的主机ARP缓存表中是否存在目的ip对应的mac地址
  2. 如果不存在,则他会去交换机中ARP缓存表搜索对应mac地址
  3. 如果还没有则交换机发送ARP广播,目的机器接收到广播后发现是要的自己mac地址,然后将mac地址发送。

不再同一局域网中

  1. 如果发现目的ip和自己不是同一个网段,则主机会发送给网关,进行转发。
  2. 网关会使用路由协议一跳一跳,直到找到目的IP。
  3. 目的ip设备将mac地址返回给主机,然后主机发送数据。

网络延迟计算

  1. ping使用udp,所以一来一回就只用60ms。
  2. HTTPS使用TCP,请求先要三次握手,就要90ms,然后又要进行ssl四次握手,第四次是传输数据,所以发送数据时是180,而是到数据传输过去到服务端需要210ms.

如果访问一个网站很慢,如何排查解决

这里列举出一些较常出现的问题:

  1. 首先最直接的方法是查看本地网络是否正常,通过测试软件测试本地网速和带宽,我们查看网络带宽是否被占用,例如当你正在下载电影时并且没有限速。

  2. 当网速测试正常时,我们对网站服务器速度进行排查,通过 ping 命令查看链接到服务器的时间和丢包等情况,一个速度好的机房,首先丢包率不能超过 1%,其次 ping 值要小,最后是 ping 值要稳定,如最大和最小差值过大说明路由不稳定。

  3. 看运营商原因:如果网页打开的速度时快时慢,甚至有时候打不开,如果是在有的地方打开速度快,有的地方打开速度慢,那应该是网络线路的问题。电信线路用户访问放在联通服务器的网站,联通线路用户访问放在电信服务器上的网站,相对来说打开速度肯定是比较慢。

  4. 可能是网站本身找原因。网站的问题主要包括网站程序设计、网页设计结构和网页内容三个部分。

多播

多播一般是局域网中的实现。
tcp只能是单播,他是点对点的协议。
多播分为广播和组播。
广播是,一个发送给所有,组播是一个反送给一组中的所有。
多播的好处:比如一个机器要发送1G的数据给100个机器,那么我们要单播发送那么在机器内部复制一百份数据,但是实际上多播不是这样处理的,发送端只发送1G而,这些复制都在网络交换机中进行复制,这样发送端就不需要处理大量数据了,整个网络带宽也消耗更少。

单台服务器最大支持多少TCP连接数

https://blog.csdn.net/wangpeng322/article/details/99842126

有的朋友可能会说是65535,因为操作系统有65535个端口。错。
首先先了解下如何标识一个链接,操作系统是通过一个四元组来标识一个TCP链接:
{本地ip,本地port,远程ip,远程port} 也就是本地IP+端口,远程ip+端口
这四个要素唯一确定一个TCP链接,任意一个要素不相同,就认为是一个不同的链接。所以并发连接数并不仅由端口来决定。
连接发起端:一般是一个ip,(当然一个机器也可以配多个IP),端口号数为65535-1024(预留端口)=64000
链接接收端:接收端就多了可以开启的链接数就多了,接收端的一个端口可以接收很多个连接最大的TCP链接数 = 所有有效ip排列组合的数量 * 64000(端口数量)
实际情况下,每创建一个链接需要消耗一定的内存,大概是4-10kb,所以链接数也受限于机器的总内存。(链接发起端,活力全开才64000左右链接,内存最多才占用640M,一般客户端都能 满足;内存限制主要还是考虑服务器端)
Linux上开启端口限制。

计算机安全

摘要算法:

场景举例:密码保存:他不可逆,服务器把用户密码加一段字符串然后使用md5加密生成一长串字符。这个过程不可逆,所以即使别人盗用,也不知道密码是什么。

当服务器从客户端拿到密码,还是使用摘要算法对密码加密生成字符串,然后和数据库中的比对看是否匹配。

Linux网络指令

  • ssh 远程登录
  • scp远程拷贝文件
  • ifconfig 查看当前机器网络接口
  • netstat 本机网络状态,也就是端口使用状态
  • ping 查看ip地址(做了DNS)和丢包率
  • telnet 和服务器建立连接并进行通信

什么是负载均衡Ngix

https://juejin.cn/post/6844904106541203464

计算机网络基础知识—— 各层功能及网络层相关推荐

  1. 超详细的计算机网络基础知识总结 第四章:网络层

    本文基于:王道计算机考研-计算机网络 ☺其他文章: 超详细的计算机网络基础知识 第一章:概述 超详细的计算机网络基础知识 第二章:物理层 超详细的计算机网络基础知识 第三章:数据链路层 超详细的计算机 ...

  2. 最容易理解的计算机网络 基础知识概论(下)

    文章目录 1.计算机网络的分类 1.1按照传输介质分类 1.2按照网络的使用者进行分类 1.3按照网络的规模和作用范围进行分类. 2.计算机网络的性能指标 2.1 带宽 2.2 时延 2.2.1网络时 ...

  3. 计算机网络基础知识 帮助学习网络管理的初学者快速了解网络管理的初步结构知识...

    网络分层: OSI七层协议:物理层.数据链路层.网络层.运输层.会话层.表示层.应用层 五层协议:物理层.数据链路层.网络层.运输层.应用层 HTTP四层协议:网络接口层.网际层.运输层.应用层 层 ...

  4. 网络通信学习笔记之——计算机网络基础知识

    一.计算机网络基础知识 1.什么是计算机网络 ​ 把分布在不同地理位置的计算机与专门的网络设备用通信线路互相连成一个规模大.功能强的系统, 从而使众多计算机可以方便地互相传递信息.共享软件.硬件.数据 ...

  5. 计算机网络基础知识~简单易懂-有图有内容建议码友们点亮拇指+收藏呐~

    计算机网络基础知识一 一. 因特网概述 1. 网络,互联网和因特网 2. 因特网发展的三个阶段 3. 因特网的标准化工作 4. 因特网的组成 二. 三种交换方式 1. 电路交换(Circuit Swi ...

  6. 超详细的计算机网络基础知识总结 第一章:概述

    本文基于:王道计算机考研-计算机网络 顺便提一嘴,王道计算机网络的小姐姐声音真滴好听 相关文章 超详细的计算机网络基础知识 第二章-物理层 超详细的计算机网络基础知识 第三章:数据链路层 超详细的计算 ...

  7. 超详细的计算机网络基础知识总结 第三章:数据链路层

    本文基于:王道计算机考研-计算机网络 其他文章: 超详细的计算机网络基础知识 第一章:概述 超详细的计算机网络基础知识 第二章:物理层 超详细的计算机网络基础知识 第四章:数据链路层 超详细的计算机网 ...

  8. 计算机网络基础知识 学习笔记

    计算机网络基础知识 从浏览器输入一个url中间经历的进程 TCP三次握手 TCP状态 TCP握手为什么不能两次 幂等和安全性 tcp 怎么保证数据包有序 TCP什么时候发送复位包 TCP心跳包机制 t ...

  9. 【软件评测】06计算机网络基础知识

    计算机网络基础知识 OSI/RM七层模型 七层模型 TCP/IP四层协议 冲突域和广播域的区别 常见的协议 协议族 常见协议及对应端口 常用的端口号 域名空间 万维网 Windows网络相关命令 IP ...

最新文章

  1. 两年前搭建的网狐系统
  2. 空军哥军姐新装——帅
  3. bug?VS2010中CImageList::DrawIndirect总是返回失败
  4. VS2010主题设置及插件推荐
  5. 替换string中的部分字符
  6. 指令系统——数据存放、指令寻址(详解)
  7. 浅谈 OneAPM 在 express 项目中的实践
  8. 2020 前端学习路线总结,哎呦,不错哦!
  9. zabbix 通过import批量导入新增主机和批量删除旧的主机
  10. VisualBox 克隆CentOS 7.6 后,ip,源,禁止root远程登录,主机,防火墙,ssh密钥登录
  11. 1040 有几个PAT
  12. 三极管放大电路基础知识
  13. git bash批量dos2unix
  14. JavaScript-162:表格隔行变色
  15. BUUCTF Misc 弱口令 [RoarCTF2019]黄金6年 小易的U盘 [WUSTCTF2020]alison_likes
  16. 【网络工程师】<软考中级>各类以太网标准10BASE-T/100BASE-T4/100BASE-FX/1000BASE-X等详解(了解)
  17. SSD算法详解 及其 keras实现
  18. 小试爬虫之豆瓣电影TOP250
  19. can总线隔离中继器、canbridge-100、CanRepeater的can波特率和滤波设置
  20. UDF函数和UDTF函数的图解举例,追加UDAF函数

热门文章

  1. 【stata】stata软件手动离线安装外部命令logout
  2. 现代化智慧园区管理平台的建设方案详解
  3. css开头自动缩进两个空格
  4. SGD,Adagrad,Adadelta,Adam等优化方法总结和比较
  5. python判断火车票座位_火车票买不到?看我用python监控票源
  6. 抢不到“猫抓杯”怎么办?这些女神更喜欢
  7. [译]什么是FTP MLSD命令
  8. 技术盛会多烧脑? Hyperledger北京Meetup落幕全球创新社区
  9. 简网越过阅读,重新定义个性化
  10. c语言两位数码管程序,单片机制作—两位数码管显示 c语言 汇编程序+电路图