
计算机网络
文章平均质量分 95
计算机网络
Polarisy丶
这个作者很懒,什么都没留下…
展开
-
为什么我在公司里访问不了家里的电脑?
IPV4地址有限,但通过NAT路由器,可以使得整个内网N多台机器,对外只使用一个公网IP,大大节省了IP资源。内网机子主动连接公网IP,中间的NAT会将内网机子的内网IP转换为公网IP,从而实现内网和外网的数据交互。普通的NAT技术,只会修改网络包中的发送端和接收端IP地址,当内网设备较多时,将有可能导致冲突。因此一般都会使用NAPT技术,同时修改发送端和接收端的IP地址和端口。由于NAT的存在,公网IP是无法访问内网服务的,但通过内网穿透技术,就可以让公网IP访问内网服务。原创 2022-12-13 11:28:47 · 598 阅读 · 0 评论 -
为什么我们家里的IP都是192.168开头的?
IP地址就像快递里填的送件和收件地址,是一串编号,用于在纷繁复杂的网络世界中标识你的位置。IPv4有32位,最多能表示42亿个IP地址。为了更好的管理它们,教科书上出现过ABC这样的分类方式,并且在ABC类里还分为私有地址和公有地址。但目前流行使用CIDR的方式进行分类。为了表示更多主机,我们可以将网络分为广域网和局域网,广域网用公有地址,局域网使用私有地址。将公有地址乘上私有地址,就能表示远大于42亿台的机子。家庭网络较小,往往小区内几幢楼构成一个局域网,这几幢楼共用一个公有IP地址。原创 2022-12-08 19:34:20 · 1445 阅读 · 0 评论 -
用了TCP协议,就一定不会丢包吗?
首先,我们两个手机的绿皮聊天软件客户端,要通信,中间会通过它们家服务器。大概长这样。但为了简化模型,我们把中间的服务器给省略掉,假设这是个端到端的通信。且为了保证消息的可靠性,我们盲猜它们之间用的是TCP协议进行通信。为了发送数据包,两端首先会通过三次握手,建立TCP连接。一个数据包,从聊天框里发出,消息会从聊天软件所在的用户空间拷贝到内核空间的发送缓冲区(send buffer) ,数据包就这样顺着传输层、网络层,进入到数据链路层,在这里数据包会经过流控(qdisc),再通过RingBuffer发到物理层原创 2022-12-08 11:33:28 · 1797 阅读 · 1 评论 -
既然IP层会分片,为什么TCP层还要分段
我们知道网络就像一根管子,而管子吧,就会有粗细。一个数据包想从管子的一端到另一端,得过这个管子。但数据包的量有大有小,想过管子,数据包不能大于这根管子的粗细。问题来了,数据包过大时怎么办?答案比较简单。会把数据包切分小块。这样数据就可以由大变小,顺利传输。回去看下网络分层协议,数据先过传输层,再到网络层。这个行为在传输层和网络层都有可能发生。在传输层(协议)里,叫分段。在网络层(层),叫分片。那么不管是分片还是分段,肯定需要按照一定的长度切分。在里,这个长度是。在层里,这个长度是。那MSS和MTU是什么关系原创 2022-12-07 16:41:56 · 686 阅读 · 1 评论 -
路由器,集线器,交换机,网桥,光猫有啥区别?
网线替代了上面的灰色部分,实现物理层互联。如果想要两台电脑互联成功,还需要确保每一层所需要的步骤都要做到位,这样数据才能确保正确投送并返回。从数据链路层到物理层,数据会被转为01比特流。此时需要把比特流传到另一台电脑。通过一根网线,两段水晶头插入网口,把两台电脑连起来。A电脑和B电脑完成连接之后,可以尝试从A电脑中ping一下B,再从B电脑中ping一下A。如无意外,都能ping通。A给B发个消息,从应用层到数据链路层,会分别加上A和B的各种’'身份信息"。比如在传输层会加上A和B的应用端口号,在网络层加上原创 2022-12-06 16:53:50 · 944 阅读 · 0 评论 -
为什么TCP会粘包
还记得四层网络协议长什么样子吗?四层网络模型每层各司其职,消息在进入每一层时都会多加一个报头,每多一个报头可以理解为数据报多戴一顶帽子。这个报头上面记录着消息从哪来,到哪去,以及消息多长等信息。比如,记录的是硬件的唯一地址,记录的是从哪来和到哪去,传输层头记录到是到达目的主机后具体去哪个进程。可以把网络比喻为一个水管,是有一定的粗细的,这个粗细由**网络接口层(数据链路层)*提供给*网络层,一般认为是的(1500),直接传入整个消息,会超过水管的最大承受范围,那么,就需要进行切片,成为一个个数据包,这样消息原创 2022-12-07 15:20:38 · 171 阅读 · 0 评论