初识TCP/IP

要想学习清楚什么是Tcp/Ip,首先要明白几点概念

  • OSI模型
    OSI是一个定义良好的协议规范集,并有许多可选部分完成类似的任务。它定义了开放系统的层次结构、层次之间的相互关系以及各层所包括的可能的任务,作为一个框架来协调和组织各层所提供的服务。
    OSI参考模型并没有提供一个可以实现的方法,而是描述了一些概念,用来协调进程间通信标准的制定。即OSI参考模型并不是一个标准,而是一个在制定标准时所使用的概念性框架。

  • IP地址
    TCP/IP 协议网络上的每一个网络适配器都有一个唯一的 IP 地址。每个计算机必须有一个 IP 地址才能够连入因特网。每个 IP 包必须有一个地址才能够发送到另一台计算机。
    地址的表示方式:IPv4(32位)和IPv6(128位),通常所说的是IPv4。
    IP 地址是一个 32 位的地址,这个地址通常分成 4 端,每 8 个二进制为一段,但是为了方便阅读,通常会将每段都转换为十进制来显示,比如大家非常熟悉的 127.0.0.1(数字在 0 到 255 之间,并由点号隔开)

    IP 地址分为两个部分:

    网络 ID
    主机 ID

  • MAC地址
    MAC地址,也称为局域网地址、物理地址。MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都会有一个唯一的MAC地址 。

  • DNS服务
    DNS服务提供域名到IP地址之间的解析服务。与IP地址的一大串数字相比,用字母配合数字的表示形式来指定计算机名更符合人类的习惯;而计算机没法理解字母,计算机更擅长处理一长串数字。所以用DNS协议提供通过域名查找IP地址,或逆向从IP地址反查域名的服务。

什么是tcp/ip?

TCP/IP 是因特网的通信协议。通信协议是对计算机必须遵守的规则的描述,只有遵守这些规则,计算机之间才能进行通信。
TCP/IP是在IP协议的通信过程中,使用到的协议族的统称。如果说IP协议是找到对方的详细地址。那么TCP协议就是把安全的把东西带给对方。各有分工,互不冲突。

TCP/IP分层

在这里插入图片描述

为什么要分层?
这就如同大包干,责任到人。一个层只负责一个层次的问题,如果出问题了,和其他的层次无关,只要维护这个层次也就好了。
应用层:
提供具体的应用程序
传输层
传输层提供了两种到达目标网络的方式:

TCP:有连接、数据大小无限制,速度慢,但是可靠性高
UDP:无连接,只提供了基本的错误检测,速度快,但可靠性低

由于传输层涉及的东西比较多,比如端口,Socket等,都是我们做网络编程需要了解的,有兴趣的小伙伴可以看一下本人网络编程部分的博文。
网络层
网路层用来处理在网络上流动的数据包(数据包是网络传输的最小数据单元),该层规定了通过怎样的路径(传输路线)到达对方计算机,并把数据包传输给对方。
网络层主要就是做物理地址与逻辑地址之间的转换。
谈过地址转换,就不得不提到一个协议:ARP 。ARP的作用就是把 IP 地址映射为物理地址,而与之相反的 RARP(逆向 ARP)就是将物理地址映射为 IP 地址。
网络接口层
用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、网络适配器(即,网卡),及光纤等物理可见部分(还包括连接器等一切传输媒介)。硬件上的范畴均在链路层的作用范围之内。

OSI模型 TCP/IP模型比较

共同点
(1)OSI参考模型和TCP/IP参考模型都采用了层次结构的概念。
(2)都能够提供面向连接和无连接两种通信服务机制。

不同点
(1)OSI采用的七层模型,而TCP/IP是四层结构。
(2)TCP/IP参考模型的网络接口层实际上并没有真正的定义,只是一些概念性的描述。而OSI参考模型不仅分了两层,而且每一层的功能都很详尽,甚至在数据链路层又分出一个介质访问子层,专门解决局域网的共享介质问题。
(3)OSI模型是在协议开发前设计的,具有通用性。TCP/IP是先有协议集然后建立模型,不适用于非TCP/IP网络。
(4)OSI参考模型与TCP/IP参考模型的传输层功能基本相似,都是负责为用户提供真正的端对端的通信服务,也对高层屏蔽了底层网络的实现细节。所不同的是TCP/IP参考模型的传输层是建立在网络互联层基础之上的,而网络互联层只提供无连接的网络服务,所以面向连接的功能完全在TCP协议中实现,当然TCP/IP的传输层还提供无连接的服务,如UDP;相反OSI参考模型的传输层是建立在网络层基础之上的,网络层既提供面向连接的服务,又提供无连接的服务,但传输层只提供面向连接的服务。
(5)OSI参考模型的抽象能力高,适合与描述各种网络;而TCP/IP是先有了协议,才制定TCP/IP模型的。
(6)OSI参考模型的概念划分清晰,但过于复杂;而TCP/IP参考模型在服务、接口和协议的 区别上不清楚,功能描述和实现细节混在一起。
(7)TCP/IP参考模型的网络接口层并不是真正的一层;OSI参考模型的缺点是层次过多,划分意义不大但增加了复杂性。
(8)OSI参考模型虽然被看好,由于没把握好时机,技术不成熟,实现困难;相反,TCP/IP参考模型虽然有许多不尽人意的地方,但还是比较成功的。

可靠的TCP协议——三次握手策略

建立连接
在握手过程中,使用了SYN和ACK标志。发送端首先发送一个带SYN标志的数据包给对方。接收端收到后,回传一个带SYN/ACK标志的数据包以示传达确认信息,最后发送端发送一个带ACK标志的数据包。代表“握手”结束。
若在握手过程中某个阶段莫名中断,TCP协议会再次以相同的顺序发送相同的数据包。
三次握手完成,TCP客户端和服务器端成功地建立连接,可以开始传输数据了。

终止连接
建立一个连接需要三次握手,而终止一个连接要经过四次握手,这是由TCP的半关闭(half-close)造成的。

可以看看百度词条的详细解释:四次挥手

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值