网络基础二 tcp/ip协议簇 端口 三次握手 四次挥手 11种状态集
第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种状态集的更多相关文章
- TCP/IP 协议簇 端口 三次握手 四次挥手 11种状态集
第1章 概念介绍 1.1 VLAN 1.1.1 什么是VLAN VLAN(Virtual LAN),翻译成中文是“虚拟局域网”.LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成 ...
- TCP/IP协议簇 端口 三次握手 四次挥手 11种状态集
第一章:概念介绍 1.1 VLAN 1.1.1 什么是VLAN VLAN (Virturl LAN) ,翻译成中文是:“虚拟局域网”.VLAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计 ...
- 【Linux网络基础】TCP/IP协议簇的详细介绍(三次握手四次断开,11种状态)
一.TCP/IP协议簇(DoD参考模型) 用于简化OSI层次,以及相关的标准. 传输控制协议(tcp/ip)簇是相关国防部DoD所创建的,主要用来确保数据的完整性以及在毁灭性战争中维持通信 是由一组不 ...
- 【Linux网络基础】TCP/IP 协议簇(各个常见协议介绍)
一.应用层协议 1. FTP 协议所在层次:应用层协议 名称:FTP协议 协议端口:20,21 协议说明: FTP(File Transfer Protocol,文件传输协议)是TCP/IP协议组 ...
- TCP/UDP协议、理解三次握手四次挥手、Socket
一.什么是socket? 中文名叫套接字,是对底层的 TCP IP UDP 等网络协议进行封装,使得上层的应用程序开发者,不用直接接触这对复杂,丑陋的协议. 在程序员的言论,他就是一个封装好的模块,要 ...
- 网络基础知识-TCP/IP协议各层详解
TCP/IP简介 虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多. 计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM.Apple和Micro ...
- 网络基础之TCP/IP协议族
一.TCP/IP协议族 1.什么是协议? 计算机与网络设备相互通信依赖于相同的方法,比如,双方通信基于何种语言等.而把通信所依赖的这一切方法统称为规则,而我们就把这种规则称为协议. 协议中存在各种各样 ...
- TCP/IP协议全解析 三次握手与四次挥手[转]
所谓三次握手(Three-Way Handshake)即建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立.所谓四次挥手(Four-Way Wavehand) ...
- python TCP协议详解 三次握手四次挥手和11种状态
11种状态解析 LISTEN -------------------- 等待从任何远端TCP 和端口的连接请求. SYN_SENT --------------- 发送完一个连接请求后等待一个 ...
随机推荐
- 深入理解计算机系统chapter1
---恢复内容开始--- 预处理器+编译器+汇编器+链接器=编译系统 运行hello程序 操作系统: 无论是在单核还是多核系统中,一个CPU看上去都在并发的执行多个进程,这是通过处理器在进程间切换来实 ...
- Apache Spark 2.2.0 中文文档 - Submitting Applications | ApacheCN
Submitting Applications 在 script in Spark的 bin 目录中的spark-submit 脚本用与在集群上启动应用程序.它可以通过一个统一的接口使用所有 Spar ...
- Java 数组扩容
在添加数据到达数组的上限的时候数组进行扩容: public void resizeArrayCaptcity(){ if(size>=arr.length){ Emp [] arr2=new ...
- Longge's problem poj2480 欧拉函数,gcd
Longge's problem Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6918 Accepted: 2234 ...
- 混合高斯模型(Mixtures of Gaussians)和EM算法
这篇讨论使用期望最大化算法(Expectation-Maximization)来进行密度估计(density estimation). 与k-means一样,给定的训练样本是,我们将隐含类别标签用表示 ...
- AMD、CMD、CommonJs规范
AMD.CMD.CommonJs规范 将js代码分割成不同功能的小块进行模块化的概念是在一些三方规范中流行起来的,比如CommonJS.AMD和CMD.接下来我们看一下这几种规范. 一.模块化规范 C ...
- Elixir游戏服设计一
在Erlang游戏服设计总结http://www.cnblogs.com/rubyist/p/5530575.html里, 我提到我想要的游戏服设计方法,希望以应用做为基础构建块.最近我在学习elix ...
- asp.net mvc 自动化测试工具
好久不写文章了,一直忙在项目中. 前一阵发现公司一个项目,体积巨大.业务很复杂.基于历史原因,项目基于mvc 2迁移过来,视图大多还是aspx 作为视图承载. 控制器中的方法 更是一个比一个多. ...
- MVVM -- CallMethodAction 和 InvokeCommandAction
MVVM实践教程 算算,从事Silverlight和WPF的开发也有1年多的时间了,虽然时间不算长,虽然还没有突出的成就,但是感觉也还算一般. 但是,从头至今都没有去认真研究和使用过MVVM,虽然 ...
- Simple Validation in WPF
A very simple example of displaying validation error next to controls in WPF Introduction This is a ...