这样的TCP/IP协议,你看懂了吗?

      最后更新:2022-06-24 23:53:10 手机定位技术交流文章

      本文从: https://blog.csdn.net/yulyu/article/details/69062288

      • 一个使用Socket的TCP/IP熟练和熟练的网络编程。

      我相信许多人在递交简历时已经看到这个要求,许多人认为我们通常不会在实际发展中使用这个知识,也不关心它。

      但作者认为,要想制作更好的应用软件,你必须对这些基本知识有所了解,以便更全面、完善。

      1.TCP/IP是什么?

      TCP/IP是网络通信的协议集.

      传统上,TCP/IP被认为是四级协议

      1) 网络接口层:

      主要指一些物理层面的接口,如电缆。

      2) 网络层:

      提供硬件独立的逻辑地址实现物理地址和逻辑地址转换.

      在TCP/IP协议家族中,网络层协议包括IP协议、ICMP协议和IGMP协议。

      3) 传输层:

      为网络提供流量控制 、 错误控制和确认服务.

      TCP/IP协议家族有两种不同的传输协议: TCP和UDP。

      4) 应用层:

      为网络调试 、 文件传输 、 远程控制和互联网操作提供具体应用

      2.数据包

      在TCP/IP协议中,数据是上下包装的,然后是上下包装的

      每个层都会添加一些信息,当它被封装时发送。信息的这个部分叫做头部,当顶部数据到达层时和头部一起被封装,并继续向下传送。

      装包

      每个层读取所需的头条并在卸载时上传其他数据。

      这个过程有点像俄罗斯燕子,所以有时人们也使用俄罗斯燕子来描述这个过程。

      俄罗斯套娃

      3.网络接口层

      本作品主要涉及一些物理传输,如以太网和无线宽带。

      4.网络层

      如上所述, 网络层主要转换物理地址为逻辑地址.

      市场上最常用的IPv4是32位二进制IPv4。由于IPv4地址不够使用,128位二进制IPv6越来越广泛地使用(但下面的介绍基于IPv4)

      1) IP:

      TCP/IP协议网络上的每个网络适配器都有独特的IP地址.

      IP地址是32位地址,通常分为四个端口,每个端口分为8个二进制分段,但为了方便阅读,每个分段通常转换为显示的十进制格式,如大家非常熟悉的

      IP地址分为两部分:

      • 网络 ID
      • 主机 ID

      但是没有指定哪个部分属于网络ID和哪个属于主机ID。

      因为有些网络需要大量的主机,这将代表一个更大的主机ID,但有些网络需要较少的主机,因此一个小部分的主机ID。

      大多数IP地址属于以下类别

      • 类A地址:IP地址的第一个8位代表网络ID,第二个24位代表主机ID。
      • B类地址:IP地址的第一个16位元代表网络ID,第二个16位元代表主机ID。
      • C类地址:IP地址的第一个24位代表网络ID,第二个8位代表主机ID。

      这里很明显,A类地址可以提供较少的网络ID,但每个网络都有大量的主机

      但是我们如何知道IP地址是什么类型?

      • 如果32位IP地址以0开始,则它是A类地址。
      • 如果32位IP地址始于10位,则它是B类地址。
      • 如果32位IP地址以110开始,则它是C类地址。

      然后,如果把它转换为十进制(四个段落),我们可以区分第一段落中的十进制数字是哪种IP地址。

      注意:

      • 十进制的第一个段落大于223,属于D和E类地址,两者都不特别常见,并在这里没有详细说明。
      • 每个类都有一些排斥地址。这些地址不属于该类,它们在某些特殊情况下使用地址(以后会说明)
      • 除了以这种方式划分网络外,我们还可以将每个网络划分为较小的网络块,称为分网(将稍后介绍)

      所有0主机ID都代表网络本身,例如IP地址意味着网络ID为130.B类地址为100。

      所有1个主机ID代表广播,用于向网络发送所有主机方法消息。IP地址是网络ID为130,100网络的广播地址(在二进制IP地址中是全部1,转换为十进制为255 )

      始于十进制127的地址都是回音地址。目标地址是循环返回地址的信息,它实际上是本地的发送和接收。它主要用于测试TCP/IP软件是否正常工作。当我们使用 ping函数时,通常的回拨地址是

      2)地址分析协议ARP

      简单地说,ARP将IP地址映射到物理地址,而RARP(逆ARP)将物理地址映射到IP地址。

      3)子网

      上述IP地址的分类,但对于A类和B类地址,每个网络下有太多的主机,因此,网络的传输变得非常不效率,并且很不灵活。例如,有IP地址的A类地址,网络上的主机数量超过16亿。

      因此,子网掩护的出现是为了解决这个问题。

      让我们先回顾如何区分 Host IP 和 Network IP 。

      例如,A类地址的第一个8位是网络IP,第二个24位是主机IP(下图)。

      子网面具也是32位的二进制数,可以分成四个十进制位,每个位相符于IP地址的相应位置,由非主机数以1表示,由主机数以0表示。

      表清楚地显示,网络IP仍由以前的位数分类决定,主机IP由0的子网代码覆盖的位数决定,其余则为子网IP

      5 传输层

      传输层提供了两个实现目标网络的方法

      • 传输控制协议(TCP):提供完美的误差控制和流量控制,确保数据的正常传输,是一个面向连接的协议。
      • 用户数据报告协议(UDP):仅提供基本错误检测,是一个不连接的协议。

      特点:

      1)UDP:

      • 把数据打包
      • 数据大小有限(64k)
      • 不建立连接
      • 速度快,但可靠性低

      2)TCP:

      • 建立连接通道
      • 数据大小无限制
      • 慢,但可靠

      由于在传输层中涉及的更多东西,如端口、插座等,我们所做的所有移动开发都需要理解,下文我们将具体介绍,这里没有解释。

      6 应用层

      应用程序层是TCP/IP协议的最高级别,也是我们移动开发中最接触的层。

      在TCP协议上运行的协议:

      • HTTP(Hypertext Transfer Protocol)主要用于一般浏览。
      • HTTPS(Hypertext Transfer Protocol over Secure Socket Layer,或HTTP over SSL)是HTTP协议的一个安全版本。
      • FTP(File Transfer Protocol)是一个文件传输协议。
      • POP3(Post Office Protocol,版本3,Post Office Protocol)。
      • SMTP(Simple Mail Transfer Protocol)用于发送电子邮件。
      • 电话网(Teletype over the Network)是连接到网络的终端。
      • SSH(Secure Shell)用于加密的安全登陆。

      在UDP协议上运行的协议:

      • BOOTP(Boot Protocol, boot protocol)用于无磁盘设备。
      • NTP(Network Time Protocol)用于网络同步。
      • DHCP(Dynamic Host Configuration Protocol)是一个动态主机配置协议。

      其他:

      • DNS(Domain Name Service)用于完成地址搜索、邮件传送等(使用TCP和UDP协议)。
      • ECHO(Echo Protocol)用于检测错误和测量响应时间(在TCP和UDP协议上运行)。
      • SNMP(Simple Network Management Protocol)是一个收集和管理网络信息的协议。
      • ARP(Address Resolution Protocol)用于动态分析Ethernet硬件地址。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/28384.html

          热门文章

          文章分类