网络通讯的理解

文章详细介绍了TCP/IP协议族中的IP协议,包括IP地址的子网划分、子网掩码的作用,以及IP头部的各种字段如版本号、头部长度、服务类型等。此外,提到了DNS系统在IP地址与域名转换中的作用,以及以太网帧的大小范围和端口分类。
摘要由CSDN通过智能技术生成

tcp/ip 协议族

ip

在真实环境中,会把主机号再分成一个子网号和一个主机号。这样的主机号才是最终容纳的主机数量。

所以需要使用子网掩码(32位)来分子网号和主机号。其中值为1的比特是网络号和子网号,值为0的是比特是主机号。可以在windows平台cmd.exe 输入ipconfig 查看本机的ip地址和子网掩码。

另外可以使用netstat命令查看ip连接情况

4位版本号

  指定IP协议的版本。对IPv4来说,为4。

4位头部长度

  标识该IP头部有多少个32bit(即多少行),四位最大表示15,所以IP头部最长为60字节。

8位服务类型

  包括一个三位的优先权字段(现在已忽略)四位的TOS字段和一位保留字段(保留需置0).四位的TOS字段分别表示:最小延时,最大吞吐量,最高可靠性和最小费用。这四位中最多只有一位置1。应用程序根据需要设置(比如ssh需要最小延时,ftp需要最大吞吐量)。

16位总长度

  是指整个IP数据报的长度,以字节为单位,因此IP数据报最大长度为65535-1字节。但由于MTU的限制,长度超过MTU的数据报都将被分片传输,所以实际传输的IP数据报的长度都远远没有达到最大值。

16位标识:

  唯一地标识主机发送的每一个数据报。其初始值由系统随机生成,每发送一个数据报,其值就加一。该值在数据报分片时被复制到每个分片中,因此同一个数据报的所有分片都具有相同的标识符。

3位标志字段:

  第一位保留。第二位标识禁止分片。设置后,IP将不对该数据报分片,当该数据报长度超过MTU时,IP模块将丢弃该数据包并返回一个ICMP差错报文。第三位表示更多分片。除了数据报的最后一个分片外,其他分片都要把该位置1.

13位分片偏移:

  是分片相对原始IP数据报开始处(仅指数据部分)的偏移。实际的偏移值是该值左移三位(乘8)后得到的。因此,每个IP分片的数据部分的长度必须是8的整数倍。

8位生存时间TTL(time to live):

  是数据报到达目的地之前允许经过的路由器跳数。发送端设置(通常是64)。数据报每经过一次路由,该值就被路由器减一,为零时,路由器将丢弃该数据报,并向源端发送一个ICMP差错报文。TTL可以防止数据报陷入路由循环。

8位协议:

  用来区分上层协议。/etc/protocols文件定义了所有上层协议对应的字段的数值。例如,ICMP是1,TCP是6,UDP是17。

16位头部校验和:

  由发送端填充,接收端对其使用CRC算法检验头部在数据传输过程中是否损坏。

32位源端IP地址:

  用来表示IP数据报的发送端

32位目的端IP地址:

  用来表示IP数据报的接收端

选项字段:

  是可变长的可选信息。最多包含40字节,可用的选项有:

  记录路由:将途径的路由器的ip地址填入选项部分,用于跟踪数据报的传递路径。

  时间戳:告诉每个路由器将数据报被转发的时间(或时间与IP地址对)填入IP头部的选项部分,这样就可以测量途径路由之间数据报传输的时间。

  松散路由选择:指定路由IP地址列表,数据包发送过程必须经过其中所有路由器。

  严格路由选择:数据报只能经过被指定的路由器。

wireshark抓包

域名系统(DNS)

ip地址和域名之间的映射关系

通过以太网传输的比特流称之为帧,帧的长度为46-1500字节之间。以太网的最大传输单元MTU是1500

端口

端口最多有65535个,按端口号可分为3大类:自己写的应用一般使用注册端口(即1024-49151之间)

(1)公认端口(WellKnownPorts):从0到1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。

(2)注册端口(RegisteredPorts):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。

(3)动态和/或私有端口(Dynamicand/orPrivatePorts):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。

服务端一般绑定在固定的端口上,客户端不关系所使用的端口,可使用临时端口。

环回接口

即在同一台主机上的服务器和客户端通过tcp/ip通信。环回接口的地址是127.0.0.1。环回接口的ip数据报不能出现在网络上。环回接口把数据从ip网络层传到ip输入队列。

ping

它利用ICMP回显请求和回显应答报文,而不用经过传输层(TCP/UDP).

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值