互联网协议基础

1.协议模型

2.模型概述

我们先考虑一下当你办公室使用局域网打CS,你double kill的消息传递给其他小伙伴会遇到哪些阻碍?

a.在同一个网络下有许多电脑,信号是如何通过网线找到和你开黑电脑的?

答案是链路层的以太网协议,以太网规定,网线里一组电信号构成一个数据包,包含标头(Head)和数据(Data)。其中标头包含发送者、接受者、数据类型等。

b.数据包中发送者与接受者在电脑中是如何标识呢?

答案是每个设备都有包含独一无二MAC地址的网卡(如00-B0-D0-86-AA-F7),网卡的地址,就是数据包的发送地址和接收地址,这叫做MAC地址。

c.有了MAC地址,系统怎样才能把数据包准确送到接收方呢?

答案是群发,你double kill的数据包发给整个区域的电脑,其他电脑和你数据包接收者MAC地址进行匹配,如果相同就接收这个包,这样通过广播的方式,"链接层"就可以在多台计算机之间传送数据了。

后来你开始联网又打CF了,又拿到3杀,可你三杀的消息是如何传递不在同一局域网的队友呢?

a.如果继续用以太网协议发送协议可不可?

理论上可以,但如果在互联网环境中采用广播方式发送数据包,不仅效率极低,更会引起灾难!所以我们将网络分为不同的子网络,子网络内用以太网协议,子网络之间通信则需要网络层协议-IP协议。网络层"出现以后,每台计算机有了两种地址,一种是MAC地址,另一种是网络地址。

b.什么是IP协议?

规定网络地址的协议,叫做IP协议。它所定义的地址,就被称为IP地址。习惯上,我们用分成四段的十进制数表示IP地址,从0.0.0.0一直到255.255.255.255。他前24位代表网络,后一部分后8位代表主机。IP协议的作用主要有两个,一个是为每一台计算机分配IP地址,另一个是确定哪些地址在同一个子网络(判断方式是子网掩码)。址。

c.那如果他在网吧,虽然我们知道它的ip地址,我们无法获知它的MAC地址,那又怎么将你三杀消息告知你队友呢?

第一种不在子网络内只能把数据包传送到两个子网络连接处的"网关"(gateway),让网关去处理。

第二种如果你们刚好在同一个子网络,那么我们可以用ARP协议,得到对方的MAC地址。

有了MAC地址和IP地址,我们已经可以在互联网上任意两台主机上建立联系,可是你的队友有可能在听着音乐打着CF,怎么保证你三杀消息不是传递给他的音乐播放器呢?

答案就是需要传输层。传输层"的功能,就是建立"端口到端口"的通信,及确定程序端口。只要确定主机和端口,我们就能实现程序之间的交流。因此主机+端口,叫做"套接字"(socket)。有了它,就可以进行网络应用程序开发了。

d.传输层协议-UDP与TCP

它们就是加入端口信息的以太包。而TCP与UDP的主要区别就是,TCP可以确定程序是否接受到包(TCP三次握手http://www.jianshu.com/p/9968b16b607e)

费尽周折,我们通过IP地址,MAC地址确定了主机,通过端口确定CF的应用程序,你的队友终于知道你三杀的消息并由衷的鄙视了你。。。

那么我们想一下现在以太数据包现在是什么样?


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 作者:阮一峰 日期:2012年5月31日 我们每天使用互联网,你是否想过,它是如何实现的? 全世界几十亿台电脑,连...
    zhleven阅读 2,454评论 0 2
  • 第一次发烧 我做过幼儿急疹的功课,第一次发烧其实我是淡定的,虽然心里也担心害怕,但是理智告诉我放轻松。结果烧到38...
    沙鸥pika阅读 1,729评论 0 0
  • 微信公众平台是在微信的基础上增加的功能模块,通过这一平台,个人和企业都可以打造一个微信的公众号,并实现和特定群体的...
    有个天使在等你阅读 5,030评论 3 7
  • 温柔要有,但不是妥协。岁月的风霜或深或浅,是生命的厚重,一路镌刻。花有荣枯,人有起浮,那些散落在流年里的冷暖,终究...
    安娜姐阅读 1,400评论 0 0

友情链接更多精彩内容