计算机网络基础知识

1、 什么是计算机网络?什么是互联网?

计算机网络 简称网络,由若干节点(计算机、集线器、交换机、路由器)和连接这些节点的链路组成

互联网又叫网络的网络,是指网络之间通过路由器连接在一起,构成了范围更大的计算机网络。

在这里插入图片描述

2、计算机网络的类别:

在这里插入图片描述**广域网**

3、计算机网络体系结构

计算机网络体系结构就是层和协议的集合

3、1什么是网络协议协议?

为进行网络中的数据交换建立的规则和约定。

在这里插入图片描述

4、 数据包的封装与分用

  • 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame).
  • 应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation).
  • 首部信息中包含了一些类似于首部有多长, 载荷(payload)有多长, 上层协议是什么等信息.
  • 数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部, 根据首部中的 “上层协议字段” 将数据交给对应的上层协议处理

在这里插入图片描述

5、 网络中的地址管理

ip地址

ip协议提供的一种统一的地址格式,它为互联网上的每一个主机和每一个网络分配一个逻辑地址,是互联网上每个子网或每个主机在网络上的唯一身份标签,以此来屏蔽物理地址的差异。有四个数字组成。前三个位网络号,后一位主机号

  • 过去曾经提出一种划分网络号和主机号的方案, 把所有IP地址分为五类,
    A类0.0.0.0到127.255.255.255
    B类128.0.0.0到191.255.255.255
    C类192.0.0.0到223.255.255.255
    D类224.0.0.0到239.255.255.255
    E类240.0.0.0到247.255.255.255
  • 公有地址
    公有地址(Public address )由Inter NIC (Internet Network Information Center因特网信息中心)负责。这些IP地址分配给注册并向InterNIC提出申请的组织机构。通过它直接访问因特网。
  • 私有地址
    私有地址(Private address)属于非注册地址,专门为组织机构内部使用。
    以下列出留用的内部私有地址
    A类10.0.0.0–10.255.255.255
    B类172.16.0–172.31.255.255
    C类192.168.0.0–192.168.255.255
  • 网段:网络号相同
  • 局域网:在私网地址范围内,并且ping通,不管网段是否相同
  • 子网掩码
    子网掩码用来指明一个IP地址所标示的主机是处于哪个子网中的。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
物理地址(MAC地址),硬件地址

MAC地址用来识别数据链路层中相连的节点;长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如:08:00:27:03:fb:19)在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址).

mac和ip地址的区别

1、MAC地址是物理地址,IP地址是逻辑地址。MAC地址是不可改变的,IP地址是可以更改的;
2、MAC地址具有唯一性,每个硬件出厂时候的MAC地址是固定的;IP地址不具备唯一性,因此,很多应用软件是围绕MAC地址开发的。
3、ip描述的是一段总路程的起点和终点。而mac地址则是描述的总路程里的每一段路的起点和终点
在这里插入图片描述

网络设备的功能

  • 对于一台主机,他的操作系统内核实现了从传输层到物理层的内容
  • 对于一台路由器,它实现了从网络层到物理层
  • 对于一台交换机,它实现了从数据链路层到物理层
  • 对于集线器,他只实现了物理层

集线器:只是转发数据报,广播发送到其他主机
交换机:只是转发数据报,根据数据报中的目的MAC来发送
MAC地址表:建立MAC地址和端口映射(端口连接所有主机)
路由器:
1、WAN提供公网IP的端口,连接公网上的网络设备
2、LAN口提供私网ip的端口,连接局域网内的设备
ip地址:WAN口使用公网ip,LAN口使用私网ip
MAC地址:具有应用程序,可以处理NAT(网络地址转换)\NAPT协议,所以可以修改路由器所在网络之上的传输层数据报头(修改端口号)
主机
发送数据报(http://www.baidu.com)程序发送数据报的时候就知道五元组的信息(协议号+源ip/Mac+目的ip/MAC)
**DNS协议:**域名转ip
现在本机缓存中查找:C:\Windows\System32\drivers\etc\hosts
本机找不到往上一级的设备/DNS服务器查,最终在全球顶级域名服务器中查询,如果还找不到就代表没有该域名。
ARP缓存表:主机和路由器
ip地址和Mac地址的映射表:通过Mac查ip

网络数据传输流程

场景一:主机1通过ip+port访问主机3的http服务器

在这里插入图片描述流程
1)、通过主机1的ARP缓存表,查询目的ip对应的Mac地址
2)、如果找不到,广播发送ARP请求数据报(源MAc,目的MAC填FF:广播地址,目的ip),其他主机接受并处理数据报:if(自己的ip=目的ip)return 我的ip;else 丢弃数据报
3)、更新本机ARP缓存表
4)、发送http请求数据:(目的MAC:主机MAC)集线器转发数据报到其他所有主机。if(目的MAC=自己)处理,else丢弃

冲突/碰撞域:同一时间,多台主机同时发送数据报,集线器要把多个数据报发送到所有端口。总带宽和单个带宽有限,造成干扰。

场景二:局域网下主机一访问主机3的http服务

在这里插入图片描述1)、通过目的ip查询本机ARP缓存表,找到目的MAC
2)、如果没有,广播ARP数据报,如果有发送http请求数据
3)、交换机查看数据报的目的MAC,通过MAC地址转换表可以知道对应的端口,发送数据到对应的端口。

场景三:局域网下主机一访问主机4的http服务(交换机+路由器)

在这里插入图片描述前置条件:
主机网络配置
在这里插入图片描述流程:
(1)通过目的IP的网络号与子网掩码按位与操作,得到一一个网络号,这个网络号和自己的网络号对比,就知道目的
主机是否在同一个网段
(2)不在同-个网段,自己处理不了数据传输,交给上级可以处理的设备(路由)
(3)发送数据报:
目的IP:主机4的IP (192.168.0.100)
目的MAC:本机ARP缓存表,通过网关IP查网关MAC
(4)路由器处理数据报:
源MAC:由主机1MAC修改为路由器自己的MAC
目的MAC:由路由器MAC修改为主机4MAC (如果没有主机4的mac,就广播来找)

场景四:广域网主机一访问http://www.baidu.com在这里插入图片描述

流程:
(1)通过域名查询对应的IP地址: DNS协议(本地DNS缓存—>路由器—>-上级DNS服务器---- … ----全球顶级DNS服务器)
(2)有了五元组的信息
(3)目的IP网络号+子网掩码得到-一个网络号,和本机网络号对比,判断出不在-个网段
(4)发送数据报到路由器:
源MAC=主机1的MAC,目的MAC:路由器的MAC,源IP:主机1的局域网IP,目的IP:百度服务器IP,协议号http
(5) 路由器处理数据报:
路由器可能没有百度服务器MAC,下一跳的目的MAC怎么办?
百度服务器接收数据,返回响应的数据时,需要根据现在发送数据报中的源IP +源端口号来返回。使用局域网IP +port有问题
路由器根据它的路由表决定下一跳地址
路由:我(路由器)也不知道百度在哪(目的IP) , 但是通过路由功能,知道方向,可以知道最优的下一-站设备的MAC
NAT+NAPT:局域网主机源IP +源port,修改为路由器公网IP+公网的映射端口(程序端口)
修改:源MAC修改为自己的MAC,目的MAC修改为下一-跳设备的MAC
(5)下一跳设备处理数据:只修改源MAC为自己的MAC,目的MAC为再下一-跳设备的MAC (目的IP!= 自己)
(6)百度服务器接收数据:目的mac是自己的,需要处理,目的IP==自己, 接收数据报(分用)
(7)返回数据报:源IP:百度服务器IP,源端口号:百度http程序端口,目的IP:路由器的公网IP,目的端口:路由器程序端口
(8)路由器接收响应数据报:目的P—> 局域网主机1的ip,目的端口:主机1的浏览器程序端口,目的MAC:主机1的MAC
(9)主机1接收处理响应数据报: if(目的mac=我自己的)处理—>if(目的ip=我自己的) —>-分用交给程序

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值