TCP/IP 协议簇 端口 三次握手 四次挥手 11种状态集

简介: 第1章 概念介绍 1.1 VLAN 1.1.1 什么是VLAN   VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。

第1章 概念介绍

1.1 VLAN

1.1.1 什么是VLAN

  VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。

1.1.2 划分VLAN的目的

1.     提高安全性

a)       举个例子:没有划分VLAN,交换机端口连接下的所有PC都处于一个VLAN中即一个广播域中,实现ARP中间人攻击太简单了.划分了VLAN之后,缩小了ARP攻击的范围.ARP报文是一个2.5层的报文,只能在同一个VLAN中传播.

2.     提高性能

a)       不划分VLAN,整个交换机都处于一个广播域,随便一台PC发送的广播报文都能传送整个广域播,占用了很多带宽.划分了VLAN,缩小的广播域的大小,缩小了广播报文能够到达的范围.

1.1.3 vlan 配置

1.1.3.1 创建vlan 20

Switch(config)#vlan 20
Switch(config-vlan)#name test   #给vlan命名
Switch(config-vlan)#exit

1.1.3.1.1       进入端口将端口分配到vlan 20

Switch(config)#interface FastEthernet 0/1
Switch(config-if)#switchport access vlan 20

1.1.3.2 查看vlan的信息

Switch#show vlan brief
 
VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/2, Fa0/3, Fa0/4, Fa0/5
                                                Fa0/6, Fa0/7, Fa0/8, Fa0/9
                                                Fa0/10, Fa0/11, Fa0/12, Fa0/13
                                                Fa0/14, Fa0/15, Fa0/16, Fa0/17
                                                Fa0/18, Fa0/19, Fa0/20, Fa0/21
                                                Fa0/22, Fa0/23, Fa0/24
20   test                             active    Fa0/1
1002 fddi-default                     active   
1003 token-ring-default               active   
1004 fddinet-default                  active   
1005 trnet-default                    active   

1.2 DoD参考模型

OSI 7层模型的基础上进行了精简和优化,产生了DoD参考模型

 

1.3 TCP/IP 协议簇

1.3.1 组成

TCP/IP协议簇是Internet的基础,也是当今最流行的组网形式。TCP/IP是一组协议的代名词,包括许多别的协议,组成了TCP/IP协议簇。其中比较重要的有SLIP协议、PPP协议、IP协议、ICMP协议、ARP协议、TCP协议、UDP协议、FTP协议、DNS协议、SMTP协议等。

1.3.2 tcp/ip协议簇中相关协议

 

1.3.3 协议名称与对应端口号

协议名称

中文释义

协议端口

FTP协议     

文件传输协议

21

SSH协议

安全 Shell(SSH)服务

22

Telnet协议

远程登陆服务的标准协议

23

SMTP协议

简单邮件传输协议

25(UDP)

DHCP协议

动态主机配置协议

67 68(UDP)

TFTP协议

简单文件传输协议

69

HTTP协议

超文本传输协议

80/8080

POP3协议

邮局协议版本3

110

rpc协议

远程过程调用协议

111

SNMP协议

简单网络管理协议

161

NFS协议

 网络文件系统

 

 

1.3.4 端口号

标示协议信息,便于计算机之间进行识别

0 号端口udptcp 中都不会使用

1.4 TCP UDP

TCP (传输控制协议)面向连接的网络协议

UDP (用户报文协议)面向无连接的网络协议

 

1.4.1 TCPUDP 协议对比:

传输控制协议(TCP

用户数据报协议(UDP

面向连接

无连接

可靠传输

不可靠传输

流控

尽力而为,尽力传递

使用TCP应用:

WEB浏览器;电子邮件;文件传输服务

使用UDP的应用:

域名系统 (DNS);视频流;ip语音(VoIP)

1.5 TCP报文的结构

 

1.5.1 确认字段ACK

   ACK=1时,表示确认,且确认号有效;当ACK=0时,确认号字段无效

1.5.2 请求连接字段 SYN

SYN=1时,表示发起一个连接请求。

1.5.3 断开连接字段FIN

用来释放连接。当FIN=1时,表明此报文段的发送端的数据已发送完成,并要求释放连接。

1.5.4 序号 

       每一个TCP报文段都会有一个序号,序号字段的值其实是本报文段所发送的数据的第一个字节的序号。

这是因为TCP是面向连接的可靠服务,其每一个字节都会对应一个序号,通过序号来确保服务的可靠性和有序性。 

1.5.5 确认号

确认号,是期望收到对方的下一个报文段的数据的第一个字节的序号

1.5.5.1 序号与确认号   

发送端发送一个seq序列号x,接收端需要回复一个确认号x+1,并发送一个序列号Y

发送端接收一个seq序列号y,接收端需要回复一个确认号y+1

第2章 三次握手与四次挥手

2.1 三次握手

2.1.1 含义

1)客户 端发送一个带SYN标志的TCP报文到服务器。

2 服务器端回应客户端的,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。

3 客户必须再次回应服务段一个ACK报文。

2.1.2 五种状态

LISTEN      

侦听来自远方TCP端口的连接请求;

SYN-SENT    

在发送连接请求后等待匹配的连接请求;

SYN-RECEIVED

在收到和发送一个连接请求后等待对连接请求的确认

ESTABLISHED 

代表一个打开的连接,数据可以传送给用户;

CLOSED      

没有任何连接状态;

 

2.2 四次挥手

2.2.1 文字说明

 (1 TCP 户端发送一个FIN,用来关闭客户到服务器的数据传送。

 (2 服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN 样,一个FIN将占用一个序号。

 (3 服务器关闭客户端的连接,发送一个FIN给客户端。

 (4 客户段发回ACK报文确认,并将确认序号设置为收到序号加1

2.2.2 一形态

 

2.2.3 在四次握手中的状态集

ESTABLISHED

代表一个打开的连接,数据可以传送给用户;

FIN-WAIT1  

等待远程TCP的连接中断请求,或先前的连接中断请求的确认;

FIN-WAIT2  

从远程TCP等待连接中断请求;

CLOSE-WAIT 

等待从本地用户发来的连接中断请求;

CLOSING    

等待远程TCP对连接中断的确认;

LAST-ACK   

等待原来发向远程TCP的连接中断请求的确认;

TIME-WAIT  

等待足够的时间以确保远程TCP接收到连接中断请求的确认;

CLOSED     

没有任何连接状态;

2.2.4 第二种形态CLOSING

 

2.3 十一种状态集

 

2.4 随机端口号范围(/proc/sys/net/ipv4/ip_local_port_range 文件)

[root@clsn ~]# cat /proc/sys/net/ipv4/ip_local_port_range
32768   60999

2.5 socket  监听

2.5.1 监听状态

[root@clsn ~]# netstat -lntup|grep sshd
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1140/sshd          
tcp        0      0 :::22                       :::*                        LISTEN      1140/sshd 
 
[root@clsn ~]# netstat -an|grep ES
tcp        0     64 10.0.0.201:22               10.0.0.1:3868               ESTABLISHED

2.5.2 socket 条目 五元组概念

1、协议 tcp udp

2、目标ip地址

3、目标主机端口号

4、源ip地址

5、源端口号

2.6 ssh服务关闭 为什么连接不断

[root@clsn ~]# ps -ef |grep sshd
root       1140      1  0 Sep25 ?        00:00:00 /usr/sbin/sshd
root       5861   1140  0 11:40 ?        00:00:00 sshd: root@pts/0
root       5881   5863  0 11:40 pts/0    00:00:00 grep --color=auto sshd
 
[root@clsn ~]# /etc/init.d/sshd stop
Stopping sshd:                                             [  OK  ]
 
[root@clsn ~]# ps -ef |grep sshd
root       5861      1  0 11:40 ?        00:00:00 sshd: root@pts/0
root       5899   5863  0 11:41 pts/0    00:00:00 grep --color=auto sshd

因为有一个连接的进程存在

没有进程就会断开。

2.7 网络中的滑动窗口

原理:

TCP使用窗口机制进行流量控制。当连接建立后,发送方和接收方都要分配一块自己的缓冲区来存储接收的数据,为了防止就收方已经没有缓冲区进行接收而发送方在在继续发送,出现网络拥塞和故障。所以用滑动窗口进行了流控。

具体实现:

接收方将缓冲区剩余的尺寸和期待接收的下一个字节序号在确认信息中发送给发送方,发送方根据接收方剩余的大小空间来定量的发送合适的数据给接收方。它也是建立在“确认重传”的基础之上。

2.8 网络中迷途情况

前一个连接没有及时到达,新的连接又产生。

作者: 惨绿少年
出处: http://www.nmtui.com
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
2月前
|
网络协议
TCP/IP与OPC协议的深度比较
总的来说,TCP/IP和OPC协议各有其优点和应用场景。TCP/IP协议是网络通信的基础,而OPC协议则是工业自动化领域的重要工具。在实际应用中,我们需要根据具体的需求和场景,选择合适的协议。
81 11
|
2月前
|
域名解析 API PHP
VM虚拟机全版本网盘+免费本地网络穿透端口映射实时同步动态家庭IP教程
本文介绍了如何通过网络穿透技术让公网直接访问家庭电脑,充分发挥本地硬件性能。相比第三方服务受限于转发带宽,此方法利用自家宽带实现更高效率。文章详细讲解了端口映射教程,包括不同网络环境(仅光猫、光猫+路由器)下的设置步骤,并提供实时同步动态IP的两种方案:自建服务器或使用三方API接口。最后附上VM虚拟机全版本下载链接,便于用户在穿透后将服务运行于虚拟环境中,提升安全性与适用性。
|
6月前
|
网络协议 API
检测指定TCP端口开放状态免费API接口教程
此API用于检测指定TCP端口是否开放,支持POST/GET请求。需提供用户ID、KEY、目标主机,可选指定端口(默认80)和地区(默认国内)。返回状态码、信息提示、检测主机、端口及状态(开放或关闭)。示例中ID和KEY为公共测试用,建议使用个人ID和KEY以享受更高调用频率。
135 14
|
6月前
|
网络协议 Ubuntu Linux
解决ssh: connect to host IP port 22: Connection timed out报错(scp传文件指定端口)
解决 `ssh: connect to host IP port 22: Connection timed out` 报错涉及检查 SSH 服务状态、防火墙配置、网络连通性和主机名解析等多个方面。通过逐步排查上述问题,并在 `scp` 命令中正确指定端口,可以有效解决连接超时的问题,确保文件传输的顺利进行。希望本文提供的解决方案能帮助您快速定位并解决该错误。
1370 3
|
6月前
|
运维 网络安全
解决ssh: connect to host IP port 22: Connection timed out报错(scp传文件指定端口)
通过这些步骤和方法,您可以有效解决“ssh: connect to host IP port 22: Connection timed out”问题,并顺利使用 `scp`命令传输文件。
5467 7
|
7月前
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
134 13
|
7月前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
456 3
|
7月前
|
网络协议 API
检测指定TCP端口开放状态免费API接口教程
该API用于检测目标主机指定TCP端口是否开放,适用于检测连通状态等场景。支持指定大陆、美国、香港等检测节点。请求地址为 `https://cn.apihz.cn/api/wangzhan/port.php`,支持POST和GET请求方式。请求参数包括 `id`、`key`、`type`、`host` 和 `port`。返回参数包含检测结果和状态码。示例请求:`https://cn.apihz.cn/api/wangzhan/port.php?id=88888888&key=88888888&type=1&host=49.234.56.78&port=80`。
|
7月前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
8月前
|
网络协议 算法 数据格式
【TCP/IP】UDP协议数据格式和报文格式
【TCP/IP】UDP协议数据格式和报文格式
513 3