当前位置:首页 » 合同协议 » ip协议栈

ip协议栈

发布时间: 2020-12-08 03:38:43

Ⅰ 什么是TCP/IP协议栈栈是什么意思

TCP/IP协议叫做传输控制/网际协议,它是Internet国际互联网络的基础。TCP/IP是网络中使用的基本的通信协议。

虽然从名字上看TCP/IP包括两个协议,传输控制协议(TCP)和网际协议(IP),但TCP/IP实际上是一组协议,它包括上百个各种功能的协议,如:远程登录、文件传输和电子邮件等,而TCP协议和IP协议是保证数据完整传输的两个基本的重要协议。通常说TCP/IP是Internet协议族,而不单单是TCP和IP。

TCP/IP协议的基本传输单位是数据包(datagram),TCP协议负责把数据分成若干个数据包,并给每个数据包加上包头(就像给一封信加上信封),包头上有相应的编号,以保证在数据接收端能将数据还原为原来的格式,IP协议在每个包头上再加上接收端主机地址,这样数据找到自己要去的地方,如果传输过程中出现数据丢失、数据失真等情况,TCP协议会自动要求数据重新传输,并重新组包。总之,IP协议保证数据的传输,TCP协议保证数据传输的质量。TCP/IP协议数据的传输基于TCP/IP协议的四层结构:应用层、传输层、网络层、接口层,数据在传输时每通过一层就要在数据上加个包头,其中的数据供接收端同一层协议使用,而在接收端,每经过一层要把用过的包头去掉,这样来保证传输数据的格式完全一致。
TCP/IP协议介绍

TCP/IP的通讯协议

这部分简要介绍一下TCP/IP的内部结构,为讨论与互联网有关的安全问题打下基础。TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.25、以太网以及RS-232串行接口)之上。确切地说,TCP/IP协议是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组。

TCP/IP整体构架概述

TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:

应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。

传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。

互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。

网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。

TCP/IP中的协议

以下简单介绍TCP/IP中的协议都具备什么样的功能,都是如何工作的:

1. IP

网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。

IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。

高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说,IP地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。IP确认包含一个选项,叫作IP source routing,可以用来指定一条源地址和目的地址之间的直接路径。对于一些TCP和UDP的服务来说,使用了该选项的IP包好象是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。这个选项是为了测试而存在的,说明了它可以被用来欺骗系统来进行平常是被禁止的连接。那么,许多依靠IP源地址做确认的服务将产生问题并且会被非法入侵。

2. TCP

如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向‘上’传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。

TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序。应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。

面向连接的服务(例如Telnet、FTP、rlogin、X Windows和SMTP)需要高度的可靠性,所以它们使用了TCP。DNS在某些情况下使用TCP(发送和接收域名数据库),但使用UDP传送有关单个主机的信息。

3.UDP

UDP与TCP位于同一层,但对于数据包的顺序错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询---应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。使用UDP的服务包括NTP(网落时间协议)和DNS(DNS也使用TCP)。

欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。

4.ICMP

ICMP与IP位于同一层,它被用来传送IP的的控制信息。它主要是用来提供有关通向目的地址的路径信息。ICMP的‘Redirect’信息通知主机通向其他系统的更准确的路径,而‘Unreachable’信息则指出路径有问题。另外,如果路径不可用了,ICMP可以使TCP连接‘体面地’终止。PING是最常用的基于ICMP的服务。

5. TCP和UDP的端口结构

TCP和UDP服务通常有一个客户/服务器的关系,例如,一个Telnet服务进程开始在系统上处于空闲状态,等待着连接。用户使用Telnet客户程序与服务进程建立一个连接。客户程序向服务进程写入信息,服务进程读出信息并发出响应,客户程序读出响应并向用户报告。因而,这个连接是双工的,可以用来进行读写。

两个系统间的多重Telnet连接是如何相互确认并协调一致呢?TCP或UDP连接唯一地使用每个信息中的如下四项进行确认:

源IP地址 发送包的IP地址。

目的IP地址 接收包的IP地址。

源端口 源系统上的连接的端口。

目的端口 目的系统上的连接的端口。

端口是一个软件结构,被客户程序或服务进程用来发送和接收信息。一个端口对应一个16比特的数。服务进程通常使用一个固定的端口,例如,SMTP使用25、Xwindows使用6000。这些端口号是‘广为人知’的,因为在建立与特定的主机或服务的连接时,需要这些地址和目的地址进行通讯。

Ⅱ 如何自实现一个TCP/IP协议栈需要哪些基础

TCP/IP协议栈是由一组协议共同组成的一个协议栈,OSI定义的是一个网络的结构体系和各层功能的划版分;
2、OSI是模型、权框架,TCP/IP协议栈是实现各层功能的协议族;
3、OSI为七层、TCP/IP协议栈为四层。
4、TCP/IP的应用层相对于OSI的应、表、会三层
5、TCP/IP的网络接口层相对于OSI的数链层和物理层

Ⅲ TCP/IP协议栈到底是内核态的好还是用户态的

内核栈和用户栈区别:
intel的cpu分为四个运行级别ring0~ring3
内核创建进程,创建进程的同时创建进程控制块,创建进程自己的堆栈
一个进程有两个堆栈,用户栈和系统栈
用户堆栈的空间指向用户地址空间,内核堆栈的空间指向内核地址空间。
有个CPU堆栈指针寄存器,进程运行的状态有用户态和内核态,当进程运行在用户态时。CPU堆栈指针寄存器指向的是用户堆栈地址,使用的是用户堆栈;当进程运行在内核态时,CPU堆栈指针寄存器指向的是内核堆栈地址,使用的是内核堆栈。
堆栈切换
当系统因为系统调用(软中断)或硬件中断,CPU切换到特权工作模式,进程陷入内核态,进程使用的栈也要从用户栈转向系统栈。
从用户态到内核态要两步骤,首先是将用户堆栈地址保存到内核堆栈中,然后将CPU堆栈指针寄存器指向内核堆栈。
当由内核态转向用户态,步骤首先是将内核堆栈中得用户堆栈地址恢复到CPU堆栈指针寄存器中。
内核栈和用户栈区别
1.
栈是系统运行在内核态的时候使用的栈,用户栈是系统运行在用户态时候使用的栈。
当进程由于中断进入内核态时,系统会把一些用户态的数据信息保存到内核栈中,当返回到用户态时,取出内核栈中得信息恢复出来,返回到程序原来执行的地方。
用户栈就是进程在用户空间时创建的栈,比如一般的函数调用,将会用到用户栈。
2.
内核栈是属于操作系统空间的一块固定区域,可以用于保存中断现场、保存操作系统子程序间相互调用的参数、返回值等。
用户栈是属于用户进程空间的一块区域,用户保存用户进程子程序间的相互调用的参数、返回值等。
3.
每个Windows 都有4g的进程空间,系统栈使用进程空间的地段部分,用户栈是高端部分如果用户要直接访问系统栈部分,需要有特殊的方式。
为何要设置两个不同的栈?
共享原因:
内核的代码和数据是为所有的进程共享的,如果不为每一个进程设置对应的内核栈,那么就不能实现不同的进程执行不同的代码。
安全原因:
如果只有一个栈,那么用户就可以修改栈内容来突破内核安全保护。

Ⅳ tcp/ip协议栈各个层次的功能

TCP/IP协议栈包括四层,从下网上是:主机-网络层、互联网络层、运输层和应用层版。
主机-网络层:权与OSI参考模型的数据链路层和物理层对应,物理层主要功能是提供传输介质和在传输介质上传输比特序列的手段,数据链路层的功能是采用差错控制与流量控制方法,使有差错的物理链路变成无差错的数据链路。
互联网络层:主要是IP协议,它提供“尽力而为”的网络分组传输服务,包括分组转发和路由选择。
传输层:为主机进程对话建立端到端的连接,它通过端口号来标识不同的进程。
应用层:是为开发各种网络应用而配套开发的各种对应协议,比如为Web应用开发的Http协议。

Ⅳ tcp/ip协议栈的可选协议

支撑万维网WWW的超文本传输协议HTTP,
动态配置IP地址的DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),
收邮件用专的POP3 (Post Office Protocol,version 3,邮局协属议) ,
用于加密安全登陆用的SSH (Secure Shell,用于替代安全性差的TELNET) ,
用于动态解析以太网硬件地址的ARP (Address Resolution Protocol,地址解析协议)。 一个简单的路由器上可能会实现ARP,IP,ICMP,UDP,SNMP,RIP。
WWW用户端使用ARP,IP,ICMP,UDP,TCP,DNS,HTTP,FTP。
一台用户电脑上还会运行如TELNET,SMTP,POP3,SNMP,ECHO,DHCP,SSH,NTP。
无盘设备可能会在固件比如ROM中实现了ARP,IP,ICMP,UDP,BOOT,TFTP (均为面向数据报的协议,实现起来相对简单)。

Ⅵ 关于tcp/ip协议栈的问题

会不会是交换机不知道开发板的MAC地址?

这个不可能,交换机初次会所有端口转发的专

wireshark 能在网络上抓到主机发属出的包啊 最好用HUB(集线器)来测试

这样来来去去的包都可以用另一台电脑监测到

确认UDP包数据项都正常后,在你的开发板 MAC 作调试输或输出数据应该就能找出问题

有可能是最弱智的问题了: 用路由器来替交换机用,结果IP段不在路由的LAN段 所以所有IP包被路由去 WLAN口k

Ⅶ tcp/ip协议栈的推荐协议

每一个应用层(TCP/IP参考模型 的最高层) 一般都会使用到两个传输层协议之一: 面向连接的TCP传输控制协议和无连接的包传输的UDP用户数据报文协议。其它的一些推荐协议有:
TELNET (Teletype over the Network,网络电传) ,通过一个终端(terminal)登陆到网络(运行在TCP协议上)。
FTP (File Transfer Protocol,文件传输协议) ,由名知义(运行在TCP协议上)。
SMTP (Simple Mail Transfer Protocol,简单邮件传输协议) ,用来发送电子邮件(运行在TCP协议上)。
DNS (Domain Name Service,域名服务) ,用于完成地址查找,邮件转发等工作(运行在TCP和UDP协议上)。
ECHO (Echo Protocol,回绕协议) ,用于查错及测量应答时间(运行在TCP和UDP协议上)。
NTP (Network Time Protocol,网络时间协议) ,用于网络同步(运行在UDP协议上)。
SNMP (Simple Network Management Protocol,简单网络管理协议) ,用于网络信息的收集和网络管理。
BOOTP (Boot Protocol,启动协议) ,应用于无盘设备(运行在UDP协议上)。

Ⅷ 手机的tcp/ip协议栈与pc的有什么区别么

没有区别。在某种程度上来说是一样的。因为某些原因,比如我们公司的IP是绑定后才能上网,所以我将我的手机分配了一个固定的IP。然后在公司上网就需要启用手动IP才能上。

Ⅸ 单片机TCP/IP协议栈都有哪些

TCP/IP协议,或称为TCP/IP协议栈,或互联网协议系列。
TCP/IP协议栈
(按TCP/IP参考模型划分)
应用层 FTP SMTP HTTP ...
传输层 TCP UDP
网络层 IP ICMP ARP
链路层 以太网 令牌环 FDDI ...
包含了一系列构成互联网基础的网络协议。
这些协议最早发源于美国国防部的DARPA互联网项目。
TCP/IP字面上代表了两个协议:TCP传输控制协议和IP互联网协议。
时间回放到1983年1月1日,在这天,互联网的前身Arpanet中,TCP/IP协议取代了旧的网络核心协议NCP(Network Core Protocol),从而成为今天的互联网的基石。最早的的TCP/IP由Vinton Cerf和Robert Kahn两位开发,慢慢地通过竞争战胜了其它一些网络协议的方案,比如国际标准化组织ISO的OSI模型。TCP/IP的蓬勃发展发生在上世纪的90年代中期。当时一些重要而可靠的工具的出世,例如页面描述语言HTML和浏览器Mosaic,导致了互联网应用的飞束发展。
随着互联网的发展,目前流行的IPv4协议(IP Version 4,IP版本四)已经接近它的功能上限。IPv4最致命的两个缺陷在于:
地址只有32位,IP地址空间有限;
不支持服务等级(Quality of Service, Qos)的想法,无法管理带宽和优先级,故而不能很好的支持现今越来越多的实时的语音和视频应用。因此IPv6 (IP Version 6, IP版本六) 浮出海面,用以取代IPv4。
TCP/IP成功的另一个因素在与对为数众多的低层协议的支持。这些低层协议对应与OSI模型 中的第一层(物理层)和第二层(数据链路层)。每层的所有协议几乎都有一半数量的支持TCP/IP,例如: 以太网(Ethernet),令牌环(Token Ring),光纤数据分布接口(FDDI),端对端协议( PPP),X.25,帧中继(Frame Relay),ATM,Sonet, SDH等。
TCP/IP协议栈组成
整个通信网络的任务,可以划分成不同的功能块,即抽象成所谓的 ” 层” 。用于互联网的协议可以比照TCP/IP参考模型进行分类。TCP/IP协议栈起始于第三层协议IP(互联网协议) 。所有这些协议都在相应的RFC文档中讨论及标准化。重要的协议在相应的RFC文档中均标记了状态: “必须“ (required) ,“推荐“ (recommended) ,“可选“ (elective) 。其它的协议还可能有“ 试验“(experimental) 或“ 历史“(historic) 的状态。
必须协议
所有的TCP/IP应用都必须实现IP和ICMP。对于一个路由器(router) 而言,有这两个协议就可以运作了,虽然从应用的角度来看,这样一个路由器 意义不大。实际的路由器一般还需要运行许多“推荐“使用的协议,以及一些其它的协议。
在几乎所有连接到互联网上的计算机上都存在的IPv4 协议出生在1981年,今天的版本和最早的版本并没有多少改变。升级版IPv6 的工作始于1995年,目的在与取代IPv4。ICMP 协议主要用于收集有关网络的信息查找错误等工作。
推荐协议
每一个应用层(TCP/IP参考模型 的最高层) 一般都会使用到两个传输层协议之一: 面向连接的TCP传输控制协议和无连接的包传输的UDP用户数据报文协议 。 其它的一些推荐协议有:
TELNET (Teletype over the Network, 网络电传) ,通过一个终端(terminal)登陆到网络(运行在TCP协议上)。
FTP (File Transfer Protocol, 文件传输协议) ,由名知义(运行在TCP协议上) 。
SMTP (Simple Mail Transfer Protocol,简单邮件传输协议) ,用来发送电子邮件(运行在TCP协议上) 。
DNS (Domain Name Service,域名服务) ,用于完成地址查找,邮件转发等工作(运行在TCP和UDP协议上) 。
ECHO (Echo Protocol, 回绕协议) ,用于查错及测量应答时间(运行在TCP和UDP协议上) 。
NTP (Network Time Protocol,网络时间协议) ,用于网络同步(运行在UDP协议上) 。
SNMP (Simple Network Management Protocol, 简单网络管理协议) ,用于网络信息的收集和网络管理。
BOOTP (Boot Protocol,启动协议) ,应用于无盘设备(运行在UDP协议上)。
可选协议
最常用的一些有
支撑万维网WWW的超文本传输协议HTTP,
动态配置IP地址的DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),
收邮件用的POP3 (Post Office Protocol, version 3, 邮局协议) ,
用于加密安全登陆用的SSH (Secure Shell,用于替代安全性差的TELNET) ,
用于动态解析以太网硬件地址的ARP (Address Resolution Protocol,地址解析协议) 。
范例: 不同计算机运行的不同协议
一个简单的路由器上可能会实现ARP, IP, ICMP, UDP, SNMP, RIP。
WWW用户端使用ARP, IP, ICMP, UDP, TCP, DNS, HTTP, FTP。
一台用户电脑上还会运行如TELNET, SMTP, POP3, SNMP, ECHO, DHCP, SSH, NTP。
无盘设备可能会在固件比如ROM中实现了ARP, IP, ICMP, UDP, BOOT, TFTP (均为面向数据报的协议,实现起来相对简单)。

Ⅹ 关于协议栈, TCP/IP协议栈和其他协议栈之间的关系

你说的这些协议是底层的协议,事实上internet是由很多这样的网络组成的,底层有自己的通信协议,同时承载上层的tcpip协议来跟外部网络互连,tcpip的强大在于提供了各类不同种类网络的互联互通

热点内容
美发店认证 发布:2021-03-16 21:43:38 浏览:443
物业纠纷原因 发布:2021-03-16 21:42:46 浏览:474
全国著名不孕不育医院 发布:2021-03-16 21:42:24 浏览:679
知名明星确诊 发布:2021-03-16 21:42:04 浏览:14
ipad大专有用吗 发布:2021-03-16 21:40:58 浏览:670
公务员协议班值得吗 发布:2021-03-16 21:40:00 浏览:21
知名书店品牌 发布:2021-03-16 21:39:09 浏览:949
q雷授权码在哪里买 发布:2021-03-16 21:38:44 浏览:852
图书天猫转让 发布:2021-03-16 21:38:26 浏览:707
宝宝水杯品牌 发布:2021-03-16 21:35:56 浏览:837