网络分类
局域网:用户自行建设的私有地址的网络
城域网:运营商活大规模企业建设,连接城市范围的网络
广域网:运营商建设,链接全国各城域的网络(骨干网,核心网,传输网)
衡量计算机网络的主要指标:
带宽:描述在丁时间范围内从一个节点传送到另一个节点的数据量(bps)
延迟:描述从一个节点传送到另一个节点的时间
OSI参考模型
osi参考模型定义了网络中设备所遵循的层次结构
优点 :
开放的 标准化接口,接口不在封装
支持多厂商兼容性
易于理解,学习和更新的协议标准
实现模块化工程,有效地的降低了开发实现的复杂度
能够方便故障排查
结构:
结构 | 作用 |
---|---|
应用层 | 提供应用程序间的通信 |
表示层 | 处理数据格式及加密等 |
会话层 | 建立,维护和管理会话 |
传输层 | 建立主机 端到端的链接 |
网络层 | 寻址和路由选择(路由,传送单位:包) |
数据链路层 | 提供介质访问,链路管理(mac) |
物理层 | 比特流传输 |
OSI模型只能对等通信,每一层都有自己的协议,利用下层提供的服务与对等层同行
数据的分装与解封
数据发送时,从上到下逐层封装
数据接受时,从下岛上逐层解封
注:只有拆除外层封装,才可以看到内层内容
注:应用层数据,逐层封装至物理层,传输,在逐层解封,直到应用层数据,才能被用户得到有效数据。
TCP/IP模型
TCP/IP | OSI |
---|---|
应用层 | 应用层,表示层,会话层 |
传输层 | 传输层 |
网络层 | 网络层 |
网络接口层 | 数据链路层,物理层 |
模型层 | 设备 | 协议 |
---|---|---|
应用层 | 应用层 | HTTO,FTP,SMTP等 |
传输层 | 四层交换机,四层路由器 | TCP,UDP等 |
网络层 | 三层交换机,路由器 | IP,ICMP等 |
数据链路层 | 网桥,以太网交换机,网卡 | ARP,RARP等 |
物理层 | 中继器,集线器,双绞线 | IEEE802.3等 |
IP基本原理
IP :目前唯一的网络层协议标准,定义数据网络层的封装方式,编址方式
IP网络由多个网段构成,每个网段对应一个链路
路由器负责将网段连接起来,适配链路层协议并在网络之间转发数据包
IP包头
version :IP协议版本号
IHL :IP头部长度
Type of service :服务质量,优先级及流量管理,流量控制,流量控制等
Total Length :整个数据包的长度,包含数据部分
Identification :唯一标识主机发送的每一个IP包,通常发送一个包,其值加1
Flags :是否容许分片,1:是,0:否
Fragment Offset :分片偏移,分片在包中的位置
Time to live :设置数据包可以经过路由器的数目,经过一个其值减1,为0时丢弃,初始值为64(防环)
Protocol :标识数据包内传递的数据所属的上层协议(IP用协议号区分上层协议,TCP为6,UDP为17)
Head Checksum :IP头部的校验和,用于检查头部的完整性
Source Address :源地址
Destination address:目的地址
Options :选项
Padding :包填充
IP地址分类:
IP地址用对应二进制32位,8位一组,共四组
A类:0-126 前一组:网络ID 之后:主机ID
B类:128-191 前两组:网络ID 之后:主机ID
C类:192-223 前三组:网络ID 之后:主机ID
D类:224-239 组播地址
E类:240-255 实验地址
其中:
主机号 全为0 :网络地址,特定网段
主机号 全为1 :网段广播地址
网络号 127 的所有:环回地址,常用于环回测试
子网掩码 :网路部分全为1,主机全为0
全为0 :代表所有网络,常用语指定默认路由
全为1 :全网广播地址,代表所有节点
练习:
1.求下列地址的网络地址和广播地址
172.16.10.255/16
B类地址:网络ID两组,主机ID两组
11111111 11111111 00000000 00000000
网络地址(主机号全为0):172.16.0.0
广播地址(主机号全为1):172.16.255.255
192.168.1.47/27
C类地址:网络ID三组,主机ID一组(借三位)
11111111 11111111 11111111 11100000
2^3=8
2^(8-3)-2 =30
网段 IP范围 广播地址
192.168.1.0/27 192.168.1.1-192.168.1.30 192.168.1.31
192.168.1.32/27 192.168.1.33-192.168.1.62 192.168.1.63
192.168.1.64/27 192.168.1.65-192.168.1.94 192.168.1.95
...
故192.168.1.47/27的网络地址为:192.168.1.32/27
广播地址为:192.168.1.63
2.请问下列地址是否可以分配给主机
192.168.10.31/28
11111111 11111111 11111111 11110000 (借四位)
2^4=16
2^(8-4)-2=14
网段 IP范围 广播地址
192.168.10.1/28 192.168.10.1-192.168.10.14 192.168.10.15
192.168.10.16/28 192.168.10.15-192.168.10.30 192.168.10.31
192.168.10.32/28 192.168.10.33-192.168.10.46 192.168.10.47
...
故:192.168.10.31/28为广播地址,不能分配给主机
172.16.10.255/19
11111111 11111111 11100000 00000000(借三位)
2^3=8
2^(8-3)-2=30
网段 IP范围 广播地址
172.16.0.0/19 172.16.0.1-172.16.31.254 172.16.31.255
172.16.32.0.0/19 172.16.32.0.1-172.16.63.254 172.16.63.255
...
故:172.16.10.255/19可以分配
3 在192.168.1.0/24的C类主网内,需要划分出1个可容纳100台主机的子网、1个可容纳50台主机的子网、2个可容纳25台主机的子网,该如何划分?
24 --- 255-2
25 --- 128-2
26 --- 64-2
27 --- 32-2
网段
192.168.1.0/25 192.168.1.1-192.168.1.126 192.168.1.127
192.168.1.128/26 192.168.1.129-192.168.1.190 192.168.1.191
192.168.1.192/27 192.168.1.193-192.168.1.222 192.168.1.223
192.168.1.223/27 192.168.1.224-192.168.1.254 192.168.1.255
TCP和UDP原理
TCP原理
TCP/IP传输层的作用
(1)数据分段
(2)用端口区分链接
(3)维护传输访问安全
TCP头格式
Source Port:源端口
Destination port:目的端口
Sequence Number:序列号,用来标识TCP源端设备向目的设备发送的字节流
Acknoledgenment Number:确认号,用来标识期望收到的下一个段的第一个字节,并声明之前收到的数据已经确认无误
Data offset:数据偏移,数据在传输层分段用于分段重组
Reserved:保留
控制位:
URG(Urgent pointer field significant)紧急指针字段标志
ACK(Acknowledgment field significant)确认字段标志
PSH(PushFunction)推功能
RST(Reset the connect)重置链接
SYN(Synchronize sequence number)同步序列
FIN(No more data from sender)数据传送完毕
Window :窗口,告诉对方主机的接受能力,用于实现流量控制
Chechsum:校验和,出错校验
Urgent Pointer:紧急指针,指向段内最后一个字节位置,这个字段只在URG被重置时才有效
Options:选项
Data :数据
Padding:填充
TCP可靠机制
(1)确认传递机制
TCP协议传输时,会检查传输的数据,经过确认无误后才会发送ACK标志,默认一次传输4个包,如果中间的包发生错误,ACK会请求重新发送。
如果发送的包过大,会发送win标志控制流量等
(2)三次握手
TCP的建立:
双方主机为了实现tcp通信,需要先三次握手
客户端主动发出SYN(从Close变为SYN_SENT状态),服务器此时处于监听状态;
服务器接收到客户端的SYN请求,回应客户端发送SYN_ACK,状态变为SYN_REVIN
客户端接收到SYN_ACK后,会发送一个ACK,状态转换为ESTABLISHED
服务段接收到ACK,状态同样变为ESTABLISHED
此时tcp的建立已经完成。
(3)四次挥手
TCP连接断开:
客户端发起FIN请求,从而进入FIN_WAIT1状态
服务器收到断开FIN请求,会发起一个ACK请求,,进入CLOSE_WAIT状态
客户端收到服务器的ACK请求,进入FIN_WAIT2状态
服务器没有接收到客户端的请求,再次发送FIN_ACK请求,进入LAST_ACK状态
客户端接收到FIN_ACK请求,回应服务端ACK请求。
此时TCP的链接并没有立即断开,还需要等待大概(240秒),确认无误后变为CLOSED状态
SYN攻击:上面讲的TCP三次握手首先要发送SYN请求,所谓的SYN攻击就是指客户端短时间伪造大量的不存在的IP地址,向服务器不断地发送SYN请求,服务器接收到请求等待客户端的确认,但由于地址不存在,服务器需要不断地重发直至超时,这些SYN包将长时间占用未连接队列,正常的SYN请求会被丢弃,目标系统运行缓慢,引起网络堵塞甚至系统瘫痪。
UDP原理
UDP表头
TCP与UDP对比
TCP | UDP | |
---|---|---|
优点 | 传输可靠 | 占用宽带低,传输延迟小 |
缺点 | 占用宽带高,传输延迟大 | 没有任何可靠机制 |
适用场景 | 对数据完整性要求高,数据延迟要求低 | 延迟要求高,数据完整性要求低 |
------------------------------------------------------------------------------------------------------- 返回目录