网络协议入门(1)

  基础很重要,今天看君山老师的大秒文章时,涉及到DNS和cdn,两者都是之前有点印象,但是没到一种属于自己的地步,就是别人问你一个问题,你还会回答得模棱两可,别人也知道你可能懂这个,但是你讲不出来,我在网上google到阮一峰的博客,看了他的两篇网络协议入门,我做出自己的学习总结,总结基础就是为以后做铺垫。

  自己买了两本书,两本网络协议的龙书,tcp/ip协议入门和详解,一本讲tcp/ip协议组成,一本是怎么用tcp/ip协议,完全没看懂,没有一个项目催你,完全啃不下来。

  网上给网络分层为7层,5层,都有,我就记为5层,从低到高,从接近物理层的到接近用户的,分为物理层(physical )、链路层(link)、网络层(internet)、传输层(transfer)、应用层(application)。

  应用层:

             传输层:

                        网络层:

                                   链路层:

                                              物理层:

  我画出这个模型,其实是为了让你来填写各个部分是什么,又是用来做什么的。

  1.物理层

  用户想要在家里上网,首先有一台电脑,去电信公司办一个宽带,或者手机发个wifi,那么物理层就是这些提供你连接网络的物理元器件网络(系统),现在有光纤...也就是传输0和1,这里的0/1就是数据的底层表示形式啦。

  2.链路层

  有了这些元器件网络,你想要上网还要一个网卡,物理层传输0/1,那么0/1的组合搭配就需要在链路层,你发出一个信息给honny,honny的电脑怎么就收到了呢?通过mac地址分辨,你的电脑会把mac结构体发到子网络下,同一个子网络下的主机都会接受数据包,在解析了接收方mac地址与自己的相同之后,才会接受这个数据包,其他主机放弃包,一个电脑用一个mac地址代表,你访问上网的时候会上传mac信息,mac head+mac body。

  3.网络层

  现在你知道了传输需要物理的实体,需要一个mac地址(网卡- - -笔记本上的无线网卡),那么怎么判定A、B两台电脑是在同一个子网络呢?当然也是有办法的,答案是IP地址。ip地址是32位2进制数字,还有子网掩码也是32位2进制,只是子网掩码是255.255.255.0,ip地址和子网掩码执行与操作,如果两台电脑的这个操作相同,那么说明他们处于同一个子网络  不同的子网络互通只能通过网关,。比如你访问googleip地址是197.97.27.12(打比方,具体怎么知道,通过dig  linux指令)与子网掩码执行and操作后,你的ip地址也和子网掩码执行and操作,发现结果不一样,那么你们不再同一个子网络。那么怎么办?自己搭建一个与google同子网络的服务器,很简单。

  到目前位置发送的数据包为 mac头+ip 头 ipbody,mac body放ip头和ip body。

  4.传输层

  应用程序之间传输就要知道另一个应用的主机mac地址,ip地址,端口,linux系统里把主机和端口称为socket,知道了主机和端口就可以开发网络程序,udp协议和tcp协议,两者udp协议相对不安全,而tcp协议更复杂,更受广泛使用,每次数据包都要确认,如果丢失就重新发,那么tcp数据体就填充了ip body了,到这里,就算是结束了。

  5.应用层

  数据在网络上传输都是不同的协议,解析封装数据包,重复,,应用程序协议构成了应用层,如email、ftp。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值