2019/02/01 计算机网络基础04

在这里插入图片描述
在这里插入图片描述
交换机是典型的二层设备,原则来讲是不能隔断广播域的,但是在实际情况下,确实有这样的需求,比如
企业里都是主机与主机相连(一般用的是交换机相连),只有需要连接网络才需要路由器 。

在这里插入图片描述
如图,一个企业如果B是重要数据部门 ,A可以直接访问,C外部的也可以直击访问,那就有可能造成数据泄密,所以要采用隔断广播的功能VLAN
交换机是不能隔断广播的,
vlan虚拟局域网:
作用:就是用交换机也可以隔断广播,

在这里插入图片描述
hr人事 eng工程部 sales销售部
三层都有交换机,一个交换机负责把同一层的办公电脑连接起来,但是同一个部门可能分散在不同的楼层,所以需要有vlan,把同一个部门的链接口取一个名字。(12端口为vlan10)
在这里插入图片描述
上面两个AB,访问cd需要在两个交换机上链接路由
5 口和6口分别都是vlan10 vlan20
可以在路由器上做策略
如A可以访问cd,但是cd不能访问A

**
但是用这种方法比较浪费接口,一般路由没这么多接口,所以有了trunk**
在这里插入图片描述

在这里插入图片描述
**trunk 干道,不属于任何vlan,trunk在发数据的时候会改变帧结构,添加vlan端口信息
**
ISL 思科公司专门的trunk协议,802.1Q 协议标准IEEE国际电气和电子工程师协会
要打上vlan标记
802.1Q是打在type和源地址中间

总结:利用vlan可以用交换机隔断广播域,但仅仅隔断广播域是不足以用vlan与vlan之间通讯的,所以中间离不开路由器。

在这里插入图片描述
一个交换机两个vlan想要链接,不需要各自链接路由,主需要一根链接trunk到路由就可以了
在这里插入图片描述
**
访问层 accesslayer 接入层,负责把电脑接入到网络里(一般的交换机来完成)
分布层 distribution layer 一般用路由器实现,指定安全策略,路由,广播域
核心层的作用 就是起到快速转发的功能,用的是高级交换机(吞吐量10G)
分布层一般用路由器实现的**
比如下面的工业区
在这里插入图片描述
上面的交换器是高端交换机(吞吐量可达到10G)连接到服务器
下面的主机通过交换机,接到路由快速的连接到服务器
如果服务器接到下面的交换机(吞吐量只有1G)性能就大大降低了

在这里插入图片描述
ARPA诞生是1969年(互联网的前身)基本与linux1970年一样
与OSI模型(大概7几年才有)
TCP/IP在1983年开始使用
后来微软把这个协议引进到局域网
局域网早期用的是novel网络,ipx/spx协议
现在不论局域网和广域网都用的TCP/IP协议
TCP/IP分4层,osi分7层
TCP/IP是协议的集合,最重要的是TCP和IP,所以拿过来当名字了,实际拆开来有百种协议

在这里插入图片描述
TCP/IP是现实中的标准,但OSI有助于我们理解网络
应用层对应OSI的上三层

在这里插入图片描述
Application 应用层
Transport 传输层
Internet 网络层
Network Access 网络访问层

面试经常问 协议属于哪一层
FTP,TFTP ,NFS,HTTP,HTTPS,
SMTP(简单邮件传输协议,平时我们发邮件),
pop(配邮箱,pop3版本),
imap(与pop协议类似,也是可以用来从服务器下载文件用的),
telnet,
ssh(链接远程网络,QQ有自己的内部私有协议)
DNS (domain name system 域名系统)
这些都是应用层

在这里插入图片描述
etc/services 这个文件里全是协议,协议唯一区分他们的标志是,是端口号,这个数字就是端口号

应用层下面是传输层提供服务,传输层有两个协议用的比较多,是tcp,UTP,上层有那么多协议,那就得在下层协议中提现这些标记,这就是靠端口号(差不多等于type类型,表示生成协议的区分)

Internet层里有IP协议,ipx协议,arp协议等,那么在下面的数据链路层就有一个type类型,来提现上层协议的类型
在这里插入图片描述
session multiplexing 多路会话
segmentation 分段(传输大文件需要切片分段分成小包)
Flow control (when required)流控制(特定的协议的时候支持这个,不是特定的协议就不支持,如UDP就不支持)
connection-oriented (when required)面向连接
reliability (when required)可靠性
(when required )具体看哪种协议

在这里插入图片描述
reliable 可靠 best -effort 不可靠(较好的性能但是不可靠)
connection type 连接类型 connection-oriented面向连接 connectionless
protocol 协议
sequencing 测序
uses使用

**TCP叫传输控制协议 有包的编号
UDP用户数据包协议 没有包的编号 **
比如传输的时候包的数据有先后到的情况,后到了对UDP协议是无能为力的,因为并不知道包的次序是什么,没有包的编号,谁是第一个,谁是第二个,就按照谁是先收到,后收到的包,这样就可能带来问题,收到的数据可能是错误的
TCP比较适用于有容错功能的传输,邮件 文件共享,下载(邮件丢一个字节就损坏了,出错了就重传,有纠错能力)
UDP没有序号,如果数据错误只能重发,比如视频和语音
产生这样特性是因为TCP和UDP包的结构是截然不同

在这里插入图片描述
面向连接(在通讯的时候,有一个协商的过程,要一个安全可靠的网络通讯状态,才能取通讯)
全双工协议(你给我发的同时,我也可以往回发)
半关闭(等于单相思)(允许单向传输数据)两个TCP协议通里要断两次,一个是你不能给我发,我不能给你发
错误检查 TCP是有错误检查功能,发现数据有问题,可以及时辨别这个问题
将数据打包成段,排序(把大的数据分段并且排序)
确认机制(对方有没有收到还需要确认)
数据恢复,重传(对方如果没有收到,那就进行恢复重传)
流量控制,滑动窗口(两个主机性能不一样,双方网卡1000M ,100M,能够进行商量,达到一个双方都可以接受的速度进行传输)
拥塞控制,慢启动和拥塞避免算法(两者中间的网络状态可能随时间不一样,有可能比较忙,就慢慢的发数据)

有这些功能是因为由TCP协议的报文来确定
报文头部是在传输层

在这里插入图片描述
TCP的报文是在传输层,处于网络层和会话层中间和这个位置。
一行是0-31个位(32位)
0-15表示源端口 (16位=2的16次方=65536 个端口号)16个0,最大也就16个1,16个1就等于2的16次方
16-31表示目标端口 (16位=2的16次方=65536 个端口号,目标应用程序的端口)等于最多能表达65536个应用程序

序号,谁是第一个包,谁是第二个包,序号的最大值就是2的32次方,42亿个地址,42亿个包,但是服务器长时间不关机,很短时间就会达到42亿个包,到头 了,就重新编,那会不会有重复呢,后面还有一些其他的选项来避免,加时间戳,就确保不是一个包
序号是代表你发送数据在你这里的编号
确认号,目标收到返回确认,包收到了(是对方发过来的确认的编号)
序号是在你这台电脑上的编号,确认号是对端那台电脑的编号

偏移就是数据包报文的头部有多长,加这个偏移是因为,TCP这个报文头部不是固定大小,固定的大小是24字节,但是后面有一些可变长度的选项,这些选项长度大小不一样
保留说明,保留下来,这些字节是空的,没有使用
在这里插入图片描述
在这里插入图片描述
A的序号是100 B的序号是1000 A向B发送
B向A 发送 序号是1000 确认号是101
A再向B发送 序号是101 确认号是1001
B再向A发送 序号是1001 确认号是102

在这里插入图片描述
在这里插入图片描述
URG表示紧急指针位,(如果为0 表示后面的紧急指针是没有信息的,为1 就代表有重要含义)
ACK 重点掌握
PSH 表示的是收到数据以后是否直接传输给应用程序使用还是在buffer里先放一放,过一会再传给应用程序
RST 表示重置位,0表示这个数据包正常的,1表示个数据包在前面传输 时候有严重故障(我们希望把两个主机之间的信息重新传)
SYN 重点掌握
FIN 重点掌握
ACK,SYN FIN三个标记为是需要重点掌握的
这三个标记关键的实现了TCP协议的可靠,面向连接的概念

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
面向连接就是在通讯之前,确保对方有没有和你有一个可靠的链接
在这里插入图片描述
**0-1023是IANA 互联网数字分配结构进行分配的,你自己开发软件就不要用0-1023了,因为0-1023已经有了通用的应用程序定义了
22 ssh
80 http
443 https
ftp 21 (20)
dns tcp53 udp53
tftp 69
smtp 25
pop3 110
imap 143
telnet 23
mysql 3306
oracle 1521
sql server 1433
这些相当于应用程序的唯一标识
1023以内的端口,只有root权限有资格访问
普通用户是用不了1023以内的端口号的
端口号是一种资源
**
在这里插入图片描述
1024-49151 这个是用户自己应用的端口 也是服务器端口
C/S 49152-65535 这些是当客户端使用的,打开的端口是随机的

windows 有一个程序的列表 tasklist,可以列出你的进程的进程编号
在这里插入图片描述
netstat -no
在这里插入图片描述
在这里插入图片描述
80是服务器端口,客户端端口都是比较随机的
linux (随机范围可以人为指定)客户端口是从这里的范围随机找一个没人用的,等于你的客户端最多访问30000多个服务器
在这里插入图片描述
在这里插入图片描述
面向连接就是在通讯之前,确保对方有没有和你有一个可靠的链接,通过三个过程来实现的,俗称三次握手
一般都是客户端主动请求访问服务器,
第一部询问是否有可靠的链接
会把SYN为打1(同步位)seq序号X(32位的序号和确认号)
第二部对方会返回一个确认,ACK=1(表示的是前面的同步位消息收到了),SYN=1(也是一个请求,代表我发了个消息,你收到没有?)seq 序号 Y ACK=X+1(确认了就在之前+1,希望下次收到x+1)
第三部 会再发一个确认,上面的ACK我已经收到了 seq=x+1(发过来的x+1包) ack=y+1(希望收到y+1的包)

ACK=1表示的是前面的同步位收到了
seq序号
seq=x+1
ack=y+1

实际上就等于我们客户端和服务器的网络状态
A和B未通讯之前就是closed关闭状态 但是服务器不能老关着,就要切换成监听状态listen
客户端A把同步位发出去之后,客户端就从 closed进入syn-sent状态(同步已发送)
A 状态切换 CLOSED>SYN-SENT B 状态切换 listen>sys-rcvd (同步收到)
A 状态切换 SYN-SENT >estab-ished(已建立链接) B 状态切换 sys-rcvd >estab-ished(已建立链接)
建立通讯,有了这三次握手,就对我们以后的通讯有了保障

如果是两次握手,只能单确认
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值