tcp协议的报头格式

在了解TCP首部各个字段的意义后,我们就能更清楚的了解TCP协议的。TCP首部字节有20个字节是固定了,后面还有可选选项。TCP是以32位(4字节)对齐的。 源端口和目的端口:TCP是通过通口号来进行应用进程间的通信的。 序号:占32位,序号的范围是0~(2^32-1),当序号变为2^32-1后,下一个序号就要重新从0开始了。假如一个报文段的序号为1001,它的长度为100字节,那么下一个报文段的…

TCP可靠传输原理

TCP下面的IP层是尽最大努力的交付,是不可靠的,所以TCP需要靠自己去完成可靠传输。下面,我们先从简单的停止等待协议来讲解可靠传输的如何实现的。需要注意可靠传输的几个特点:不丢失、不重复、按序到达。 注意,TCP并不使用停止等待协议来实现可靠传输。 停止等待协议 传输层的数据传输单元称为段。下面,为了方便,都称为分组。 停止等待协议的原理非常简单,发送一个分组后就停止继续发送,等待收到上一个分组…

tcp协议的一些特点

TCP是一个非常复杂的协议,简单来说它是一个面向连接的、可靠的基于字节流的传输协议。TCP协议的一些主要特点如下: 面向连接:面向连接的意思是在传输数据前需要先建立连接。建立连接要经过三次握手,断开连接需要经过四次挥手。两个主机之间的通信类似于打电话,通话前需要拨号建立连接,通话结束后要挂机释放连接。 一对一通信:TCP协议只能在两个主机之间通信,不能进行一对多或多对多的通信。对于需要进行广播的应…

UDP协议

UDP的特点 UDP协议非常的简单,它几乎没在IP层上增加什么功能。下面来看看UDP协议的一些特点: UDP是无连接的,尽最大努力的交付。发送数据之前不会提前通知,它只管发,你能不能接受到它是不管的。 UDP是面向报文的,应用程序给它什么内容,它在内容前封装一个首部就转发给下面的IP层。它是不管内容的多或少的,你给我什么,我就发什么。对于,它的无脑操作,那么应用进程就需要选择好合适的大小了。以免过…

传输层概述

进程间通信 传输层又称为运输层,它是比较特殊的一层。一方面,它属于通信部分的最高层,另一方面,又是用户功能中的最底层。传输层是为不同主机的进程之间进行通信,对于进行分组转发的路由器来说,它只有下三层的功能,用不到传输层及以上层。 进程,即运行的程序。在linux中,当一个程序运行了,操作系统就会给该进程分配一个进程号。可以用命令ps aux来查看所有进程。 # ps aux USER PID %C…

网络世界的侦察兵——ICMP

当我们想测试两台主机之间连通性时,经常会使用ping命令来验证。但你知道该命令和icmp协议之间有什么关联吗? Icmp即网际报文控制协议,是用来报告差错情况以及相关错误信息的。icmp数据报文是封装在ip数据报的中,作为其数据部分。但是,和ip协议一样,icmp也属于网络层的协议。下图是icmp报文格式图: ICMP报文种类 ICMP报文总的分为两大类,分别为差错报告报文以及询问报文。 差错报告…

路由器转发分组的流程

首先考虑一个问题,路由器是如何进行寻址的。可能有两种方式,一种就像高德地图那样,输入起点和终点后,从起点到终点的几条完整路线就会出来。另一种则和路标类似,它不指明完整的路线,但会告诉你不同路口下一个目的地在哪里。 路由器是采用第二种方式,因为第一种不符合实际情况。网络太复杂庞大了,一个路由器不可能知道所有的网络的拓扑结构。即使它真的将所有网络的路由保存下来,那也是效率极低的,需要占用巨大的存储,另…

路由表的作用以及如何设置路由表

相信很多朋友都玩过虚拟机,在虚拟机里装linux系统。一般大家装linux系统后,第一件事就是去配置静态IP。配置静态IP,除了要配置IP、子网掩码外,还需要填写网关地址。等一切都配置完毕后,你就会发现该主机的路由表的有一项中包含这个网关地址。至于路由表为什么会出现网关地址,可能一些朋友就不是那么清楚了。现在,我们一起来看看这个路由表它到底是干啥的吧。 路由表作用 路由表的作用其实就类似于导航的作…

无分类地址CIDR

首先需要知道的是,这个CIDR是用来解决什么问题的。我们知道,刚开始IP是被划分为5类的,并且能够我们用的只要前三类,但是这三类的划分有很大的问题。一个B类地址能容纳6万多的主机,而C类地址只能容纳2百多台主机。这样的分类就会造成很大问题,比如某企业有几千号人,那么C类网络肯定满足不了需求,但是B类对它来说又太浪费了。 所以呢?IP分类已经被淘汰不用了,取而代之的是CIDR(无分类编址)。CIDR…

IP数据报格式

通过IP数据报的格式,我们能够更清楚的知道IP协议的作用。IPv4的数据报一般以32位为单位来描述,下面的图是一个IP数据报格式图: 我们建议学习IP数据报格式时,可以使用抓包工具(如wireshark),抓取一些IP数据报,认真观察对比。 现在,我们来看IP数据报首部各个字段的作用: (1)版本:占4位,指IP协议的版本。 (2)首部长度:占4位,指首部长度(不含数据部分),单位为4字节。因为首…