计算机网络学习心得(基础篇1)

学习计算机网络的总结笔记

图解来源:小林coding

1.TCP/IP网络模型有哪几层?

为什么要有TCP/IP网络模型的存在?

同一台设备上有很多进程,进程之间可以通过多种方式通信(消息队列、信号等等),设备与设备之间的通信是通过网络进行通信的,但是设备是多样性的,要兼容不同的设备,所以要统一一个网络模型来进行通信(通用网络协议)。协议有多层,每层都有自己的职责。

应用层

我们直接接触的一层(手机或电脑使用的应用软件),相当于快递员,如果要寄件,我们只需要把快递给快递员就行了,我们不关心中间是怎么运输的。这个运输的操作是在下一层,传输层。

传输层

应用层的数据包会传输给传输层,传输层为应用层提供网络支持。

传输层有两个传输协议,TCP和UDP。

TCP:大部分用的都是TCP传输协议,比如HTTP应用层协议。优点:比UDP多了很多特性,这些特性让数据传输变得可靠。

UDP:只负责发送数据包给对方,不保证数据能否抵达。优点:实时性好,传输效率高。其实UDP也可以让数据传输变的可靠,但是代价较高(把TCP的特性在应用层中实现就可以)。

传输层的数据较大,直接传输不好控制,因此有了MSS(TCP最大报文长度)。超过这个长度就要分块,这样传输途中如果有数据包丢失了,发送这个包就行,就不用发送整个包。每一分块称为TCP段,当设备作为接收方时,传输层要把数据包传给应用,但是一台设备可能有多个应用,为了区分不同应用,就有了端口号的概念,传输层的报文中会携带端口号。

网络层

我们不希望传输层处理过多的事,只服务好应用层就好了,所以真正的传输工作是交给网络层做的。

网络层最常用的就是IP协议,IP协议将传输层的报文作为数据部分,再加上IP包头组装成IP报文,如果IP报文大小超过MTU(以太网中一般为1500字节)就再次分片,最终得到一个即将发送到网络的IP报文。

网络层负责将数据从一个设备传到另一个设备,IP地址就是用来区分不同的设备。

IP地址有两种意义,两者都通过子网掩码算出:

  1. 网络号,标识该IP地址是属于哪个子网
  2. 主机号,标识同一子网下的不同主机

比如11.111.122.0/24中/24就是子网掩码,代表255.255.255.0,转二进制也就是24个1,所以就用/24表示。网络号计算方法:11.111.122.0和255.255.255.0按位与运算得出。主机号计算方法:255.255.255.0取反后按位与运算得出。

IP地址还有个作用就是路由,通过路由在众多服务器交换机网关中找到对应的子网,通过寻址将数据包发送到对应的设备。

网络接口层

IP头部添加过后,网络接口层会在前面在加上MAC头部,然后封装成一个数据帧发送到网络上。

MAC地址是每个设备(网卡)出厂时会有的一个唯一的编号,相当于身份证,一辈子就这个身份证号,不能改变。

MAC头部中包含了接收方和发送方的MAC地址信息,通过ARP协议可获取到对方的MAC地址。

这里说一下我之前想过的问题:既然网络层的IP协议可以实现设备到设备之间的传输,也就是可以区分不同的设备,那为什么还要加上具有相同作用的MAC头部?

解答:这里IP地址只能区分不同网络下的不同设备,但是如果同一网络下有多个设备呢,这个时候就需要MAC地址去找到同一网络下的不同设备。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值