一、4-TCP,UDP,路由器管理¶
1.1 TCP和UDP端口结构¶
端口是一个软件结构,被客户程序或服务进程用来发送和接收信息。
客户端始发通信,访问服务器的方向上: 1、源端口:理解为客户端端口,代表发送端的应用程序,一般都是随机生成的,是一个大于1023的随机数。 2、目的端口:理解为服务器端口,代表接收端的应用程序,通常都是TCP/IP统一规范的服务,也被称为标准端口。
1.2 TCP协议简介¶
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层协议。TCP数据在IP报头的协议代码是6.
1.2.1 TCP协议的基本特点¶
1、位于TCP/IP协议栈的传输层 2、提供面向连接的通信 3、保证通信的顺序(所有数据包都有顺序编号) 4、可靠通信(所有数据包都有明确的确认机制) 5、流控机制(拥塞检测和流量控制)
1.2.2 TCP报头¶
1.16位源端口号:16位的源端口中包含初始化通信的端口。 2.16位目的端口号:16位的目的端口域定义传输的目的,这个端口指明报文接收计算机上的应用程序地址接口。 3.32位序号:32位的序列号由接收端计算机使用,重新分段的报文成最初形式。当SYN出现,序列号实际上是初始序列码,而第一个数据字节是ISN+1,这个序列号可用来补偿传输中的不一致。 4.32位确认序号:32位的序列号由接收端计算机使用,重组分段的报文成最初形式。如果设置了ACK控制位。这个值表示一个准备接收的包的序列码。 5.4位首部长度:4位包括TCP头大小,指示何处数据开始。 6、保留(6位):6位值域,为了将来定义新的用途而保留。 7、标志:6位标志域。表示为紧急标志、有意义的应答标志、推、重置连接标志、同步序列号标志、完成发送数据标志。按照顺序排列是:URG、ACK、PSH、RST、SYN、FIN。6位标志域的各个选项功能如下: (1)URG:紧急标志,为1表明该位有效。 (2)ACK:确认标志,表明确认编号栏有效。 (3)PSH:推标志,该标志置位时,接收端不将该数据进行队列处理,而是尽可能快地将数据转由应用处理。在处理Telnet或rlogin等交互模式的连接时,该标志总是置位的。 (4)RST:复位标志,用于复位相应的TCP连接。 (5)SYN:同步标志,表明同步序列号编号栏有效。该标志仅在三次握手建立TCP连接时有效。 (6)FIN:结束标志(关闭TCP连接时使用) 8.16位窗口大小:用来表示想收到的每个TCP数据段的大小。 9.16位校验和:16位TCP头,源机器基于数据内容计算一个数值,收信息机要与源机器数值结果一样,从而证明数据的有效性。这是一个强制性的字段,一定是由发送端计算和存储,并由接收端进行验证的。 10.16位紧急指针:指向后面是优先数据的字节,在URG标志设置了时才有效。如果URG标志没有被设置,紧急域作为填充。加快处理标示为紧急的数据段。 11、选项:长度不定,但长度必须为1个字节,如果没有选项就表示这个1字节的域等于0.
1.2.3 TCP三次握手¶
三次握手完成,TCP客户端和服务器端成功建立连接,可以开始传送数据。
1.2.4 TCP四次挥手¶
1、某个应用进程首先调用close,称该端执行"主动关闭"。该端的TCP于是发送一个FIN分节,表示数据发送完毕。 2、接收到这个FIN的对端执行"被动关闭"。这个FIN由TCP确认。 3、一段时间后,接收到这个文件结束符的应用进程将调用close关闭它的套接字。这导致它的TCP也发送了一个FIN。 4、接收这个最终FIN的原发送端TCP确认这个FIN。
1.2.5 TCP连接的双向会话特征¶
在一个TCP连接上,同时建立两个会话,会话特征如下: 1、发送端会话信息:源IP、目的IP、协议、源端口、目的端口 2、接收端会话信息:将发送端会话的源和目的信息自动镜像生成
1.3 UDP协议简介¶
UDP是一种面向无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
UDP提供了无连接通信,且不对传送数据包进行可靠性保证,适合于一次传输少量数据,UDP传输的可靠性由应用层负责。
1.3.1 UDP报头¶
UDP协议使用报头中的校验值来保证数据安全。
1.16位源端口 2.16位目的端口 3.16位UDP长度 4.16位UDP检验和
1.4 Telnet、SSH、Traceroute¶
1.4.1 telnet服务简介¶
1、telnet是使用tcp通信的一种TCP/IP应用层服务,通信端口是23. 2、使用telnet的前提条件是IP路由已连通 3、思科设备默认开启了telnet服务,思科设备即可以是一个telnet客户端也可以是一个telnet服务端。
1.4.2 telnet会话管理¶
1、管理telnet从本地主机始发的出站会话 (1)退出远程连接后,使用show session命令观察本地主机始发的出站会话
Client#show sessions
Conn Host Address Byte Idle Conn Name
* 1 10.1.1.2 10.1.1.2 0 0 10.1.1.2
(2)远程登录后可使用Ctrl+shift+6组合键之后,单击x,从远程控制台返回本地控制台 (3)使用Resume <会话号>从本地控制台切换到远程控制台。
Client#resume 1
[Resuming connection 1 to 10.1.1.2 ... ]
Server#
(4)从远程控制台返回本地控制台后,使用Disconnect <会话号>关闭本地主机的出站会话。
Client#disconnect 1
Closing connection to 10.1.1.2 [confirm]
2、管理telnet入站会话(从外部主机到本地主机的入站会话) (1)使用show users命令观察从外部主机到本地主机的入站会话。
Server#show users
Line User Host(s) Idle Location
* 0 con 0 idle 00:00:00
Interface User Mode Idle Peer Address
(2)使用clear line <vty 线路号>关闭入站会话。
Server#clear line 4
1.4.3 telnet配置¶
1、保证路由可通 2、设置登录认证方式 (1)设置虚拟终端线路号并进入虚拟线路终端配置模式(全局配置模式下)
Switch(config)#line vty <0-15>
(2)配置认证方式为无认证(虚拟线路终端配置模式下)
Switch(config-line)#no login
(3)配置认证方式为密码认证(虚拟线路终端配置模式下)
Switch(config-line)#login local
(4)配置虚拟线路登录认证密码-仅在密码认证时需要配置
Switch(config-line)#password <password>
3、创建本地用户并设置权限和密码(全局配置模式下,仅本地认证方式需要)
Switch(config)#user <user-name> [privilege <0-15>] password|secret <password>
4、配置特权模式登录密码(全局配置模式下)
Switch(config)#enable password|secret <password>
5、配置默认网关(全局配置模式下)
Switch(config)#ip default-gateway <gateway-ip>
1.4.4 SSH配置¶
1、配置思科设备的SSH服务 (1)配置主机名
Server(config)#hostname <hostname>
(2)设置域名
Server(config)#ip domain-name cisco.com
(3)设置用户名以及密码
Server(config)#user <user-name> secret <password>
(4)生成密钥
Server(config)#crypto key generate rsa
The name for the keys will be: Server.cisco.com
Choose the size of the key modulus in the range of 360 to 2048 for your
General Purpose Keys. Choosing a key modulus greater than 512 may take
a few minutes.
How many bits in the modulus [512]: 1024
% Generating 1024 bit RSA keys, keys will be non-exportable...[OK]
(5)设置虚拟终端线路号并进入虚拟线路终端配置模式(全局配置模式下)
Server(config)#line vty 0 4
(6)配置认证方式为密码认证(虚拟线路终端配置模式下)
Server(config-line)#login local
(7)配置认证服务类型为SSH(虚拟线路终端配置模式下)
Server(config-line)#transport input ssh
(8)配置SSH版本为2
Server(config)#ip ssh version 2
2、思科设备客户端连接SSH服务器
Client#ssh -l <用户名> -v 2 <目的主机ip>
1.4.5 SSH会话管理¶
1、管理SSH从本地主机始发的出站会话 (1)退出远程连接后,使用show session命令观察本地主机始发的出站会话
Client#show sessions
Conn Host Address Byte Idle Conn Name
* 1 10.1.1.2 10.1.1.2 0 0 10.1.1.2
(2)远程登录后可使用Ctrl+shift+6组合键之后,单击x,从远程控制台返回本地控制台 (3)使用Resume <会话号>从本地控制台切换到远程控制台。
Client#resume 1
[Resuming connection 1 to 10.1.1.2 ... ]
Server#
(4)从远程控制台返回本地控制台后,使用Disconnect <会话号>关闭本地主机的出站会话。
Client#disconnect 1
Closing connection to 10.1.1.2 [confirm]
2、管理SSH入站会话(从外部主机到本地主机的入站会话) (1)使用show users命令观察从外部主机到本地主机的入站会话。
Server#show users
Line User Host(s) Idle Location
* 0 con 0 idle 00:00:00
Interface User Mode Idle Peer Address
(2)使用clear line <vty 线路号>关闭入站会话。
Server#clear line 4
1.4.6 Traceroute命令¶
用于测试两个TCP/IP系统之间的网络层连通性和显示传输路径中每一跳地址,又称为路径跟踪。
1、命令格式如下:
Client#traceroute 10.1.1.2
Type escape sequence to abort.
Tracing the route to 10.1.1.2
1 10.1.1.2 0 msec 0 msec 0 msec