第一章:概念介绍

1.1 VLAN

1.1.1 什么是VLAN

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

1.1.2 划分VLAN的目的

1,提高安全性

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

2,提高性能

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

1.3 TCP/IP协议簇

1.3.1组成

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

TCP/IP协议簇中相关的协议

1.3.3 协议名称与对应端口号

1.3.4 端口号

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

0号端口在tcp和udp中都不会使用

1.4 TCP和UDP

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

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

1.4.4  TCP/UD协议的对比

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,

发送端接受一个序列号y ,接受端需要回应一共序列号y+1

第二章:三次握手和四次挥手

2.1 三次握手

2.1.1 含义

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

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

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

2.1.2 五种状态

2.2 四次挥手

2.2.1文字说明

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

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

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

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

2.2.2 一形态

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

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

没有进程就会断开。

TCP/IP协议簇 端口 三次握手 四次挥手 11种状态集的更多相关文章

  1. 网络基础二 tcp/ip协议簇 端口 三次握手 四次挥手 11种状态集

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

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

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

  3. TCP/UDP协议、理解三次握手四次挥手、Socket

    一.什么是socket? 中文名叫套接字,是对底层的 TCP IP UDP 等网络协议进行封装,使得上层的应用程序开发者,不用直接接触这对复杂,丑陋的协议. 在程序员的言论,他就是一个封装好的模块,要 ...

  4. TCP/IP协议全解析 三次握手与四次挥手[转]

    所谓三次握手(Three-Way Handshake)即建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立.所谓四次挥手(Four-Way Wavehand) ...

  5. python TCP协议详解 三次握手四次挥手和11种状态

    11种状态解析 LISTEN  --------------------  等待从任何远端TCP 和端口的连接请求. SYN_SENT  ---------------  发送完一个连接请求后等待一个 ...

  6. 【Linux网络基础】TCP/IP协议簇的详细介绍(三次握手四次断开,11种状态)

    一.TCP/IP协议簇(DoD参考模型) 用于简化OSI层次,以及相关的标准. 传输控制协议(tcp/ip)簇是相关国防部DoD所创建的,主要用来确保数据的完整性以及在毁灭性战争中维持通信 是由一组不 ...

  7. TCP/IP协议 | TCP协议 | UDP协议 | 三次握手四次挥手

    TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP.SMTP.TCP.UDP.IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP ...

  8. Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手)

    Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手) 一丶CS/BS 架构 C/S: 客户端/服务器    定义:       ...

  9. 套接字、UDP通信、TCP通信、TCP/IP协议簇

    一.套接字(socket) 1.英语单词socket:n.插座:穴:v.插入插座 2.套接字就是源IP地址和目的IP地址.源端口号和目的端口号的组合,是通过传输层进行通信的.IP指定电脑,端口指定某一 ...

随机推荐

  1. 【并行计算与CUDA开发】英伟达硬件加速编解码

    硬件加速 并行计算 OpenCL OpenCL API VS SDK 英伟达硬件编解码方案 基于 OpenCL 的 API 自己写一个编解码器 使用 SDK 中的编解码接口 使用编码器对于 OpenC ...

  2. Qt——树的搜索实现源码

    一.使用QTreeWidget 头文件: /************************************************************************ 树的搜索类 ...

  3. vscode 安装一些快捷配置

    Visual Studio Code 最好的功能.插件和设置   小编推荐:掘金是一个高质量的技术社区,从 ECMAScript 6 到 Vue.js,性能优化到开源类库,让你不错过前端开发的每一个技 ...

  4. Redis 学习笔记(篇五):对象(RedisObject)

    Redis-对象 在以前的文章中,我们介绍了 Redis 用到的主要数据结构,比如简单动态字符串.双端链表.字典.压缩列表.整数集合. 然而 Redis 并没有直接使用这些数据结构来实现键值对的数据库 ...

  5. HTTP用户认证、追加协议以及相关技术简单学习

    1. 用户身份认证 BASIC认证(基本认证): DIGEST(摘要认证): SSL客户端认证: FormBase认证(表单认证)常用: session和cookie 2. 基于HTTP的追加协议 A ...

  6. Netty源码剖析-发送数据

    参考文献:极客时间傅健老师的<Netty源码剖析与实战>Talk is cheap.show me the code! 开始之前先介绍下Netty写数据的三种方式: ①:write:写到一 ...

  7. NOIP2012 DAY1 T2 国王游戏

    题目描述 恰逢 H国国庆,国王邀请n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排成一排,国王站在队伍的最前面 ...

  8. gdb暂停或恢复程序的运行

    ref : https://blog.csdn.net/seu_lyr/article/details/9050657   一 暂停程序的运行: (一)GDB的暂停方式:断点(BreakPoint). ...

  9. IOC+EF+Core搭建项目框架(三)

    /// <summary> /// 表示类别映射配置 /// </summary> public partial class sys_UserMap : NopEntityTy ...

  10. iview表单验证数字

    验证输入字符串必须为数字 html: <FormItem label="兑换积分:" prop="exchangeIntegral"> <In ...