搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
花生_TL007
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
判断一个数是否是素数_数据库素数
2
网工英语词汇表
3
我的Arch永远在安装(一:基本系统)_iwctl
4
stm32 IIC协议
5
[iOS]进程-线程-队列-任务
6
Pycharm连接云算力远程服务器(AutoDL)训练深度学习模型全过程_pycharm连接autodl
7
3个开源TTS(二)eSpeak的简要分析使用
8
2022年软件测试工具大全(自动化、接口、性能、安全、测试管理)_类似于meterspherer的测试平台
9
查看和清除显存
10
css布局内联、外联、内联-块级的学习_内联布局
当前位置:
article
> 正文
tcp/ip 原理_tcp服务器地址和ip地址一样不
作者:花生_TL007 | 2024-04-22 02:12:58
赞
踩
tcp服务器地址和ip地址一样不
各种L2数据网具有不同的通信协议与帧结构,其网络节点设备可以是各种类型的数据交换机(X.25、FR、Ethernet和ATM等分组交换机);而L3数据网(IP网或internet)具有统一的TCP/IP通信协议和分组结构,全网采用统一格式的IP地址,节点设备统一采用面向无连接的路由器。为便于理解,我们可以将L3数据网简单地理解为构建在L2数据网平台上的一个路由器网。
1 internet概述
internet是一个由众多网络互联而成的世界范围内的计算机网络。从通信的角度来看,internet是一个以TCP/IP统一的标准,将世界范围内多个国家的部门和机构的两层计算机子网联接而成的三层数据网。从资源角度来看,internet是一个集各领域、各学科、各种应用等各种资源为一体的资源数据网。
internet具有以下特点:
(1) TCP/IP是internet的基础与核心,依靠TCP/IP协议实现了网络的互联;
(2) 用户使用internet时无需了解网络底层(物理层和链路层)的结构,十分方便;
(3) 随着internet主干线路与接入带宽的不断拓展,internet最终将取代现有的电话网、数据网和有线电视网,成为三网合一的综合多媒体业务网;
(4) 世界上没有对internet上通信进行统一管理的机构,internet上的许多服务和功能都是由用户开发、经营和管理的,因此从经营角度看internet是一个用户的网络。
2 TCP/IP 协议
internet实现互联的关键是TCP/IP协议。在internet内部,计算机之间互相发送信息包进行通信,TCP/IP协议对这种信息包的传输方式作了具体的规定。
2.1 IP协议(因特网协议)
2.1.1 IP协议概述
IP协议定义在OSI-RM第三层―――网络层,是internet最重要的协议。在IP协议中规定了在internet上进行通信时应遵守的规则,例如IP数据包的组成、路由器如何将IP数据包送到目的主机等。
各种物理网络在链路层(二层)所传输的基本单元为帧(MAC帧),其帧格式随物理网络而异,各物理网络的物理地址(MAC地址)也随物理网络而异。IP协议的作用就是向传输层(TCP层)提供统一的IP包,即将各种不同类型的MAC帧转换为统一的IP包,并将MAC帧的物理地址变换为全网统一的逻辑地址(IP地址)。这样,这些不同物理网络MAC帧的差异对上层而言就不复存在了。正因为这一转换,才实现了不同类型物理网络的互联。
IP协议面向无连接,IP网中的节点路由器根据每个IP包的包头IP地址进行寻址,这样同一个主机发出的属于同一报文的IP包可能会经过不同的路径到达目的主机。
2.1.2 IP协议的功能
IP协议主要具有以下几部分功能:
(1) 寻址
这一功能将在下一节中作为专题进行讨论。
(2) 路由选择
路由选择是以单个IP数据包为基础的,概括而言是确定某个IP数据包到达目的主机需经过哪些路由器。路由选择可以由源主机决定,也可以由IP数据包所途经的路由器决定。
在IP协议中,路由选择依靠路由表进行。在IP网上的主机和路由器中均保存了一张路由表,路由表指明下一个路由器(或目的主机)的IP地址。路由表由目的主机地址和去往目的主机的路径两部分组成。其中,去往目的主机的路径通常是下一个路由器的地址,也可是目的主机的IP地址。
(3) 分段与组装
IP数据包在实际传送过程中所经过的物理网络帧的最大长度可能不同,当长IP数据包需通过短帧子网时,需对IP数据包进行分段与组装。
IP协议实现分段与组装的方法是给每个IP数据包分配一个惟一的标志符,且报头部分还有与分段与组装相关的分段标记和位移。IP数据包在分段时,每一段需包含原有的标志符。为了提高效率、减轻路由器的负担,重新组装工作由目的主机来完成。
2.2 TCP协议(传输控制协议)
2.2.1 TCP协议概述
TCP协议位于OSI-RM第四层―――传输层,是一个端对端、面向连接的协议。该协议弥补了IP协议的某些不足,其中比较突出的有两个方面:一是TCP协议能够保证在IP数据包丢失时进行重发,能够删去重复收到的IP数据包,还能保证准确地按原发送端的发送顺序重新组装数据;二是TCP协议能区别属于同一应用报文的一组IP数据包,并能鉴别应用报文的性质。这一功能使得某些具有四层协议功能的高端路由器可以对IP数据包进行流量、优先级、安全管理、负荷分配和复用等智能控制。
2.2.2 TCP协议的功能
(1) 保证传输的可靠性
TCP协议是面向连接的。所谓连接,是指在进行通信之前,通信双方必须建立连接才能进行通信,而在通信结束后终止其连接。相对于面向无连接的IP协议而言,TCP协议具有高度的可靠性。
当目的主机接收到由源主机发来的IP包后,目的主机将向源主机回送一个确认消息,这是依靠目的主机的TCP协议来完成的。TCP协议中有一个重传记时器(RTO),当源主机发送IP包即开始记时。如在超时之前收到确认信号,则记时器回零;如果记时器超时,则说明该IP包已丢失,源主机应进行重传。对于重传记时器,确定合适的记时时长是十分重要的,它由往返时间来决定。TCP协议能够根据不同情况自动调节记时时长。
需要说明的是,TCP协议所建立的连接是端到端的连接,即源主机与目的主机间的连接。internet中每个转接节点(路由器)对TCP协议段透明传输。
总之,IP协议不提供差错报告和差错纠正机制,而TCP协议向应用层提供了面向连接的服务,以确保网络上所传送的数据包被完整、正确、可靠地接收。一旦数据有损伤或丢失,则由TCP协议负责重传,应用层不参与解决。
(2) 提供部分应用层信息的功能
在TCP协议之上是应用层协议(如FTP、SMTP、TELNET等),最终需依靠它们实现主机间的通信。TCP协议携带了部分应用层信息,可用来区别同一报文数据流的一组IP包及其性质。
TCP协议对这些应用层协议规定了整数标志符,称为端口序号。被规定的端口序号成为保留端口,其值在0~1 023范围内(如端口序号23,用于远程终端服务)。此外还有自由端口序号,供个人程序使用,或者用来区分两台主机间相同应用层协议的多个通信,即两台主机间复用多个用户会话连接。
进行通信的每台主机的每个用户会话连接都有一个插口序号,它由主机的IP地址和端口序号组成。在internet中插口序号是惟一的,一对插口序号惟一地标识了一个端口的连接(发端插口序号=源主机IP地址+源端口序号,收端插口序号=目的主机IP地址+目的端口序号)。利用插口序号可在目的主机中区分不同源主机对同一个目的主机相同端口序号的多个用户会话连接。
在TCP协议段的头部各域中具有码位项。其中,SYN码位为应用数据流的开始位(当SYN置1,表示该IP数据包为某一应用报文的第一份数据包),FIN码位为应用数据流的结束位(当FIN置1时,表示此时数据包为某应用报文的最后一份数据包)。因此可利用SYN/FIN两个码位来规定某一应用报文(或某一应用数据流)的开始与结束。
TCP协议就是利用端口序号和SYN/FIN码位来区分应用数据流并判断其性质的,从而使具有四层功能的高端路由器具有某些对应用数据流的控制功能。
3 TCP/IP 的工作原理
下面以采用TCP/IP协议传送文件为例,说明TCP/IP的工作原理,其中应用层传输文件采用文件传输协议(FTP)。
TCP/IP协议的工作流程如下:
●在源主机上,应用层将一串应用数据流传送给传输层。
●传输层将应用层的数据流截成分组,并加上TCP报头形成TCP段,送交网络层。
●在网络层给TCP段加上包括源、目的主机IP地址的IP报头,生成一个IP数据包,并将IP数据包送交链路层。
●链路层在其MAC帧的数据部分装上IP数据包,再加上源、目的主机的MAC地址和帧头,并根据其目的MAC地址,将MAC帧发往目的主机或IP路由器。
●在目的主机,链路层将MAC帧的帧头去掉,并将IP数据包送交网络层。
●网络层检查IP报头,如果报头中校验和与计算结果不一致,则丢弃该IP数据包;若校验和与计算结果一致,则去掉IP报头,将TCP段送交传输层。
●传输层检查顺序号,判断是否是正确的TCP分组,然后检查TCP报头数据。若正确,则向源主机发确认信息;若不正确或丢包,则向源主机要求重发信息。
●在目的主机,传输层去掉TCP报头,将排好顺序的分组组成应用数据流送给应用程序。这样目的主机接收到的来自源主机的字节流,就像是直接接收来自源主机的字节流一样。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/花生_TL007/article/detail/466309
推荐阅读
article
蓝桥杯 — —
纯
质数
...
开始进行遍历,遍历到的每一个数,如果是
质数
,我们都将其进行添加到数组中,接着对数组中已经记录的所有
质数
进行乘积,如果得到...
赞
踩
article
「
51
媒体
」
展览
展会
媒体
媒体
邀约
执行
应该怎么做?...
在
展会
现场,为
媒体
和企业代表之间的采访提供便利条件,包括安静的采访空间和必要的技术支持。:在
展会
现场,应有专门的工作人员...
赞
踩
article
Springboot
计算机毕业设计
微信
小
程序
购物
系统
【附源码】开题+论文+
mysql
+
程序
+部署...
然而,目前市场上的
微信
小
程序
购物
系统
种类繁多,但功能差异大、用户体验参差不齐,无法满足广大商家的个性化需求和消费者的多样...
赞
踩
article
ROS+
科大
讯飞
语音
识别
控制
机器人
_移植
科大
讯飞
语音
识别
到
ros
...
科大
讯飞
语音
识别
控制
实际
机器人
运动。本文将
ros
与
语音
识别
想结合进行开发。进行以下步骤,1、创作
ros
工作空间2、安装m...
赞
踩
article
有了
MySQL
,
为什么
还
需要
NoSQL
?...
点击上方“Java基基”,选择“设为星标”做积极的人,而不是积极废人!每天14:00更新文章,每天掉亿点点头发...源码...
赞
踩
article
二维
动态
规划
>>
01
背包
问题
与普遍应用_
二维
背包
...
问题
有共n件物品和一个最多能背重量为w的
背包
。第i件物品的重量是weight[i],得到的价值是value[i]。每件物...
赞
踩
article
重力
加速度
陀螺仪
传感器
MPU
-6050(
一
)_
陀螺仪
加速度
一
般采集多少hz...
MPU
-60X0 对
陀螺仪
和
加速度
计分别用了三个16 位的ADC,将其测量的模拟量转化为可输出的数字量。为了精确跟踪快速...
赞
踩
article
不
关闭
Tamper
Protection
(篡改
保护
)下强制卸载
Windows
Defender
和安全...
由于微软不再更新arm版本的win10系统,因此只能通过安装insider preview的镜像来使用。而能找到的win...
赞
踩
article
中文描述
评价
指标
(
blue
,
rouge
,
meteor
,
cider
)_
blue
rouge
...
rouge
:(7条消息) 文本生成:自动摘要
评价
指标
Rouge_
rouge
评价
指标
_SunnyGJing的博客-CSD...
赞
踩
article
【
Spark
】
RDD
入门编程实践(完整版)
_
r
d
d
4
&
,
,
,
,
_
#$&
_
,
3
$#&
,
,
_
&;
,
,
fs...
文章目录1
RDD
创建1.1 从文件系统中加载数据1.2 通过并行集合2
RDD
的操作2.1 转换2.1.1 filte...
赞
踩
article
【
Linux
】【
网络
】传输层
协议
:
TCP
...
TCP
,全称为传输控制
协议
(Transmission Control Protocol),是一种面向连接的、可靠的、基于...
赞
踩
article
动态
规划解
二维
多重
背包
问题
_
二维
背包
问题
动态
规划详解...
问题
二维
费用的
背包
问题
是指:对于每件物品,具有两种不同的费用;选择这件物品必须同时付出这两种代价;对于每种代价都有一个...
赞
踩
article
TCP
/
IP
协议
是什么?...
78.
TCP
/
IP
协议
是什么?
TCP
/
IP
协议
是一组用于互联网通信的网络
协议
,它定义了数据在网络中的传输方式和规则。作...
赞
踩
article
IDEA
中
git
的操作_
mac
版本
idea2020.3
版本
创建
本地
git
项目仓库...
idea在
git
中操作_
mac
版本
idea2020.3
版本
创建
本地
git
项目仓库
mac
版本
idea2020.3
版本
创建
本...
赞
踩
article
[
前端
系列第8弹]
Vue
+
axios
: 一篇文章
,
讲完
axios
所有知识
_
vue
安装
axios
...
axios
是一个基于Promise的HTTP客户端库
,
它可以在浏览器和node.js中使用
,
它可以让你轻松地发送异步请求...
赞
踩
article
PLSQL
的
下载与安装...
PLSQL
的
下载与安装 个人介绍 hello hello~ ,...
赞
踩
article
小米
自带
360怎么
卸载
_
MIUI11
卸载
系统
自带
软件
,无需
ROOT
也可以...
大家好,我是仔仔!我的手机设备在十月份升级了基于安卓Q的
MIUI11
后,想
卸载
系统
自带
软件
,但是没有找到
卸载
入口。进入升...
赞
踩
article
软考
高项
——
计算
专题_
软考
高项
计算
题...
更新中..._
软考
高项
计算
题
软考
高项
计算
题 可用性 项目整体管理 项目选择方法 1...
赞
踩
article
去除
GIT
某个时间
之前
的
提交
日志_怎么把
git
一个日期
之前
的
模块记录
删除
...
有时
git
提交
了太多,有些较早
之前
的
提交
日志,不想在
git
logr看到,想把他
删除
掉。_怎么把
git
一个日期
之前
的
模块记...
赞
踩
article
Java
-S
par
k系列3-
RDD
介绍_
javardd
save
par
...
文章目录一.
RDD
概念1.1
RDD
的特点1.2
RDD
的核心属性二.
RDD
概述2.1 准备工作2.2 初始化s
par
k...
赞
踩
相关标签
蓝桥杯
职场和发展
算法
人工智能
spring boot
课程设计
微信小程序
语音识别
ros
机器人
语音控制
mysql
nosql
数据库
java
中间件
动态规划
面试
leetcode
windows
安全
Defender
篡改保护
杀软