TCPIP协议基础知识学习笔记

本文涉及的产品
数据传输服务DTS,同步至DuckDB 3个月
简介: 快速学习TCP/IP协议基础知识

开发者学堂课程【TCP/IP 网络基础:TCP/IP协议基础知识】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/791


TCP/IP协议基础知识

内容简介

一、Internet的历史

二、网络的体系结构

三、OSI参考模型及TCP/IP参考模型

四、TCP和UDP协议

五、TCP三次/四次握手

六、UDP协议

七、协议的选择

一、Internet的历史

Internet——冷战的产物

网络互联促成TCP/IP协议的产生

二、网络的体系结构

网络采用分而治之的方法,将网络的功能划分为不同的模块,以分层的形式有机结合在一起。

每层实现不同的功能,其内部实现方法对外部其他层次来说是透明的,每层向上层提供服务,同时使用下层提供的服务。

网络体系结构即指网络的层次结构和每层所使用的协议的集合。

两类非常重要的体系结构:OSI与TCP/IP

三、OSI参考模型及TCP/IP参考模型

image.png

OSI参考模型及TCP/IP参考模型

OSI模型相关的协议已经很少使用,但模型本身非常通用

OSI模型一共有七层,是一个理想化的模型,但是尚未有完整的实现

TCP/ IP

协议一共有四层,是Internet事实上的工业标准。

四、TCP和UDP协议

image.png

是一种面向连接的传输层协议,它能提供高可靠性通信(即数据无误、数据无丢失、数 据无失序,数据无重复到达的通信)。

适用情况

1.适合于对传输质量要求较高,以及传输大量数据的通信

2.在可靠数据传输的场合,通常使用TCP协议。

3.MSN/QQ等即时通讯软件的用户登录账户管理相关的功能通常采用TCP协议。

五、TCP三次/四次握手

image.png

六、UDP协议

UDP (User Datagram Protocol)用户协议, 是不可靠的无连接协议。在数据发送前,因为不需要进行连接,所以可以进行高效率的数据传输。

使用情况

1.在接收到数据,给应答较困难的网络中使用UDP(如:无线网络)

2适合用于广播和组播通信当中。

3msn/qq/Skype 等即使通讯软件的点对点文本通讯以及音视频通讯通常采用UDP 协议。

4流媒体、VOD、VoP、IPTV等网络多媒体服务中通常采用UDP方式进行实时数据传输。

同时,一个UDP应用可同时作为应用的客户或服务器。由于UDP协议并不需要建立一个 明确的连接,因此建立UDP应用要比建立TCP应用简单得多。

七、协议的选择

TCP和UDP协议

协议的选择

(1)对数据可靠性的要求

对数据要求高可靠性的应用需选择TCP议,如验证、密码字段的传送都是不允许出

错的,而对数据的可靠性要求不那么高的应用可选择UDP传送。

(2)应用的实时性

TCP协议在传送过程中要使用三次握手,重传确认等手段来保证数据传输的可靠性

使用TCP协议会有较大的时延,因此不适合对实时性要求较高的应用,如VOP、视频监

控等,相反,UDP协议则在这些应用中能发挥很好的作用。

(3)网络的可靠性

由于TCP协议的提出主是解决网络的可靠性问题,它通过各种机制来减少错误发生的

概率。

因此,在网络状况不是很好的情况下需选用TCP协议(如在广域网等情况),但是若在网络状况很好的情况下(如局域网等)就不需要再采用TCP协议,而建议选择UDP协议。


相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
人工智能 监控 算法
美的置业携手阿里云AIoT在顺德共同打造国内首个AI社区
智慧社区也已经成为人们衡量一个社区质量的标准之一
4216 15
美的置业携手阿里云AIoT在顺德共同打造国内首个AI社区
|
JavaScript 容器
模态框(Modal
模态框(Modal)是一种用于在网页上展示重要信息或功能的交互式窗口。它通常在页面顶部或页面中部弹出,覆盖在页面之上,使页面部分内容不可见,直到模态框被关闭。模态框可以包含文本、图像、表单、按钮等元素,用于向用户展示信息、获取用户输入或执行其他操作。
470 4
|
运维 监控 Kubernetes
EDAS助力「人人视频」新业务快速稳健上云
随着疫情袭来,影院全部封闭,然而大家看电影的热情不减,但优质渠道比较少,人人视频敏锐的探察到这个市场需求,结合自身用户量和优质片源的优势,准备推出电影点播业务!
6044 79
EDAS助力「人人视频」新业务快速稳健上云
|
Android开发 Shell
Appium之ADB指令详解
前言 学Android测试,ADB指令是必学的。 图1 一、ADB概述        Android Debug Bridge,Android调试桥接器,简称adb,是用于管理模拟器或真机状态的万能工具,采用了客户端-服务器模型,包括三个部分:        1、客户端部分,运行在开发用的电脑上,可以在命令行中运行adb命令来调用该客户端,像ADB插件和DDMS这样的Android工具也可以调用adb客户端。
1892 0
|
存储 人工智能 数据中心
阿里云基础设施网络亮相SIGCOMM22 - 可预期网络取得重大突破
阿里云基础设施网络亮相SIGCOMM22 - 可预期网络取得重大突破
阿里云基础设施网络亮相SIGCOMM22 - 可预期网络取得重大突破
|
存储 C++
IT人才知道的二进制爱情,羡慕ing
二进制的爱情也太甜了,快来看看吧,同时祝友友们也早早得拥有自己的二进制爱情吧。
2139 2
IT人才知道的二进制爱情,羡慕ing
|
存储 安全 数据安全/隐私保护
|
传感器 Ubuntu API
ESP32-C3入门教程 基础篇(五、RMT应用 — 控制SK6812全彩RGB 灯)
测试第五课,本来是准备测试一下PWM驱动 SK6812 RGB灯, 但是研究了一段时间,发现在ESP32-C3 有更好而且现成的方式 实现 SK6812 的控制, 使用PWM也不是不可以,只是对于初学者,需要多花好多时间, 所以本文还是先以ESP32-C3内置的 RMT 进行 SK6812 的控制,毕竟有现成的示例
2206 0
ESP32-C3入门教程 基础篇(五、RMT应用 — 控制SK6812全彩RGB 灯)
|
自然语言处理 开发工具 git
天猫精灵语音开发-终篇
图文详解如何开发天猫精灵语音应用,以及阿里云云开发平台的基本使用,最后将介绍如何把使用阿里云云开发平台做后台开发天猫精灵应用
948 0
|
Ubuntu 数据可视化 搜索推荐
麒麟系统开发笔记(六):安装QtCreator开发IDE中的中文输入环境Fcitx输入法
中文输入法,QtCreator中无法输入中文也是ubuntu中一个常规问题,在麒麟系统中也此问题,要解决此问题,主要是安装和使用Fcitx输入法。   本文章最终结果是失败的,但是读者的系统未必是跟笔者的系统类似的,笔者使用的系统正好是opengl修改源依赖库修改到一半的版本。
麒麟系统开发笔记(六):安装QtCreator开发IDE中的中文输入环境Fcitx输入法