(1.1)网路概念基础
【1】网络基础概述
(1.1)两个终端通信有五个要素
- 发送者:消息发送者
- 接收者:消息接受者
- 介质:传输消息的载体,如网线、光纤()
- 数据:被传送的内容
- 协议:协同好共同可以识别的交流方式(哪种方式、怎么发),如大家都用中文交流写信等等
我们就是邮差,我们网工最关心的,是发送者、接收者、协议。
(1.2)交换机
简答的二级网络
交换机(switch) 可以提供大量接口,所以多台主机可以连接到交换机上可以实现互联网。
交换机如何区分不同终端的呢?交换机上记录了连接交换机所有终端的 mac地址的映射表,核心通过不同主机上的 mac(物理地址,预设在网卡中,16进制表示) 地址来区分不同的人。由 IEEE 来定义规范与标准。
MAC地址组成:前24位产家地址,后24位自定义地址。
交换机的通信方式:
(1)单播:就 1 对 1 通信,A 发送带着mac地址+数据内容的包 =》交换机查阅mac地址表 =》交换机发送该数据包到对应 mac 地址的终端机器。
(2)广播:某个信息发出,交换机对其所连接的所有终端发送此信息。那么所有能收到这个广播信息的终端,叫做广播域。1个交换机,就是一个广播域。
那么广播域有什么用呢?
共享打印机:终端在不知道谁是打印机的情况下发送广播消息寻找打印机,非打印机终端收到广播后不做回应,打印机收到广播后给予回应,这样就知道打印机了。
(1.3)路由器
switch =》碰到广播=》泛洪(遇到单播转发)
route =》碰到广播=》隔离(遇倒单播也转发)
路由器与交换机最大的区别就是,路由器隔离广播域,如下图路由器隔离了2个广播域。
如果2个交换机直连,那么则是扩大广播域。
交换机与路由器的访问依据:
交换机=》同一个广播域内互相访问=》依靠 mac 地址
路由器=》不同广播域访问=》依靠 ip 地址
(1.4)什么是 mac 地址,什么是 ip 地址
MAC地址:比如,你去茶颜悦色买奶茶,买完一般会给你一个发票,给你一个取餐号。奶茶做好了,店员只需在店里要喊多少号多少号过来取号拿奶茶即可,那么这个能到这个广播范围代表你唯一身份的就是 mac地址。(广播域换成整个中国,身份证号、电话号码才是能区分人的唯一标识)
IP地址:那么,如果你在家里点外卖,你需要填你的家庭地址(专业术语叫通讯地址,指向的是一个空间、范围)+ 你的电话号码、名字之类的。那么这个家庭地址就是你的IP地址。敲开门你们可能是很多人在一起,怎么找到外卖是谁点的呢,那么又需要该家庭地址下的唯一标识。那么我们的外卖一般写了名字和电话号码,那么只写名字可以吗?不行,如果有多个人都同名咋办,所以要有大家都独一无二的信息才能称之为唯一标识,那么就是电话号码、身份证号。这下外卖员根据电话号码,终于找到了收件人是谁。
(1.5)IP地址如何使用
编址:给一个广播域编址=》IP地址,相当于找到你家里的门牌号,具体找到某个人靠的是 mac 地址
寻址:在广播域中找具体地址
(1.6)网络三层(接入层、汇聚层、核心层)
接入层:一般指的是终端
汇聚层:说的是交换机等汇聚终端设备(网关也放在这)
核心层:代表出口,连接到广域网(互联网)、其他广播域等等
(1.7)总结,交换机与路由器
交换机=》mac 地址 =》局域网(地里概念) =》LAN =》单播即转发、广播即泛洪
路由器=》ip 地址 =》广域网(地里概念)=》WAN=》单播即转发、广播则隔离
【2】TCP/IP 模型 与 OSI 模型
(2.1)为什么要有协议?
在网络上,一个协议对应于管理系统之间如何相互通信的规则。一个协议族是一系列协同工作的协议的集合。
OSI模型和 TCP/IP模型是现在网络中常用的协议。
举个例子:
现在有个华为手机,配置很高,卖的很便宜,那大家都很心动,但它只能和华为手机通信,不能和其他比如苹果、小米、oppo、vivo 等等手机通信,那么即使再好用买的人也不多。
又比如网络设备的厂家:思科、华为、锐捷、华三、juper、深信服、神州数码等厂家。
如果他们造的设备,只能和他们厂商自己的设备通信,那么用户会被垄断、会被拿捏。
模型协议:
所有的网络设备厂家均使用同一种网络通信协议,这样大家都遵循了一个大体的统一模型,就大体上都互相可以通信了。
(2.2)网络七层-OSI 概述(启用)
这个O,就是 open ,就是开放、包容
这里以拼多多网购买飞机杯为案例。
应用层:打开拼多多程序,不是京东不是淘宝,我就要选拼多多。
表示层:选择、搜索展示商品(文字、图片、视频)都做过一定的格式化、且加密(飞机杯不加密我不是很尴尬)
会话层:就是我选择好款式,型号等等之后,封装成一个订单,下发到商家那里。
传输层:商家要把货给我啊,要选择一个传输途径,比如选择走快递。这里有可靠和不可靠之分,比如用顺丰就比较可靠,随便叫个黑运输送过去那就不太可靠。
网络层:那么快递到底送到哪里去?这里一般会打个快递单,写上发件人地址、收件人地址,收发件人信息。快递会快递物品从发件人地址运输送到收件人地址,快递运输到收件人地址之前(IP地址),不需要理会收件人、电话号码等信息(mac地址)。
数据链路层:已经到了收件人地址了(即到了这个广播域),那么快递员根据名字、电话号码去找到对应快递的收件人(mac 地址寻址)。
物理层:即把数据二进制化,成0、1,对此来进行比特流传输。
对应关系:
(1)分层模型:应用层=》表示层=》会话层=》传输层=》网络层=》数据链路层=》物理层
(2)网购对应:打开应用=》找商量=》选好商品下单=》选择用物流传输快递发火=》物流公司找到收件人地址=》快递员根据唯一标识如电话号码,来送快递。这里对应的物理层是走水运、还是陆运、还是空运等等。
(2.3)网络四层概述 TCP/IP
应用层:应用、表示、会话,这是程序猿需要考虑的。
传输层:可靠连接 TCP、不可靠连接 UDP。
可靠连接TCP,案例:
我和给朋友盖伦发了一个消息说:相约今晚8点去激情网吧通宵
如果朋友没回复我又可能是他那会儿没听到、没听清,我晚上八点去了激情网吧发现他没来,到底是谁的问题?是我的问题,人家都没答应你说要来,你自己跑过去了不能怪别人吧。
那么如何让消息可靠,可以这么说:今晚8点去激情网吧通宵,盖伦收到请回复。如果他一直没给我回复,我就认为他根本没有收到我的消息,我就会一直重复发,发到晚上8点他还没有回复,那我晚上就不去激情网吧了。
如果他给我说,可以,我们今晚8点网吧门口见,收到请回复。那么我如果看到了就再给他一个回复:好的。就表示我知道他收到了我的消息,然后同意了。
那么这个过程一般就叫 TCP 可靠连接的三次握手。
不可靠连接UDP,案例:
在群里发个消息,说明天XXX商城早上8点到10点打8折,有意向的可以早点去抢购。那么这个消息,是无须别人确认的,收到没收到都无所谓。最经典的网络应用就是视频通话,丢几个帧无伤大雅。
网络层:IP 寻址
网络接口层:数据链路层(mac)+ 物理层(即网线、双绞线、同轴电缆、光纤等)
【3】深入TCP/IP四层模型
(3.1)网络接口层 =》物理层
最终数据的传输是通过物理层实现的。通过物理介质传输比特流。
常用的物理层传输介质有 网线(铜线)、双绞线、同轴电缆、光纤等。
铜线分为:
- 五类:10m,m=10^6=》10*10^6
- 超五类:100m
- 六类、超六类:1000m,即1G
- 网速带宽单位是 bps;
- 光纤:至少1G起步,
- 有 2条线一进一出的,一收一发有一个光功率(单位db)。
- 光模块:收发信息,信号转换。把光能转换成电能的转换器。
- 光模块:分为单模(很远,但速率低如 3-5G)和多模(相对近,但速率很快如 10-30G),最大可以达到2T。
光纤,贵就贵在光模块。
(3.2)网络接口层=》数据链路层
只在广播域生效,出了广播域就靠IP地址了。
(3.3)网络层
提供逻辑地址(IP地址),供路由器确定路由。IP地址寻找一个又一个的广播域。
(3.4)传输层
《1》端口号的概念
用端口号来区分不同的网络服务。就像一个食堂有不同档口,每个档口都卖不同的东西。
主机发送的网路请求需要不同的端口号。流量回来之后到底给哪个程序,也是需要根据端口号来分发。
一般情况是:0-65535 端口号可用。
一般互联网公共网路服务公用的会提供一个固定额端口号(国际规范大家共同约定的公共标准规范),如 http如果要上公共互联网,必须设置用 80 端口来访问交互。如果只是你自己用,那你随便设置端口,比如我们一般本地测试环境都可以随便起8080/8000 等等端口。
【4】数据封装
(4.1)数据封装传输
(1)应用层(data):把实际内容打包好成一个数据(网购买东西下订单)
(2)传输层(Segment):在这个数据头部封装一个协议信息(tcp 或 udp)、端口信息。变成数据段(选择好用什么物流公司)
(3)网络层(packet):在数据段基础上,再封装一层IP头部,包含源地址与目的IP地址。变成网络包(写好发件地址、收件地址)
(4)网络接口层(frame):在数据包的基础上,再封装一层 mac 地址在头部。变成网络帧(写好发件人、收件人的唯一标识,如身份证号、电话号码等)
(5)实际传输:把数据帧对应解析成数字信号,01,转成 bit ,在网线上传输。
(4.2)数据接收解封