HTTP:80
HTTPS:HTTP+SSL:443
网络层——IP地址,实现逻辑寻体
数据链路层(介质访问控制层---MAC地址)逻辑访问控制层LLC——物理寻址
物理层——处理电信号
核心:分层
分层的好处
位于同一层的协议或者具备相同或者相似的功能,而不同层次之间的协议或者设备具有明显的差异
1.更利于标准化
2.降低层次之间的关联性
每一层都提供自身的服务
每一层都在下层的基础上提供一些增值服务
TCP/IP协议簇一系列协议的组合
1.分的太细
TCOP/IP模型
PDU——协议数据单元
L1PDU
L2PDU
...
L7PDU
应用层——数据报文
HTTP:80
HTTPS:443
Tenet:23
传输层——数据段
网络层——数据包
数据链路层——数据帧
物理层——比特流
封装的解封装
封装:到达某一层次数据之前封装上对应的功能数据,让他执行相应的功能
解封装——封装的逆过程
应用层——数据报文
传输层——数据段
TCP
UDP
网络层——数据包
IP协议
数据链路层——数据帧
以太网协议
物理层——比特流
TCP
UDP
不同点:
1.TCP是面向连接协议,而UDP是无连接的一种协议
三次握手
2.TCP的传输是可靠的,而UDP的传输是不可靠的
TCP——排序,确认,重传,流控的机制
3.TCP可以进行流控,而UDP不能(滑动窗口)
4.TCP可以进行分段,而UDP不能
5.TCP消耗资源会比较多,传输效率比较低,而UDP消耗资源比较少,软件传输效率比较高
应用场景:TCP一般运用在对数及可靠性要求比较高,但是对传输效率要求相对较低的情况,比如说传输文件/邮件等等。
UDP一般运用在对数及可靠性要求比较低,但是对传输效率要求相对较高的情况,比如说即时通讯,直播等等。
TCP的报头
TCP的三次握手:
ACKnuber——确认序号=本地接收到的序号+1
协议——指示上层使用何种协议
标识,标志,片偏移——IP的分片
MTU——最大传输单元,默认情况下规定的大小
数据链路层最大不能超过1500字节
MSS——最大段长度——传输层分段之后的数据大小——1460字节=MTU-IP报头-TCP报头
数据链路层——以太网协议
类型—标识上层协议类型
FCS——帧校验序列——CRC算法
TCP的三次握手:
ACKnuber---确认序号=本地接受的序号+1
传输层---数据段
TCP
UDP
不同点:
1.TCP是面向连接协议,而UDP是无线的一种协议
三层握手
2.TCP的传输是可靠的,而UDP的传输是不可靠的
TCP--排序确认重传流控的的机制
3.TCP可以进行流控,而UDP不能(滑动窗口机制)
4.TCP可以进行分段,而UDP不能
5.TCP消耗资源比较多,传输效率比较低,而UDP小号资源比较小,传输效率比较高
应用场景:TCP一般运用在对数据可靠性要求比较高,但是对于传输效率要求相对较低的情况,比如说传输文件/邮件等。
UDP一般运用在对数据可靠性要求比较低,但是对于传输效率要求比较高。比如说即时通讯,直播等。
TCP的报头
UDP报头
三次握手具体过程
(1)第一次握手
Client端将SYN置为1,表示希望与Server端建立连接;序号seq初始化为J,并将该数据包发送给Server端,Client进入SYN_SENT状态,等待Server确认。
(2)第二次握手
Server端检查报文发现SYN为1,知道了Client端想建立连接;Server端将SYN置为1,表示Server端也希望与Clinet端建立连接;Server端将ACK置为1,表示收到了Client端建立连接的请求;Server端将seq初始化为K;Server端将ack置为J+1,这里ack=seq + 1,还有疑问(如果控制位占1字节,为什么第三次握手时有ACK=1、SYN=1,ack为什么不是+2?如果+1只是告诉服务端收到了消息,那ACK控制位就已经达到目的了,为什么还要多次一举再加一个ack?)。第二次握手包括服务端确认客户端发来的报文和服务端向客户端发送报文两个过程。
(3)第三次握手
Client收到报文后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给Server,Server检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态,完成三次握手,随后Client与Server之间可以开始传输数据了。第三次握手包括客户端确认服务端发来的报文,客户端向服务端发送报文和服务端确认客户端发来的报文三个过程。
三次握手是建立TCP连接,四次挥手是断开TCP连接,即客户端和服务端总共要收发4个包才能确定断开连接。
2.1 四次挥手的具体过程
(1)第一次挥手
假设客户端主动发起断开请求,客户端向服务端发送报文,报文首部包括FIN=1,这个控制位代表客户端想要断开连接;序列号seq=u,这时客户端进入FIN-WAIT-1(终止等待1)状态,停止发送数据,并等待服务端的确认。
(2)第二次挥手
服务端收到客户端的报文后发出确认报文,控制位ACK=1;确认号ack=u+1;序列号seq=v;然后服务端就进入CLOSE-WAIT(关闭等待)状态。TCP服务端会告知上层的应用进程来自客户端的连接即将关闭,让应用程序做好相应的准备。此时客户端已经没有数据向服务端发送了,但服务端向客户端发送数据,客户端依然能接收。
(3)第三次挥手
客户端收到服务器确认报文后,进入FIN-WAIT-2状态。此时服务器再次发送报文,报文首部控制位FIN=1,表示服务端向客户端发送断开连接请求;确认标志ACK=1;确认序号ack=u+1;序号seq=w,然后服务器进入LAST-ACK(最后确认态),等待客户端确认。
(4)第四次挥手
客户端收到了服务端的断开连接的报文后,必须发出确认报文,标志位ACK=1;确认号ack=w+1;序号seq=u+1;之后客户端就进入了TIME-WAIT(时间等待)状态。注意此时客户端的TCP连接还没有释放,必须经过2*MSL(最长报文段寿命)的时间后,客户端才进入CLOSED状态关闭连接。而服务端只要收到了客户端发送的确认报文后就会进入CLOSED状态关闭服务端连接。当客户端和服务端都进入了CLOSED状态后,客户端和服务端之间的连接才完全断开。
2.2 为什么会有TIME_WAIT状态?
上面介绍第四次挥手的过程中,客户端在发送完给服务端的回执报文后没有立刻进入CLOSED状态,而是进入TIME-WAIT状态,然后等待2*MSL(最长报文段寿命)的时间后才进入CLOSED状态,这是为什么?原因有以下两点:
客户端发送给服务端回执后,有可能这个回执报文在传输途中丢失等原因,服务端并没有收到,此时服务端会再次向客户端发送FIN=1的断开请求报文,如果客户端没有等待2*MSL时间而直接进入了CLOSED状态,客户端就会收不到服务端再次发送的断开连接的请求报文,导致服务端无法进入CLOSED状态;
等待一段时间是为了让本连接持续时间内所产生的所有报文都从网络中消失,使得下一个新的连接不会出现旧的连接请求报文。
注:MSL是Maximum Segment Lifetime英文的缩写,中文可以译为“报文最大生存时间”,他是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。
2.3 为什么是四次挥手而不是三次或者五次?
第二次挥手和第三次挥手都是服务端向客户端发送报文,第二次挥手是服务端收到了客户端的断开请求,通知客户端俺收到了,此时客户端没有数据向服务端发送了,但不代表服务端也没有数据向客户端发送,因为服务端要把剩余还没有发送的报文发送完毕再断开连接;第三次挥手是服务端数据全部发送完毕,向客户端发送断开请求报文(FIN=1)。
如果是三次挥手,即把服务端向客户端发送报文的第二次挥手和第三次挥手合为一次,会造成服务端发送了回执后立刻又发送断开请求,造成服务端有数据没有全部发送至客户端,因此必须将第二次挥手和第三次挥手分开;五次挥手则完全没必要,多此一举。
OSI七层参考模型
应用层—应用程序:接受人类传递的一些参数
表示层:转为二进制
会话层:建立,维持和断开一次会话,PC和服务区之间建立的请求
传输层:优化传输——实现端对端的传输;端口号——二进制构成,16位二进制组成,65536个,0-65535,0-1023知名端口号,著名端口号,标定了特定的服务。
网络层 数据链路层(介质访问控制层)
物理层 核心:分层 分层的好处 位于同一层的协议或者设备具备相同或者相似的功能,而不同层次之间的协议或者设备具有明显的差异。
1.更利于标准化
2.降低层次之间关联性。 每一层都提供自身的服务 每一层都在下层的基础上提供一些增值服务
优化传输一实现端对端的传输
为了区分进程和服务
端口号一二进制构成,16位二进制构成,65536个0-65535,0-1023
知名端口号,著名端口号,标定了特定的服务
HTTP:80
HTTPS: HTTP+SSL: 443
网络层-IP地址,实现逻辑导址
数据链路层(介质访问控制层--MAC)逻辑访问控制层 LLC---物理寻址
物理层--处理电信号
核心: 分层分层的好处 位于同一层的协议或者设备具备相同或者相似的功能而不同层次之间的协议或者设备具有明显的差异 1更利于标准化 2.降低层次之间关联性 每一层都提供自身的服务 每一层都在下层的基础上提供一些增值服务
TCP/IP
L7PDU
应用层---数据报文
HTTP:80
HTTPS:443
Tenet:23
TCP/IP协议簇---一系列协议的组合
1.分的太细
TCP/IP模型
PDU---协议数据单元
L1PDU
L2PDU
...
L7PDU
应用层---数据报文
HTTP:80
HTTPS:443
Tenet:23
TCP协议是对数据传输提供的一个管控机制,主要体现在可靠和效率两个方面,即在保证数据可靠传输的情况下尽可能的提高效率
2.1 可靠传输机制
2.1.1 确认应答机制
向对方发送一个数据报,对方要返回一个确认应答的数据报
实现的方式:序号和确认序号保证了响应应答针对的是哪一条消息的应答
协议---指示上层使用何种协议
标识,标志,片偏移---IP的分片
MTU-最大传输单元
数据链路层最大不能超过1500字节
MSS-最大段长度--传输层分段后的数据大小---1460字节=MTU-IP报头
数据链路层---数据帧
以太网
网络层---数据包
IP协议
DHCP---动态主机配置协议
UDP进行传输--67 68端口
c/s架构的一种协议
C-client--客户端---想要通过DHCP获取地址的设备 67
S-server--服务端--下发地址的设备 68
工作过程:
第一种场景---PC首次获取IP地址的情况
S源 D目标
DHCP---discover--发现包 客户端---服务端----广播发送的数据包
Sport 67 Dport 68 源端口到目标端口
SIP 0.0.0.0 DIP 255.255.255.255
SMAC PC1 DMAC FF-FF-FF..FF
DHCP--offer包--服务端--数据端 ---区分厂商的,华为单波发送 思科广播发送
Sport 68 Dport67
SIP 服务端自身IP地址DIP 准备下发的IP地址
SMAC服务端DMAC PC1
当网络中存在多台DHCP服务端时,存在多个offer包
DHCP ---request请求包--客户端服务器---广播发送
当客户端收到多个offer包,会进行选择,选择最先收到1的offer包中携带的IP地址
Sport 67 Dport 68
SIP 0.0.0.0 DIP255.255.255.255
SMAC PC1 DMAC FF-FF-FF..FF
DHCP---ACK确认包 服务端--客户端 可单播可广播
Sport 68 Dport 67
sip 服务器 dip 下发的地址
Smac 服务端dmac 客户端
第二种场景-PC(客户端)再次获取IP地址,直接重复三四过程
PC具备存储记忆的功能
在一定时间内,如果PC想要再次获取IP地址
DHCP-request 请求包一客户端---服务端--单波
Sport 67 dport 68SIP曾经获取的IP地址DIP服务器的地址
SMAC PC1 DMAC服务器的地址
DHCP-ACK 确认包服务端-客户端可单播可广播
Sport 68 dport 67
sip服务器 dip 下发的地址
Smac服务端dmac 客户端
DHCP租期
24H--一天
T1--默认租期的50%---12H
T2--默认租期的87.5%---21H
续租的行为
DHCP--NAK
DHCP--relize--释放IP
配置步骤
Tab----自动补全
1.看广播域一看路由器的接口
2.分配网段
3配置IP地址一为所有需要配置IP地址的节点配置IP地址
VRP
基本配置
<Huawei>---用户视图
<Huawei>save-----保存配置
The current configuration will be written to the device.
Are you sure to continue? (y/n)[n]:y
It will take several minutes to save configuration file, please wait.......
Configuration file had been saved successfully
Note: The configuration file will take effect after being activated
<Huawei>system-view .---进入系统视图(全局视图)
Enter system view, return user view with Ctrl+Z.
[Huawei]quit--退出视图
[Huawei]sysname r1 ---设备命名
<r1>display current-configuration ---查看所有配置
路由器接口IP配置
[r1]interface GigabitEthernet 0/0/0---进入接口
[r1]display this --查看该位置配的指令
[r1-GigabitEthernet0/0/0]ip address 192.168.1.1 24----接口配置IP
更改ip直接可以直接覆盖
[r1-GigabitEthernet0/0/0]undo ip address ---删除配置,在原配置之前加一个undo
[r1-GigabitEthernet0/0/0]display ip interface brief ----查看接口IP
DHCP配置
每个PC设置为DHCP
[r1]dhcp enable ----启动服务
Info: The operation may take a few seconds. Please wait for a moment.done.
[r1]ip pool name ----DHCP的IP地址池塘
Info: It's successful to create an IP address pool
[r1-ip-pool-name]network 192.168.1.0 mask 24---宣告下发的地址范围(网段)
[r1-ip-pool-name]gateway-list 192.168.1.1----下发网关
[r1-ip-pool-name]dns-list 8.8.8.8 114.114.114.114----下发DNS服务器
[r1]interface GigabitEthernet 0/0/0---进入接口
[r1-GigabitEthernet0/0/0]dhcp select global -----激活全局DHCP池塘配置
从大到小依次下发IP
Telnet配置
[r1]aaa一华为设备存储账号和密码的空间
[r1-aaa]local-user huawei password cipher 123456一创建登录账号和密码,华为默认
密文存储
[r1-aaa]local-user huawei service-type telnet--让这个账号用作telnet (远程操作)
[r1-aaa]local-user huawei privilege level 0一设置登录权限,数值越大权限越高
[r1Juser-interface vty04一创建用于登录的接口,注意这里的接口是虚拟接口,并不真实存在
[r1-ui-vty0-4]authentication-modeaaa一绑定aaa空间的账号和密码