常见的网络术语

ARPAnet:一种实验性网络,也是TCP/IP的诞生地
域名:通过TCP/IP的DNS域名服务系统,与IP地址相关联的名字。
网关:连接LAN到大型网络的路由器。在专属LAN协议当道的时期,术语“网关”有时指执行一些协议转换的路由器
IP地址:用于定位TCP/IP网络上计算机或其他连网设备的逻辑地址(例如,打印机)
局域网(LAN):供单个办公室、组织或家庭使用的小型网络,通常只占据一个地理位置
逻辑地址:通过协议软件配置的网络地址
域名服务:将网络地址与便于人记忆的名字相关联的一种服务。提供该服务的计算机被称为域名服务器,将名字解析为地址的行为称为名称解析
网络协议:对通信过程的一个具体方面进行定义的一组通用规则
物理地址:与网络硬件相关的地址。在以太网适配器中,物理地址通常在适配器出场之前分配给它
端口:一种内部通道或地址,它在应用程序和TCP/IP传输层之间提供了一个接口
专属:有私有实体(比如一个公司)控制的技术
协议实现:实现了协议标准中定义的通信规则的软件组件
RFC:提供有关TCP/IP或Internet信息的官方技术文档。可以在网络的多个地方找到RFC,例如www.rfc-editor.org
路由器:通过逻辑地址来转发数据的一种网络设备,并且也可以用来将大型网络分为几个较小的子网
TCP/IP:在Internet和很多其他网络上使用的网络协议簇

 

ACK:一个控制标记,表示TCP报头中“确认号”字段是有意义的。
“确认号”字段:TCP报头中的一个字段,表示计算机准备接收的下一个序列号。它实际上确认了之前的全部顺序字节的接收。
主动打开:TCP尝试发起一个连接时的状态。
面向连接的协议:通过在通信计算机之间建立连接来管理通信的协议。
无连接的协议:不与远程计算机建立连接就进行通信的协议。
控制标记:1位标记,表示关于TCP数据分段的特殊信息
多路分解:把一路输入导向多个输出
目的端口:目的计算机上的应用程序所使用的TCP或UDP端口,这个应用程序将接收TCP数据分段或UDP数据报中的数据。
FIN:一个控制标记,用于关闭TCP连接的过程。
防火墙:保护网络免受Internet非法访问的设备。
初始序列号(ISN):一个数值,表示计算机将通过 TCP 传输的一系列字节的开始值。
多路复用:把多个输入合成一个输出。
被动打开:TCP端口(通常是一个服务器应用程序)准备好接收连接的状态。
端口:为应用程序与传输层协议提供接口的内部地址。
伪报头:从IP报头派生出来的一个结构,用于计算TCP或UDP校验和,从而避免数据报由于IP报头信息的变化而发送到错误目的。
重新排序:整理接收到的TCP数据分段,恢复它们被发送时的顺序。
序列号:与TCP传输的字节相关联的唯一的序号。
滑动窗口:接收端计算机允许发送端计算机发送的序列号范围。这种滑动窗口方式的流量控制是由TCP使用的。
套接字:特定计算机上特定应用程序使用的网络地址,由计算机的IP地址和应用程序的端口号组成。
源端口:发送TCP数据分段或UDP数据报的应用程序的TCP或UDP端口
面向流的处理:连续输入(一个字节一个字节的),而不是以预定义的数据块输入
SYN:一个控制标记,表示正在进行序列号同步。这个标记用于TCP连接开始时的三次握手过程。
TCP:TCP/IP协议簇中一个面向连接的、可靠的传输层协议。
三次握手:同步序列号并建立TCP连接的一个三步骤过程
UDP:TCP/IP协议簇中一个无连接的、不可靠的传输层协议。
熟知端口:常见应用程序所使用的预定义标准端口号,是由IANA指定。

 

数据格式

应用层:报文 (message)
运输层:报文段 (Segment)
网络层:数据报  ( datagram )
链路层:帧( Frame )
物理层:比特(bit)
 
 
 在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG。如下
 

 

 

其中,对于我们日常的分析有用的就是前面的五个字段。它们的含义是:SYN表示建立连接,FIN表示关闭连接,ACK表示响应,PSH表示有DATA数据传输,RST表示连接重置。
 
 
CSMA/CD(载波监听多点接入/碰撞检测)策略工作原理:发送数据前 先侦听信道是否空闲 ,若空闲,则立即发送数据;若信道忙碌,则等待一段时间至信道中的信息传输结束后再发送数据;若在上一段信息发送结束后,同时有两个或两个以上的节点都提出发送请求,则判定为冲突。若侦听到冲突,则立即停止发送数据,等待一段随机时间,再重新尝试。
 
环形网络常用的访问控制方法是基于令牌的访问控制,是一种分布式访问控制技术。
 
星型拓扑结构采用什么访问控制策略?答:星型网络拓扑采用的访问控制策略是CSMA/CD(载波监听多点接入/碰撞检测)策略。、
 
 
TCP三次握手,四次挥手

 TCP连接建立(“三次握手”)

第一次握手:Client(主机A)向Server(主机B)发送一个连接请求,在这个包中,标志位SYN=1,发送序号SEQ=x,上图中x=200,Client进入SYN_SEND状态,等待Server确认。

第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,确认序号ACK=x+1=201,随机产生一个发送序号SEQ=y,上图中y=500,并将该数据包发送给Client以确认连接请求,Server进入SYN_RCVD状态。

第三次握手:Client收到确认后,检查确认序号ACK是否为x+1=201,标志位ACK是否为1,如果正确,则将标志位ACK置为1,确认序号ACK=y+1=501,并将该数据包发送给Server,Server检查确认序号ACK是否为y+1=501,标志位ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态。

完成三次握手,客户端与服务器开始传送数据。

 

在成功完成以上三步之后,TCP连接就建立了,接下来就可以传送应用层数据了。TCP提供的是全双工通信,因此通信双方的应用进程在任何时候都能发送数据。

另外,服务器端的资源是在完成第二次握手时分配的,而客户端的资源是在完成第三次握手时分配的。这使得服务器易于受到SYN洪泛攻击

 
TCP连接的释放(“四次挥手”)

四次挥手(Four-Way Wavehand)即终止TCP连接,就是指断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开

第一次挥手:当客户A要断开TCP连接时,发送一个包,其中标志位fin=1,ACK=1,发送序号SEQ=x,确认序号ACK=y,上图中x=200,y=500。Client进入FIN_WAIT_1状态。

第二次挥手:客户B知道A要断开后,发送一个确认包,其中标志位ACK=1发送序号,SEQ=y确认序号ACK=x+1=201,Server进入CLOSE_WAIT状态。

第三次挥手:客户B也断开TCP连接,此时发送一个包,其中,标志位fin=1,发送序号SEQ=y+1=501,Server进入LAST_ACK状态。

第四次挥手:客户A收到B的断开请求后,Client进入TIME_WAIT状态,接着发送一个确认包,标志位ACK=1,发送序号SEQ=x+1=201,确认序号ACK=y+2=502;Server进入CLOSED状态。

由于TCP连接是全双工的,因此,每个方向都必须要单独进行关闭,这一原则是当一方完成数据发送任务后,发送一个FIN来终止这一方向的连接,收到一个FIN只是意味着这一方向上没有数据流动了,即不会再收到数据了,但是在这个TCP连接上仍然能够发送数据,直到这一方向也发送了FIN。

 

 
posted @ 2020-12-18 18:26  joshua317  阅读(943)  评论(0编辑  收藏  举报