zoukankan      html  css  js  c++  java
  • TCP/IP协议簇 端口 三次握手 四次挥手 11种状态集

    第一章:概念介绍

    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

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

    没有进程就会断开。

  • 相关阅读:
    ThinkPHP实现定时任务
    VUE 父子组件之间通信传值 props和 $emit,事件触发传值ref,以及兄弟组件之间的通信传值 eventBus
    JS链接转换为二维码
    VUE 动态切换列表active样式
    微信内置浏览器video标签自动全屏的问题
    JS监听video视频播放时间
    JS数据统计表 highcharts.js的运用
    JS 自动返回每个月的天数
    JS 一键复制插件应用 和 原生实现
    JS enter键一键登录
  • 原文地址:https://www.cnblogs.com/momenglin/p/9101538.html
Copyright © 2011-2022 走看看