TCP-IP协议基础知识

news2024/10/9 20:21:18

1、简介

tcp/ip:通信协议的统称,是IP,ICMP,TCP,UDP,HTTP,TELNET,SNMP,SMTP等协议的集合

TCP/IP和OSI的关系

  • OSI属于ISO(国际化标准组织)制定的通信系统标准,但是并没有普及;
  • TCP/IP是非ISO制定的某种国际标准,在业界普遍使用,它的制定也是参考了OSI模型。

OSI参考模型中各个分层的作用

2、TCP/IP

2.1、基础知识

概念:

        它不只是字面意思的两种协议,而是代表了很多协议,如IP/TCP/ICMP/UDP/TELNET/FTP/HTTP等都属于TCP/IP协议。

标准化:

        TCP/IP协议规范——RFC,这个文档被列在网上供人查阅。

        协议的标准化必须要经过的步骤:

  • 互联网草案阶段;
  • 标准阶段;
  • 草案标准阶段;
  • RFC提议阶段;

互联网和TCP/IP协议的关系

        互联网(The Internet)的协议就是指TCP/IP,TCP/IP就是为使用互联网而开发制定的协议族。

2.2、TCP/IP协议分层模型

硬件(物理层)

        就是协议的最底层,用于传输数据的硬件,像是电话线、网线等,它的内容无法被统一定义,人们在物理层使用的媒介(网线或无线)不同,网络的带宽、可靠性、安全性、延迟等都会有所不同,并没有统一的指标。TCP/IP协议就是建立在硬件能够通信的前提下被提出的。

网卡层(数据链路层)

        网络接口层利用以太网中的数据链路层进行通信,因此属于接口层。也就是说把它当做能让NIC网卡起作用的"驱动程序"也可以。驱动程序是让操作系统与硬件之间其桥梁作用的软件。

互联网层(网络层)

        互联网层使用了IP协议,IP协议基于IP地址转发分包数据。

 

        IP:ip是跨越网络传送数据包,使整个互联网都能收到数据的协议。IP地址作为通信主机的标识。虽然ip也是分组交换的一种协议,但是它不具有重发机制。即使分组数据包未能到达对端主机也不会重发。因此属于非可靠性传输协议。

        ICMP: IP数据包在发送途中一旦发生异常无法到达目标地址时,需要给发送端发送一个异常通知。ICMP就是为这个功能定制的。

传输层

        传输层最主要的功能是让应用程序之间实现通信。在计算机内部通常运行不止一种程序。为此要分清是哪些程序和哪些程序通信,识别这些应用程序是用的端口号。

        TCP:tcp是一种面向有连接的传输层协议。能保证两端主机间的通信可达,并且能正确处理在传输过程中丢包、乱序等异常情况。此外它还能利用带宽有效缓解网络拥堵。然而,为了建立与断开连接,它需要至少7次发包收包,导致网络流量浪费。此外为了提高网络利用率,tcp协议中定义各种复杂的规范,因此不利于视频会议(音频、视频)等场合。

        UDP:有别于tcp协议,它是面向无连接的传输层协议。UDP不会关注对方是否真的收到了数据,如果需要此功能,需要再应用程序中设计实现。UDP常用于广播通信、视频等多媒体领域。

应用层

        TCP/IP应用的架构绝大多数属于客户端/服务端模型。提供服务的程序叫服务端,接受服务的程序叫客户端。在这种通行模式中,提供服务的程序会预先被部署到主机上,等待接受任何时刻客户可能发送的请求。

        www万维网:

        www是互联网能如此普及的原动力。

 

        浏览器和服务端之间通信的协议是HTTP,所传输数据的主要格式是HTML。HTML属于表示层协议。

        电子邮件email

        发送电子邮件使用的协议是SMTP,最初人们只能发送文本格式的邮件。后来经过MIME协议扩展后,邮件里可以加图像,声音等各式各样的信息。MIME属于OSI参考模型的表示层协议。

        FTP文件传输

        文件传输是指将保存在其他计算机硬盘上的文件转移到本地硬盘,或者反过来传输的意思。该过程呢使用的是FTP协议,传输过程可以选择二进制方式或者文本方式。

        远程登录

        我们平时使用电脑远程连接系统服务器使用的协议是LELNET和SSH协议。

        网络管理(SNMP)

        snmp管理的主机、网桥、路由器等称作SNMP代理(agent),而进行管理的那一端称为管理器(manager)。SNMP就是这个Manager和Agent所要用到的协议。SNMP属于应用协议。

2.3、TCP/IP分层模型与通信示例

数据包首部:

 

        每个分层中都会给发送数据附加一个首部,在这个首部中包含了该层必要的信息,如发送的目标地址以及协议相关信息。

        每个包首部中至少包含两个信息:一个是发送端和接收端地址、另一个是上一层的协议类型。经过每个协议分层时,都必须有识别包发送端和接收端的信息。以太网会用MAC地址,IP会用IP地址,TCP/UDP会用端口号作为识别两端主机的地址。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/190928.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

详谈ORB-SLAM2的局部建图线程LocalMapping

ORB-SLAM2的局部建图线程LocalMapping分为5个步骤,非常简单。当得到缓冲队列里的关键帧,第一步处理当前关键帧的地图点关系等;第二步判断地图点是否为新创建,如果是那就进入测试,测试地图点的好坏,如果不好…

【关于Linux中----信号】

文章目录一、信号入门1.1 信号概念1.2 用 kill-l命令查看信号列表1.3 信号处理常见方式预览二、产生信号2.1 通过终端按键产生信号2.2 由于程序中存在异常产生信号2.3 系统接口调用产生信号2.4 软件条件产生信号三、阻塞信号3.1 信号相关常见概念补充3.2 在内核中的表示3.3 sig…

编码技巧——JDK版本切换/JDK7和JDK6下的文件输入输入

最近有使用低版本JDK实现文件输入输出的需求,主要是妹子计算机专业考研复试上级算法题,输入输入依赖文件而非纯算法代码,并且IDE一般使用JDK8以下的SDK,导致一些JDK8的API不适用;较早版本的JDK API代码是操作一大堆的缓…

jenkins部署过程

Jenkins 安装 示例服务器为 阿里云 CentOS 服务器。安全组中增加 8080 端口 Jenkins 默认占用 Jenkins 安装大体分两种方式,一种使用 Docker 另一种则是直接安装,示例选择后者。不管使用哪种方式安装,最终使用层面都是一样的。 Linux安装过…

Linux下源码安装nginx

一 安装步骤 nginx在linux下的源码安装,步骤还是比较简单的,主要分为以下 1. 下载安装包,这里选择:nginx-1.18.0.tar.gz 下载地址:http://nginx.org/en/download.html 2. 安装前置环境: yum install -y…

苹果手机字体大小怎么设置?简单实用,轻松学会

使用苹果手机的时候,发现苹果手机的字体看起来不是很舒服,想要将字体调大一点,却不知道怎么办。苹果手机字体大小怎么设置?其实方法很简单,今天小编就来具体的讲一下调整苹果手机字体大小的方法。 苹果手机字体大小怎么…

智能工厂中的设备如何实现远程监控和故障报警

智能工厂是在数字化工厂内,利用物联网技术和云计算计算加强设备信息管理水平,提高生产过程可控性、减少生产线人工干预,保证安全稳定的生产节奏,助力构建高效、节能、绿色、舒适、安全的工厂。 物通博联推出的智能工厂设备物联网…

C语言及算法设计课程实验四:选择结构程序设计

C语言及算法设计课程实验四:选择结构程序设计一、实验目的二、实验内容2.1、根据x的分段函数求对于的y值2.2、求小于1000正数的平方根2.3、百分制等级输出2.4、四个整数的顺序输出三、实验步骤3.1、选择结构程序设计实验题目1:根据x的分段函数求对于的y值…

四、GStreamer基础

本章介绍GStreamer的基本概念。理解这些概念对于阅读本指南的其他任何内容都是很重要的,它们都假定理解了这些基本概念。 元素 元素是GStreamer中最重要的一类对象。你通常会创建一个链接在一起的元素链,并让数据在这个元素链中流动。元素有一个特定的…

运动耳机有必要买吗、口碑最好的运动耳机品牌排行

冬天绝对是个减肥的好季节,因为这个季节天气比较冷,我们在运动过程中消耗的热量也就会更多,因此选择一款不错的运动耳机来用坚持就显得尤为重要了。这款运动耳机要能稳定在耳朵上,还要具备防水功能,同时音质上也要有保…

gd32f103vbt6 串口OTA升级-问题记录

今天研究了一下gd32单片机串口OTA升级的事情。我感觉ota的唯一好处就是不用调试器就可以下载(更新)单片机应用程序。(但是需要232串口,OTA程序我是使用stlink下载的!!) 可能有些同学要问,32的单片机本身就…

【综合】数字IC设计需要考虑的时序参数;Race Hazard;同步系统时序要求;建立时间、保持时间;偏斜;抖动;毛刺、竞争冒险;亚稳态

【综合】数字IC设计需要考虑的时序参数;Race Hazard;同步系统时序要求;建立时间、保持时间;偏斜;抖动;毛刺、竞争冒险;亚稳态数字设计时需要考虑的时序参数传播延迟 propagation delay, 上升时间…

十一、树结构的实际应用—堆排序

1、基本介绍 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最好最坏平均时间复杂度均为O(n\log n) 。也不是稳定排序。堆是具有以下性质的完全二叉树:每个节点的值都大于或等于其左右孩子节点的值,…

云音乐实现注册功能

1. 新建web项目 Shop_SM2. 复制Shop资源和相关代码,实现注册功能回顾当前配置下的加载顺序1.MyBatis的主配置文件mybatis-config.xml (在根目录下)和 工具类MyBatisUtil(注意总配置文件的路径)2.实体类(Use…

docker篇---pycharm连接docker,使用docker环境

pycharm连接docker,使用docker环境一、生成镜像和容器1.1 创建容器,需要加端口映射1.2 进入容器1.3 设置root密码,后续登录会用到1.4 修改配置文件1.5 重启ssh服务1.5 本机连接ssh二、pycharm连接docker2.1 允许远程客户端连接2.2 pycharm配置…

线程互斥与同步--Linux

文章目录线程互斥的概念与意义互斥的原理--原子性关于售票模拟的互斥应用死锁问题线程同步的概念与意义条件变量实现同步生产者消费者模型--互斥与同步基于阻塞队列的生产者消费者模型基于环形队列的生产者消费者模型POSIX信号量线程池线程安全下的单例模式总结线程互斥的概念与…

OMS标准 第二卷 主要通讯

版本4.1.2/2016-12-16 发布 1 引言 1.1 概述 本部分描述了从设备(仪表或执行器或断路器)和(固定的,通常由市电供电的)主设备(网关或其他通信单元)之间有线和无线通信的最低开放式计量系统要…

1. Mybatis 入门

文章目录1. Mybatis 简介2. Mybatis 快速入门3. 使用 idea 写 SQL4. Mapper 代理开发5. MyBatis 核心配置文件1. Mybatis 简介 MyBatis 是一款优秀的持久层框架,用于简化 JDBC 开发。 官方文档:https://mybatis.org/mybatis-3/zh/index.html 持久层&am…

【自学Docker】Docker cp命令

Docker cp命令 大纲 docker cp命令教程 docker cp 命令用于在本地文件系统与 Dokcer容器 之间复制文件或者文件夹。该命令后面的 CONTAINER 可以是容器Id,或者是容器名。 docker cp命令语法 从容器复制到宿主机 haicoder(www.haicoder.net)# docker cp [OPTION…

第57篇-某日头条signature参数分析【2023-02-01】

声明:该专栏涉及的所有案例均为学习使用,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!如有侵权,请私信联系本人删帖! 文章目录 一、前言二、网站分析三、signature参数四、完整代码一、前言 今天来看一下新闻网站,分析一下参数 二、网站分析 网…