网络初阶原理及其工作特性
资源共享的功能和优点
数据和应用和程序
资源
网络存储
备份设备
常见网络访问组件
RJ45链接器 --> 交换机 --> 路由器
路由器 --> 交换机-->网络接口卡
![](https://app.yinxiang.com/shard/s15/res/19f8dd25-229f-4fe8-b303-5019adea6f8b.png)
用户用户应用程序对网络的影响:
批处理应用程序
Ftp TFTP 库存更新
无需直接人工交互
带宽很重要,但并非关键性因素
~~~~~~~~~~~~~~~~~~~~
交互式应用程序:
库存查询,数据库更新
人家交互
因为用户需等待响应,所以响应时间很重要,但并非关键性因素,除非要等待很长时间
~~~~~~~~~~~~~~~
实时应用程序:
VoIP 视频
人与人的交互
端到端的延时至关重要
~~~~~~~~~~~~~~~~~~~
网络的特征
速度
成本
安全性
可用性
可扩展性
可靠性
拓扑
~~~~~~~~~~~~~~~~~~~~
物理拓扑分类:
总线拓扑
环状拓扑
星型拓扑 单一故障点,通过点中心传输
扩展星型拓扑 比星型拓扑的复原能力更强
环拓扑 信号绕环传输,单一故障点
双环拓扑 信号沿相反方向传输,比单环复原能力强
全网状拓扑 容错能力强,实施成本高
部分网状拓扑 在容错能力与成本之间寻求平衡
~~~~~~~~~~~~~~~~~~~~
了解主机到主机通信
网络模型分层:
降低复杂性
标准化接口
简化模块设计
确保技术的互操作性
加快发展速度
简化教学
#~~~~~~~~~~~~~~~~~~~~
![](https://app.yinxiang.com/shard/s15/res/ab776c8e-2921-47e7-a227-ab7790cad0f0.png)
数据加解密:
![](https://app.yinxiang.com/shard/s15/res/597e6f90-4080-411c-9f0c-dc91438b0067.png)
数据的通信是通过对等通信的
PDU
PDU 协议数据单元是指对等层次之间传递的数据单位
物理层的PDU是数据为 bit
数据链路层的PDU是数据帧 frame
网络层的PDU是数据包 packet
传输层的PDU是数据段 segment
其他更高层次的PDU是消息 message
三种通讯模式:
单播 即点对点
组播 即点对组
广播 即点对多
LAN的组成
![](https://images2018.cnblogs.com/blog/1250252/201711/1250252-20171127144340847-789591823.png)
绞线是为了屏蔽他们之间的干扰信号
Ethernet Frame结构
序文
|
目标地址
|
源地址
|
类型
|
数据
|
帧效验序列
|
IEEE 802.3结构
序文
|
帧起始标志
|
目标地址
|
源地址
|
长度
|
数据
|
帧效验序列
|
数据链路层之 MAC Layer - 802.3
序文(长度8)
|
目标地址长度(6)
|
源地址长度(6)
|
长度(2)
|
数据(长度 *可变)
|
帧效验序列(4)
|
MAC地址
![](https://app.yinxiang.com/shard/s15/res/d18633f8-7479-4af8-afa7-5199b8a0bb33.png)
![](https://app.yinxiang.com/shard/s15/res/0006d958-24ac-4e20-8b9c-c92bc9dbd35f.png)
HUB集线器
HUB:多端口中继器
HUB并不记忆该信息包是由哪个MAC地址发出,哪个MAC地址在HUB的哪个端口
HUB的特点: 共享宽带,半双工
以太网桥:
交换势以太网的优势;
扩展网络带宽
分割网络冲突域,使网络冲突被限制在了最小的范围内
交换机作为更加智能的交换设备。能够哦提供更多用户所要求的功能:优先级,虚拟网,远程监测
工作原理:
监听数据帧中源MAC地址,学习MAC,建立MAC表
对于未知的MAC地址,网桥将转发到除该接口外的所有端口
当网桥接收到一个数据帧时,如果该帧的目的位于接受端口所在网段上,就过滤掉该数据帧;如果在另一个端口上,网桥就将该镇转发到另一个端口上
当网桥接收到广播帧时,它立即转发到除接受端之外的所有其他端口
![](https://images2018.cnblogs.com/blog/1250252/201711/1250252-20171127145526565-497338691.png)
路由器 为了实现路由选择,需要做如下事情:
分割广播域;
选择路由表中到达目标最好的路径
维护和见车路由信息
链接广域网
vlan的作用及特性:
分割广播域
安全
灵活管理
vlan = 广播域 = 逻辑网络(Subnet)
trunk 协议 802.1Q
STP协议 避免回环,生成树协议
网络架构:
核心层 核心交换机,高速连接
分布层 广播域,路由,安全,远程接入,访问层汇聚
访问层 终端接入
tcp/ip协议
1983年取代了旧的网络控制协议NCP
应用层 对应OSI的(应用层,表示层,会话层)
传输层 对应OSI的传输层
internet层 对应OSI的网络层
网络访问层 对应OSI的(数据链路层,物理层)
┌────────┐┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐
│ ││D│F│W│F│H│G│T│I│S│U│ │
│ ││N│I│H│T│T│O│E│R│M│S│其│
│第四层,应用层 ││S│N│O│P│T│P│L│C│T│E│ │
│ ││ │G│I│ │P│H│N│ │P│N│ │
│ ││ │E│S│ │ │E│E│ │ │E│它│
│ ││ │R│ │ │ │R│T│ │ │T│ │
└────────┘└─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘
┌────────┐┌─────────┬───────────┐
│第三层,传输层 ││ TCP │ UDP │
└────────┘└─────────┴───────────┘
┌────────┐┌─────┬────┬──────────┐
│ ││D│F│W│F│H│G│T│I│S│U│ │
│ ││N│I│H│T│T│O│E│R│M│S│其│
│第四层,应用层 ││S│N│O│P│T│P│L│C│T│E│ │
│ ││ │G│I│ │P│H│N│ │P│N│ │
│ ││ │E│S│ │ │E│E│ │ │E│它│
│ ││ │R│ │ │ │R│T│ │ │T│ │
└────────┘└─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘
┌────────┐┌─────────┬───────────┐
│第三层,传输层 ││ TCP │ UDP │
└────────┘└─────────┴───────────┘
┌────────┐┌─────┬────┬──────────┐
│ ││ │ICMP│ │
│internet网络层 ││ └────┘ │
│ ││ IP │
└────────┘└─────────────────────┘
└────────┘└─────────────────────┘
┌────────┐┌─────────┬───────────┐
│一层,网络访问层││ARP/RARP │ 其它 │
└────────┘└─────────┴───────────┘
TCP/IP四层参考模型
可靠性vs高效性
面对面传输 直接连接
TCP UDP
有序传输 无需传输
TCP常见(e-mail,下载文件,文件分享)
UDP常见(语音通话,视频通话)
TCP特性:
工作在传输层
面向连接协议
全双工协议
半关闭
错误检查
将数据打包成段,排序
确认机制
数据恢复,重传
流量控制,滑动窗口
拥塞控制,慢启动和拥塞避免算法
(发送在前) IP首部
|
TCP首部 IP数据部分(TCP数据部分)
|
源端口,目标端口:通过计算端口从而实现通信,而一个计算机端口某个时刻只能被一个进程占用,所以通过指定源端口和目标端口,就可以知道是哪两个进程需要通信,源端口,目标端口2的16次方个
序列号:表示本段报文段所发送数据的第一个字节的编号,在TCP连接中所传送的字节流的每一个字节都会按顺序编号
确认号:表示接受方期望收到发送方下一个报文段的第一个字节数据的编号
数据偏移:TCP报文段的首部长度,共4位,由于TCP首部包含一个长度可变的选项部分,需要指定这个TCP报文段到底有多长
TCP包头
URG:表示本报文段中发送的数据是否否包含紧急数据,后面的紧急指针字段(urgent pointer) 只有当URG=1时才有效
ACK:表示是否前面的确认字段是否有效,ACK=1表示有效,只有当ACK=1时,前面的确认号字段才有效,TCP规定,链接建立后,ACK必须为1,带ACK标志的TCP报文段称为确认报文段
PSH:提示接收端应用程序应该立即从TCP接收缓冲区中读走数据,而接受后续数据腾出空间,如果为1,则表示对方应当立即把数据提交给上层应用,而不是缓存起来,如果应用程序不将接收到的数据读走,就会一直停留在TCP接收缓冲区中
RST:带RST标志的TCP报文段成为复位报文段,如果收到一个RST=1的报文,说明与主机的链接出现了严重错误(如主机崩溃),必须释放连接,然后再重新建立连接,或者说明上次发送给主机的数据有问题,主机拒绝响应
SYN:在建立连接时使用,用来同步序号,当SYN为
= 1 ACK= 0时,表示这是一个请求建立连接的报文段,当SYN=1
,ACK=1时,表示对方同意建立连接,SYN=1说明这是一个请求建立连接或者同意建立连接的报文,只有在前两次握手中SYN才置为1
,带SYN标志的TCP报文段成为同步报文段
FIN:表示通知对方本端要关闭连接了,标记数据是否发送完毕。如果FIN=1,即告诉对方:“我的数据已经发送完毕,你可以释放连接了”,带FIN标志的TCP报文段称为结束报文段
传输层通过port号,确定应用层协议
Port number:
tcp:传输控制协议,面向连接的协议;通信前需要建立虚拟链路;结束后拆除链路
UDP: 无连接的协议
0-65535
IANA:互联网数字分配机构(负责域名,数字资源,协议分配)
0-1023 系统端口或特权端口(仅管理员可用),总所周知,永久的分配给固定的系统应用使用:22/tcp(ssh) , 80/tcp(http) , 443/tcp(https)
1024 - 49151 :用户端口或注册端口,要求不严格,分配给程序注册为某应用使用 1433/tcp(SqlServer) , 1521/tcp(oracle) , 3306/tcp(mysql) , 11211/tcp/udp(memcacned)
49152 - 65535: 动态端口或私有端口,客户端程序随机使用的端口
ARP协议原理:
在局域网中实例传输时 帧,帧里面有目标主机的MAC地址
一个主机要与另一个主机通信,必须要知道目标主机的MAC地址,通过地址解析协议获得,所谓 "地址解析" 就是主机在发送帧前将目标IP地址转为目标MAC地址的过程
ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行
点对点的的连接是不需要ARP协议的
ARP工作流程:
1 当主机A向本局域网上的某个主机B发送IP数据报时,就现在自己的ARP换从表中查看有无主机B的IP地址
2 如果有,就可以查出其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过以太网将数据包发送到目的主机中
3 如果查不到主机B的IP地址的表项。肯呢个主机B才入味能够,也可能是主机A刚刚加电,其告诉缓冲表还是空的,在这种情况下,主机A就自动运行ARP
(1)ARP进程在本局域网上广播一个ARP请求分组,ARP请求分组的主要内容是表明:我的IP地址是192.168.0.2没我的硬件MAC是xx-xx-xx-xx-xx-xx,我想知道IP地址为192.168.0.4的主机的硬件地址
(2)在本局域网上的所有主机运行的ARP进行都受到此ARP请求分组
(3)主机B在ARP请求中见到自己的IP地址,就像主机A发送ARP响应分组,并写入自己的硬件地址,其余的所有主机都不在理睬这个ARP请求分组,ARP响应分组的主要内容是表明:我的IP地址是192.168.0.4,我的硬件地址是xx-xx-xx-xx-xx-xx,虽然ARP请求分组时广播发送的,但ARP响应分组时普通的单播,即一个源地址发送到一个目的地址
(4)主机A收到主机B的ARP响应分组后,就在其ARP高速缓冲表中写入主机B的IP地址到硬件地址的映射
工作步骤:
1 -->应用程序构造数据包,该示例是产生ICMP包,被提交给内核(网络驱动程序)
2 -->内核检查是否能够转化为该IP地址为MAC地址,也就是在本地的ARP缓存中查看IP-MAC对应表
3 -->如果存在该IP-MAC对应关系 则跳到步骤7
4 -->内核进行ARP广播,目标MAC地址FF-FF-FF-FF-FF-FF,ARP命令类型为REQUEST(1),其中包含有自己的MAC地址
5 -->当192.168.1.2主机接收到该ARP请求后,就发送一个ARP的REPLY(2)命令,其中包含自己的MAC地址
6 -->本地获得192.168.1.2主机的IP-MAC地址对应关系,并保存到ARP缓存中
7 -->内核将把IP转为MAC地址,然后封装在以太网头结构中,再把数据发送出去
UDP特性
工作在传输层
提供不可靠的网络访问
非面向连接协议
有限的错误检查
传输性能高
无数据恢复特性
UDP的包头部分为
![](https://app.yinxiang.com/shard/s15/res/beb2c08d-ceb2-45b3-ab56-e028858a049d.png)
internet层有 IP协议 ,ICMP协议 ARP协议 RARP协议
internet协议特征
运行于OSI网络层
面向无连接的协议
独立处理数据包
分层编址
尽力而为传输
无数据恢复功能
IP的PDU包头
![](https://app.yinxiang.com/shard/s15/res/085ae593-1a42-431a-b523-1b2fa6c0c21b.png)
版本:占4位,指 IP 协议的版本目前的IP协议版本号为4
首部长度:占4位,可表示的最大数值是15个单位,一个单位为4字节,因此IP 的首部长度的最大值是60字节
区分服务:占8位,用来获得更好的服务,在旧标准中叫做服务类型,但实际上一直未被使用过.后改名为区分服务.只有在使用区分服务(DiffServ)时,这个字段才起作用.一般的情况下都不使用
总长度:占16位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节.总长度必须不超过最大传送单元 MTU
标识:占16位,它是一个计数器,通常,每发送一个报文,该值会加1, 也用于数据包分片,在同一个包的若干分片中,该值是相同的
标志(flag):占3位,目前只有后两位有意义
DF: Don‘t Fragment,中间的一位,只有当 DF=0 时才允许分片
MF: More Fragment,最高位,MF=1表示后面还有分片。MF=0 表示最后一个
片偏移:占12位,指较长的分组在分片后,该分片在原分组中的相对位置.片偏移以8个字节为偏移单位
生存时间:占8位,记为TTL
(Time To Live) 数据报在网络中可通过的路由器数的最大值,TTL 字段是由发送端初始设置一个 8
bit字段.推荐的初始值由分配数字 RFC 指定,当前值为64.发送 ICMP 回显应答时经常把 TTL 设为最大值 255
协议:占8位,指出此数据报携带的数据使用何种协议以便目的主机的IP层将数据部分上交给哪个处理过程, 1表示为 ICMP 协议, 2表示为 IGMP 协议, 6表示为 TCP 协议, 17表示为UDP 协议
首部检验和:占16位,只检验数据报的首部不检验数据部分.这里不采用 CRC 检验码而采用简单的计算方法
源地址和目的地址:都各占4字节,分别记录源地址和目的
![](https://app.yinxiang.com/shard/s15/res/92de0bd6-25f4-4410-9f7b-e1424b812c6f.png)
IP地址:
它是唯一标识IP网络中的每台设备
每台设备都必须具有唯一的地址IP地址由两部分组成: 网络ID和主机ID
posted on 2017-11-27 14:44 pythonerLau 阅读(164) 评论(0) 编辑 收藏 举报