[华为云在线课程][Python网络编程][网络基础知识][一][学习笔记]

举报
John2021 发表于 2022/05/28 07:46:27 2022/05/28
【摘要】 [华为云在线课程][Python网络编程][网络基础知识][一][学习笔记] 1.IP地址IP地址指的是互联网协议地址,用来在网络中标记一台PC。每一个IP地址包括两部分:网络地址和主机地址,由此可以对IP地址进行分类。思考题:多个服务共用一个IP地址通信时,如何区分不同服务的数据包? 2.网络端口在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Mode...

[华为云在线课程][Python网络编程][网络基础知识][一][学习笔记]

1.IP地址

IP地址指的是互联网协议地址,用来在网络中标记一台PC。

每一个IP地址包括两部分:网络地址和主机地址,由此可以对IP地址进行分类。

思考题:多个服务共用一个IP地址通信时,如何区分不同服务的数据包?

2.网络端口

在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等;二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。

3.TCP/IP

TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议族。
TCP/IP模型包含了TCP,IP,UDP,Telnet,FTP,SMTP等上百个互为关联的协议,其中TCP和IP是最常用的两种底层协议,所以把它们统称为"TCP/IP协议族"。

4.网络模型

OSI七层模型由上到下排序为:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。
TCP/IP五层模型由上到下排序为:应用层,传输层,网络层,数据链路层,物理层。
TCP/IP四层模型由上到下排序为:应用层,传输层,网际互联层,网络接口层。

5.TCP

TCP,传输控制协议:是一种面向连接的、可靠的、基于字节流的传输层通信协议。
TCP协议特点:

  • 数据分片:在发送端对用户数据进行分片,在接收端进行重组,由TCP确定分片的大小并控制分片和重组。
  • 到达确认:接收端接收到分片数据时,根据分片数据序号向发送端发送一个确认。
  • 超时重发:发送方在发送分片时启动超时定时器,如果在定时器超时之后没有收到相应的确认,重发分片。
  • 滑动窗口:TCP连接每一方的接收缓冲空间大小都固定,接收端只允许另一端发送接收端缓冲区所能接纳的数据,TCP在滑动窗口的基础上提供流量控制,防止较快主机致使较慢主机的缓冲区溢出。
  • 失序处理:作为IP数据报来传输的TCP分片到达时可能会失序,TCP将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层。
  • 重复处理:作为IP数据报来传输的TCP分片会发生重复,TCP的接收端必须丢弃重复的数据。

6.三次握手和四次挥手

TCP协议在建立连接前会进行三次握手;TCP协议在断开连接时会进行四次挥手。

三次握手

  • 三次握手是为了对每次发送的数据量进行跟踪与协商,确保数据段的发送和接收同步,根据所接收到的数据量而确认数据发送、接收完毕后何时撤消联系,并建立虚连接。
  • 第一次握手:客户端发送SYN(SEQ=X)包到服务器,并进入SYN_SENT状态,等待服务器确认。SYN(Synchronize Sequence Numbers)。
  • 第二次握手:服务器收到SYN包,必须确认客户端的SYN(ACK=X+1),同时自己发送一个SYN包(SEQ=Y),即SYN+ACK包,同时服务器进入SYN_REVC状态。
  • 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(Y+1),此包发送完毕后,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。

四次挥手

  • 第一次挥手:当客户端通知TCP数据已经发送完毕时,TCP向服务器发送一个带有FIN附加标记的报文段。
  • 第二次挥手:服务器收到这个FIN报文段之后,并不立即用FIN报文段回复客户端,而是先向客户端发送一个确认序号ACK,(先发送ACK的目的是为了防止在这段时间内,对方重传FIN报文段)。
  • 第三次挥手:服务器告诉TCP:我要彻底的关闭连接,TCP向客户端送一个FIN报文段。
  • 第四次挥手:客户端收到这个FIN报文段后,向服务器发送一个ACK表示连接彻底释放。

7.UDP

UDP用户数据报协议(User Data Protocol)是与TCP相对应的协议,属于TCP/IP协议族中的一员。

  • UDP只在IP的数据报服务之上增加了很少一点的功能,这就是复用和分用的功能以及差错检测的功能。

UDP协议的特点:

  • UDP是无连接的,即发送数据之前不需要建立连接(发送数据结束时也没有连接可释放),减少了开销和发送数据之前的时延。
  • UDP使用尽最大努力交付,即不保证可靠交付,主机不需要维持复杂的连接状态表。
  • UDP是面向报文的,发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。
  • UDP没有拥塞控制,网络出现的拥塞不会使源主机的发送速率降低。
  • UDP支持一对一、一对多、多对一和多对多的交互通信。
  • UDP的首部开销小,只有8个字节。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。