Python 14.1 TCP/IP协议简介
2016-02-03 09:33
260 查看
TCP/IP协议简介
虽然大家对现在的互联网很熟悉,但是计算机网络比互联网出现的早得多。
为了把全世界不同的计算机都连起来,就必须规定一套全球通用的协议,为了实现互联网这个目标,互联网协议簇(Internet Protocol Suite)就是通用协议标准。
因为互联网协议包含了上百种协议标准,但是最重要的是TCP和IP协议。所以,大家把互联网的协议简称为TCP/IP协议。
通信的时候双方必须知道对方的标识。互联网上每个计算机的唯一标识就是IP地址。如果一台计算机同时接入两个或多个网络,它就会有多个IP地址。时间上,IP地址实际对应的是计算机的网络接口,通常是网卡。
IP协议负责把数据从一台计算机发送到另外一台计算机。数据被分割为一个个小块,然后通过IP发送出去。由于互联网链路复杂,两台计算机中有多条路径可以选择。因此,路由器就决定如何把IP包转发出去。IP包的特点是按块发送,途径多个路由,但不能保证到达,也不能保证顺序到达。
IPV4地址实际上是一个32位整数,以字符串表示的IP地址如192.168.0.1实际上是把32位整数按8位分组后的数字表示。目的是便于阅读。
IPv6是一个128位整数。以字符串表示类似于 2001:0db8:85a3:0042:1000:8a2e:0370:7334。
TCP协议则是建立在IP协议之上的。TCP协议负责两台计算机之间建立可靠连接,保证数据包按顺序到达。TCP协议会通过握手建立连接,然后,对每个IP包编号,确保对方按顺序收到,如果丢包就自动重发。
许多常用的更高级的协议都是建立在TCP协议基础之上,比如HTTP协议,发送邮件的SMTP协议等等。
一个IP包除了包含要发送的数据之外,还包含源地址和目的地址,源端口可目的端口。
端口有什么用?在两台计算机之间通信,只有IP地址是不够的,因为同一台机器上跑着很多程序。一个IP包来了之后到底给哪个程序还是需要端口来区分。每个网络程序都向操作系统申请唯一端口号,这样,两个进程在两台计算机之间建立网络连接就需要知道各自的IP地址和各自的端口号。
一个进程也可能与多台计算机建立链接,因此它会申请很多端口号。
了解了TCP/IP的基本概念,IP地址和端口号,我们就可以进行网络编程了。
虽然大家对现在的互联网很熟悉,但是计算机网络比互联网出现的早得多。
为了把全世界不同的计算机都连起来,就必须规定一套全球通用的协议,为了实现互联网这个目标,互联网协议簇(Internet Protocol Suite)就是通用协议标准。
因为互联网协议包含了上百种协议标准,但是最重要的是TCP和IP协议。所以,大家把互联网的协议简称为TCP/IP协议。
通信的时候双方必须知道对方的标识。互联网上每个计算机的唯一标识就是IP地址。如果一台计算机同时接入两个或多个网络,它就会有多个IP地址。时间上,IP地址实际对应的是计算机的网络接口,通常是网卡。
IP协议负责把数据从一台计算机发送到另外一台计算机。数据被分割为一个个小块,然后通过IP发送出去。由于互联网链路复杂,两台计算机中有多条路径可以选择。因此,路由器就决定如何把IP包转发出去。IP包的特点是按块发送,途径多个路由,但不能保证到达,也不能保证顺序到达。
IPV4地址实际上是一个32位整数,以字符串表示的IP地址如192.168.0.1实际上是把32位整数按8位分组后的数字表示。目的是便于阅读。
IPv6是一个128位整数。以字符串表示类似于 2001:0db8:85a3:0042:1000:8a2e:0370:7334。
TCP协议则是建立在IP协议之上的。TCP协议负责两台计算机之间建立可靠连接,保证数据包按顺序到达。TCP协议会通过握手建立连接,然后,对每个IP包编号,确保对方按顺序收到,如果丢包就自动重发。
许多常用的更高级的协议都是建立在TCP协议基础之上,比如HTTP协议,发送邮件的SMTP协议等等。
一个IP包除了包含要发送的数据之外,还包含源地址和目的地址,源端口可目的端口。
端口有什么用?在两台计算机之间通信,只有IP地址是不够的,因为同一台机器上跑着很多程序。一个IP包来了之后到底给哪个程序还是需要端口来区分。每个网络程序都向操作系统申请唯一端口号,这样,两个进程在两台计算机之间建立网络连接就需要知道各自的IP地址和各自的端口号。
一个进程也可能与多台计算机建立链接,因此它会申请很多端口号。
了解了TCP/IP的基本概念,IP地址和端口号,我们就可以进行网络编程了。
相关文章推荐
- 新闻速读 > Ripple20 漏洞影响数亿设备
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 如何重装TCP/IP协议
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例