网络基础知识

网络端口

       端口可以认为是计算机与外界交流的出口。 

      1、端口可分为硬件端口(又称接口),如:USB端口、串行端口。

      2、软件领域的端口一般指网络中面向连接服务和无连接服务的通讯协议端口。是一种抽象的数据结构和I/O缓冲区。

端口号特点

       由于端口号在计算机中用16个二进制位表示,所以一共有65535个端口号。一个端口号在一台主机里对应唯一进程,端口号只具有本地意义。不同主机的端口号是没有关联的。

        一个IP地址可以确定网络中唯一主机,一个端口号可以确定主机中唯一进程,所以IP+端口号确定了网络中唯一进程,所以有了套接字的概念。

       套接字(socket)= IP地址+端口号;

端口号分类:

一、服务器端使用的端口号:

      1)系统端口号(公认端口):0~1023号端口,这些端口号指派了TCP/IP最重要的一些应用程序,让所有用户知道,属于公认端口,可在网站www.iana.org查到。

      2)登记端口号:1024~49151号端口,这些端口号是为没有公认端口号的应用程序使用的,使用这类端口号必须在IANA按照规定的手续登记,以防止重复。

二、客户端使用的端口号:

      3)短暂端口号:49152~65535号端口,这些端口仅在用户进程运行时才动态选择,所以叫短暂端口号。

按协议分类端口号:常见的可分为TCP和UDP等端口号。

      常见的TCP端口:FTP服务的21端口、Telnet服务的23号端口、SMTP服务的25号端口、HTTP服务的80端口。

      常见的UDP端口:DNS服务的53号端口、SNMP服务(简单网络管理协议)的161号端口。


TCP报头的URG和PSH标志位对比

URG(紧急标志位)

       在TCP报头中URG(紧急)标志位置为1时,表明紧急指针字段有效(与紧急指针字段配合使用)。该标志位告诉系统此报文段有紧急数据,应尽快发送,而不能按排队序列来传送。例:中断命令(ctrl+c),如果不紧急处理会浪费资源和时间。所以需将URG标志位置1。

       当URG置1后,该应用进程告诉发放TCP,发送方TCP会把紧急数据插到本报文段数据的最前面,此处与配合紧急指针配合使用。

PSH(推送标志位)

       两个交互式进程通讯时,一端希望键入一个命令时立即能收到对方的相应,此时TCP进行推送操作,即将发送的报文PSH位置1并发出。接收方收到PSH=1的报文时,尽快将报文交付给应用程序,而不是等缓存填满再交付。

URG和PSH的区别:

       URG是让TCP将报文提前发出,不用在发送队列排队,但不保证接收方首先接收。

       PSH是报文仍需要在发送队列排队发送,但可以直接让接收方接收,不用等缓冲区存满,但不保证首先发送。


TCP定时器

       TCP协议是一个非常可靠的数据传输协议(运输层)。

       TCP是一个点对点、面向连接、全双工、面向字节流的协议。

        为了保证TCP协议的可靠性,在TCP协议中有四种定时器,下面我们一一介绍。

一、超时计时器:

        在TCP数据传输过程中,为了保证可靠性,我们采用停止等待的方式,接收方对每次发送的数据进行收到确认,当发送方收到确认信息后再发送下一个分组,但会出现发送方长时间没收到接收方的确认信息,后导致浪费资源的问题。我们引入超时重传机制来解决该问题,采用的是超时计时器。具体的使用方式以下面例子说明。

       例:假设A为数据的发送方,B为数据的接收方,A要向B发送M1、M2、M3......等分组,当A发送M1后,发送方A停止等待接收方B的确认信息。当B收到M1分组时,向A发送确认收到M1分组的信息。然后A收到B发送的确认信息后继续发送M2,然后继续等待。。。

       以上是正常的数据传输过程,但网络中会出现丢失报文和传输有差错的报文等情况;

超时计时器设置重传时间:应该比数据在分组传输的平均往返时间更长一些,在发送分组时设置计时器,在收到确认信息时撤销计时器。

      1)当A给B发送的分组M1在传输过程中丢失,则A一直等待,当A等待超时,则A重新发送M1分组;

      2)当A给B发送的分组M1在传输时出错,B检测到出错报文,然后丢弃,B不做任何响应,直到A等待超时重传M1分组。

注意:

如果出现确认丢失和确认迟到情况:

       A会继续给B发送已发送过的分组,B收到该分组后采取两个行动:1、丢弃重复分组M1,不向上层交付。2、向A发送确认收到信息(不能认为已经发送过确认就不再发送),因为A重传就是因为A没有收到确认。


二、持续计时器(流量控制):

        当A给B传输数据时,B向A发送了零窗口的报文段(零窗口即接收缓存已满)后不久,又向A发送了rwmd(窗口值)=400的报文段,但由于发送过程中该报文丢失,导致A一直等待接收B发送的非零窗口通知,而B一直也在等待A发送的数据。出现相互等待的死锁。

        为了解决该问题,引入持续计时器。

持续计时器工作原理:

        TCP对每一个连接设置一个持续计时器,当TCP连接一方收到零窗口通知时,启动持续计时器。若持续计时器到期,则发送一个零窗口探测数据报(仅携带1字节数据)。另一方确认数据报时给出现在的窗口值。如果窗口值仍是零,则重置计时器,否则,解决了死锁问题。


三、时间等待计时器(连接释放):

        当客户A和服务器B进行连接释放时,A先向B请求释放,B同意A的释放发出确认信息,然后B再向A发出释放请求,A收到B的释放请求给B发送确认。注意!此时A和B并没有真正的释放连接!此时A进入TIME-WITE(时间等待)状态,必须经过时间等待计时器设置的时间2MSL后,A才进入到CLOSE状态。才真正断开连接。

注:MSL叫做最长报文段寿命。建议设置为两分钟,根据实际工程设置。

 为什么要引入时间等待计时器?

        1)为了保证A发送的最后报文可以让B收到。如果A发送的最后确认报文段在中途丢失,可以保证B在2MSL内重发释放请求,并且收到B重发的释放请求时重传A的确认,重新启动2MSL计时器,最后 A和B都可以进入CLOSE状态。

        2)防止“已失效的连接请求报文段”,A在发送完最后一个ACK确认报文段后,再经过2MSL时间,可保证本链接所产生的报文段都从网络中消失,以防止该情况发生。


四、保活计时器:

        为了解决客户机故障而服务器不知道的情况下浪费资源的情况。

        当服务器与客户机建立连接后,服务器每收到一次客户机发送的数据,就重置一次保活计时器,该计时器通常设置为两小时。如果两小时没收到客户的数据,服务器就发送一个探测数据报,以后每隔75分钟发送一次,若连续发送10次探测数据报仍无客户响应,服务器认为客户出了故障,服务器关闭此连接。


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算机网络基础知识点包括网络的作用范围(广域网、城域网、局域网)、网络使用者(公用网络、专用网络)、计算机网络的层次结构、IP网际协议的作用、虚拟互联网络的产生以及IP地址的分类。 在计算机网络中,广域网(WAN)覆盖的范围最广,可以连接不同地区或国家的计算机网络;城域网(MAN)覆盖的范围相对较小,通常连接同一城市的计算机网络;而局域网(LAN)覆盖的范围最小,通常只连接同一建筑物或场所的计算机网络。 根据网络使用者的不同,可以分为公用网络和专用网络。公用网络是指向公众提供服务的网络,如互联网;而专用网络是指为特定组织或机构提供服务的网络,如公司内部的局域网。 计算机网络的层次结构是指将网络协议分为若干层次,每一层都有自己的功能和任务。常见的网络层次结构有OSI参考模型和TCP/IP协议族。这些层次结构可以帮助设计和管理复杂的计算机网络,简化网络通信的过程。 IP网际协议是Internet网络层最核心的协议,它负责在网络中传输数据包,并且提供了唯一标识网络中主机或路由器的IP地址。IP协议的使用屏蔽了物理网络之间的差异,通过虚拟互联网络的形式,使得主机在连接网络时无需关注网络细节。 IP地址是用于标识网络中的主机或路由器的唯一地址。根据IP地址的分类,可以将IP地址分为A类、B类、C类,分别用于标识大型网络、中型网络和小型网络。同时,D类地址用于组广播地址,而E类地址为保留地址。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值