全国直销电话:4006-854-568
IT-technology
以人为本,众志成城,以“用户至上”.“服务上乘”为原则,
追求产品和服务高质量,努力实现与客户之间真诚有效的沟通,
不断地圆梦、奔跑与腾飞。
新闻动态   NEWS
28 张图,竟然把 TCP说清楚了,运维人果断收藏!-北京赛维博信科技发展有限公司
来源:本文摘自网络,如有侵权请联系删除 | 作者:svbx001 | 发布时间: 2022-07-25 | 2102 次浏览 | 分享到:
做IT相关的工作,肯定都离不开网络,网络中最重要的协议是TCP。无论是实际工作还是笔试面试,你看哪里能少得了TCP?

我看过RFC中与TCP相关的文档,也看过linux中TCP相关的源码,也看过不少框架中的TCP相关的代码,对TCP是有点感觉了。
一直想找个时间来分享下TCP相关的知识,如果大家有疑问,欢迎相互交流。其实,搞透了TCP之后,发现它也就那么回事。
考虑最简单的情况:两台主机之间的通信。这个时候只需要一条网线把两者连起来,规定好彼此的硬件接口,如都用USB、电压10v、频率2.4GHz等,这一层就是物理层,这些规定就是物理层协议 。


我们当然不满足于只有两台电脑连接,因此我们可以使用交换机把多个电脑连接起来,如下图:


这样连接起来的网络,称为局域网,也可以称为以太网(以太网是局域网的一种)。在这个网络中,我们需要标识每个机器,这样才可以指定要和哪个机器通信。这个标识就是硬件地址MAC。硬件地址随机器的生产就被确定,永久性唯一。在局域网中,我们需要和另外的机器通信时,只需要知道他的硬件地址,交换机就会把我们的消息发送到对应的机器。

这里我们可以不管底层的网线接口如何发送,把物理层抽离,在他之上创建一个新的层次,这就是数据链路层 。

我们依然不满足于局域网的规模,需要把所有的局域网联系起来,这个时候就需要用到路由器来连接两个局域网:


但是如果我们还是使用硬件地址来作为通信对象的唯一标识,那么当网络规模越来越大,需要记住所有机器的硬件地址是不现实的;同时,一个网络对象可能会频繁更换设备,这个时候硬件地址表维护起来更加复杂。这里使用了一个新的地址来标记一个网络对象:IP地址 。

通过一个简单的寄信例子来理解IP地址。

我住在北京市,我朋友A住在上海市,我要给朋友A写信:

  1. 写完信,我会在信上写好我朋友A的地址,并放到北京市邮局(给信息附加目标IP地址,并发送给路由器)
  2. 邮局会帮我把信运输到上海市当地邮局(信息会经过路由传递到目标IP局域网的路由器)
  3. 上海市当地路由器会帮我把信交给朋友A(局域网内通信)


因此,这里IP地址就是一个网络接入地址(朋友A的住址),我只需要知道目标IP地址,路由器就可以把消息给我带到。在局域网中,就可以动态维护一个MAC地址与IP地址的映射关系,根据目的IP地址就可以寻找到机器的MAC地址进行发送 。

这样我们不需管理底层如何去选择机器,我们只需要知道IP地址,就可以和我们的目标进行通信。这一层就是

 

服务热线

1391-024-6332