第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 端口号

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

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

1.4 TCP 与UDP

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

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

1.4.1 TCP与UDP 协议对比:

传输控制协议(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@oldboyedu-40-nb ~]# cat /proc/sys/net/ipv4/ip_local_port_range

32768   60999

2.5 socket  监听

2.5.1 监听状态

[root@oldboyedu-40-nb ~]# 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@oldboyedu-40-nb ~]# 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@oldboyedu-40-nb ~]# 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@oldboyedu-40-nb ~]# /etc/init.d/sshd stop

Stopping sshd:                                             [  OK  ]

[root@oldboyedu-40-nb ~]# 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 网络中迷途情况

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

网络基础二 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 VLAN 1.1.1 什么是VLAN VLAN (Virturl LAN) ,翻译成中文是:“虚拟局域网”.VLAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计 ...

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

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

  4. 【Linux网络基础】TCP/IP 协议簇(各个常见协议介绍)

    一.应用层协议 1. FTP   协议所在层次:应用层协议 名称:FTP协议 协议端口:20,21 协议说明: FTP(File Transfer Protocol,文件传输协议)是TCP/IP协议组 ...

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

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

  6. 网络基础知识-TCP/IP协议各层详解

    TCP/IP简介 虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多. 计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM.Apple和Micro ...

  7. 网络基础之TCP/IP协议族

    一.TCP/IP协议族 1.什么是协议? 计算机与网络设备相互通信依赖于相同的方法,比如,双方通信基于何种语言等.而把通信所依赖的这一切方法统称为规则,而我们就把这种规则称为协议. 协议中存在各种各样 ...

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

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

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

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

随机推荐

  1. 乐橙谷浅析JAVA程序员就业前景

    不知道大家对Java就业前景了解多少.随着信息化的发展,IT培训受倒了越来越多人的追捧.在开发领域,JAVA培训成为了许多人的首选!JAVA应用广泛,JAVA培训就业前景良好!目前,虽然JAVA人才的 ...

  2. Python迭代器,生成器--精华中的精华

    1. 迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退.另外,迭代器的一大 ...

  3. Eddy's爱好 hdu2204

    Eddy's爱好 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  4. JavaScript中错误正确处理方式,你用对了吗?

    JavaScript的事件驱动范式增添了丰富的语言,也是让使用JavaScript编程变得更加多样化.如果将浏览器设想为JavaScript的事件驱动工具,那么当错误发生时,某个事件就会被抛出.理论上 ...

  5. Linux Redis集群搭建与集群客户端实现(Python)

    硬件环境 本文适用的硬件环境如下 Linux版本:CentOS release 6.7 (Final) Redis版本: Redis已经成功安装,安装路径为/home/idata/yangfan/lo ...

  6. btsync 分享资源

    Btsync是一款跨平台软件,可以在不同的设备之间共享文件. Btsync类似于BT下载,用户对用户(多用户)之间的传送. 文档的分享者可以将资源放到文件夹下,生成共享Key,分享给接受者,接受者只需 ...

  7. 斐讯 FIR151M 频繁掉线(OpenWRT解决方案)

    0. 现象与前言 在使用斐讯 FIR151M 路由器连接网络时,传输数据时频繁掉线. 官方固件刷了两个版本,问题未解决. 建议高级用户看本教程,要做好不能使用 Web 管理界面的心理准备. 1. 准备 ...

  8. Hibernate逆向代码问题

    问题描述 使用hibernate tools 插件生成pojo代码非常方便快捷,但是我今天使用的时候发现,在eclips安装jboss插件后,找不到Hibernate Code Generation ...

  9. Java Stream

    Stream 有两种类型的操作:Intermedidate操作和Terminal操作 Intermedidate(中间操作):Stream可以有多个Intermediate操作,Intermedida ...

  10. 深入理解Java中的迭代器

    迭代器模式:就是提供一种方法对一个容器对象中的各个元素进行访问,而又不暴露该对象容器的内部细节. 概述 Java集合框架的集合类,我们有时候称之为容器.容器的种类有很多种,比如ArrayList.Li ...