加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

通俗易懂网络协议(TCP/IP概述)

发布时间:2019-05-20 15:17:05 所属栏目:教程 来源:码砖杂役
导读:近期事变,跟收集协议相干,这让我有机遇更深入进修收集协议,而之前很长一段时刻,我对收集协议的领略都逗留在较量浅的层面。 好比:TCP是面向毗连的、靠得住传输,而UDP长短毗连的、不行靠传输,TCP建连必要3次握手,会造成delay,UDP更快。 好比:socket

TCP/IP协议族是层层封装的,从应用层到链路层,每颠末一层都要添加一些特殊信息(首、尾部)。

普通易懂收集协议(TCP/IP概述)

  • 用户数据颠末应用措施加上应用措施首部,转给TCP层处理赏罚
  • 颠末TCP层加上TCP首部,发生TCP段(segment)
  • TCP segment颠末IP层再加上IP首部,发生IP数据包(datagram)
  • IP datagram通过链路层,经以太网驱动措施处理赏罚后,加上以太网首部+尾部,发生以太网帧(frame),以太网帧的长度在46~1500之间

更精确的说,在IP和链路层传输的数据单位叫分组(Packet),分组既可所以一个IP datagram也可所以IP datagram的一个分片(fragment)。

UDP的封装跟TCP略有差异,首要表此刻颠末传输层(UDP)之后添加的是8字节UDP首部,发生UDP datagram。

封装进程中,颠末TCP/UDP层的时辰,会把端标语添加到TCP/UDP首部;颠末IP层的时辰,会把协议范例(TCP or UDP or ICMP or IGMP)添加到IP首部;颠末链路层的时辰,会把帧范例(IP or ARP or RARP)添加到以太网首部。这些信息将被用于吸取端的处理赏罚。

吸取端收到数据后,要执行跟发送端相反的解封操纵,我们可以把发送端的数据封装比喻成沐浴后一层层穿衣服,而吸取端的操纵,相同沐浴前一层层脱衣服,把首尾部剥离,获取转达的原始数据。

由于收集上的主机有差异字节序,此刻要通过收集传输,便必要约定同一的收集字节序(大端序),回收小端序的主机在收集传输数据的时辰要转为大端序。

地点

互联网上每个接口都有一个独一的收集地点,也叫IP地点,IP地点有IPv4和IPv6两个版本,IPv4是32位4字节的整数,每个字节(8bit)的取值范畴是0~255,以是可以把4字节的IPv4用四个点脱离的byte值暗示,好比140.252.13.88,每个十进制数值对应32位整数中的每个字节,这种暗示法叫点分十进制暗示法,很显然,点分十进制法和int32两种暗示法之间很轻易彼此转换。

IPv4地点分别为ABCDE五类,32位地点暗示的数值空间有限,难觉得互联网上的全部联网装备分派独立的IP地点,以是便存在动态分派、共享、公网+内网地点转化(NAT)等题目,本质上是为了办理IP地点不足用的题目。

IPv6行使128bit,2的128次方就很是大了,号称可觉得地球上每粒沙子分派一个ip地点。

IP数据报(收集层)用IP地点、而以太网帧(链路层)则是用硬件(48位Mac)地点,ARP和RARP用于IP地点和硬件地点之间做映射(转换)。

端口

TCP/UDP回收16位端标语来辨认(区分)应用,好比主机A向主机B发送了一个IP报,主机B的内核收到该IP报之后,应该交给哪个应用措施行止理赏罚呢?端标语就是用来干这个的,内核会维护端标语到应用措施之间的对应相关。

较量常用的应用层协议有约定的端标语,也就是知名端标语,而1024~5000之间的端标语是分派给TCP/IP姑且用的,而大于5000的另做他用。也就是说,你用TCP方法去连收集处事器,当地为该socket分派的端标语会在1024~5000之间,这取决于操纵体系的端口分派计策。

域名体系

域名体系(DNS)提供主机名字和IP地点之间的转换,好比www.baidu.com是一个域名,应用措施可以通过一个尺度库函数(gethostbyname)来得到给命名字主机的IP地点,尺度库函数(gethostbyaddr)实现逆操纵。

ip地点是一串数字,寄义不清、也未便于影象,主机名寄义更清楚,www.baidu.com你就很轻易记着,这也是为什么存在IP地点还必要主机名的缘故起因。

分用

吸取端吸取到以太网数据帧(Frame)之后,必要像剥洋葱一样,从协议栈由底向上升,即遵照链路层->收集层->传输层->应用层的次序,去掉各层协议添加的首尾部,将数据取出,交给最上层应用措施,这个进程叫Demultiplexing,尊从册本的翻译叫分用。

普通易懂收集协议(TCP/IP概述)

回首前面封装的描写,在传输层、收集层、链路层,别离将端标语存入TCP/IP首部,将协议范例存入IP首部,将帧范例存入以太网帧首部。以是在吸取端,将一层层拆掉首部,取出对应信息,然后做分配,丢给差异模块处理赏罚,上图就是整个处理赏罚进程。

小结

本文讲了地点、域名、端口、TCP/IP分层模子、封装、分用等观念。

你最好能记着TCP/IP链路层->收集层->传输层->应用层的四层分别。

TCP segment、UDP datagram、IP datagram、IP fragment、以太网frame、以及IP层和链路层之间传输的数据单位packet,这些观念你最好分清晰,这样攀谈的时辰会显得较量专业而不是很土。

数据封装,多看几遍你便能记着了。

  • TCP封装名目:以太网首部(14)+IP首部(20)+TCP首部(20)+应用数据+以太网尾部(4)
  • UDP封装名目:以太网首部(14)+IP首部(20)+UDP首部(8)+应用数据+以太网尾部(4)

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读