通俗易懂网络协议(TCP/IP概述)
TCP/IP协议族是层层封装的,从应用层到链路层,每颠末一层都要添加一些特殊信息(首、尾部)。
更精确的说,在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首部,将协议范例存入IP首部,将帧范例存入以太网帧首部。以是在吸取端,将一层层拆掉首部,取出对应信息,然后做分配,丢给差异模块处理赏罚,上图就是整个处理赏罚进程。 小结 本文讲了地点、域名、端口、TCP/IP分层模子、封装、分用等观念。 你最好能记着TCP/IP链路层->收集层->传输层->应用层的四层分别。 TCP segment、UDP datagram、IP datagram、IP fragment、以太网frame、以及IP层和链路层之间传输的数据单位packet,这些观念你最好分清晰,这样攀谈的时辰会显得较量专业而不是很土。 数据封装,多看几遍你便能记着了。
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |