
资讯详情
什么是 TCP/IP?
- 分类:行业新闻
- 作者:
- 来源:
- 发布时间:2019-07-26 05:52
- 访问量:
【概要描述】 · 精通TCP/IP,熟练使用Socket 进行网路编程。 看到这句话,有没有感到很熟悉呀?相信很多人在投递简历的时候都看到过这条要求,很多人会觉得我们在实际开发中一般用不到这些知识,所以对这些东西不屑一顾. 但是笔者认为想要做出更好的APP,那么对这些基础知识必须要有一定的了解,这样你才能考虑得更加全面和完善,下面就让我们一起来了解一下,什么是TCP/IP. 1.什么是TCP/IP? TCP/IP 是一类协议系统,它是用于网络通信的一套协议集合. 传统上来说TCP/IP 被认为是一个四层协议 1) 网络接口层: 主要是指物理层次的一些接口,比如电缆等. 2) 网络层: 提供独立于硬件的逻辑寻址,实现物理地址与逻辑地址的转换. 在TCP / IP 协议族中,网络层协议包括IP 协议(网际协议),ICMP 协议(Internet 互联网控制报文协议),以及IGMP 协议(Internet 组管理协议). 3) 传输层: 为网络提供了流量控制,错误控制和确认服务. 在 TCP / IP 协议族中有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议). 4) 应用层: 为网络排错,文件传输,远程控制和 Internet 操作提供具体的应用程序 2.数据包 在TCP / IP 协议中数据先由上往下将数据装包,然后由下往上拆包 在装包的时候,每一层都会增加一些信息用于传输,这部分信息就叫报头,当上层的数据到达本层的时候,会将数据加上本层的报头打包在一起,继续往下传递. 在拆包的时候,每一层将本层需要的报头读取后,就将剩下的数据往上传. 这个过程有点像俄罗斯套娃,所以有时候人们也会用俄罗斯套娃来形容这个过程. 3.网络接口层 这一块主要主要涉及到一些物理传输,比如以太网,无线局域网.这里就不做详细的介绍了 4.网络层 前面有提到,网络层主要就是做物理地址与逻辑地址之间的转换. 目前市场上应用的最多的是32 位二进制的IPv4 ,因为IPv4 的地址已经不够用了,所以128 位二进制的IPv6 应用越来越广泛了(但是下面的介绍都是基于IPv4 进行的) 1) IP: TCP/IP 协议网络上的每一个网络适配器都有一个唯一的IP 地址. IP 地址是一个32 位的地址,这个地址通常分成4 端,每8 个二进制为一段,但是为了方便阅读,通常会将每段都转换为十进制来显示,比如大家非常熟悉的192.168.0.1 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 地址为130.100.0.0 指的是网络ID 为130.100 的B 类地址。 全是1 的主机ID 代表广播,是用于向该网络中的全部主机方法消息的。IP 地址为130.100.255.255 就是网络ID 为130.100 网络的广播地址(二进制IP 地址中全是1 ,转换为十进制就是255 ) 以十进制127 开头的地址都是环回地址。目的地址是环回地址的消息,其实是由本地发送和接收的。主要是用于测试TCP/IP 软件是否正常工作。我们用ping 功能的时候,一般用的环回地址是127.0.0.1 2)地址解析协议ARP 简单的来说ARP 的作用就是把IP 地址映射为物理地址,而与之相反的RARP(逆向ARP)就是将物理地址映射为IP 地址。 3)子网 前面提到了IP 地址的分类,但是对于A 类和B 类地址来说,每个网络下的主机数量太多了,那么网络的传输会变得很低效,并且很不灵活。比如说IP地址为100.0.0.0 的A 类地址,这个网络下的主机数量超过了1600 万台。 所以子网掩码的出现就是为了解决这样的问题。 我们先回顾一下之前如何区分主机IP 和网络IP 的。 以A 类地址99.10.10.10 为例,前8 位是网络IP ,后24 位是主机IP 。(如下图) 子网掩码也是一个32 为的二进制数,也可以用四个十进制数来分段,他的每一位对应着IP 地址的相应位置,数值为1 时代表的是非主机位,数值为0 时代表是主机位。 由表格可以很清晰的看出,网络IP 仍是由之前的分类来决定到底是多少位,主机IP 则是由子网掩码值为0 的位数来决定,剩下的则是子网IP 5 传输层 传输层提供了两种到达目标网络的方式 · 传输控制协议(TCP):提供了完善的错误控制和流量控制,能够确保数据正常传输,是一个面向连接的协议。 · 用户数据报协议(UDP):只提供了基本的错误检测,是一个无连接的协议。 特点: 1)UDP: · 把数据打包 · 数据大小有限制(64k) · 不建立连接 · 速度快,但可靠性低 2)TCP: · 建立连接通道 · 数据大小无限制 · 速度慢,但是可靠性高 由于传输层涉及的东西比较多,比如端口,Socket等,都是我们做移动开发需要了解的,之后的文章中我们再具体做介绍,这里就不讲解了。 6 应用层 应用层做为TCP/IP 协议的最高层级,对于我们移动开发来说,是接触最多的。 运行在TCP协议上的协议: · HTTP(Hypertext Transfer Protocol,超文本传输协议),主要用于普通浏览。 · HTTPS(Hypertext Transfer Protocol over Secure Socket Layer, or HTTP over SSL,安全超文本传输协议),HTTP协议的安全版本。 · FTP(File Transfer Protocol,文件传输协议),由名知义,用于文件传输。 · POP3(Post Office Protocol, version 3,邮局协议),收邮件用。 · SMTP(Simple Mail Transfer Protocol,简单邮件传输协议),用来发送电子邮件。 · TELNET(Teletype over the Network,网络电传),通过一个终端(terminal)登陆到网络。 · SSH(Secure Shell,用于替代安全性差的TELNET),用于加密安全登陆用。 运行在UDP协议上的协议: · BOOTP(Boot Protocol,启动协议),应用于无盘设备。 · NTP(Network Time Protocol,网络时间协议),用于网络同步。 · DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),动态配置IP地址。 其他: · DNS(Domain Name Service,域名服务),用于完成地址查找,邮件转发等工作(运行在TCP和UDP协议上)。 · ECHO(Echo Protocol,回绕协议),用于查错及测量应答时间(运行在TCP和UDP协议上)。 · SNMP(Simple Network Management Protocol,简单网络管理协议),用于网络信息的收集和网络管理。 · ARP(Address Resolution Protocol,地址解析协议),用于动态解析以太网硬件的地址。
什么是 TCP/IP?
【概要描述】 · 精通TCP/IP,熟练使用Socket 进行网路编程。
看到这句话,有没有感到很熟悉呀?相信很多人在投递简历的时候都看到过这条要求,很多人会觉得我们在实际开发中一般用不到这些知识,所以对这些东西不屑一顾.
但是笔者认为想要做出更好的APP,那么对这些基础知识必须要有一定的了解,这样你才能考虑得更加全面和完善,下面就让我们一起来了解一下,什么是TCP/IP.
1.什么是TCP/IP?
TCP/IP 是一类协议系统,它是用于网络通信的一套协议集合.
传统上来说TCP/IP 被认为是一个四层协议
1) 网络接口层:
主要是指物理层次的一些接口,比如电缆等.
2) 网络层:
提供独立于硬件的逻辑寻址,实现物理地址与逻辑地址的转换.
在TCP / IP 协议族中,网络层协议包括IP 协议(网际协议),ICMP 协议(Internet 互联网控制报文协议),以及IGMP 协议(Internet 组管理协议).
3) 传输层:
为网络提供了流量控制,错误控制和确认服务.
在 TCP / IP 协议族中有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议).
4) 应用层:
为网络排错,文件传输,远程控制和 Internet 操作提供具体的应用程序
2.数据包
在TCP / IP 协议中数据先由上往下将数据装包,然后由下往上拆包
在装包的时候,每一层都会增加一些信息用于传输,这部分信息就叫报头,当上层的数据到达本层的时候,会将数据加上本层的报头打包在一起,继续往下传递.
在拆包的时候,每一层将本层需要的报头读取后,就将剩下的数据往上传.
这个过程有点像俄罗斯套娃,所以有时候人们也会用俄罗斯套娃来形容这个过程.
3.网络接口层
这一块主要主要涉及到一些物理传输,比如以太网,无线局域网.这里就不做详细的介绍了
4.网络层
前面有提到,网络层主要就是做物理地址与逻辑地址之间的转换.
目前市场上应用的最多的是32 位二进制的IPv4 ,因为IPv4 的地址已经不够用了,所以128 位二进制的IPv6 应用越来越广泛了(但是下面的介绍都是基于IPv4 进行的)
1) IP:
TCP/IP 协议网络上的每一个网络适配器都有一个唯一的IP 地址.
IP 地址是一个32 位的地址,这个地址通常分成4 端,每8 个二进制为一段,但是为了方便阅读,通常会将每段都转换为十进制来显示,比如大家非常熟悉的192.168.0.1
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 地址为130.100.0.0 指的是网络ID 为130.100 的B 类地址。
全是1 的主机ID 代表广播,是用于向该网络中的全部主机方法消息的。IP 地址为130.100.255.255 就是网络ID 为130.100 网络的广播地址(二进制IP 地址中全是1 ,转换为十进制就是255 )
以十进制127 开头的地址都是环回地址。目的地址是环回地址的消息,其实是由本地发送和接收的。主要是用于测试TCP/IP 软件是否正常工作。我们用ping 功能的时候,一般用的环回地址是127.0.0.1
2)地址解析协议ARP
简单的来说ARP 的作用就是把IP 地址映射为物理地址,而与之相反的RARP(逆向ARP)就是将物理地址映射为IP 地址。
3)子网
前面提到了IP 地址的分类,但是对于A 类和B 类地址来说,每个网络下的主机数量太多了,那么网络的传输会变得很低效,并且很不灵活。比如说IP地址为100.0.0.0 的A 类地址,这个网络下的主机数量超过了1600 万台。
所以子网掩码的出现就是为了解决这样的问题。
我们先回顾一下之前如何区分主机IP 和网络IP 的。
以A 类地址99.10.10.10 为例,前8 位是网络IP ,后24 位是主机IP 。(如下图)
子网掩码也是一个32 为的二进制数,也可以用四个十进制数来分段,他的每一位对应着IP 地址的相应位置,数值为1 时代表的是非主机位,数值为0 时代表是主机位。
由表格可以很清晰的看出,网络IP 仍是由之前的分类来决定到底是多少位,主机IP 则是由子网掩码值为0 的位数来决定,剩下的则是子网IP
5 传输层
传输层提供了两种到达目标网络的方式
· 传输控制协议(TCP):提供了完善的错误控制和流量控制,能够确保数据正常传输,是一个面向连接的协议。
· 用户数据报协议(UDP):只提供了基本的错误检测,是一个无连接的协议。
特点:
1)UDP:
· 把数据打包
· 数据大小有限制(64k)
· 不建立连接
· 速度快,但可靠性低
2)TCP:
· 建立连接通道
· 数据大小无限制
· 速度慢,但是可靠性高
由于传输层涉及的东西比较多,比如端口,Socket等,都是我们做移动开发需要了解的,之后的文章中我们再具体做介绍,这里就不讲解了。
6 应用层
应用层做为TCP/IP 协议的最高层级,对于我们移动开发来说,是接触最多的。
运行在TCP协议上的协议:
· HTTP(Hypertext Transfer Protocol,超文本传输协议),主要用于普通浏览。
· HTTPS(Hypertext Transfer Protocol over Secure Socket Layer, or HTTP over SSL,安全超文本传输协议),HTTP协议的安全版本。
· FTP(File Transfer Protocol,文件传输协议),由名知义,用于文件传输。
· POP3(Post Office Protocol, version 3,邮局协议),收邮件用。
· SMTP(Simple Mail Transfer Protocol,简单邮件传输协议),用来发送电子邮件。
· TELNET(Teletype over the Network,网络电传),通过一个终端(terminal)登陆到网络。
· SSH(Secure Shell,用于替代安全性差的TELNET),用于加密安全登陆用。
运行在UDP协议上的协议:
· BOOTP(Boot Protocol,启动协议),应用于无盘设备。
· NTP(Network Time Protocol,网络时间协议),用于网络同步。
· DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),动态配置IP地址。
其他:
· DNS(Domain Name Service,域名服务),用于完成地址查找,邮件转发等工作(运行在TCP和UDP协议上)。
· ECHO(Echo Protocol,回绕协议),用于查错及测量应答时间(运行在TCP和UDP协议上)。
· SNMP(Simple Network Management Protocol,简单网络管理协议),用于网络信息的收集和网络管理。
· ARP(Address Resolution Protocol,地址解析协议),用于动态解析以太网硬件的地址。
- 分类:行业新闻
- 作者:
- 来源:
- 发布时间:2019-07-26 05:52
- 访问量:
· 精通TCP/IP,熟练使用Socket 进行网路编程。
看到这句话,有没有感到很熟悉呀?相信很多人在投递简历的时候都看到过这条要求,很多人会觉得我们在实际开发中一般用不到这些知识,所以对这些东西不屑一顾.
但是笔者认为想要做出更好的APP,那么对这些基础知识必须要有一定的了解,这样你才能考虑得更加全面和完善,下面就让我们一起来了解一下,什么是TCP/IP.
1.什么是TCP/IP?
TCP/IP 是一类协议系统,它是用于网络通信的一套协议集合.
传统上来说TCP/IP 被认为是一个四层协议
1) 网络接口层:
主要是指物理层次的一些接口,比如电缆等.
2) 网络层:
提供独立于硬件的逻辑寻址,实现物理地址与逻辑地址的转换.
在TCP / IP 协议族中,网络层协议包括IP 协议(网际协议),ICMP 协议(Internet 互联网控制报文协议),以及IGMP 协议(Internet 组管理协议).
3) 传输层:
为网络提供了流量控制,错误控制和确认服务.
在 TCP / IP 协议族中有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议).
4) 应用层:
为网络排错,文件传输,远程控制和 Internet 操作提供具体的应用程序
2.数据包
在TCP / IP 协议中数据先由上往下将数据装包,然后由下往上拆包
在装包的时候,每一层都会增加一些信息用于传输,这部分信息就叫报头,当上层的数据到达本层的时候,会将数据加上本层的报头打包在一起,继续往下传递.
在拆包的时候,每一层将本层需要的报头读取后,就将剩下的数据往上传.
这个过程有点像俄罗斯套娃,所以有时候人们也会用俄罗斯套娃来形容这个过程.
3.网络接口层
这一块主要主要涉及到一些物理传输,比如以太网,无线局域网.这里就不做详细的介绍了
4.网络层
前面有提到,网络层主要就是做物理地址与逻辑地址之间的转换.
目前市场上应用的最多的是32 位二进制的IPv4 ,因为IPv4 的地址已经不够用了,所以128 位二进制的IPv6 应用越来越广泛了(但是下面的介绍都是基于IPv4 进行的)
1) IP:
TCP/IP 协议网络上的每一个网络适配器都有一个唯一的IP 地址.
IP 地址是一个32 位的地址,这个地址通常分成4 端,每8 个二进制为一段,但是为了方便阅读,通常会将每段都转换为十进制来显示,比如大家非常熟悉的192.168.0.1
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 地址为130.100.0.0 指的是网络ID 为130.100 的B 类地址。
全是1 的主机ID 代表广播,是用于向该网络中的全部主机方法消息的。IP 地址为130.100.255.255 就是网络ID 为130.100 网络的广播地址(二进制IP 地址中全是1 ,转换为十进制就是255 )
以十进制127 开头的地址都是环回地址。目的地址是环回地址的消息,其实是由本地发送和接收的。主要是用于测试TCP/IP 软件是否正常工作。我们用ping 功能的时候,一般用的环回地址是127.0.0.1
2)地址解析协议ARP
简单的来说ARP 的作用就是把IP 地址映射为物理地址,而与之相反的RARP(逆向ARP)就是将物理地址映射为IP 地址。
3)子网
前面提到了IP 地址的分类,但是对于A 类和B 类地址来说,每个网络下的主机数量太多了,那么网络的传输会变得很低效,并且很不灵活。比如说IP地址为100.0.0.0 的A 类地址,这个网络下的主机数量超过了1600 万台。
所以子网掩码的出现就是为了解决这样的问题。
我们先回顾一下之前如何区分主机IP 和网络IP 的。
以A 类地址99.10.10.10 为例,前8 位是网络IP ,后24 位是主机IP 。(如下图)
子网掩码也是一个32 为的二进制数,也可以用四个十进制数来分段,他的每一位对应着IP 地址的相应位置,数值为1 时代表的是非主机位,数值为0 时代表是主机位。
由表格可以很清晰的看出,网络IP 仍是由之前的分类来决定到底是多少位,主机IP 则是由子网掩码值为0 的位数来决定,剩下的则是子网IP
5 传输层
传输层提供了两种到达目标网络的方式
· 传输控制协议(TCP):提供了完善的错误控制和流量控制,能够确保数据正常传输,是一个面向连接的协议。
· 用户数据报协议(UDP):只提供了基本的错误检测,是一个无连接的协议。
特点:
1)UDP:
· 把数据打包
· 数据大小有限制(64k)
· 不建立连接
· 速度快,但可靠性低
2)TCP:
· 建立连接通道
· 数据大小无限制
· 速度慢,但是可靠性高
由于传输层涉及的东西比较多,比如端口,Socket等,都是我们做移动开发需要了解的,之后的文章中我们再具体做介绍,这里就不讲解了。
6 应用层
应用层做为TCP/IP 协议的最高层级,对于我们移动开发来说,是接触最多的。
运行在TCP协议上的协议:
· HTTP(Hypertext Transfer Protocol,超文本传输协议),主要用于普通浏览。
· HTTPS(Hypertext Transfer Protocol over Secure Socket Layer, or HTTP over SSL,安全超文本传输协议),HTTP协议的安全版本。
· FTP(File Transfer Protocol,文件传输协议),由名知义,用于文件传输。
· POP3(Post Office Protocol, version 3,邮局协议),收邮件用。
· SMTP(Simple Mail Transfer Protocol,简单邮件传输协议),用来发送电子邮件。
· TELNET(Teletype over the Network,网络电传),通过一个终端(terminal)登陆到网络。
· SSH(Secure Shell,用于替代安全性差的TELNET),用于加密安全登陆用。
运行在UDP协议上的协议:
· BOOTP(Boot Protocol,启动协议),应用于无盘设备。
· NTP(Network Time Protocol,网络时间协议),用于网络同步。
· DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),动态配置IP地址。
其他:
· DNS(Domain Name Service,域名服务),用于完成地址查找,邮件转发等工作(运行在TCP和UDP协议上)。
· ECHO(Echo Protocol,回绕协议),用于查错及测量应答时间(运行在TCP和UDP协议上)。
· SNMP(Simple Network Management Protocol,简单网络管理协议),用于网络信息的收集和网络管理。
· ARP(Address Resolution Protocol,地址解析协议),用于动态解析以太网硬件的地址。
扫二维码用手机看
公司地址:郑州市文化路68号科技市场数码港109B室 电话:0371-63965378
河南八方自动化设备有限公司 ALL REGHTS RESERVED. 豫ICP备12023801号 网站建设;中企动力 郑州