标签:
网络与我们的生活息息相关,能上网的地方都离不开网络的支持,整体听小伙伴们谈论网络相关的知识,自己却无从插口... 工作中发邮件、聊扣扣生活中玩网游等,我们通过网络所做的事情都与网络低层有关。终归到底,自己还是一个做编程的,这些都不懂,学习中处处遇障碍,所以要学习这块。
分层在生活中随处可见,公司分老板、总监、经理、小团队,传销团伙也是金字塔形的,只要是个组织,都会有分层的概念。一般来说:低层是为高层服务的,每一层都可以使用下层提供的服务,并向高层提供服务。
7.应用层:我们使用应用软件完成一件事情的过程就是在应用层,应用层直接与用户交互、对接。
6.表示层:规范数据的编码规范。
5.会话层:记录会话的状态和信息,会话的管理、同步、顺序控制、保证会话有顺序的进行。
4.传输层:两台计算机之间的应用程序互相开放的端口,这一层主要是在数据的外围加上自己和目标计算机的端口号,使用wireshark查看tcp三次握手(发生在传输层),可以看到这一层会在本机打开一个端口,去连接目标计算的一个端口。
第一次握手:本机(53432端口)请求连接服务器(80端口)
第二次握手:服务器(80端口)响应本机(53432端口),表示准备就绪可以进行连接
第三次握手:本机(53432端口)再次向服务器(80端口)发出确认自己已收到服务器的响应,接下来就可使连接了
3.网络层:通过DNS获得目标的IP地址,它的主要作用是在数据的外围打上IP地址的标记,称为报文
2.数据链路层:可以理解为网卡,它的主要作用是在数据的外围打上标记(计算机的硬件地址,MAC地址),称为帧
1.物理层:可以理解为物理设备,比如网线、水晶头等,它是数据的传输介质。
两台计算之间要通信,就必须严格遵守这些规范进行加/解标记,否则他们之间传输的数据就会解析出错。有一张图描述很形象
如果两台计算机没有通信过,第一次通信的时候,请求者计算机是如何知道目标计算机的MAC地址的?
标签:
原文地址:http://www.cnblogs.com/wange/p/4924515.html