网络协议学习笔记
1、TCP基础
TCP/IP事实上是一些协议(protocols)的合集。当前大多数使用中的通信都使用TCP协议。
TCP将所要发送的数据流分解成很多小数据包在Internet上传输,最后这些数据包到了接收者的地方会再次重新合成到一起。
通过分解成小的信息,Internet链接就会用很少的时间来发送数据的每一个字节,而其他程序的数据包也可以同时被传送。
---------------
寻址
为了实现数据包计划,TCP必须要考虑一些细节问题。
-
远程设备地址识别,通过唯一的IP地址获悉
-
远程程序服务识别,通过对应地址唯一的PORT端口获悉;由国际因特网地址分配委员会维护着一份官方已分配的端口列表,一般为1024以内;端口号最大为65535.
-
简单、易记寻址方式,通过唯一的DNS让地址易记
---------------
可靠性
就如打电话常常有噪音一样,在Internet上传送数据也会出现错误。
-
Modem有可能改变了数据的几个字节,通过每个数据包加载校验码保证数据稳定
-
或者某个路由器或许丢失了一两个数据包,通过建立及时反馈确认数据发送成功
-
系统或许收到了顺序错乱的数据包,或者一个数据包或许受到了多次,通过每个数据包加载传送序列号
-
某个网络主干电缆被狗给抛了,霸道的发送多次相同的数据包,经由不同的网络电缆线路
---------------
路由
为了能使数据包顺利传送到远程服务器上,数据包通常会经过很多种不同的网络。
数据包从家里出来,遛出了小区就上了市话网,跑到城边上又换上了高速路(城市间光纤电缆),下了高速路又拐进了市话网。不同的线路上有这不同数据传递方式。
在互联网上负责接收数据包并转发相应格式数据包的设备就是路由器了。
在此,瞎扯个关于路由器的一个罗曼蒂克的故事:
八十年代初,斯坦福两个不同系的计算中心主管里奥纳多•波萨克(Leonard Bosack)和桑迪•勒纳(Sandy Lerner)好上了。两个人要在计算机上互相写情书,由于各自管理的网络不同,设备又是乱七八糟,什么厂家的、什么协议的都有,互不兼容,情书传递起来很不方便,于是两人干脆发明了一种能支持各种网络服务器、各种网络协议的路由器。于是思科赖以生存的“多协议路由器”便诞生了。
当路由器断掉时,你的主页加载,就直接卡在了那儿;
当路由线路拥堵时,数据包有可能丢失,传输性能降低,慢如蜗牛。
---------------
安全
路由器和本地网络的一个重要功能就是安全。因为数据包在互联网上传输的时候,是通过共享的网络传输的,所以任何有权使用网络的人都能看到它们。这些信息就有可能被传入或改写。
通常我们做性能测试时,则是利用这一特点拦截数据包,然后利用Loadrunner并发被我们修改的数据包。温馨提示,通常黑客盗取我们的游戏密码也是如此哟!
现在如今面目下,已经发明出了很多办法解决这种问题,比如Secure Sockets Layer(SSL)、Transport Layer Security(TLS)和https等。
2、UDP基础
除开TCP协议,其实还有一种协议被广泛使用——UDP。它被用于从一个系统向其他系统传送非常短的消息。
---------------
特性
-
保证收到数据完整性;
-
不能保证数据是否真的能被收到;
-
不能保证数据是不是只接受一次;
-
不能保证收到的信息次序是否与发送时一致;
---------------
优点
-
无需建立连接花费时间
-
无需关闭连接花费时间
浮生潦草闲愁广,一听啤酒一口尽