tcp/ip协议是怎么实现的?

田小豆短剧 2024-11-29 09:47:35
最佳回答
tcp/ip(transm**sion control protocol/internet protocol的简写,中文译名为传输控制协议/互联网络协议)协议是internet最基本的协议,简单地说,就是由底层的ip协议和tcp协议组成的。 在internet没有形成之前,各个地方已经建立了很多小型的网络,称为局域网,internet的中文意义是"网际网",它实际上就是将全球各地的局域网连接起来而形成的一个"网之间的网(即网际网)"。然而,在连接之前的各式各样的局域网却存在不同的网络结构和数据传输规则,将这些小网连接起来后各网之间要通过什么样的规则来传输数据呢?这就象世界上有很多个**,各个**的人说各自的语言,世界上任意两个人要怎样才能互相沟通呢?如果全世界的人都能够说同一种语言(即世界语),这个问题不就解决了吗?tcp/ip协议正是internet上的"世界语"。 tcp/ip协议的开发工作始于70年代,是用于互联网的第一套协议。 这里简要介绍一下tcp/ip的内部结构,为讨论与互联网有关的安全问题打点基础。tcp/ip协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如t1和x.25、以太网以及rs-232串行接口)之上。确切地说,tcp/ip协议是一组包括tcp协议和ip协议,udp(user datagram protocol)协议、icmp(internet control ** protocol)协议和其他一些协议的协议组。 1. tcp/ip整体构架概述 tcp/ip协议并不完全符合osi的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而tcp/ip通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为: 应用层:应用程序间沟通的层,如简单电子邮件传输(smtp)、文件传输协议(ftp)、网络远程访问协议(telnet)等。 传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(tcp)、用户数据报协议(udp)等,tcp和udp给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。 互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(ip)。 网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如ethernet、serial line等)来传送数据。 2. tcp/ip中的协议 以下简单介绍tcp/ip中的协议都具备什么样的功能,都是如何工作的: ip 网际协议ip是tcp/ip的心脏,也是网络层中最重要的协议。 ip层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---tcp或udp层;相反,ip层也把从tcp或udp层接收来的数据包传送到更低层。ip数据包是不可靠的,因为ip并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。ip数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。 高层的tcp和udp服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说,ip地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。ip确认包含一个选项,叫作ip source routing,可以用来指定一条源地址和目的地址之间的直接路径。对于一些tcp和udp的服务来说,使用了该选项的ip包好象是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。这个选项是为了测试而存在的,说明了它可以被用来欺骗系统来进行平常是被禁止的连接。那么,许多依靠ip源地址做确认的服务将产生问题并且会被非法入侵。 tcp 如果ip数据包中有已经封好的tcp数据包,那么ip将把它们向‘上’传送到tcp层。tcp将包排序并进行错误检查,同时实现虚电路间的连接。tcp数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。 tcp将它的信息送到更高层的应用程序,例如telnet的服务程序和客户程序。应用程序轮流将信息送回tcp层,tcp层便将它们向下传送到ip层,设备驱动程序和物理介质,最后到接收方。 面向连接的服务(例如telnet、ftp、rlogin、x windows和smtp)需要高度的可靠性,所以它们使用了tcp。dns在某些情况下使用tcp(发送和接收域名数据库),但使用udp传送有关单个主机的信息。 udp udp与tcp位于同一层,但对于数据包的顺序错误或重发。因此,udp不被应用于那些使用虚电路的面向连接的服务,udp主要用于那些面向查询---应答的服务,例如nfs。相对于ftp或telnet,这些服务需要交换的信息量较小。使用udp的服务包括ntp(网落时间协议)和dns(dns也使用tcp)。 欺骗udp包比欺骗tcp包更容易,因为udp没有建立初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与udp相关的服务面临着更大的危险。 icmp icmp与ip位于同一层,它被用来传送ip的的控制信息。它主要是用来提供有关通向目的地址的路径信息。icmp的‘redirect’信息通知主机通向其他系统的更准确的路径,而‘unreachable’信息则指出路径有问题。另外,如果路径不可用了,icmp可以使tcp连接‘体面地’终止。ping是最常用的基于icmp的服务。 tcp和udp的端口结构 tcp和udp服务通常有一个客户/服务器的关系,例如,一个telnet服务进程开始在系统上处于空闲状态,等待着连接。用户使用telnet客户程序与服务进程建立一个连接。客户程序向服务进程写入信息,服务进程读出信息并发出响应,客户程序读出响应并向用户报告。因而,这个连接是双工的,可以用来进行读写。 两个系统间的多重telnet连接是如何相互确认并协调一致呢?tcp或udp连接唯一地使用每个信息中的如下四项进行确认: 源ip地址---发送包的ip地址。 目的ip地址---接收包的ip地址。 源端口---源系统上的连接的端口。 目的端口---目的系统上的连接的端口。 注:端口是一个软件结构,被客户程序或服务进程用来发送和接收信息。一个端口对应一个16比特的数。服务进程通常使用一个固定的端口,例如,smtp使用25、xwindows使用6000。这些端口号是‘广为人知’的,因为在建立与特定的主机或服务的连接时,需要这些地址和目的地址进行通讯。 20210311
汇率兑换计算器

类似问答
  • 协议怎么写?
    • 2024-11-29 12:28:41
    • 提问者: 未知
    股东贷款协议怎么写?华律网根据你的法律疑问精选多位律师优质答案。
  • 实习生没签协议怎么办
    • 2024-11-29 21:13:20
    • 提问者: 未知
    大学生出入职场经常会遇到用人单位的不公平待遇,他们认为实习生和正式员工不一样,所以区别对待,尤其是很多单位根本就不与实习生签约协议,那么大家知道实习生没签协议怎么办吗?...
  • tcp/ip协议是一种开放的协议标准,下面哪个不是它的特点a.独立于特定计算机硬件和
    • 2024-11-29 17:55:35
    • 提问者: 未知
    参**:c解析:tcp/ip具有以下特点:1)开放的协议标准,免费使用,并且独立于特定的计算机硬件与操作系统;2)独立于特定的网络硬件,可以运行在局域网、广域网,更适用...
  • mqtt比tcp协议好在哪儿?
    • 2024-11-29 19:18:03
    • 提问者: 未知
    希望详细点,不只是百度就能搜到的资料。
  • 1.ping 127.0.0.1能通,说明本机的tcp/ip协议正常 2.ping本机ip地址能通 3.pin**关不通 4.ping外网地址不
    • 2024-11-29 01:00:12
    • 提问者: 未知
    **问题。ping局域网能通,证明你电脑网络设定没有问题,pin**关不通,只能说明**的问题,一是**与内网连接断开,二是**设定有问题或已关闭。如果**不通,当然外网肯定是不会通的啦,因为内网上外网必需通过**转换的。建议检查**的设置还有连接。
  • p/ip协议是一种开放的协议标准,其特点是什么?
    • 2024-11-29 06:22:49
    • 提问者: 未知
    tcp/ip具有下列特点:(1)开放的协议标准,免费使用,并且独立于特定的计算机硬件与操作系统;(2)独立于特定的网络硬件,可以运行在局域网、广域网,更适用在互联网中;(3...
  • opc协议和tcp/ip协议的区别和联系是什么?
    • 2024-11-29 09:39:55
    • 提问者: 未知
    tcp/ip协议是由硬件处理的,工作在tcp/ip层,对于应用层而言,tcp/ip的api函数可以传输任意长度不为0字节的数据,对应用层的数据格式无要求。为了便于传输和解析特定种类的数据,在tcp/ip层之上的应用层中对传输的数据格式进行规定,就形成了应用层的通信协议。由于应用层的开发难度较硬件和驱动容易很多,所以应用层的通信协议五花八门,每一个知名的plc厂商都各自开发有自己的通信协议。其中mo...
  • 现在ios上的im都用什么协议或者框架来实现
    • 2024-11-29 12:11:08
    • 提问者: 未知
    xmpp,但是开发的话一般小公司都是接第三方即时聊天功能, 不会自己去写服务端和客户端,因为那样比较浪费时间如果说你们公司的项目严密度非常高,信息不想透漏给第三方,我建议你们还是自己组建一个团队, 有一个很牛的后台来开发im的服务端,也就是使用socket,或者现成的xmpp协议上开发服务端, 前台做客户端。 然后实现即时通讯功能,希望对你有帮助。
  • 回购协议的实质是抵押还是
    • 2024-11-29 16:58:34
    • 提问者: 未知
    回购协议的实质是质押,回购协议指的是商业银行等金融机构在出售证券等金融资产以获得即时可用资金的同时,与金融资产购买商签订协议,...期货交易 2018/7/15 10:11:40更新 ...
  • 比特币协议实际上是如何工作的?
    • 2024-11-29 21:46:26
    • 提问者: 未知
    比特币协议实际上是如何工作的?去中心化。分布式账本,广播机制,不可串改,恒量发行,代码公开。比特币,协议,实际上
汇率兑换计算器

热门推荐
热门问答
最新问答
推荐问答
新手帮助
常见问题
房贷计算器-九子财经 | 备案号: 桂ICP备19010581号-1 商务联系 企鹅:2790-680461

特别声明:本网为公益网站,人人都可发布,所有内容为会员自行上传发布",本站不承担任何法律责任,如内容有该作者著作权或违规内容,请联系我们清空删除。