【python】 网络编程:网络以及TCP/IP协议

关于网络

【一句话介绍】网络就是一种辅助双方或者多方能够连接在一起的工具。

网络图解
ip地址

【一句话介绍】ip地址:用来在网络中标记一台电脑,比如192.168.1.1;在本地局域网上是唯一的。

关于端口

端口是通过端口号来标记的,端口号只有整数,范围是从0到65535。 通过ip我们能够找到网络上的一台主机,一台主机上有很多网络应用,这些网络应用在不同端口进行监听,收取发往自己端口的数据。通过ip+端口,我们的应用程序可以在不同主机间通信。


关于TCP/IP协议

(传输控制协议/互联网协议)不是简单的一个协议,而是一组特别的协议,包括:TCP,IP,UDP,ARP等,这些被称为子协议。在这些协议中,最重要、最著名的就是TCP和IP。因此,大部分网络管理员称整个协议族为“TCP/IP”。

图解

【核心协议】

一、IP协议

【资料来源:百度百科
网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。

IP层接收由更低层(网络接口层,例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层——TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。

二、TCP协议

【三次握手;四次回头】
如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向“上”传送到TCP层。

TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。

TCP将它的信息送到更高层的应用程序,例如,Telnet的服务程序和客户程序。应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。

面向连接的服务(例如Telnet、FTP、rlogin、XWindows和SMTP)需要高度的可靠性,所以它们使用了TCP。DNS在某些情况下使用TCP(发送和接收域名数据库),但使用UDP传送有关单个主机的信息。

TCP/IP协议传输示意图

【网际层也称为:网络层】
【网络接口层也称为:链路层】


三、UDP协议

UDP与TCP位于同一层,但对于数据包的顺序错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询一应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。使用UDP的服务包括NTP(网络时间协议)和DNS(DNS也使用TCP)。

【优点】

  • 1)协议标准是完全开放的,可以供用户免费使用,并且独立于特定的计算机硬件与操作系统。

  • 2)独立于网络硬件系统,可以运行在广域网,更适合于互联网。

  • 3)网络地址统一分配,网络中每一设备和终端都具有一个唯一地址。

  • 4)高层协议标准化,可以提供多种多样可靠网络服务。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 网络编程 一.楔子 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运...
    go以恒阅读 2,097评论 0 6
  • 1 UDP 1什么是网络 ·网络就是一种辅助双方或者多方能够连接在一起的工具 ·如果没有网络可想单机的世界是多么的...
    五行缺觉阅读 420评论 0 1
  • 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者...
    JasonShi6306421阅读 1,262评论 0 1
  • 网络中的术语解释 TCP和UDP的区别 是否连接: TCP面向连接(发送数据之前需要建立连接,三次握手).UDP面...
    莫辜负自己的一世韶光阅读 735评论 0 2
  • 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者...
    保川阅读 5,989评论 1 13