菜鸟笔记之计算机网络(2)

本文介绍了互联网的基础,包括IP协议如何确保数据包传输到正确计算机,UDP如何通过端口号将数据包传送给正确程序,以及TCP如何提供可靠的数据传输,包括顺序校验、确认码和拥塞控制。同时提到了DNS系统在域名和IP地址转换中的作用。

互联网


声明:以下是看的视频并结合网上资料所记的笔记,侵权请联系删除。可能会有一些错误,发现了会修改。

了解互联网

计算机和一个巨大的分布式网络连在一起,就是互联网。互联网主干由一群超大型、带宽超高路由器组成的巨型分布式网络,会把数据拆成一个个数据包来传输。数据包(Packet)要想在互联网上传输要符合“互联网协议”的标准,简称IP,IP必须是独一无二的。

IP是一个非常底层的协议,数据包的头部只有目标地址,存“关于数据的数据”,也叫元数据(Metadata),当数据到达对方电脑,对方不知道把包交给哪个程序,因此需要在IP之上开发更高级的协议。这些协议里最简单最常见的叫“用户数据报协议”(User Datagram Protocol, UDP)。UDP也有头部,这个头部位于数据前面,头部里边包含有用的信息,其中之一是端口号。每个想访问网络的程序,都要向操作系统申请一个端口号。当一个数据包到达时,接收方的操作系统会读UDP头部,读里边的端口号。假如看到端口号是8000,就把程序交给某个程序。

总结: IP负责把数据包送到正确的计算机。UDP负责把数据包送到正确的程序。

UDP头部里还有“检验和”,用于检查数据是否正确。检查方式是把数据求和来对比。校验和是以16位形式存储(就是16个0和1),如果算出来的和超过了16位所能表示的最大值,则高位数会被扔掉,保留低位。 当接收方电脑接收到这个数据,它会重复这个步骤,把所有的数据加在一起,如果结果和头部中的校验和一致,代表一切正常,如果不一致,则数据肯定坏掉了(可能是传输中功率波动,或电缆出故障了)。UDP不提供数据修复或数据重发的机制,接收方知道数据损坏后,一般只是扔掉,UDP不知道数据包是否到达,发送方发了之后也不知道数据是否已经到达目的地,但是UDP又简单又快,需要在不同的场景下选择不同的传输协议才行。

如果需要所有数据必须到达,就用“传输控制协议”(Transmission Control Protocol),简称TCP序号使接收方可以把数据包排成正确顺序,即使到达的时间不同。而且TCP要求接收方的电脑收到数据包且“校验和”检查无误后(数据没有损坏),给发送方发一个确认码(简称ACK),代表收到了。得知上一个数据包成功抵达后,发送方会发下一个数据包。如果发送一段时间后没有收到确认码,发送发会再发一次,如果接收方收到重复的数据包就删掉。TCP不是只能一个一个包的发,可以同时发多个数据包,收多个确认码,这大大提高了效率,不用浪费时间等确认码。TCP用这个信息,调整同时发包数量,解决拥堵问题,也可以处理乱序和丢失数据包,丢了就重发,还可以根据拥堵情况自动调整传输率。TCP最大的缺点是那些“确认码”数据包把数量翻了一倍,但并没有传输更多信息。 这种代价是不值得的,特别是对时间要求很高的程序,如在线射击游戏。

当计算机访问一个网站时,需要两个东西:1.IP地址。2.端口号。 例如172.217.7.238的80端口是谷歌的IP地址和端口号。但这串IP地址数字记起来比较麻烦,互联网有个特殊服务就是负责把域名和IP地址一一对应,它叫“域名系统”(Domain Name System),简称DNS。输入域名,DNS会查表,如果域名存在,就会返回对应的IP地址。

计算机网络的层次结构

计算机网络的层次结构

视频链接 -> 计算机科学速成课 P29

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值