Python 14.1 TCP/IP协议简介
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地址和端口号,我们就可以进行网络编程了。
转载于:https://blog.51cto.com/9130745/1740846
Python 14.1 TCP/IP协议简介相关推荐
- TCP/IP协议简介
TCP/IP协议简介<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&g ...
- TCP/IP协议简介(三) 之 网络层
IP 网际协议 IP 协议位于网络层,它是 TCP/IP 协议族中最为核心的协议,所有的 TCP.UDP.ICMP 及 IGMP 数据都以 IP 数据报格式传输.IP 协议提供的是 不可靠 . 无连接 ...
- TCP/IP协议简介2
TCP协议和IP协议不是相同的协议,IP协议是属于网络层的协议,负责网络连接,主要是寻找地址用,建立连接使用,我们完全可以不管,我们最关心的是TCP协议! 为了说明封包的重要性,这里介绍一下交换技术, ...
- Ethernet,TCP,IP协议简介
TCP 是互联网核心协议之一,本文介绍它的基础知识. 一.TCP 协议的作用 互联网由一整套协议构成.TCP 只是其中的一层,有着自己的分工. (图片说明:TCP 是以太网协议和 IP 协议的上层协议 ...
- python socket基于TCP/IP协议实现多人聊天室
文章目录 前言 一.实现原理 二.queue队列 三.代码实现 四.需要注意的地方 五.总结 前言 所谓套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象.一个套接字 ...
- TCP/IP协议简介(五) 之 应用层
应用层协议 在传输层之上,便是应用层.传输层的 UDP 报文和 TCP 报文段的数据部分就是应用层交付的数据. 不同类型的网络应用有不同的通信规则,因此应用层协议是多种多样的,比如 DNS.FTP.T ...
- 计算机原理---什么叫协议?主流协议族TCP/IP协议与HTTP协议的联系及区别
文章目录 一. 背景 1. 名词定义 2. 协议选择 3. 常用协议 二. 协议协议,究竟什么是协议? 1.举个例子 2.计算机网络一般分为5层 应用层 传输层 网络层 数据链路层 物理层 三.总结 ...
- 技术往事:改变世界的TCP/IP协议(珍贵多图、手机慎点)
1.前言 作为应用层开发人员,接触最多的网络协议通常都是传输层的TCP(与之同处一层的另一个重要协议是UDP协议),但对于IP协议,对于应用程序员来说更多的印象还是IP地址这个东西,再往深一点也就很难 ...
- python端口转发_Python实现TCP/IP协议下的端口转发及重定向示例
首先,我们用webpy写一个简单的网站,监听8080端口,返回"Hello, EverET.org"的页面. 然后我们使用我们的forwarding.py,在80端口和8080端口 ...
最新文章
- jQuery和dom的相互转换
- 欢迎使用Markdown
- [转]那些年我还不懂:IList,ICollection,IEnumerable,IEnumerator,IQueryable
- PostgreSQL 12系统表(8)pg_indexes
- Hibernate.cfg.xml 整理
- asp.net中引入外部js文件,容易产生中文乱码
- [网络应用]Foobar2000界面入门:认识Foobar的UI系统,熟悉三种主流界面插件
- 自动化之RPA工具之UiPath
- 数字图像处理-基于Matlab水果识别系统(图片识别)
- 小米无线路由器服务器用户名和密码忘了,小米无线路由器忘记了后台登录密码怎么办?忘记了小米路由器web页面的管理密码怎么找回?- 家用路由网...
- excel高级筛选怎么用_Excel高级筛选教程(完整版)-第二期注入灵魂的条件区域
- 谷粒商城 - 微服务分布式电商项目
- 世界首富用 AI 开除混吃混喝的“兄弟”
- 服务器系统防火墙设置在哪里设置方法,服务器怎么设置防火墙设置在哪里
- observable.map 介绍
- mac安装WireShark2.0新手教程
- 我在达内学安卓-基于ArrayAdapter创建单一对象列表方式创建联系人列表!
- 《Image-to-Image Translation with Conditional Adversarial Networks》文章翻译
- 《GhostXP_SP2电脑公司特别版_v8.5》
- 简易的java程序,银行管理系统
热门文章
- java监听组合按键_js监听组合按键
- mysql 4.1.10_Mysql4.1.10初级解读
- Java项目:在线婚纱摄影预定系统(java+javaweb+SSM+springboot+mysql)
- Java项目:家庭财务管理系统(java+Springboot+ssm+mysql+maven)
- ==和equals()的作用及区别
- java this final_Java this、final等关键字总结
- mysqlselectdb php_PHP MySQL Select(数据库查询)
- 1小时学会:最简单的iOS直播推流(二)代码架构概述
- VUE 动态绑定class
- 3-flutter 项目结构 资源 依赖