TCP/IP浅谈

浅谈TCP/IP参考模型 @author Mr.Lito 背景 OSI参考模型的提出在计算机网络发展史上具有里程碑的意义,以至于提到计算机网络就不能不提OSI参考模型。但是考虑到OSi参考模型的定义以及实现困难等缺点。在1973年9月,TCP/IP被文顿·瑟夫与卡恩提出。TCP/IP是一组协议的代名词 ,目前总共有100多个协议,组成了著名的TCP/IP协议族。值得留意的是,TCP/IP中的IP协议问世到现在,它总共出现过... 阅读详情


1.TCP/IP不是协议,而是协议族的总称。可分为四层结构,分别为:

(1) 应用层:包含高层协议如FTP、HTTP、TELNET等

(2) 传输层:TCP、UDP处于该层

(3) 网络层:IP协议位于该层,负责对数据加上IP地址和其他的数据,以确定传输的目标

(4) 数据链路层:为数据加入一个以太网协议头,并进行CRC编码,为最后的数据传输做准备

2. 发送协议的主机从上自下将数据按照协议封装,而接收数据的主机则按照协议从得到的数据包解析,最后拿到需要的数据。

3. IP地址一般为:网络号+主机号,域名系统的作用是将主机名转换为IP地址的服务。RFC是TCP/IP的标准文档,应用接口一般包括socket和TLI。

4. 数据链路层的目的:

(1) 为IP模块发送和接收IP数据

(2) 为ARP模块发送ARP请求和接收ARP应答

(3) 为RARP模块发送RARP请求和接收RARP应答

其中ARP为地址解析协议,即将IP地址解析为MAC地址

5. PPP是点对点协议,提供了了一种低速接入的解决方案。

6. MTU是最大传输单元,如果IP数据报过大,则要进行分片,使得每片都小于MTU。netstat -in命令可以打印MTU的结果。

7. 环回接口(LOOKBACK),即127.0.0.1尝试自己的机器服务器好使不好使。

(1) 传给环回地址的任何数据均作为IP输入

(2) 传给广播地址或多播地址的数据报复制一份到环回接口,然后送到以太网上

(3) 任何传给主机IP地址的数据均送到环回接口

8. IP协议为不可靠协议,其中的字段TTL,即8位的生存时间,数据包在穿过多少个路由后才会被抛弃,每经过一个路由,TTL减一,当为0时则被抛弃。

路由器和主机将会用如下的方式处理一个IP数据包

(1) TTL一到0,IP包自动抛弃

(2) 搜索路由表,优先搜索匹配主机,能找到和IP地址完全一致的目标主机,则向其发包

(3) 搜索路由表,如匹配主机失败,则匹配同子网的路由器,如找到,将包发给路由器

(4) 搜索路由表,若匹配同子网路由器失败,则匹配同网号路由器,若找到,将包发给路由器

(5) 搜索路由表,如果以上都失败,则搜索默认路由,如存在,则发包

(6) 若都失败,则丢包

9. 子网寻址:可将IP地址细分为网络号+子网号+主机号,如210.30.109.134中210.30为网络号,109为子网号

134为主机号,对应的子网掩码为255.255.255.0。

10. ICMP(Internet Control Message Protocol) 网络控制报文协议,当IP数据传送发生错误时,ICMP会将错误信息封包,然后传送回主机。ICMP报文在特殊情况下,不产生错误报文,因为要防止产生ICMP报文的无线传播。

ICMP有以下两种功能:

(1) 查询报文:ping查询,子网掩码查询,时间戳查询

(2) 差错报文:产生在数据传送,发生错误时

ping利用ICMP协议包侦测另一个主机是否可达,给出了传送的时间和TTL的数据,可查看主机到目的主机之间的路由信息,但不能完全记录。

traceroute用来侦测主机到目的主机之间所经路由情况,原理之一是发送的端口号>30000,因此到达目的主机时,目的主机只能发送一个端口不可达的ICMP数据报给主机

11. 路由器的5个标志(静态IP选路):

U:可使用

G:路由到一个网关,无该标志,说明目标是直接相连的

H:路由到一个主机,无该标识,说明目标是一个网络

D:路由为重定向报文创建的

M:路由已被重定向报文修改

静态IP选路的方式:

(1) 首先用IP地址匹配带H标志的IP地址(H)

(2) 若(1)失败,则匹配网络地址(G)

(3) 若(2)失败,则发送到默认网关

12. route add命令用于手动添加路由

当IP包在某路由器中发现没有路由可走,则路由器会给源主机发送“主机/网络不可传”的ICMP包来报错。

IP重定向报文:IP包在某地方转向时,会给发送IP报的源主机一个ICMP重定向报文,源主机将更新自己的路由表,因此路由表将越来越完善,数据转发速度也将越来越快。

注意:重定向报文只能由路由器发出,重定向报文为主机所用,而非路由所用

13. 动态路由协议:只用于相邻路由之间相互通信,动态选路在系统核心网外部进行,只是用一些选路的策略影响路由表,常用到的方法是RIP(选路信息协议)与OSPF(开放最短路径优先协议)。

14. UDP协议

端口号:UDP协议必须通过某个标志用以区分不同的程序所需要的数据包

检验和:发送端进行检验和

UDP长度:可以很长,但需要分片。

IP头里,16bit识别号唯一记录了一个IP包的ID,具有同一个ID的IP片将会被重组,13bit片偏移则记录了某IP片相对整个包的位置,中间的3bit标志着该分片是否还有新的分片。

目标主机的处理速度赶不上数据接收的速度时,主机将发出“我受不了了”的ICMP报文。

15. UDP服务器的设计:

(1) 关于客户端和IP地址:服务器必须有根据客户IP地址和端口判断数据包是否合法的能力

(2) 关于目的地址:服务器必须要有过滤广播地址的能力

(3) 关于数据输入:服务器的每一个端口号都会和一块输入缓冲区对应,进来的输入根据先来后到的原则等待服务器处理,所以难免缓冲区溢出,UDP可能被丢弃,而应用服务器本身并不知道这个问题。

(4) 服务器应把自己绑定到某一网络接口的某端口上

16. 单播、广播域多播

单播:对特定主机进行数据传送,数据链路层给出的数据头里是非常具体的地址

广播:针对某一网络上的所有主机发送数据包

多播:给一组特定的主机发送数据,多播租的IP地址244.0.0.0-239.255.255.255

17.  TCP保证可靠性的原因:

(1) 应用数据被分割成TCP认为最合适发送的数据块

(2) 当TCP发出一个报文段后,会启动一个定时器,等待目的端确认收到这个报文段,如果不及时收到一个确认,将重发这个报文段,即超时重传

(3) 当TCP收到发自TCP连接另一端的数据,将发送一个确认

(4) TCP将保持它首部和尾部的检验和,目的是检验数据包在传输过程中的任何变化

(5) 提供流量监控

18. TCP发送数据过程:

(1) 双方建立连接

(2) 发送方向接收方发送TCP数据包,然后等待对方确认TCP数据报,如果没有就重新发,如果有,则发送下一个数据报。

(3) 接收方等待发送方的数据报,如果得到数据报并检验无误,就发送ACK确认,并等待下一个数据报的到来

(4) 中止链接

19. TCP建立连接的三次握手:

(1) 客户端先向服务器申请打开某一个端口

(2) 服务器发回一个ACK报文通知客户端请求收到

(3) 客户端收到报文后,再次向服务器端发送确认报文

20. 结束连接:

TCP的链接为全双工,因此,必须关闭穿和送两个方向上的连接:

(1) 客户端-->服务器,发送FIN为1的TCP报文

(2) 服务器-->客户端,返回确认ACK报文,并发送FIN报文

(3) 客户端-->服务器端,回复ACK报文


别再为倍福EL6021/EL6022的RS485接线头疼了!手把手教你硬件跳线与软件配置(附Modbus RTU主站例程) 本文详细解析了倍福EL6021/EL6022模块的RS485硬件跳线与软件配置方法,包括Modbus RTU主站编程实战。从端子定义、跳线操作到TwinCAT 3环境设置,提供完整的通信例程和故障排查技巧,帮助工程师快速解决工业现场通信问题。 阅读详情

相关推荐

川崎机器人总线通信_三菱PLC和发那科机器人进行CCLINK总线通信

三菱CCLINK主站模块采用QJ61BT11N,该模块用在Q系列PLC上,如果是5U或3UPLC,可用FX5-CNV-BUS加FX3U-16CCL-M或FX5-CCL-M模块。本教程以Q系列为例CCLINK接线方法如下模块拨码含义如下接线和拨码设置好后,接着在编程软件上设置CCLINK通信参数打开编程软件,在工程导航栏打开参数——网络参数,选中CCLINK打开。打开如下画面起始IO为模块本体占用I...

weixin_42300398的博客 7546

高级计算机网络

第一章:网络复习概述 1.1什么是计算机网络 从构成的角度来看: (1) 点:(端系统,网络应用)+路由器等网络交换设备 (2) 边:链路 (3) 协议:对等层实体在通信过程中所遵循的规则的集合:语法+语义+时序 从服务的角度来看: (1) 能够为应用提供通信服务的通信架构(有连接可靠的服务和无连接的不可靠服务) (2) 使用通信服务相互配合工作的分布式应用 1.2网络边缘 (1) 网络的结构=网络边缘(应用,主机)+网络核心(路由器等网络交换设备及链路)+接入网络与通信链路 (2) 网络边缘:运行应用的端

weixin_44806700的博客 3967

一个开源的AI数据分析工具,与数据对话,一键生成SQL、图表、表格、报告和智能商业分析。

Wren AI是一个开源的AI智能代理,让用户能够跟数据对话,实现从文本到SQL的转换,还能生成图表、电子表格、报告以及商业智能分析。它支持多种语言,能深入挖掘数据价值,提供智能数据探索功能,通过语义索引和精心设计的界面,让用户无需写代码即可获取洞察。Wren AI采用独特的架构,包含Wren UI、Wren AI Service和Wren Engine三大核心服务,可部署在本地或云端,助力团队高效、安全地解锁数据潜力。

AI_Charlotte的博客 4495

浅谈一下TCP/IP协议

在最近的求职经历中,我发现我所找的工作基本上都有着这样一个要求:熟悉TCP/IP协议。既然如此今天就浅谈一下TCP/IP协议吧。

yunzhilei1的博客 292

5分钟搞定mmdetection3d多模态推理可视化:从KITTI数据集到3D检测结果展示

本文提供了一份快速上手MMDetection3D进行多模态推理可视化的实战指南。文章详细介绍了从环境搭建、KITTI数据集准备,到模型选择、配置解析,再到执行多模态推理并生成3D检测结果可视化的完整流程,旨在帮助开发者在30分钟内快速验证模型并直观展示检测效果。

weixin_29051149的博客 249

基于Joplin和Joplin Server搭建私有云笔记

我们知道,多端同步功能是笔记工具最重要的功能。只有实现了多端同步,我们才能在工作电脑和手机之间无缝切换笔记体验。Joplin 在同步上做得不错,支持 Dropbox、OneDrive 和 AWS s3(当然国内都没法用),支持 WebDAV 协议,也支持自家的 Joplin Server。 本文介绍如何在自己的服务器上搭建 Joplin Server,并配置好 Joplin Desktop 的同步功能。 前置条件 安装docker 创建 Joplin Server 配置文件 创建配置文件,~/docke

代码时光 1万+

浅谈TCP/IP

TCP/IP 是供已连接因特网的计算机进行通信的通信协议。TCP/IP 指传输控制协议/网际协议(*/ *TCP/IP 定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准。

jax2730的博客 907

解决mmdet3d安装中因PyTorch高版本引发的THC.h缺失问题

本文详细分析了在安装mmdet3d时,因PyTorch版本过高导致THC.h头文件缺失的常见报错问题。文章指出该错误的本质是PyTorch 1.7+版本废弃了旧API,与老版本C++扩展代码不兼容。提供了两种核心解决方案:一是降级PyTorch至1.6及以下版本;二是修改源码,将THC.h引用替换为ATen/cuda等新头文件,并给出了具体的代码修改示例和排查技巧。

weixin_29085151的博客 379

浅谈TCP/IP协议

1.什么是协议? 协议,是网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。 只有遵守这个约定,计算机之间才能相互通信交流。它的三要素是:语法、语义、时序。 (1)语法:即数据与控制信息的结构或格式; (2)语义:即需要发出何种控制信息,完成何种动作以及做出何种响应; (3)时序(同步),即事件实现顺序的详细说明。 简单来说,协议就是计算机之间通...

lilygg的博客 891

OpenCV轮廓匹配实战:5分钟搞定Hu矩形状识别(附完整代码)

本文详细介绍了使用OpenCV进行轮廓匹配的实战技术,重点讲解了Hu矩形状识别在工业质检等领域的应用。通过完整的代码示例和参数调优技巧,帮助开发者在5分钟内实现高效的形状识别,提升工业检测的准确性和效率。

nnn11的博客 675

PY32F406K1CU6+I2C+ AT24C64 基本配置

【代码】PY32F406K1CU6+I2C+ AT24C64 基本配置。

sam的博客 90

浅谈Tcp/Ip

在通过网络实现互相通信过程,协议起了至关重要的作用。 但是在我们平时通信的时候,比如,发微信,发邮件的过程察觉不到协议的作用;但是在配置计算机网络连接、修改网络的时候才可能涉及到协议。 简单来说,协议就是计算机与计算机之间通过网络实现通信时的约定。两台计算机之间必须能够支持相同的协议,并遵循相同的协议进行处理,这样才能实现通信。 互联网中常用的具有代表性的协议有IP、TCP、HTTP等。“计...

volatile_0524的博客 455

大模型长对话中上下文无法承载全部历史,如何压缩或提取重点

如果说截断和滑动窗口是“硬性”压缩,那摘要生成技术就显得“软”多了,也更接近于智能化的解决方案。它的思路是:不直接丢弃历史,而是通过自然语言处理(NLP)技术,把冗长的对话记录浓缩成一段简短的摘要,保留核心信息。这样既能大幅减少token数量,又不至于丢失关键内容。这种方法通常会借助预训练模型,比如BART或T5,它们擅长从长文本中提取重点内容。

大模型大数据攻城狮的专栏 1587

浅谈TCP/IP模型

一、TCP/IP模型 TCP/IP模型与OSI参考模型有些类似,将OSI中的会话层、表示层去掉,并将数据链路层和物理层合并成网络接口层,TCP/IP支持所有标准的数据链路层和物理层协议。具体如下图所示: OSI参考模型与TCP/IP模型 TCP/IP模型中每一层的功能和所支持协议如下图: TCP/IP模型层级功能划分及支持协议 二、TCP(Transmission Control Protocol) 传输控制协议 TCP是主机对主机的传输控制协议,提供可靠的连接服务 建立一个连接需

jj1130050965的博客 673

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

TCP/IP协议浅谈

TCP/IP协议

长弓射林夕的博客 313

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

浅谈 TCP/IP 协议栈

浅谈 TCP/IP 协议栈 TCP/IP协议栈概述   互联网早期时,尽管知道计算机连接的原理,但是没有协议的时候,就没有办法进行大规模的通信使用。当时就衍生出了很多为了解决当时问题的协议,像TCP协议就是为了约定大家使用TCP连接时传输的一种协议,HTTP协议则是为了约定文本传输的一种协议。   而TCP/IP协议并不是指某一个具体的协议,它是指代一系列的协议栈,因此也叫TCP/IP协议栈或...

黑白一戒 848

TCP/IP协议族浅谈

TCP/IP协议族基础原理浅谈 本文主要介绍TCP/IP协议族的分层、各层的作用以及各层所包含的主要协议,本文内容主要是TCP/IP协议族的基础知识,如需深入了解各个协议,请查阅相关文档。 TCP/IP协议族分层TCP/IP协议族是一个分层次、多协议的通信系统。它可以分为四层,自底而上分别为:数据链路层、网络层、传输层和应用层。每一层通过若干协议来完成不同的功能,上层协议使用下层协议提供的服务。

码上旅行 596

浅谈TCP/IP协议栈

临近期末,开始复习本学期的两门网络相关的课程,TCP/IP协议族  和  局域网和城域网。 一开始我的复习思路是并行复习,但是在看了TCP/IP的第三章-->底层技术之后,突然觉得自己对局域网的理解程度还是蛮不错的,自信心爆棚的情况下拿出了局域网和城域网开始复习。但是一上手就被各种物理标准迷得头疼,但是对整个TCP/IP栈还是有一些粗浅的认识。 TCP/IP 其实只是在物理层之上的四个软件层,

qq_31830119的博客 386
上一篇: MySQL学习笔记(十五)存储过程
下一篇: TCP与UDP的比较
mengrennwpu
博客等级 码龄15年 262粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值