开发者社区> xaubllxwtvaqiu> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

TCPIP协议基础知识学习笔记

简介: 快速学习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协议。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
react19-学习笔记21-简介和基础知识回顾
react19-学习笔记21-简介和基础知识回顾
5 0
学习C++笔记88
C++ 存储类
19 0
TCP协议学习笔记、报文分析
TCP(Transmission Control Protocol传输控制协议)协议是基于IP协议,面向连接的、可靠的、基于字节流的传输层通信协议。
179 0
js的基础知识笔记
目录 一、基本数据类型 二、函数 三、面向对象 一、基本数据类型 1、使用var声明变量、使用;结尾、使用{}表示代码块、使用驼峰式命名 2、变量是弱类型的,即并不严格要求声明变量的类型,一个变量可以在运行期间动态的指向不同类型的数据 3、变量声明后可以不定义(或叫赋值、初始化),此时它的值是u...
938 0
C++学习笔记第一天:基础
前言 N年前学的C,经过VB、JAVA、JS、C#等后辈的轮番蹂躏,当初学的那点儿东西早就还给老师了 现在有了在桌面端实现 Native + Web 的初衷,需要利用CEF开源组件来封装这个Native 所以,还是要对C++有个基本的认识,否则连Debug都找不到入口   开始 首先,菜鸟教程走起:http://www.runoob.com/cplusplus/cpp-tutorial.html 从头开始:基本语法、数据类型、变量类型、各种运算符、循环语句、分支语句。
1064 0
PHP学习笔记1-基础知识
### 基础语法 <!DOCTYPE html> <html> <body> <h1>我的第一张 PHP 页面</h1> <?php echo "Hello World!"; // 这是单行注释 # 这也是单行注释 /* 这是多行注释块 它横跨了 多行 */ ?> </body> &lt
1107 0
PHP学习笔记2-基础知识
常量 常量类似变量,但是常量一旦被定义就无法更改或撤销定义。 常量是单个值的标识符(名称)。在脚本中无法改变该值。 有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。 注释:与变量不同,常量贯穿整个脚本是自动全局的。 如需设置常量,请使用 define() 函数 - 它使用三个参数: 首个参数定义常量的名称 第二个参数定义常量的值 可选的第三个参数
1458 0
RTSP协议学习笔记
一、        RTSP协议概述 RTSP(Real-Time Stream Protocol )是一种基于文本的应用层协议,在语法及一些消息参数等方面,RTSP协议与HTTP协议类似。 RTSP被用于建立的控制媒体流的传输,它为多媒体服务扮演“网络远程控制”的角色。
1240 0
PHP学习笔记(1)--基础知识篇
  PHP学习笔记(1)(每天进步一点点)   1. 基本的 PHP 语法 示例代码: PHP 中的每个代码行都必须以分号结束。
852 0
7500
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载