《TCP/IP协议》 - 概述
(一)TCP协议特点
- 面向字节流
2.面向连接,全双工通信
3.传输可靠
(二)为什么会出现TCP/IP协议
在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才会发挥出它最大的潜力。于是人们就想方设法的用电线把电脑连接到了一起。
但是简单的连到一起是远远不够的,就好像语言不同的两个人互相见了面,完全不能交流信息。因而他们需要定义一些共通的东西来进行交流,TCP/IP就是为此而生。TCP/IP不是一个协议,而是一个协议族的统称。里面包括了IP协议,IMCP协议,TCP协议,以及我们更加熟悉的http、ftp、pop3协议等等。电脑有了这些,就好像学会了外语一样,就可以和其他的计算机终端做自由的交流了。
(三)TCP/IP分层
网络接口层:这是TCP/IP软件的最低层,负责接收IP数据报并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层。
网络层:负责相邻计算机之间的通信。其功能包括三方面。
1、处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。
2、处理输入数据报:首先检查其合法性,然后进行寻径--假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。
3、处理路径、流控、拥塞等问题。
传输层:提供应用程序间的通信。其功能包括:
1、格式化信息流;2、提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送。
TCP:运输层,端到端的协议,在网络层IP协议之上,即下层协议通过(网络接口层、网络层)将数据传送到具体的某台计算机,计算机再通过TCP协议找到目标应用的过程
(四)数据进入协议栈的封装过程
Appl首部:封装应用层协议头,目的让应用能够理解,并作出相应的应答
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
GO语言学习笔记(四) - 测试 go test
GO语言学习笔记(四) - 测试 go test 测试程序规则 测试程序文件必须以_test.go结尾 需要引入testing包 测试方法(函数)名必须以Test开头 测试命令 执行全部测试文件 go test 执行全部测试文件,显示执行信息 go test -v
- 下一篇
linux源玛包编译安装
源玛包编译安装的优势 :1.获得软件的最新版,及时修复bug 适用于各种平台 源玛包编译安装对于标准源码发布的C/C++软件包,编译安装一般包括以下过程:1.解包:使用tar命令,将下载的源代码释放至指定目录2.配置:执行源码目录内的 ./configure 脚本,指定安装目录/功能模块等选项3.编译:在源码目录下执行 make 操作,根据配置清单Makefile生成可执行的二进制程序文件4.安装:在源码目录下执行make install 操作,将编译好的程序及相关文件复制到安装目录 1.准备编译环境 ,需要安装gcc gcc-c++ make 编译工具 yum -y install gcc gcc-c++ make 2.解包 tar -xf bootcss.tar.gz -C /root cd /root [root@server ~]# lsanaconda-ks.cfg Desktop Music Python-3.6.5 Videosbootcss Documents Pictures Python-3.6.5.tar.xz cd Python-3.6.5/ 3.配置 ./co...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装